@@ -140,6 +140,7 @@ const kChunk = Symbol('kChunk');
140140const kError = Symbol ( 'kError' ) ;
141141const kPull = Symbol ( 'kPull' ) ;
142142const kRelease = Symbol ( 'kRelease' ) ;
143+ const kSkipThrow = Symbol ( 'kSkipThrow' ) ;
143144
144145let releasedError ;
145146let releasingError ;
@@ -675,8 +676,10 @@ TransferredReadableStream.prototype[kDeserialize] = () => {};
675676class ReadableStreamBYOBRequest {
676677 [ kType ] = 'ReadableStreamBYOBRequest' ;
677678
678- constructor ( ) {
679- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
679+ constructor ( skipThrowSymbol = undefined ) {
680+ if ( skipThrowSymbol !== kSkipThrow ) {
681+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
682+ }
680683 }
681684
682685 /**
@@ -758,17 +761,14 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, {
758761} ) ;
759762
760763function createReadableStreamBYOBRequest ( controller , view ) {
761- return ReflectConstruct (
762- function ( ) {
763- this [ kType ] = 'ReadableStreamBYOBRequest' ;
764- this [ kState ] = {
765- controller,
766- view,
767- } ;
768- } ,
769- [ ] ,
770- ReadableStreamBYOBRequest ,
771- ) ;
764+ const stream = new ReadableStreamBYOBRequest ( kSkipThrow ) ;
765+
766+ stream [ kState ] = {
767+ controller,
768+ view,
769+ } ;
770+
771+ return stream ;
772772}
773773
774774class DefaultReadRequest {
@@ -1018,9 +1018,12 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, {
10181018
10191019class ReadableStreamDefaultController {
10201020 [ kType ] = 'ReadableStreamDefaultController' ;
1021+ [ kState ] = { } ;
10211022
1022- constructor ( ) {
1023- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1023+ constructor ( skipThrowSymbol = undefined ) {
1024+ if ( skipThrowSymbol !== kSkipThrow ) {
1025+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1026+ }
10241027 }
10251028
10261029 /**
@@ -1076,22 +1079,14 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, {
10761079 [ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableStreamDefaultController . name ) ,
10771080} ) ;
10781081
1079- function createReadableStreamDefaultController ( ) {
1080- return ReflectConstruct (
1081- function ( ) {
1082- this [ kType ] = 'ReadableStreamDefaultController' ;
1083- this [ kState ] = { } ;
1084- } ,
1085- [ ] ,
1086- ReadableStreamDefaultController ,
1087- ) ;
1088- }
1089-
10901082class ReadableByteStreamController {
10911083 [ kType ] = 'ReadableByteStreamController' ;
1084+ [ kState ] = { } ;
10921085
1093- constructor ( ) {
1094- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1086+ constructor ( skipThrowSymbol = undefined ) {
1087+ if ( skipThrowSymbol !== kSkipThrow ) {
1088+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1089+ }
10951090 }
10961091
10971092 /**
@@ -1202,17 +1197,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, {
12021197 [ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableByteStreamController . name ) ,
12031198} ) ;
12041199
1205- function createReadableByteStreamController ( ) {
1206- return ReflectConstruct (
1207- function ( ) {
1208- this [ kType ] = 'ReadableByteStreamController' ;
1209- this [ kState ] = { } ;
1210- } ,
1211- [ ] ,
1212- ReadableByteStreamController ,
1213- ) ;
1214- }
1215-
12161200function createTeeReadableStream ( start , pull , cancel ) {
12171201 return ReflectConstruct (
12181202 function ( ) {
@@ -2415,7 +2399,7 @@ function setupReadableStreamDefaultControllerFromSource(
24152399 source ,
24162400 highWaterMark ,
24172401 sizeAlgorithm ) {
2418- const controller = createReadableStreamDefaultController ( ) ;
2402+ const controller = new ReadableStreamDefaultController ( kSkipThrow ) ;
24192403 const start = source ?. start ;
24202404 const pull = source ?. pull ;
24212405 const cancel = source ?. cancel ;
@@ -3213,7 +3197,7 @@ function setupReadableByteStreamControllerFromSource(
32133197 stream ,
32143198 source ,
32153199 highWaterMark ) {
3216- const controller = createReadableByteStreamController ( ) ;
3200+ const controller = new ReadableByteStreamController ( kSkipThrow ) ;
32173201 const start = source ?. start ;
32183202 const pull = source ?. pull ;
32193203 const cancel = source ?. cancel ;
0 commit comments