Skip to content

Commit d5eb9a3

Browse files
authored
lib: remove Symbol[Async]Dispose polyfills
PR-URL: #55276 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
1 parent 9a9409f commit d5eb9a3

26 files changed

+33
-70
lines changed

lib/_http_server.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const {
2929
ObjectSetPrototypeOf,
3030
ReflectApply,
3131
Symbol,
32+
SymbolAsyncDispose,
3233
SymbolFor,
3334
} = primordials;
3435

@@ -81,7 +82,6 @@ const {
8182
const {
8283
kEmptyObject,
8384
promisify,
84-
SymbolAsyncDispose,
8585
} = require('internal/util');
8686
const {
8787
validateInteger,

lib/child_process.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const {
4242
StringPrototypeIncludes,
4343
StringPrototypeSlice,
4444
StringPrototypeToUpperCase,
45+
SymbolDispose,
4546
} = primordials;
4647

4748
const {
@@ -50,7 +51,6 @@ const {
5051
getSystemErrorName,
5152
kEmptyObject,
5253
promisify,
53-
SymbolDispose,
5454
} = require('internal/util');
5555
const { isArrayBufferView } = require('internal/util/types');
5656
let debug = require('internal/util/debuglog').debuglog(

lib/dgram.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ const {
3030
ObjectDefineProperty,
3131
ObjectSetPrototypeOf,
3232
ReflectApply,
33+
SymbolAsyncDispose,
34+
SymbolDispose,
3335
} = primordials;
3436

3537
const {
@@ -61,7 +63,7 @@ const {
6163
validatePort,
6264
} = require('internal/validators');
6365
const { Buffer } = require('buffer');
64-
const { deprecate, guessHandleType, promisify, SymbolAsyncDispose, SymbolDispose } = require('internal/util');
66+
const { deprecate, guessHandleType, promisify } = require('internal/util');
6567
const { isArrayBufferView } = require('internal/util/types');
6668
const EventEmitter = require('events');
6769
const { addAbortListener } = require('internal/events/abort_listener');

lib/events.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ const {
4747
StringPrototypeSplit,
4848
Symbol,
4949
SymbolAsyncIterator,
50+
SymbolDispose,
5051
SymbolFor,
5152
} = primordials;
5253
const kRejection = SymbolFor('nodejs.rejection');
5354

54-
const { SymbolDispose, kEmptyObject, spliceOne } = require('internal/util');
55+
const { kEmptyObject, spliceOne } = require('internal/util');
5556

5657
const {
5758
inspect,

lib/https.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ const {
3333
ObjectSetPrototypeOf,
3434
ReflectApply,
3535
ReflectConstruct,
36+
SymbolAsyncDispose,
3637
} = primordials;
3738

3839
const {
3940
assertCrypto,
4041
kEmptyObject,
4142
promisify,
42-
SymbolAsyncDispose,
4343
} = require('internal/util');
4444
assertCrypto();
4545

lib/inspector.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ const {
44
JSONParse,
55
JSONStringify,
66
SafeMap,
7-
} = primordials;
8-
9-
const {
107
SymbolDispose,
11-
} = require('internal/util');
8+
} = primordials;
129

1310
const {
1411
ERR_INSPECTOR_ALREADY_ACTIVATED,

lib/internal/child_process.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const {
1212
ReflectApply,
1313
StringPrototypeSlice,
1414
Symbol,
15+
SymbolDispose,
1516
Uint8Array,
1617
} = primordials;
1718

@@ -55,7 +56,7 @@ const { TTY } = internalBinding('tty_wrap');
5556
const { UDP } = internalBinding('udp_wrap');
5657
const SocketList = require('internal/socket_list');
5758
const { owner_symbol } = require('internal/async_hooks').symbols;
58-
const { convertToValidSignal, deprecate, SymbolDispose } = require('internal/util');
59+
const { convertToValidSignal, deprecate } = require('internal/util');
5960
const { isArrayBufferView } = require('internal/util/types');
6061
const spawn_sync = internalBinding('spawn_sync');
6162
const { kStateSymbol } = require('internal/dgram');

lib/internal/events/abort_listener.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const {
44
SymbolDispose,
5-
} = require('internal/util');
5+
} = primordials;
66
const {
77
validateAbortSignal,
88
validateFunction,

lib/internal/fs/promises.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const {
1515
SafeArrayIterator,
1616
SafePromisePrototypeFinally,
1717
Symbol,
18+
SymbolAsyncDispose,
1819
Uint8Array,
1920
uncurryThis,
2021
} = primordials;
@@ -99,7 +100,6 @@ const {
99100
promisify,
100101
isWindows,
101102
isMacOS,
102-
SymbolAsyncDispose,
103103
} = require('internal/util');
104104
const EventEmitter = require('events');
105105
const { StringDecoder } = require('string_decoder');

lib/internal/http2/core.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ const {
1919
SafeMap,
2020
SafeSet,
2121
Symbol,
22+
SymbolAsyncDispose,
23+
SymbolDispose,
2224
Uint32Array,
2325
Uint8Array,
2426
} = primordials;
@@ -28,8 +30,6 @@ const {
2830
customInspectSymbol: kInspect,
2931
kEmptyObject,
3032
promisify,
31-
SymbolAsyncDispose,
32-
SymbolDispose,
3333
} = require('internal/util');
3434

3535
assertCrypto();

lib/internal/process/pre_execution.js

-30
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ const {
1414
ObjectFreeze,
1515
String,
1616
StringPrototypeStartsWith,
17-
Symbol,
1817
globalThis,
1918
} = primordials;
2019

@@ -29,8 +28,6 @@ const {
2928
defineReplaceableLazyAttribute,
3029
setupCoverageHooks,
3130
emitExperimentalWarning,
32-
SymbolAsyncDispose,
33-
SymbolDispose,
3431
deprecate,
3532
} = require('internal/util');
3633

@@ -121,8 +118,6 @@ function prepareExecution(options) {
121118

122119
require('internal/dns/utils').initializeDns();
123120

124-
setupSymbolDisposePolyfill();
125-
126121
if (isMainThread) {
127122
assert(internalBinding('worker').isMainThread);
128123
// Worker threads will get the manifest in the message handler.
@@ -157,31 +152,6 @@ function prepareExecution(options) {
157152
return mainEntry;
158153
}
159154

160-
function setupSymbolDisposePolyfill() {
161-
// TODO(MoLow): Remove this polyfill once Symbol.dispose and Symbol.asyncDispose are available in V8.
162-
// eslint-disable-next-line node-core/prefer-primordials
163-
if (typeof Symbol.dispose !== 'symbol') {
164-
ObjectDefineProperty(Symbol, 'dispose', {
165-
__proto__: null,
166-
configurable: false,
167-
enumerable: false,
168-
value: SymbolDispose,
169-
writable: false,
170-
});
171-
}
172-
173-
// eslint-disable-next-line node-core/prefer-primordials
174-
if (typeof Symbol.asyncDispose !== 'symbol') {
175-
ObjectDefineProperty(Symbol, 'asyncDispose', {
176-
__proto__: null,
177-
configurable: false,
178-
enumerable: false,
179-
value: SymbolAsyncDispose,
180-
writable: false,
181-
});
182-
}
183-
}
184-
185155
function setupUserModules(forceDefaultLoader = false) {
186156
initializeCJSLoader();
187157
initializeESMLoader(forceDefaultLoader);

lib/internal/readline/interface.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const {
3030
StringPrototypeTrim,
3131
Symbol,
3232
SymbolAsyncIterator,
33+
SymbolDispose,
3334
} = primordials;
3435

3536
const { codes: {
@@ -44,7 +45,7 @@ const {
4445
validateString,
4546
validateUint32,
4647
} = require('internal/validators');
47-
const { SymbolDispose, kEmptyObject } = require('internal/util');
48+
const { kEmptyObject } = require('internal/util');
4849
const {
4950
inspect,
5051
getStringWidth,

lib/internal/streams/add-abort-signal.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const {
44
SymbolDispose,
5-
} = require('internal/util');
5+
} = primordials;
66

77
const {
88
AbortError,

lib/internal/streams/end-of-stream.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
const {
77
Promise,
88
PromisePrototypeThen,
9+
SymbolDispose,
910
} = primordials;
1011

1112
const {
@@ -18,7 +19,6 @@ const {
1819
const {
1920
kEmptyObject,
2021
once,
21-
SymbolDispose,
2222
} = require('internal/util');
2323
const {
2424
validateAbortSignal,

lib/internal/streams/pipeline.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ const {
77
ArrayIsArray,
88
Promise,
99
SymbolAsyncIterator,
10+
SymbolDispose,
1011
} = primordials;
1112

1213
const eos = require('internal/streams/end-of-stream');
13-
const { SymbolDispose, once } = require('internal/util');
14+
const { once } = require('internal/util');
1415
const destroyImpl = require('internal/streams/destroy');
1516
const Duplex = require('internal/streams/duplex');
1617
const {

lib/internal/streams/readable.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const {
3232
Promise,
3333
SafeSet,
3434
Symbol,
35+
SymbolAsyncDispose,
3536
SymbolAsyncIterator,
3637
SymbolSpecies,
3738
TypedArrayPrototypeSet,
@@ -43,9 +44,6 @@ Readable.ReadableState = ReadableState;
4344
const EE = require('events');
4445
const { Stream, prependListener } = require('internal/streams/legacy');
4546
const { Buffer } = require('buffer');
46-
const {
47-
SymbolAsyncDispose,
48-
} = require('internal/util');
4947

5048
const {
5149
addAbortSignal,

lib/internal/streams/writable.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const {
3535
Promise,
3636
StringPrototypeToLowerCase,
3737
Symbol,
38+
SymbolAsyncDispose,
3839
SymbolHasInstance,
3940
} = primordials;
4041

@@ -46,9 +47,6 @@ const Stream = require('internal/streams/legacy').Stream;
4647
const { Buffer } = require('buffer');
4748
const destroyImpl = require('internal/streams/destroy');
4849
const eos = require('internal/streams/end-of-stream');
49-
const {
50-
SymbolAsyncDispose,
51-
} = require('internal/util');
5250

5351
const {
5452
addAbortSignal,

lib/internal/test_runner/mock/mock_timers.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const {
1717
Promise,
1818
Symbol,
1919
SymbolAsyncIterator,
20+
SymbolDispose,
2021
globalThis,
2122
} = primordials;
2223

@@ -28,7 +29,6 @@ const {
2829

2930
const {
3031
emitExperimentalWarning,
31-
SymbolDispose,
3232
} = require('internal/util');
3333
const {
3434
AbortError,

lib/internal/test_runner/test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const {
2929
StringPrototypeStartsWith,
3030
StringPrototypeTrim,
3131
Symbol,
32+
SymbolDispose,
3233
} = primordials;
3334
const { getCallerLocation } = internalBinding('util');
3435
const { exitCodes: { kGenericUserError } } = internalBinding('errors');
@@ -55,7 +56,6 @@ const {
5556
createDeferredPromise,
5657
kEmptyObject,
5758
once: runOnce,
58-
SymbolDispose,
5959
} = require('internal/util');
6060
const { isPromise } = require('internal/util/types');
6161
const {

lib/internal/util.js

-8
Original file line numberDiff line numberDiff line change
@@ -932,14 +932,6 @@ module.exports = {
932932
setupCoverageHooks,
933933
removeColors,
934934

935-
// Define Symbol.dispose and Symbol.asyncDispose
936-
// Until these are defined by the environment.
937-
// TODO(MoLow): Remove this polyfill once Symbol.dispose and Symbol.asyncDispose are available in primordials.
938-
// eslint-disable-next-line node-core/prefer-primordials
939-
SymbolDispose: Symbol.dispose || SymbolFor('nodejs.dispose'),
940-
// eslint-disable-next-line node-core/prefer-primordials
941-
SymbolAsyncDispose: Symbol.asyncDispose || SymbolFor('nodejs.asyncDispose'),
942-
943935
// Symbol used to customize promisify conversion
944936
customPromisifyArgs: kCustomPromisifyArgsSymbol,
945937

lib/internal/webstreams/readablestream.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const {
2222
SafePromiseAll,
2323
Symbol,
2424
SymbolAsyncIterator,
25+
SymbolDispose,
2526
SymbolToStringTag,
2627
TypedArrayPrototypeGetLength,
2728
Uint8Array,
@@ -54,7 +55,6 @@ const {
5455
kEmptyObject,
5556
kEnumerableProperty,
5657
SideEffectFreeRegExpPrototypeSymbolReplace,
57-
SymbolDispose,
5858
} = require('internal/util');
5959

6060
const {

lib/net.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ const {
3636
ObjectDefineProperty,
3737
ObjectSetPrototypeOf,
3838
Symbol,
39+
SymbolAsyncDispose,
40+
SymbolDispose,
3941
} = primordials;
4042

4143
const EventEmitter = require('events');
@@ -119,8 +121,6 @@ const {
119121
isWindows,
120122
kEmptyObject,
121123
promisify,
122-
SymbolAsyncDispose,
123-
SymbolDispose,
124124
} = require('internal/util');
125125
const {
126126
validateAbortSignal,

lib/readline.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const {
3030
Promise,
3131
PromiseReject,
3232
StringPrototypeSlice,
33+
SymbolDispose,
3334
} = primordials;
3435

3536
const {
@@ -50,7 +51,6 @@ const {
5051
const {
5152
kEmptyObject,
5253
promisify,
53-
SymbolDispose,
5454
} = require('internal/util');
5555
const { validateAbortSignal } = require('internal/validators');
5656

0 commit comments

Comments
 (0)