@@ -138,6 +138,7 @@ const kChunk = Symbol('kChunk');
138
138
const kError = Symbol ( 'kError' ) ;
139
139
const kPull = Symbol ( 'kPull' ) ;
140
140
const kRelease = Symbol ( 'kRelease' ) ;
141
+ const kSkipThrow = Symbol ( 'kSkipThrow' ) ;
141
142
142
143
let releasedError ;
143
144
let releasingError ;
@@ -670,8 +671,10 @@ TransferredReadableStream.prototype[kDeserialize] = () => {};
670
671
class ReadableStreamBYOBRequest {
671
672
[ kType ] = 'ReadableStreamBYOBRequest' ;
672
673
673
- constructor ( ) {
674
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
674
+ constructor ( skipThrowSymbol = undefined ) {
675
+ if ( skipThrowSymbol !== kSkipThrow ) {
676
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
677
+ }
675
678
}
676
679
677
680
/**
@@ -753,17 +756,14 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, {
753
756
} ) ;
754
757
755
758
function 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 ;
767
767
}
768
768
769
769
class DefaultReadRequest {
@@ -1013,9 +1013,12 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, {
1013
1013
1014
1014
class ReadableStreamDefaultController {
1015
1015
[ kType ] = 'ReadableStreamDefaultController' ;
1016
+ [ kState ] = { } ;
1016
1017
1017
- constructor ( ) {
1018
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1018
+ constructor ( skipThrowSymbol = undefined ) {
1019
+ if ( skipThrowSymbol !== kSkipThrow ) {
1020
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1021
+ }
1019
1022
}
1020
1023
1021
1024
/**
@@ -1071,22 +1074,14 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, {
1071
1074
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableStreamDefaultController . name ) ,
1072
1075
} ) ;
1073
1076
1074
- function createReadableStreamDefaultController ( ) {
1075
- return ReflectConstruct (
1076
- function ( ) {
1077
- this [ kType ] = 'ReadableStreamDefaultController' ;
1078
- this [ kState ] = { } ;
1079
- } ,
1080
- [ ] ,
1081
- ReadableStreamDefaultController ,
1082
- ) ;
1083
- }
1084
-
1085
1077
class ReadableByteStreamController {
1086
1078
[ kType ] = 'ReadableByteStreamController' ;
1079
+ [ kState ] = { } ;
1087
1080
1088
- constructor ( ) {
1089
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1081
+ constructor ( skipThrowSymbol = undefined ) {
1082
+ if ( skipThrowSymbol !== kSkipThrow ) {
1083
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1084
+ }
1090
1085
}
1091
1086
1092
1087
/**
@@ -1197,17 +1192,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, {
1197
1192
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableByteStreamController . name ) ,
1198
1193
} ) ;
1199
1194
1200
- function createReadableByteStreamController ( ) {
1201
- return ReflectConstruct (
1202
- function ( ) {
1203
- this [ kType ] = 'ReadableByteStreamController' ;
1204
- this [ kState ] = { } ;
1205
- } ,
1206
- [ ] ,
1207
- ReadableByteStreamController ,
1208
- ) ;
1209
- }
1210
-
1211
1195
function createTeeReadableStream ( start , pull , cancel ) {
1212
1196
return ReflectConstruct (
1213
1197
function ( ) {
@@ -2357,7 +2341,7 @@ function setupReadableStreamDefaultControllerFromSource(
2357
2341
source ,
2358
2342
highWaterMark ,
2359
2343
sizeAlgorithm ) {
2360
- const controller = createReadableStreamDefaultController ( ) ;
2344
+ const controller = new ReadableStreamDefaultController ( kSkipThrow ) ;
2361
2345
const start = source ?. start ;
2362
2346
const pull = source ?. pull ;
2363
2347
const cancel = source ?. cancel ;
@@ -3155,7 +3139,7 @@ function setupReadableByteStreamControllerFromSource(
3155
3139
stream ,
3156
3140
source ,
3157
3141
highWaterMark ) {
3158
- const controller = createReadableByteStreamController ( ) ;
3142
+ const controller = new ReadableByteStreamController ( kSkipThrow ) ;
3159
3143
const start = source ?. start ;
3160
3144
const pull = source ?. pull ;
3161
3145
const cancel = source ?. cancel ;
0 commit comments