@@ -9,6 +9,8 @@ const internalStreamsBufferPolyfill = [
9
9
`
10
10
]
11
11
12
+ const noNodeColon = [ "node:" , '' ]
13
+
12
14
const internalStreamsAbortControllerPolyfill = [
13
15
"'use strict'" ,
14
16
`
@@ -42,6 +44,11 @@ const internalStreamsNoRequireAbortController = [
42
44
'const AbortController = globalThis.AbortController || require(\'abort-controller\').AbortController;'
43
45
]
44
46
47
+ const internalStreamsNoRequireAbortController2 = [
48
+ 'const \\{ AbortController, AbortSignal \\} = .+' ,
49
+ 'const AbortController = globalThis.AbortController || require(\'abort-controller\').AbortController;'
50
+ ]
51
+
45
52
const internalStreamsRequireInternal = [ "require\\('internal/([^']+)'\\)" , "require('../$1')" ]
46
53
47
54
const internalStreamsRequireErrors = [ "require\\('internal/errors'\\)" , "require('../../ours/errors')" ]
@@ -74,7 +81,12 @@ const internalStreamsRequireWebStream = ["require\\('internal/webstreams/adapter
74
81
75
82
const internalStreamsWeakHandler = [
76
83
"const \\{ kWeakHandler \\} = require\\('../event_target'\\);" ,
77
- "const kWeakHandler = require('../../ours/primordials').Symbol('kWeak');"
84
+ "require\\('../event_target'\\);const kWeakHandler = require('../../ours/primordials').Symbol('kWeak');"
85
+ ]
86
+
87
+ const internalStreamsWeakHandler2 = [
88
+ "const \\{ kWeakHandler, kResistStopPropagation \\} = .*;" ,
89
+ "const kWeakHandler = require('../../ours/primordials').Symbol('kWeak');\nconst kResistStopPropagation = require('../../ours/primordials').Symbol('kResistStopPropagation');"
78
90
]
79
91
80
92
const internalValidatorsNoCoalesceAssignment = [
@@ -142,6 +154,7 @@ const testCommonKnownGlobals = [
142
154
typeof AbortController !== 'undefined' ? AbortController : require('abort-controller').AbortController,
143
155
typeof AbortSignal !== 'undefined' ? AbortSignal : require('abort-controller').AbortSignal,
144
156
typeof EventTarget !== 'undefined' ? EventTarget : require('event-target-shim').EventTarget,
157
+ typeof navigator !== 'undefined' ? navigator : {},
145
158
`
146
159
]
147
160
@@ -238,6 +251,47 @@ const readmeLink = ['(\\[Node.js website\\]\\(https://nodejs.org/dist/v)(\\d+.\\
238
251
239
252
const streamRequire = [ "require\\('stream'\\)" , "require('../../lib/stream.js')" ]
240
253
254
+ const removeWebStreamsFromDuplexFromTest = [
255
+ 'const { ReadableStream, WritableStream } = .+;' ,
256
+ `function makeATestReadableStream(value) {
257
+ return Readable.from([value])
258
+ }
259
+ function makeATestWritableStream(writeFunc) {
260
+ return new Writable({
261
+ write(chunk, enc, cb) {
262
+ writeFunc(chunk)
263
+ cb()
264
+ }
265
+ })
266
+ }
267
+ `
268
+ ]
269
+
270
+ const duplexFromTestWebStreamNeutralizeReadable = [
271
+ 'makeATestReadableStream\\(value\\) {' ,
272
+ 'makeATestReadableStreamOff(value) {'
273
+ ]
274
+
275
+ const duplexFromTestWebStreamNeutralizeWritable = [
276
+ 'makeATestWritableStream\\(writeFunc\\) {' ,
277
+ 'makeATestWritableStreamOff(writeFunc) {'
278
+ ]
279
+
280
+ const polyfillAddAbortListener = [
281
+ 'addAbortListener \\?\\?= require\\(\'events\'\\)\\.addAbortListener' ,
282
+ 'addAbortListener = addAbortListener || require(\'../../ours/util\').addAbortListener'
283
+ ]
284
+
285
+ const abortSignalAny = [
286
+ 'AbortSignal.any' ,
287
+ 'require(\'../../ours/util\').AbortSignalAny'
288
+ ]
289
+
290
+ const asyncDisposeTest = [
291
+ 'Symbol.asyncDispose' ,
292
+ 'require(\'../../lib/ours/primordials\').SymbolAsyncDispose'
293
+ ]
294
+
241
295
export const replacements = {
242
296
'lib/_stream.+' : [ legacyStreamsRequireStream ] ,
243
297
'lib/internal/streams/duplexify.+' : [
@@ -248,7 +302,13 @@ export const replacements = {
248
302
] ,
249
303
'lib/internal/streams/(operators|pipeline).+' : [
250
304
internalStreamsAbortControllerPolyfill ,
251
- internalStreamsNoRequireAbortController
305
+ internalStreamsNoRequireAbortController ,
306
+ internalStreamsNoRequireAbortController2 ,
307
+ internalStreamsWeakHandler2 ,
308
+ abortSignalAny
309
+ ] ,
310
+ 'lib/internal/streams/add-abort-signal.js' : [
311
+ polyfillAddAbortListener
252
312
] ,
253
313
'lib/internal/streams/readable.js' : [
254
314
removefromWebReadableMethod ,
@@ -267,7 +327,8 @@ export const replacements = {
267
327
internalStreamsRequireWebStream ,
268
328
internalStreamsRequireInternal ,
269
329
internalStreamsWeakHandler ,
270
- internalStreamsInspectCustom
330
+ internalStreamsInspectCustom ,
331
+ polyfillAddAbortListener
271
332
] ,
272
333
'lib/internal/validators.js' : [
273
334
internalValidatorsRequireAssert ,
@@ -305,10 +366,18 @@ export const replacements = {
305
366
testParallelBindings ,
306
367
testParallelHasOwn ,
307
368
testParallelSilentConsole ,
308
- testParallelTimersPromises
369
+ testParallelTimersPromises ,
370
+ noNodeColon
371
+ ] ,
372
+ 'test/parallel/test-stream-duplex-from.js' : [
373
+ testParallelDuplexFromBlob ,
374
+ testParallelDuplexSkipWithoutBlob ,
375
+ duplexFromTestWebStreamNeutralizeReadable ,
376
+ duplexFromTestWebStreamNeutralizeWritable ,
377
+ removeWebStreamsFromDuplexFromTest
309
378
] ,
310
- 'test/parallel/test-stream-duplex-from.js' : [ testParallelDuplexFromBlob , testParallelDuplexSkipWithoutBlob ] ,
311
379
'test/parallel/test-stream-finished.js' : [ testParallelFinishedEvent ] ,
380
+ 'test/parallel/test-stream-readable-dispose.js' : [ asyncDisposeTest ] ,
312
381
'test/parallel/test-stream-flatMap.js' : [ testParallelFlatMapWinLineSeparator ] ,
313
382
'test/parallel/test-stream-preprocess.js' : [ testParallelPreprocessWinLineSeparator ] ,
314
383
'test/parallel/test-stream-writable-samecb-singletick.js' : [
0 commit comments