summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWeijia Wang <381152119@qq.com>2017-10-07 22:50:42 +0800
committerTobias Nießen <tniessen@tnie.de>2017-10-16 23:34:32 +0200
commit212de3c5ec429a580d2e79ce3c2516b93b52b8f5 (patch)
treed74522686a9753df084b42bcaf766a3a8ad97e7d /lib
parenta3a106865a95665a3f2d8d7c03a1a12f1680a087 (diff)
downloadandroid-node-v8-212de3c5ec429a580d2e79ce3c2516b93b52b8f5.tar.gz
android-node-v8-212de3c5ec429a580d2e79ce3c2516b93b52b8f5.tar.bz2
android-node-v8-212de3c5ec429a580d2e79ce3c2516b93b52b8f5.zip
lib: use destructuring for some constants
This change is to unify the declaration for constants into using destructuring on the top-level-module scope, reducing some redundant code. PR-URL: https://github.com/nodejs/node/pull/16063 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/_http_agent.js4
-rw-r--r--lib/_http_client.js24
-rw-r--r--lib/_http_common.js15
-rw-r--r--lib/_http_outgoing.js13
-rw-r--r--lib/_http_server.js24
-rw-r--r--lib/_stream_readable.js2
-rw-r--r--lib/_stream_wrap.js4
-rw-r--r--lib/_stream_writable.js2
-rw-r--r--lib/_tls_common.js3
-rw-r--r--lib/_tls_legacy.js6
-rw-r--r--lib/_tls_wrap.js10
-rw-r--r--lib/child_process.js14
-rw-r--r--lib/dgram.js13
-rw-r--r--lib/dns.js5
-rw-r--r--lib/domain.js2
-rw-r--r--lib/fs.js22
-rw-r--r--lib/http.js5
-rw-r--r--lib/https.js2
-rw-r--r--lib/internal/child_process.js17
-rw-r--r--lib/internal/cluster/master.js2
-rw-r--r--lib/internal/fs.js4
-rw-r--r--lib/internal/http2/core.js2
-rw-r--r--lib/internal/process/write-coverage.js4
-rw-r--r--lib/internal/repl.js2
-rw-r--r--lib/internal/streams/BufferList.js2
-rw-r--r--lib/internal/util.js2
-rw-r--r--lib/module.js6
-rw-r--r--lib/net.js21
-rw-r--r--lib/os.js6
-rw-r--r--lib/readline.js2
-rw-r--r--lib/repl.js6
-rw-r--r--lib/stream.js2
-rw-r--r--lib/string_decoder.js2
-rw-r--r--lib/timers.js12
-rw-r--r--lib/tty.js5
35 files changed, 132 insertions, 135 deletions
diff --git a/lib/_http_agent.js b/lib/_http_agent.js
index e71f0cb441..e3f9a58437 100644
--- a/lib/_http_agent.js
+++ b/lib/_http_agent.js
@@ -25,8 +25,8 @@ const net = require('net');
const util = require('util');
const EventEmitter = require('events');
const debug = util.debuglog('http');
-const async_id_symbol = process.binding('async_wrap').async_id_symbol;
-const nextTick = require('internal/process/next_tick').nextTick;
+const { async_id_symbol } = process.binding('async_wrap');
+const { nextTick } = require('internal/process/next_tick');
// New Agent code.
diff --git a/lib/_http_client.js b/lib/_http_client.js
index 6eb7d34fc5..1efdd0f53b 100644
--- a/lib/_http_client.js
+++ b/lib/_http_client.js
@@ -24,19 +24,21 @@
const util = require('util');
const net = require('net');
const url = require('url');
-const HTTPParser = process.binding('http_parser').HTTPParser;
+const { HTTPParser } = process.binding('http_parser');
const assert = require('assert').ok;
-const common = require('_http_common');
-const httpSocketSetup = common.httpSocketSetup;
-const parsers = common.parsers;
-const freeParser = common.freeParser;
-const debug = common.debug;
-const OutgoingMessage = require('_http_outgoing').OutgoingMessage;
+const {
+ _checkIsHttpToken: checkIsHttpToken,
+ debug,
+ freeParser,
+ httpSocketSetup,
+ parsers
+} = require('_http_common');
+const { OutgoingMessage } = require('_http_outgoing');
const Agent = require('_http_agent');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const { urlToOptions, searchParamsSymbol } = require('internal/url');
-const outHeadersKey = require('internal/http').outHeadersKey;
-const nextTick = require('internal/process/next_tick').nextTick;
+const { outHeadersKey } = require('internal/http');
+const { nextTick } = require('internal/process/next_tick');
const errors = require('internal/errors');
// The actual list of disallowed characters in regexp form is more like:
@@ -149,7 +151,7 @@ function ClientRequest(options, cb) {
}
if (methodIsString && method) {
- if (!common._checkIsHttpToken(method)) {
+ if (!checkIsHttpToken(method)) {
throw new errors.TypeError('ERR_INVALID_HTTP_TOKEN', 'Method', method);
}
method = this.method = method.toUpperCase();
diff --git a/lib/_http_common.js b/lib/_http_common.js
index 59eaec5811..a1fe29217f 100644
--- a/lib/_http_common.js
+++ b/lib/_http_common.js
@@ -22,16 +22,17 @@
'use strict';
const binding = process.binding('http_parser');
-const methods = binding.methods;
-const HTTPParser = binding.HTTPParser;
+const { methods, HTTPParser } = binding;
const FreeList = require('internal/freelist');
-const ondrain = require('internal/http').ondrain;
+const { ondrain } = require('internal/http');
const incoming = require('_http_incoming');
-const emitDestroy = require('async_hooks').emitDestroy;
-const IncomingMessage = incoming.IncomingMessage;
-const readStart = incoming.readStart;
-const readStop = incoming.readStop;
+const { emitDestroy } = require('async_hooks');
+const {
+ IncomingMessage,
+ readStart,
+ readStop
+} = incoming;
const debug = require('util').debuglog('http');
diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js
index aeaa85eec8..94970c36d2 100644
--- a/lib/_http_outgoing.js
+++ b/lib/_http_outgoing.js
@@ -26,18 +26,17 @@ const Stream = require('stream');
const util = require('util');
const internalUtil = require('internal/util');
const internalHttp = require('internal/http');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const common = require('_http_common');
const checkIsHttpToken = common._checkIsHttpToken;
const checkInvalidHeaderChar = common._checkInvalidHeaderChar;
-const outHeadersKey = require('internal/http').outHeadersKey;
-const async_id_symbol = process.binding('async_wrap').async_id_symbol;
-const nextTick = require('internal/process/next_tick').nextTick;
+const { outHeadersKey } = require('internal/http');
+const { async_id_symbol } = process.binding('async_wrap');
+const { nextTick } = require('internal/process/next_tick');
const errors = require('internal/errors');
-const CRLF = common.CRLF;
-const debug = common.debug;
-const utcDate = internalHttp.utcDate;
+const { CRLF, debug } = common;
+const { utcDate } = internalHttp;
var RE_FIELDS =
/^(?:Connection|Transfer-Encoding|Content-Length|Date|Expect|Trailer|Upgrade)$/i;
diff --git a/lib/_http_server.js b/lib/_http_server.js
index 8ea7cfbace..458988fad8 100644
--- a/lib/_http_server.js
+++ b/lib/_http_server.js
@@ -23,17 +23,19 @@
const util = require('util');
const net = require('net');
-const HTTPParser = process.binding('http_parser').HTTPParser;
+const { HTTPParser } = process.binding('http_parser');
const assert = require('assert').ok;
-const common = require('_http_common');
-const parsers = common.parsers;
-const freeParser = common.freeParser;
-const debug = common.debug;
-const CRLF = common.CRLF;
-const continueExpression = common.continueExpression;
-const chunkExpression = common.chunkExpression;
-const httpSocketSetup = common.httpSocketSetup;
-const OutgoingMessage = require('_http_outgoing').OutgoingMessage;
+const {
+ parsers,
+ freeParser,
+ debug,
+ CRLF,
+ continueExpression,
+ chunkExpression,
+ httpSocketSetup,
+ _checkInvalidHeaderChar: checkInvalidHeaderChar
+} = require('_http_common');
+const { OutgoingMessage } = require('_http_outgoing');
const { outHeadersKey, ondrain } = require('internal/http');
const errors = require('internal/errors');
@@ -223,7 +225,7 @@ function writeHead(statusCode, reason, obj) {
headers = obj;
}
- if (common._checkInvalidHeaderChar(this.statusMessage))
+ if (checkInvalidHeaderChar(this.statusMessage))
throw new errors.Error('ERR_INVALID_CHAR', 'statusMessage');
var statusLine = 'HTTP/1.1 ' + statusCode + ' ' + this.statusMessage + CRLF;
diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js
index 081d1592f6..b031bf0b75 100644
--- a/lib/_stream_readable.js
+++ b/lib/_stream_readable.js
@@ -26,7 +26,7 @@ Readable.ReadableState = ReadableState;
const EE = require('events');
const Stream = require('stream');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const util = require('util');
const debug = util.debuglog('stream');
const BufferList = require('internal/streams/BufferList');
diff --git a/lib/_stream_wrap.js b/lib/_stream_wrap.js
index 5ae091614f..eaba8ebfa8 100644
--- a/lib/_stream_wrap.js
+++ b/lib/_stream_wrap.js
@@ -2,8 +2,8 @@
const assert = require('assert');
const util = require('util');
-const Socket = require('net').Socket;
-const JSStream = process.binding('js_stream').JSStream;
+const { Socket } = require('net');
+const { JSStream } = process.binding('js_stream');
const uv = process.binding('uv');
const debug = util.debuglog('stream_wrap');
const errors = require('internal/errors');
diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
index 685adf52f7..24fa0acb46 100644
--- a/lib/_stream_writable.js
+++ b/lib/_stream_writable.js
@@ -31,7 +31,7 @@ Writable.WritableState = WritableState;
const util = require('util');
const internalUtil = require('internal/util');
const Stream = require('stream');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const destroyImpl = require('internal/streams/destroy');
const errors = require('internal/errors');
diff --git a/lib/_tls_common.js b/lib/_tls_common.js
index 54b27a7bca..4196cc084c 100644
--- a/lib/_tls_common.js
+++ b/lib/_tls_common.js
@@ -26,8 +26,7 @@ const { isArrayBufferView } = require('internal/util/types');
const tls = require('tls');
const errors = require('internal/errors');
-const SSL_OP_CIPHER_SERVER_PREFERENCE =
- process.binding('constants').crypto.SSL_OP_CIPHER_SERVER_PREFERENCE;
+const { SSL_OP_CIPHER_SERVER_PREFERENCE } = process.binding('constants').crypto;
// Lazily loaded
var crypto = null;
diff --git a/lib/_tls_legacy.js b/lib/_tls_legacy.js
index b25be2d6a3..5f83c528b1 100644
--- a/lib/_tls_legacy.js
+++ b/lib/_tls_legacy.js
@@ -25,12 +25,12 @@ const internalUtil = require('internal/util');
internalUtil.assertCrypto();
const assert = require('assert');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const common = require('_tls_common');
-const Connection = process.binding('crypto').Connection;
+const { Connection } = process.binding('crypto');
const EventEmitter = require('events');
const stream = require('stream');
-const Timer = process.binding('timer_wrap').Timer;
+const { Timer } = process.binding('timer_wrap');
const tls = require('tls');
const util = require('util');
diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js
index ba39d092e9..b5ac8a5c9b 100644
--- a/lib/_tls_wrap.js
+++ b/lib/_tls_wrap.js
@@ -29,13 +29,13 @@ const net = require('net');
const tls = require('tls');
const util = require('util');
const common = require('_tls_common');
-const StreamWrap = require('_stream_wrap').StreamWrap;
-const Buffer = require('buffer').Buffer;
+const { StreamWrap } = require('_stream_wrap');
+const { Buffer } = require('buffer');
const debug = util.debuglog('tls');
-const Timer = process.binding('timer_wrap').Timer;
+const { Timer } = process.binding('timer_wrap');
const tls_wrap = process.binding('tls_wrap');
-const TCP = process.binding('tcp_wrap').TCP;
-const Pipe = process.binding('pipe_wrap').Pipe;
+const { TCP } = process.binding('tcp_wrap');
+const { Pipe } = process.binding('pipe_wrap');
const errors = require('internal/errors');
const kConnectOptions = Symbol('connect-options');
const kDisableRenegotiation = Symbol('disable-renegotiation');
diff --git a/lib/child_process.js b/lib/child_process.js
index fc538343f1..3bf3b23a1c 100644
--- a/lib/child_process.js
+++ b/lib/child_process.js
@@ -27,15 +27,17 @@ const { isUint8Array } = require('internal/util/types');
const { createPromise,
promiseResolve, promiseReject } = process.binding('util');
const debug = util.debuglog('child_process');
-
-const Buffer = require('buffer').Buffer;
-const Pipe = process.binding('pipe_wrap').Pipe;
+const { Buffer } = require('buffer');
+const { Pipe } = process.binding('pipe_wrap');
const { errname } = process.binding('uv');
const child_process = require('internal/child_process');
+const {
+ _validateStdio,
+ setupChannel,
+ ChildProcess
+} = child_process;
-const _validateStdio = child_process._validateStdio;
-const setupChannel = child_process.setupChannel;
-const ChildProcess = exports.ChildProcess = child_process.ChildProcess;
+exports.ChildProcess = ChildProcess;
function stdioStringToArray(option) {
switch (option) {
diff --git a/lib/dgram.js b/lib/dgram.js
index 38b182e3e7..4d5ea7c3b2 100644
--- a/lib/dgram.js
+++ b/lib/dgram.js
@@ -23,18 +23,17 @@
const assert = require('assert');
const errors = require('internal/errors');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const dns = require('dns');
const util = require('util');
const { isUint8Array } = require('internal/util/types');
const EventEmitter = require('events');
-const setInitTriggerId = require('async_hooks').setInitTriggerId;
-const UV_UDP_REUSEADDR = process.binding('constants').os.UV_UDP_REUSEADDR;
-const async_id_symbol = process.binding('async_wrap').async_id_symbol;
-const nextTick = require('internal/process/next_tick').nextTick;
+const { setInitTriggerId } = require('async_hooks');
+const { UV_UDP_REUSEADDR } = process.binding('constants').os;
+const { async_id_symbol } = process.binding('async_wrap');
+const { nextTick } = require('internal/process/next_tick');
-const UDP = process.binding('udp_wrap').UDP;
-const SendWrap = process.binding('udp_wrap').SendWrap;
+const { UDP, SendWrap } = process.binding('udp_wrap');
const BIND_STATE_UNBOUND = 0;
const BIND_STATE_BINDING = 1;
diff --git a/lib/dns.js b/lib/dns.js
index 581310b132..4a2672c254 100644
--- a/lib/dns.js
+++ b/lib/dns.js
@@ -24,7 +24,7 @@
const util = require('util');
const cares = process.binding('cares_wrap');
-const internalNet = require('internal/net');
+const { isLegalPort } = require('internal/net');
const { customPromisifyArgs } = require('internal/util');
const errors = require('internal/errors');
const {
@@ -41,9 +41,6 @@ const {
isIP
} = cares;
-const isLegalPort = internalNet.isLegalPort;
-
-
function errnoException(err, syscall, hostname) {
// FIXME(bnoordhuis) Remove this backwards compatibility nonsense and pass
// the true error to the user. ENOTFOUND is not even a proper POSIX error!
diff --git a/lib/domain.js b/lib/domain.js
index 1006e2a0f5..676a9cb005 100644
--- a/lib/domain.js
+++ b/lib/domain.js
@@ -28,7 +28,7 @@
const util = require('util');
const EventEmitter = require('events');
-const inherits = util.inherits;
+const { inherits } = util;
// communicate with events module, but don't require that
// module to have to load this one, since this module has
diff --git a/lib/fs.js b/lib/fs.js
index 5668540486..4d70555bcc 100644
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -33,18 +33,19 @@ const { createPromise, promiseResolve } = process.binding('util');
const binding = process.binding('fs');
const fs = exports;
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const errors = require('internal/errors');
-const Stream = require('stream').Stream;
+const { Readable, Writable } = require('stream');
const EventEmitter = require('events');
-const FSReqWrap = binding.FSReqWrap;
-const FSEvent = process.binding('fs_event_wrap').FSEvent;
+const { FSReqWrap } = binding;
+const { FSEvent } = process.binding('fs_event_wrap');
const internalFS = require('internal/fs');
-const internalURL = require('internal/url');
+const { getPathFromURL } = require('internal/url');
const internalUtil = require('internal/util');
-const assertEncoding = internalFS.assertEncoding;
-const stringToFlags = internalFS.stringToFlags;
-const getPathFromURL = internalURL.getPathFromURL;
+const {
+ assertEncoding,
+ stringToFlags
+} = internalFS;
Object.defineProperty(exports, 'constants', {
configurable: false,
@@ -52,11 +53,8 @@ Object.defineProperty(exports, 'constants', {
value: constants
});
-const Readable = Stream.Readable;
-const Writable = Stream.Writable;
-
const kMinPoolSpace = 128;
-const kMaxLength = require('buffer').kMaxLength;
+const { kMaxLength } = require('buffer');
const isWindows = process.platform === 'win32';
diff --git a/lib/http.js b/lib/http.js
index af3e8a017c..701a5ccb86 100644
--- a/lib/http.js
+++ b/lib/http.js
@@ -22,14 +22,13 @@
'use strict';
const agent = require('_http_agent');
-const client = require('_http_client');
+const { ClientRequest } = require('_http_client');
const common = require('_http_common');
const incoming = require('_http_incoming');
const outgoing = require('_http_outgoing');
const server = require('_http_server');
-const Server = server.Server;
-const ClientRequest = client.ClientRequest;
+const { Server } = server;
function createServer(requestListener) {
return new Server(requestListener);
diff --git a/lib/https.js b/lib/https.js
index ea3cf9cf27..86b13d78e5 100644
--- a/lib/https.js
+++ b/lib/https.js
@@ -27,7 +27,7 @@ const tls = require('tls');
const url = require('url');
const http = require('http');
const util = require('util');
-const inherits = util.inherits;
+const { inherits } = util;
const debug = util.debuglog('https');
const { urlToOptions, searchParamsSymbol } = require('internal/url');
const errors = require('internal/errors');
diff --git a/lib/internal/child_process.js b/lib/internal/child_process.js
index 28ab13cd54..70b13e0839 100644
--- a/lib/internal/child_process.js
+++ b/lib/internal/child_process.js
@@ -1,19 +1,19 @@
'use strict';
const errors = require('internal/errors');
-const StringDecoder = require('string_decoder').StringDecoder;
+const { StringDecoder } = require('string_decoder');
const EventEmitter = require('events');
const net = require('net');
const dgram = require('dgram');
const util = require('util');
const assert = require('assert');
-const Process = process.binding('process_wrap').Process;
-const WriteWrap = process.binding('stream_wrap').WriteWrap;
-const Pipe = process.binding('pipe_wrap').Pipe;
-const TTY = process.binding('tty_wrap').TTY;
-const TCP = process.binding('tcp_wrap').TCP;
-const UDP = process.binding('udp_wrap').UDP;
+const { Process } = process.binding('process_wrap');
+const { WriteWrap } = process.binding('stream_wrap');
+const { Pipe } = process.binding('pipe_wrap');
+const { TTY } = process.binding('tty_wrap');
+const { TCP } = process.binding('tcp_wrap');
+const { UDP } = process.binding('udp_wrap');
const SocketList = require('internal/socket_list');
const { convertToValidSignal } = require('internal/util');
const { isUint8Array } = require('internal/util/types');
@@ -30,8 +30,7 @@ const {
} = process.binding('uv');
const errnoException = util._errnoException;
-const SocketListSend = SocketList.SocketListSend;
-const SocketListReceive = SocketList.SocketListReceive;
+const { SocketListSend, SocketListReceive } = SocketList;
const MAX_HANDLE_RETRANSMISSIONS = 3;
diff --git a/lib/internal/cluster/master.js b/lib/internal/cluster/master.js
index 4ccf039322..f3d2e30a5b 100644
--- a/lib/internal/cluster/master.js
+++ b/lib/internal/cluster/master.js
@@ -1,6 +1,6 @@
'use strict';
const assert = require('assert');
-const fork = require('child_process').fork;
+const { fork } = require('child_process');
const util = require('util');
const EventEmitter = require('events');
const RoundRobinHandle = require('internal/cluster/round_robin_handle');
diff --git a/lib/internal/fs.js b/lib/internal/fs.js
index b8f710f04b..01c5ff4bfc 100644
--- a/lib/internal/fs.js
+++ b/lib/internal/fs.js
@@ -1,7 +1,7 @@
'use strict';
-const Buffer = require('buffer').Buffer;
-const Writable = require('stream').Writable;
+const { Buffer } = require('buffer');
+const { Writable } = require('stream');
const errors = require('internal/errors');
const fs = require('fs');
const util = require('util');
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js
index 83db79b950..663672f052 100644
--- a/lib/internal/http2/core.js
+++ b/lib/internal/http2/core.js
@@ -6,7 +6,7 @@ require('internal/util').assertCrypto();
const binding = process.binding('http2');
const assert = require('assert');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const EventEmitter = require('events');
const net = require('net');
const tls = require('tls');
diff --git a/lib/internal/process/write-coverage.js b/lib/internal/process/write-coverage.js
index 50c55200d2..1657f5b470 100644
--- a/lib/internal/process/write-coverage.js
+++ b/lib/internal/process/write-coverage.js
@@ -1,9 +1,7 @@
'use strict';
const process = require('process');
const path = require('path');
-const fs = require('fs');
-const mkdirSync = fs.mkdirSync;
-const writeFileSync = fs.writeFileSync;
+const { mkdirSync, writeFileSync } = require('fs');
function writeCoverage() {
if (!global.__coverage__) {
diff --git a/lib/internal/repl.js b/lib/internal/repl.js
index 1564dfd370..436e72cf75 100644
--- a/lib/internal/repl.js
+++ b/lib/internal/repl.js
@@ -1,6 +1,6 @@
'use strict';
-const Interface = require('readline').Interface;
+const { Interface } = require('readline');
const REPL = require('repl');
const path = require('path');
const fs = require('fs');
diff --git a/lib/internal/streams/BufferList.js b/lib/internal/streams/BufferList.js
index 6e724e9fb8..23d5a8a2db 100644
--- a/lib/internal/streams/BufferList.js
+++ b/lib/internal/streams/BufferList.js
@@ -1,6 +1,6 @@
'use strict';
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
function copyBuffer(src, target, offset) {
Buffer.prototype.copy.call(src, target, offset);
diff --git a/lib/internal/util.js b/lib/internal/util.js
index 3bae5b7f39..f2d4b1facd 100644
--- a/lib/internal/util.js
+++ b/lib/internal/util.js
@@ -2,7 +2,7 @@
const errors = require('internal/errors');
const binding = process.binding('util');
-const signals = process.binding('constants').os.signals;
+const { signals } = process.binding('constants').os;
const { createPromise, promiseResolve, promiseReject } = binding;
diff --git a/lib/module.js b/lib/module.js
index 95da968d75..c8239cf4e8 100644
--- a/lib/module.js
+++ b/lib/module.js
@@ -30,8 +30,10 @@ const assert = require('assert').ok;
const fs = require('fs');
const internalFS = require('internal/fs');
const path = require('path');
-const internalModuleReadFile = process.binding('fs').internalModuleReadFile;
-const internalModuleStat = process.binding('fs').internalModuleStat;
+const {
+ internalModuleReadFile,
+ internalModuleStat
+} = process.binding('fs');
const preserveSymlinks = !!process.binding('config').preserveSymlinks;
const experimentalModules = !!process.binding('config').experimentalModules;
diff --git a/lib/net.js b/lib/net.js
index a86edb13ef..3c97110e3f 100644
--- a/lib/net.js
+++ b/lib/net.js
@@ -26,7 +26,7 @@ const stream = require('stream');
const timers = require('timers');
const util = require('util');
const internalUtil = require('internal/util');
-const internalNet = require('internal/net');
+const { isLegalPort, normalizedArgsSymbol } = require('internal/net');
const assert = require('assert');
const cares = process.binding('cares_wrap');
const {
@@ -35,17 +35,16 @@ const {
UV_EOF
} = process.binding('uv');
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const TTYWrap = process.binding('tty_wrap');
-const TCP = process.binding('tcp_wrap').TCP;
-const Pipe = process.binding('pipe_wrap').Pipe;
-const TCPConnectWrap = process.binding('tcp_wrap').TCPConnectWrap;
-const PipeConnectWrap = process.binding('pipe_wrap').PipeConnectWrap;
-const ShutdownWrap = process.binding('stream_wrap').ShutdownWrap;
-const WriteWrap = process.binding('stream_wrap').WriteWrap;
-const async_id_symbol = process.binding('async_wrap').async_id_symbol;
+const { TCP } = process.binding('tcp_wrap');
+const { Pipe } = process.binding('pipe_wrap');
+const { TCPConnectWrap } = process.binding('tcp_wrap');
+const { PipeConnectWrap } = process.binding('pipe_wrap');
+const { ShutdownWrap, WriteWrap } = process.binding('stream_wrap');
+const { async_id_symbol } = process.binding('async_wrap');
const { newUid, setInitTriggerId } = require('async_hooks');
-const nextTick = require('internal/process/next_tick').nextTick;
+const { nextTick } = require('internal/process/next_tick');
const errors = require('internal/errors');
const dns = require('dns');
@@ -55,8 +54,6 @@ var cluster = null;
const errnoException = util._errnoException;
const exceptionWithHostPort = util._exceptionWithHostPort;
-const isLegalPort = internalNet.isLegalPort;
-const normalizedArgsSymbol = internalNet.normalizedArgsSymbol;
function noop() {}
diff --git a/lib/os.js b/lib/os.js
index 0973e14788..6af5d15cbc 100644
--- a/lib/os.js
+++ b/lib/os.js
@@ -21,10 +21,10 @@
'use strict';
-const pushValToArrayMax = process.binding('util').pushValToArrayMax;
+const { pushValToArrayMax } = process.binding('util');
const constants = process.binding('constants').os;
-const deprecate = require('internal/util').deprecate;
-const getCIDRSuffix = require('internal/os').getCIDRSuffix;
+const { deprecate } = require('internal/util');
+const { getCIDRSuffix } = require('internal/os');
const isWindows = process.platform === 'win32';
const {
diff --git a/lib/readline.js b/lib/readline.js
index 5e96a04b1c..4df60afce8 100644
--- a/lib/readline.js
+++ b/lib/readline.js
@@ -48,7 +48,7 @@ const {
kClearScreenDown
} = CSI;
-const now = process.binding('timer_wrap').Timer.now;
+const { now } = process.binding('timer_wrap').Timer;
const kHistorySize = 30;
const kMincrlfDelay = 100;
diff --git a/lib/repl.js b/lib/repl.js
index feaa4b32df..c98ff7063b 100644
--- a/lib/repl.js
+++ b/lib/repl.js
@@ -47,13 +47,13 @@ const internalUtil = require('internal/util');
const { isTypedArray } = require('internal/util/types');
const util = require('util');
const utilBinding = process.binding('util');
-const inherits = util.inherits;
+const { inherits } = util;
const Stream = require('stream');
const vm = require('vm');
const path = require('path');
const fs = require('fs');
-const Interface = require('readline').Interface;
-const Console = require('console').Console;
+const { Interface } = require('readline');
+const { Console } = require('console');
const Module = require('module');
const domain = require('domain');
const debug = util.debuglog('repl');
diff --git a/lib/stream.js b/lib/stream.js
index 0dd44e3a61..edc5f231b8 100644
--- a/lib/stream.js
+++ b/lib/stream.js
@@ -21,7 +21,7 @@
'use strict';
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
// Note: export Stream before Readable/Writable/Duplex/...
// to avoid a cross-reference(require) issues
diff --git a/lib/string_decoder.js b/lib/string_decoder.js
index f0bca57050..891ab5bdba 100644
--- a/lib/string_decoder.js
+++ b/lib/string_decoder.js
@@ -21,7 +21,7 @@
'use strict';
-const Buffer = require('buffer').Buffer;
+const { Buffer } = require('buffer');
const internalUtil = require('internal/util');
const errors = require('internal/errors');
const isEncoding = Buffer[internalUtil.kIsEncodingSymbol];
diff --git a/lib/timers.js b/lib/timers.js
index 5727de159a..9d32aed7a5 100644
--- a/lib/timers.js
+++ b/lib/timers.js
@@ -26,17 +26,21 @@ const TimerWrap = process.binding('timer_wrap').Timer;
const L = require('internal/linkedlist');
const internalUtil = require('internal/util');
const { createPromise, promiseResolve } = process.binding('util');
-const async_hooks = require('async_hooks');
const assert = require('assert');
const util = require('util');
const errors = require('internal/errors');
const debug = util.debuglog('timer');
const kOnTimeout = TimerWrap.kOnTimeout | 0;
-const initTriggerId = async_hooks.initTriggerId;
// Two arrays that share state between C++ and JS.
const { async_hook_fields, async_id_fields } = async_wrap;
-// The needed emit*() functions.
-const { emitInit, emitBefore, emitAfter, emitDestroy } = async_hooks;
+const {
+ initTriggerId,
+ // The needed emit*() functions.
+ emitInit,
+ emitBefore,
+ emitAfter,
+ emitDestroy
+} = require('async_hooks');
// Grab the constants necessary for working with internal arrays.
const { kInit, kDestroy, kAsyncIdCounter } = async_wrap.constants;
// Symbols for storing async id state.
diff --git a/lib/tty.js b/lib/tty.js
index c0c66a0947..e8da49fbde 100644
--- a/lib/tty.js
+++ b/lib/tty.js
@@ -23,9 +23,8 @@
const util = require('util');
const net = require('net');
-const TTY = process.binding('tty_wrap').TTY;
-const isTTY = process.binding('tty_wrap').isTTY;
-const inherits = util.inherits;
+const { TTY, isTTY } = process.binding('tty_wrap');
+const { inherits } = util;
const errnoException = util._errnoException;
const errors = require('internal/errors');
const readline = require('readline');