@@ -140,6 +140,7 @@ const kChunk = Symbol('kChunk');
140
140
const kError = Symbol ( 'kError' ) ;
141
141
const kPull = Symbol ( 'kPull' ) ;
142
142
const kRelease = Symbol ( 'kRelease' ) ;
143
+ const kSkipThrow = Symbol ( 'kSkipThrow' ) ;
143
144
144
145
let releasedError ;
145
146
let releasingError ;
@@ -676,8 +677,10 @@ TransferredReadableStream.prototype[kDeserialize] = () => {};
676
677
class ReadableStreamBYOBRequest {
677
678
[ kType ] = 'ReadableStreamBYOBRequest' ;
678
679
679
- constructor ( ) {
680
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
680
+ constructor ( skipThrowSymbol = undefined ) {
681
+ if ( skipThrowSymbol !== kSkipThrow ) {
682
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
683
+ }
681
684
}
682
685
683
686
/**
@@ -759,17 +762,14 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, {
759
762
} ) ;
760
763
761
764
function createReadableStreamBYOBRequest ( controller , view ) {
762
- return ReflectConstruct (
763
- function ( ) {
764
- this [ kType ] = 'ReadableStreamBYOBRequest' ;
765
- this [ kState ] = {
766
- controller,
767
- view,
768
- } ;
769
- } ,
770
- [ ] ,
771
- ReadableStreamBYOBRequest ,
772
- ) ;
765
+ const stream = new ReadableStreamBYOBRequest ( kSkipThrow ) ;
766
+
767
+ stream [ kState ] = {
768
+ controller,
769
+ view,
770
+ } ;
771
+
772
+ return stream ;
773
773
}
774
774
775
775
class DefaultReadRequest {
@@ -1019,9 +1019,12 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, {
1019
1019
1020
1020
class ReadableStreamDefaultController {
1021
1021
[ kType ] = 'ReadableStreamDefaultController' ;
1022
+ [ kState ] = { } ;
1022
1023
1023
- constructor ( ) {
1024
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1024
+ constructor ( skipThrowSymbol = undefined ) {
1025
+ if ( skipThrowSymbol !== kSkipThrow ) {
1026
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1027
+ }
1025
1028
}
1026
1029
1027
1030
/**
@@ -1077,22 +1080,14 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, {
1077
1080
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableStreamDefaultController . name ) ,
1078
1081
} ) ;
1079
1082
1080
- function createReadableStreamDefaultController ( ) {
1081
- return ReflectConstruct (
1082
- function ( ) {
1083
- this [ kType ] = 'ReadableStreamDefaultController' ;
1084
- this [ kState ] = { } ;
1085
- } ,
1086
- [ ] ,
1087
- ReadableStreamDefaultController ,
1088
- ) ;
1089
- }
1090
-
1091
1083
class ReadableByteStreamController {
1092
1084
[ kType ] = 'ReadableByteStreamController' ;
1085
+ [ kState ] = { } ;
1093
1086
1094
- constructor ( ) {
1095
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1087
+ constructor ( skipThrowSymbol = undefined ) {
1088
+ if ( skipThrowSymbol !== kSkipThrow ) {
1089
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1090
+ }
1096
1091
}
1097
1092
1098
1093
/**
@@ -1203,17 +1198,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, {
1203
1198
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableByteStreamController . name ) ,
1204
1199
} ) ;
1205
1200
1206
- function createReadableByteStreamController ( ) {
1207
- return ReflectConstruct (
1208
- function ( ) {
1209
- this [ kType ] = 'ReadableByteStreamController' ;
1210
- this [ kState ] = { } ;
1211
- } ,
1212
- [ ] ,
1213
- ReadableByteStreamController ,
1214
- ) ;
1215
- }
1216
-
1217
1201
function createTeeReadableStream ( start , pull , cancel ) {
1218
1202
return ReflectConstruct (
1219
1203
function ( ) {
@@ -2416,7 +2400,7 @@ function setupReadableStreamDefaultControllerFromSource(
2416
2400
source ,
2417
2401
highWaterMark ,
2418
2402
sizeAlgorithm ) {
2419
- const controller = createReadableStreamDefaultController ( ) ;
2403
+ const controller = new ReadableStreamDefaultController ( kSkipThrow ) ;
2420
2404
const start = source ?. start ;
2421
2405
const pull = source ?. pull ;
2422
2406
const cancel = source ?. cancel ;
@@ -3214,7 +3198,7 @@ function setupReadableByteStreamControllerFromSource(
3214
3198
stream ,
3215
3199
source ,
3216
3200
highWaterMark ) {
3217
- const controller = createReadableByteStreamController ( ) ;
3201
+ const controller = new ReadableByteStreamController ( kSkipThrow ) ;
3218
3202
const start = source ?. start ;
3219
3203
const pull = source ?. pull ;
3220
3204
const cancel = source ?. cancel ;
0 commit comments