@@ -138,6 +138,7 @@ const kChunk = Symbol('kChunk');
138138const kError = Symbol ( 'kError' ) ;
139139const kPull = Symbol ( 'kPull' ) ;
140140const kRelease = Symbol ( 'kRelease' ) ;
141+ const kSkipThrow = Symbol ( 'kSkipThrow' ) ;
141142
142143let releasedError ;
143144let releasingError ;
@@ -670,8 +671,10 @@ TransferredReadableStream.prototype[kDeserialize] = () => {};
670671class ReadableStreamBYOBRequest {
671672 [ kType ] = 'ReadableStreamBYOBRequest' ;
672673
673- constructor ( ) {
674- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
674+ constructor ( skipThrowSymbol = undefined ) {
675+ if ( skipThrowSymbol !== kSkipThrow ) {
676+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
677+ }
675678 }
676679
677680 /**
@@ -753,17 +756,14 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, {
753756} ) ;
754757
755758function createReadableStreamBYOBRequest ( controller , view ) {
756- return ReflectConstruct (
757- function ( ) {
758- this [ kType ] = 'ReadableStreamBYOBRequest' ;
759- this [ kState ] = {
760- controller,
761- view,
762- } ;
763- } ,
764- [ ] ,
765- ReadableStreamBYOBRequest ,
766- ) ;
759+ const stream = new ReadableStreamBYOBRequest ( kSkipThrow ) ;
760+
761+ stream [ kState ] = {
762+ controller,
763+ view,
764+ } ;
765+
766+ return stream ;
767767}
768768
769769class DefaultReadRequest {
@@ -1013,9 +1013,12 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, {
10131013
10141014class ReadableStreamDefaultController {
10151015 [ kType ] = 'ReadableStreamDefaultController' ;
1016+ [ kState ] = { } ;
10161017
1017- constructor ( ) {
1018- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1018+ constructor ( skipThrowSymbol = undefined ) {
1019+ if ( skipThrowSymbol !== kSkipThrow ) {
1020+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1021+ }
10191022 }
10201023
10211024 /**
@@ -1071,22 +1074,14 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, {
10711074 [ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableStreamDefaultController . name ) ,
10721075} ) ;
10731076
1074- function createReadableStreamDefaultController ( ) {
1075- return ReflectConstruct (
1076- function ( ) {
1077- this [ kType ] = 'ReadableStreamDefaultController' ;
1078- this [ kState ] = { } ;
1079- } ,
1080- [ ] ,
1081- ReadableStreamDefaultController ,
1082- ) ;
1083- }
1084-
10851077class ReadableByteStreamController {
10861078 [ kType ] = 'ReadableByteStreamController' ;
1079+ [ kState ] = { } ;
10871080
1088- constructor ( ) {
1089- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1081+ constructor ( skipThrowSymbol = undefined ) {
1082+ if ( skipThrowSymbol !== kSkipThrow ) {
1083+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1084+ }
10901085 }
10911086
10921087 /**
@@ -1197,17 +1192,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, {
11971192 [ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableByteStreamController . name ) ,
11981193} ) ;
11991194
1200- function createReadableByteStreamController ( ) {
1201- return ReflectConstruct (
1202- function ( ) {
1203- this [ kType ] = 'ReadableByteStreamController' ;
1204- this [ kState ] = { } ;
1205- } ,
1206- [ ] ,
1207- ReadableByteStreamController ,
1208- ) ;
1209- }
1210-
12111195function createTeeReadableStream ( start , pull , cancel ) {
12121196 return ReflectConstruct (
12131197 function ( ) {
@@ -2357,7 +2341,7 @@ function setupReadableStreamDefaultControllerFromSource(
23572341 source ,
23582342 highWaterMark ,
23592343 sizeAlgorithm ) {
2360- const controller = createReadableStreamDefaultController ( ) ;
2344+ const controller = new ReadableStreamDefaultController ( kSkipThrow ) ;
23612345 const start = source ?. start ;
23622346 const pull = source ?. pull ;
23632347 const cancel = source ?. cancel ;
@@ -3155,7 +3139,7 @@ function setupReadableByteStreamControllerFromSource(
31553139 stream ,
31563140 source ,
31573141 highWaterMark ) {
3158- const controller = createReadableByteStreamController ( ) ;
3142+ const controller = new ReadableByteStreamController ( kSkipThrow ) ;
31593143 const start = source ?. start ;
31603144 const pull = source ?. pull ;
31613145 const cancel = source ?. cancel ;
0 commit comments