@@ -81,6 +81,7 @@ const assert = require('internal/assert');
8181const kAbort = Symbol ( 'kAbort' ) ;
8282const kCloseSentinel = Symbol ( 'kCloseSentinel' ) ;
8383const kError = Symbol ( 'kError' ) ;
84+ const kSkipThrow = Symbol ( 'kSkipThrow' ) ;
8485
8586let releasedError ;
8687
@@ -522,8 +523,8 @@ ObjectDefineProperties(WritableStreamDefaultWriter.prototype, {
522523class WritableStreamDefaultController {
523524 [ kType ] = 'WritableStreamDefaultController' ;
524525
525- constructor ( ) {
526- if ( new . target === WritableStreamDefaultController ) {
526+ constructor ( skipThrowSymbol ) {
527+ if ( new . target === WritableStreamDefaultController || skipThrowSymbol !== kSkipThrow ) {
527528 throw new ERR_ILLEGAL_CONSTRUCTOR ( ) ;
528529 }
529530 }
@@ -572,8 +573,8 @@ ObjectDefineProperties(WritableStreamDefaultController.prototype, {
572573} ) ;
573574
574575class WritableStreamDefaultControllerClazz extends WritableStreamDefaultController {
575- constructor ( ) {
576- super ( ) ;
576+ constructor ( skipThrowSymbol ) {
577+ super ( skipThrowSymbol ) ;
577578 this [ kType ] = 'WritableStreamDefaultController' ;
578579 }
579580}
@@ -1234,7 +1235,7 @@ function setupWritableStreamDefaultControllerFromSink(
12341235 sink ,
12351236 highWaterMark ,
12361237 sizeAlgorithm ) {
1237- const controller = new WritableStreamDefaultControllerClazz ( ) ;
1238+ const controller = new WritableStreamDefaultControllerClazz ( kSkipThrow ) ;
12381239 const start = sink ?. start ;
12391240 const write = sink ?. write ;
12401241 const close = sink ?. close ;
0 commit comments