Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine du Hamel <duhamelantoine1995@gmail.com>2020-11-18 02:19:12 +0300
committerDanielle Adams <adamzdanielle@gmail.com>2020-12-07 21:55:56 +0300
commit8611b8f98a0ffd9790612af4ba2879be64b53244 (patch)
treea40025adf67911a05cad0d9c2a1c7686b623002a
parent9ae59c847a315d8a6fe398e5c2c665e250d948d8 (diff)
net: refactor to use more primordials
PR-URL: https://github.com/nodejs/node/pull/36303 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r--lib/internal/net.js5
-rw-r--r--lib/net.js25
2 files changed, 18 insertions, 12 deletions
diff --git a/lib/internal/net.js b/lib/internal/net.js
index 2df1d5d5f61..8ae3170228d 100644
--- a/lib/internal/net.js
+++ b/lib/internal/net.js
@@ -2,6 +2,7 @@
const {
RegExp,
+ RegExpPrototypeTest,
Symbol,
} = primordials;
@@ -28,11 +29,11 @@ const IPv6Reg = new RegExp('^(' +
')(%[0-9a-zA-Z-.:]{1,})?$');
function isIPv4(s) {
- return IPv4Reg.test(s);
+ return RegExpPrototypeTest(IPv4Reg, s);
}
function isIPv6(s) {
- return IPv6Reg.test(s);
+ return RegExpPrototypeTest(IPv6Reg, s);
}
function isIP(s) {
diff --git a/lib/net.js b/lib/net.js
index 4b3b96c8cd2..149e4df20f2 100644
--- a/lib/net.js
+++ b/lib/net.js
@@ -23,8 +23,13 @@
const {
ArrayIsArray,
+ ArrayPrototypeIndexOf,
+ ArrayPrototypePush,
+ ArrayPrototypeSplice,
Boolean,
Error,
+ FunctionPrototype,
+ FunctionPrototypeCall,
Number,
NumberIsNaN,
NumberParseInt,
@@ -127,7 +132,7 @@ const DEFAULT_IPV6_ADDR = '::';
const isWindows = process.platform === 'win32';
-function noop() {}
+const noop = FunctionPrototype;
function getFlags(ipv6Only) {
return ipv6Only === true ? TCPConstants.UV_TCP_IPV6ONLY : 0;
@@ -300,7 +305,7 @@ function Socket(options) {
options.autoDestroy = true;
// Handle strings directly.
options.decodeStrings = false;
- stream.Duplex.call(this, options);
+ ReflectApply(stream.Duplex, this, [options]);
if (options.handle) {
this._handle = options.handle; // private
@@ -581,7 +586,7 @@ Socket.prototype._read = function(n) {
Socket.prototype.end = function(data, encoding, callback) {
- stream.Duplex.prototype.end.call(this, data, encoding, callback);
+ ReflectApply(stream.Duplex.prototype.end, this, [data, encoding, callback]);
DTRACE_NET_STREAM_END(this);
return this;
};
@@ -597,7 +602,7 @@ Socket.prototype.pause = function() {
this.destroy(errnoException(err, 'read'));
}
}
- return stream.Duplex.prototype.pause.call(this);
+ return FunctionPrototypeCall(stream.Duplex.prototype.pause, this);
};
@@ -606,7 +611,7 @@ Socket.prototype.resume = function() {
!this._handle.reading) {
tryReadStart(this);
}
- return stream.Duplex.prototype.resume.call(this);
+ return FunctionPrototypeCall(stream.Duplex.prototype.resume, this);
};
@@ -615,7 +620,7 @@ Socket.prototype.read = function(n) {
!this._handle.reading) {
tryReadStart(this);
}
- return stream.Duplex.prototype.read.call(this, n);
+ return ReflectApply(stream.Duplex.prototype.read, this, [n]);
};
@@ -1148,7 +1153,7 @@ function Server(options, connectionListener) {
if (!(this instanceof Server))
return new Server(options, connectionListener);
- EventEmitter.call(this);
+ FunctionPrototypeCall(EventEmitter, this);
if (typeof options === 'function') {
connectionListener = options;
@@ -1659,10 +1664,10 @@ ObjectDefineProperty(Socket.prototype, '_handle', {
Server.prototype._setupWorker = function(socketList) {
this._usingWorkers = true;
- this._workers.push(socketList);
+ ArrayPrototypePush(this._workers, socketList);
socketList.once('exit', (socketList) => {
- const index = this._workers.indexOf(socketList);
- this._workers.splice(index, 1);
+ const index = ArrayPrototypeIndexOf(this._workers, socketList);
+ ArrayPrototypeSplice(this._workers, index, 1);
});
};