@@ -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 ;
@@ -675,8 +676,10 @@ TransferredReadableStream.prototype[kDeserialize] = () => {};
675
676
class ReadableStreamBYOBRequest {
676
677
[ kType ] = 'ReadableStreamBYOBRequest' ;
677
678
678
- constructor ( ) {
679
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
679
+ constructor ( skipThrowSymbol = undefined ) {
680
+ if ( skipThrowSymbol !== kSkipThrow ) {
681
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
682
+ }
680
683
}
681
684
682
685
/**
@@ -758,17 +761,14 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, {
758
761
} ) ;
759
762
760
763
function 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 ;
772
772
}
773
773
774
774
class DefaultReadRequest {
@@ -1018,9 +1018,12 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, {
1018
1018
1019
1019
class ReadableStreamDefaultController {
1020
1020
[ kType ] = 'ReadableStreamDefaultController' ;
1021
+ [ kState ] = { } ;
1021
1022
1022
- constructor ( ) {
1023
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1023
+ constructor ( skipThrowSymbol = undefined ) {
1024
+ if ( skipThrowSymbol !== kSkipThrow ) {
1025
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1026
+ }
1024
1027
}
1025
1028
1026
1029
/**
@@ -1076,22 +1079,14 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, {
1076
1079
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableStreamDefaultController . name ) ,
1077
1080
} ) ;
1078
1081
1079
- function createReadableStreamDefaultController ( ) {
1080
- return ReflectConstruct (
1081
- function ( ) {
1082
- this [ kType ] = 'ReadableStreamDefaultController' ;
1083
- this [ kState ] = { } ;
1084
- } ,
1085
- [ ] ,
1086
- ReadableStreamDefaultController ,
1087
- ) ;
1088
- }
1089
-
1090
1082
class ReadableByteStreamController {
1091
1083
[ kType ] = 'ReadableByteStreamController' ;
1084
+ [ kState ] = { } ;
1092
1085
1093
- constructor ( ) {
1094
- throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1086
+ constructor ( skipThrowSymbol = undefined ) {
1087
+ if ( skipThrowSymbol !== kSkipThrow ) {
1088
+ throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
1089
+ }
1095
1090
}
1096
1091
1097
1092
/**
@@ -1202,17 +1197,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, {
1202
1197
[ SymbolToStringTag ] : getNonWritablePropertyDescriptor ( ReadableByteStreamController . name ) ,
1203
1198
} ) ;
1204
1199
1205
- function createReadableByteStreamController ( ) {
1206
- return ReflectConstruct (
1207
- function ( ) {
1208
- this [ kType ] = 'ReadableByteStreamController' ;
1209
- this [ kState ] = { } ;
1210
- } ,
1211
- [ ] ,
1212
- ReadableByteStreamController ,
1213
- ) ;
1214
- }
1215
-
1216
1200
function createTeeReadableStream ( start , pull , cancel ) {
1217
1201
return ReflectConstruct (
1218
1202
function ( ) {
@@ -2415,7 +2399,7 @@ function setupReadableStreamDefaultControllerFromSource(
2415
2399
source ,
2416
2400
highWaterMark ,
2417
2401
sizeAlgorithm ) {
2418
- const controller = createReadableStreamDefaultController ( ) ;
2402
+ const controller = new ReadableStreamDefaultController ( kSkipThrow ) ;
2419
2403
const start = source ?. start ;
2420
2404
const pull = source ?. pull ;
2421
2405
const cancel = source ?. cancel ;
@@ -3213,7 +3197,7 @@ function setupReadableByteStreamControllerFromSource(
3213
3197
stream ,
3214
3198
source ,
3215
3199
highWaterMark ) {
3216
- const controller = createReadableByteStreamController ( ) ;
3200
+ const controller = new ReadableByteStreamController ( kSkipThrow ) ;
3217
3201
const start = source ?. start ;
3218
3202
const pull = source ?. pull ;
3219
3203
const cancel = source ?. cancel ;
0 commit comments