diff --git a/lib/internal/webstreams/queuingstrategies.js b/lib/internal/webstreams/queuingstrategies.js index 32d58af1dfad19..2023182907ce06 100644 --- a/lib/internal/webstreams/queuingstrategies.js +++ b/lib/internal/webstreams/queuingstrategies.js @@ -60,7 +60,10 @@ const countSizeFunction = ObjectDefineProperty(() => 1, 'name', nameDescriptor); * @type {QueuingStrategy} */ class ByteLengthQueuingStrategy { - [kType] = 'ByteLengthQueuingStrategy'; + + get [kType]() { + return 'ByteLengthQueuingStrategy'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -116,7 +119,10 @@ ObjectDefineProperties(ByteLengthQueuingStrategy.prototype, { * @type {QueuingStrategy} */ class CountQueuingStrategy { - [kType] = 'CountQueuingStrategy'; + + get [kType]() { + return 'CountQueuingStrategy'; + } get [SymbolToStringTag]() { return this[kType]; } diff --git a/lib/internal/webstreams/readablestream.js b/lib/internal/webstreams/readablestream.js index 5cb4cc1e12d5f6..f6f1c6104920d6 100644 --- a/lib/internal/webstreams/readablestream.js +++ b/lib/internal/webstreams/readablestream.js @@ -204,7 +204,10 @@ const kRelease = Symbol('kRelease'); */ class ReadableStream { - [kType] = 'ReadableStream'; + + get [kType]() { + return 'ReadableStream'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -609,7 +612,6 @@ ObjectDefineProperties(ReadableStream.prototype, { function TransferredReadableStream() { return makeTransferable(ReflectConstruct( function() { - this[kType] = 'ReadableStream'; this[kState] = { disturbed: false, state: 'readable', @@ -627,7 +629,10 @@ function TransferredReadableStream() { TransferredReadableStream.prototype[kDeserialize] = () => {}; class ReadableStreamBYOBRequest { - [kType] = 'ReadableStreamBYOBRequest'; + + get [kType]() { + return 'ReadableStreamBYOBRequest'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -715,7 +720,6 @@ ObjectDefineProperties(ReadableStreamBYOBRequest.prototype, { function createReadableStreamBYOBRequest(controller, view) { return ReflectConstruct( function() { - this[kType] = 'ReadableStreamBYOBRequest'; this[kState] = { controller, view, @@ -767,7 +771,10 @@ class ReadIntoRequest { } class ReadableStreamDefaultReader { - [kType] = 'ReadableStreamDefaultReader'; + + get [kType]() { + return 'ReadableStreamDefaultReader'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -857,7 +864,11 @@ ObjectDefineProperties(ReadableStreamDefaultReader.prototype, { }); class ReadableStreamBYOBReader { - [kType] = 'ReadableStreamBYOBReader'; + + get [kType]() { + return 'ReadableStreamBYOBReader'; + } + get [SymbolToStringTag]() { return this[kType]; } @@ -974,7 +985,10 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, { }); class ReadableStreamDefaultController { - [kType] = 'ReadableStreamDefaultController'; + + get [kType]() { + return 'ReadableStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -1037,7 +1051,6 @@ ObjectDefineProperties(ReadableStreamDefaultController.prototype, { function createReadableStreamDefaultController() { return ReflectConstruct( function() { - this[kType] = 'ReadableStreamDefaultController'; this[kState] = {}; }, [], @@ -1046,7 +1059,10 @@ function createReadableStreamDefaultController() { } class ReadableByteStreamController { - [kType] = 'ReadableByteStreamController'; + + get [kType]() { + return 'ReadableByteStreamController'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -1173,7 +1189,6 @@ ObjectDefineProperties(ReadableByteStreamController.prototype, { function createReadableByteStreamController() { return ReflectConstruct( function() { - this[kType] = 'ReadableByteStreamController'; this[kState] = {}; }, [], @@ -1184,7 +1199,6 @@ function createReadableByteStreamController() { function createTeeReadableStream(start, pull, cancel) { return ReflectConstruct( function() { - this[kType] = 'ReadableStream'; this[kState] = { disturbed: false, state: 'readable', diff --git a/lib/internal/webstreams/transformstream.js b/lib/internal/webstreams/transformstream.js index b7366fb1ba2576..378d0d8ae9adc0 100644 --- a/lib/internal/webstreams/transformstream.js +++ b/lib/internal/webstreams/transformstream.js @@ -100,7 +100,10 @@ const assert = require('internal/assert'); */ class TransformStream { - [kType] = 'TransformStream'; + + get [kType]() { + return 'TransformStream'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -241,7 +244,6 @@ ObjectDefineProperties(TransformStream.prototype, { function TransferredTransformStream() { return makeTransferable(ReflectConstruct( function() { - this[kType] = 'TransformStream'; this[kState] = { readable: undefined, writable: undefined, @@ -259,7 +261,10 @@ function TransferredTransformStream() { TransferredTransformStream.prototype[kDeserialize] = () => {}; class TransformStreamDefaultController { - [kType] = 'TransformStreamDefaultController'; + + get [kType]() { + return 'TransformStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -326,9 +331,7 @@ ObjectDefineProperties(TransformStreamDefaultController.prototype, { function createTransformStreamDefaultController() { return ReflectConstruct( - function() { - this[kType] = 'TransformStreamDefaultController'; - }, + function() { }, [], TransformStreamDefaultController); } diff --git a/lib/internal/webstreams/writablestream.js b/lib/internal/webstreams/writablestream.js index 1e1b64faceab57..aec8f0f75130bf 100644 --- a/lib/internal/webstreams/writablestream.js +++ b/lib/internal/webstreams/writablestream.js @@ -119,7 +119,10 @@ const kError = Symbol('kError'); */ class WritableStream { - [kType] = 'WritableStream'; + + get [kType]() { + return 'WritableStream'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -300,7 +303,6 @@ ObjectDefineProperties(WritableStream.prototype, { function TransferredWritableStream() { return makeTransferable(ReflectConstruct( function() { - this[kType] = 'WritableStream'; this[kState] = { close: createDeferredPromise(), closeRequest: { @@ -346,7 +348,10 @@ function TransferredWritableStream() { TransferredWritableStream.prototype[kDeserialize] = () => {}; class WritableStreamDefaultWriter { - [kType] = 'WritableStreamDefaultWriter'; + + get [kType]() { + return 'WritableStreamDefaultWriter'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -490,7 +495,10 @@ ObjectDefineProperties(WritableStreamDefaultWriter.prototype, { }); class WritableStreamDefaultController { - [kType] = 'WritableStreamDefaultController'; + + get [kType]() { + return 'WritableStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -542,9 +550,7 @@ ObjectDefineProperties(WritableStreamDefaultController.prototype, { function createWritableStreamDefaultController() { return ReflectConstruct( - function() { - this[kType] = 'WritableStreamDefaultController'; - }, + function() { }, [], WritableStreamDefaultController); } diff --git a/test/parallel/test-webstream-string-tag.js b/test/parallel/test-webstream-string-tag.js new file mode 100644 index 00000000000000..33896d9f21275e --- /dev/null +++ b/test/parallel/test-webstream-string-tag.js @@ -0,0 +1,22 @@ +'use strict'; + +require('../common'); + +const assert = require('assert'); + +assert.strictEqual(WritableStream.prototype[Symbol.toStringTag], 'WritableStream'); +assert.strictEqual(WritableStreamDefaultWriter.prototype[Symbol.toStringTag], 'WritableStreamDefaultWriter'); +assert.strictEqual(WritableStreamDefaultController.prototype[Symbol.toStringTag], 'WritableStreamDefaultController'); + +assert.strictEqual(ReadableStream.prototype[Symbol.toStringTag], 'ReadableStream'); +assert.strictEqual(ReadableStreamBYOBRequest.prototype[Symbol.toStringTag], 'ReadableStreamBYOBRequest'); +assert.strictEqual(ReadableStreamDefaultReader.prototype[Symbol.toStringTag], 'ReadableStreamDefaultReader'); +assert.strictEqual(ReadableStreamBYOBReader.prototype[Symbol.toStringTag], 'ReadableStreamBYOBReader'); +assert.strictEqual(ReadableStreamDefaultController.prototype[Symbol.toStringTag], 'ReadableStreamDefaultController'); +assert.strictEqual(ReadableByteStreamController.prototype[Symbol.toStringTag], 'ReadableByteStreamController'); + +assert.strictEqual(ByteLengthQueuingStrategy.prototype[Symbol.toStringTag], 'ByteLengthQueuingStrategy'); +assert.strictEqual(CountQueuingStrategy.prototype[Symbol.toStringTag], 'CountQueuingStrategy'); + +assert.strictEqual(TransformStream.prototype[Symbol.toStringTag], 'TransformStream'); +assert.strictEqual(TransformStreamDefaultController.prototype[Symbol.toStringTag], 'TransformStreamDefaultController');