Commit 2c76a1e
committed
stream: unify internal webstream construction
Streams created internally (transform stream sides, tee branches,
ReadableStream.from, transferred streams) were built by wrapper
constructors that swapped the prototype of every instance and then
assigned an own, enumerable `constructor` property to look like a public
stream. Each internal stream therefore had its own hidden class and
`Object.keys(stream)` reported `['constructor']`.
The public constructors now accept the internal construction sentinel
and leave controller setup to the caller, so every ReadableStream and
WritableStream shares one hidden class and no per-instance prototype
swap or own property is needed.
Signed-off-by: Matteo Collina <hello@matteocollina.com>1 parent 5c5bd22 commit 2c76a1e
3 files changed
Lines changed: 81 additions & 85 deletions
File tree
- lib/internal/webstreams
- test/parallel
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
253 | 253 | | |
254 | 254 | | |
255 | 255 | | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
256 | 263 | | |
257 | 264 | | |
258 | 265 | | |
| |||
718 | 725 | | |
719 | 726 | | |
720 | 727 | | |
721 | | - | |
722 | | - | |
723 | | - | |
724 | | - | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | 728 | | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
| 729 | + | |
737 | 730 | | |
738 | 731 | | |
739 | 732 | | |
| |||
1350 | 1343 | | |
1351 | 1344 | | |
1352 | 1345 | | |
1353 | | - | |
1354 | | - | |
1355 | | - | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
| 1346 | + | |
| 1347 | + | |
1359 | 1348 | | |
1360 | | - | |
1361 | | - | |
| 1349 | + | |
| 1350 | + | |
1362 | 1351 | | |
1363 | 1352 | | |
1364 | 1353 | | |
1365 | 1354 | | |
1366 | 1355 | | |
1367 | | - | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
1372 | | - | |
1373 | | - | |
1374 | | - | |
1375 | | - | |
1376 | | - | |
1377 | 1356 | | |
1378 | 1357 | | |
1379 | 1358 | | |
1380 | | - | |
1381 | | - | |
1382 | | - | |
1383 | | - | |
1384 | | - | |
1385 | | - | |
| 1359 | + | |
| 1360 | + | |
1386 | 1361 | | |
1387 | | - | |
1388 | | - | |
| 1362 | + | |
| 1363 | + | |
1389 | 1364 | | |
1390 | 1365 | | |
1391 | 1366 | | |
1392 | 1367 | | |
1393 | 1368 | | |
1394 | | - | |
1395 | | - | |
1396 | | - | |
1397 | | - | |
1398 | | - | |
1399 | | - | |
1400 | | - | |
1401 | | - | |
1402 | | - | |
1403 | | - | |
1404 | 1369 | | |
1405 | 1370 | | |
1406 | 1371 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
186 | 193 | | |
187 | 194 | | |
188 | 195 | | |
| |||
351 | 358 | | |
352 | 359 | | |
353 | 360 | | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | 361 | | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
| 362 | + | |
370 | 363 | | |
371 | 364 | | |
372 | 365 | | |
| |||
559 | 552 | | |
560 | 553 | | |
561 | 554 | | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
| 555 | + | |
| 556 | + | |
569 | 557 | | |
570 | | - | |
571 | | - | |
| 558 | + | |
| 559 | + | |
572 | 560 | | |
573 | 561 | | |
574 | 562 | | |
575 | 563 | | |
576 | 564 | | |
577 | 565 | | |
578 | 566 | | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
589 | 567 | | |
590 | 568 | | |
591 | 569 | | |
| |||
Lines changed: 53 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
0 commit comments