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..44567a39e702bc 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]; } @@ -627,7 +630,10 @@ function TransferredReadableStream() { TransferredReadableStream.prototype[kDeserialize] = () => {}; class ReadableStreamBYOBRequest { - [kType] = 'ReadableStreamBYOBRequest'; + + get [kType]() { + return 'ReadableStreamBYOBRequest'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -767,7 +773,10 @@ class ReadIntoRequest { } class ReadableStreamDefaultReader { - [kType] = 'ReadableStreamDefaultReader'; + + get [kType]() { + return 'ReadableStreamDefaultReader'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -857,7 +866,11 @@ ObjectDefineProperties(ReadableStreamDefaultReader.prototype, { }); class ReadableStreamBYOBReader { - [kType] = 'ReadableStreamBYOBReader'; + + get [kType]() { + return 'ReadableStreamBYOBReader'; + } + get [SymbolToStringTag]() { return this[kType]; } @@ -974,7 +987,10 @@ ObjectDefineProperties(ReadableStreamBYOBReader.prototype, { }); class ReadableStreamDefaultController { - [kType] = 'ReadableStreamDefaultController'; + + get [kType]() { + return 'ReadableStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -1046,7 +1062,10 @@ function createReadableStreamDefaultController() { } class ReadableByteStreamController { - [kType] = 'ReadableByteStreamController'; + + get [kType]() { + return 'ReadableByteStreamController'; + } get [SymbolToStringTag]() { return this[kType]; } diff --git a/lib/internal/webstreams/transformstream.js b/lib/internal/webstreams/transformstream.js index b7366fb1ba2576..acc2bedca6fac8 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]; } @@ -259,7 +262,10 @@ function TransferredTransformStream() { TransferredTransformStream.prototype[kDeserialize] = () => {}; class TransformStreamDefaultController { - [kType] = 'TransformStreamDefaultController'; + + get [kType]() { + return 'TransformStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } diff --git a/lib/internal/webstreams/writablestream.js b/lib/internal/webstreams/writablestream.js index 1e1b64faceab57..9bbed2392f5945 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]; } @@ -346,7 +349,10 @@ function TransferredWritableStream() { TransferredWritableStream.prototype[kDeserialize] = () => {}; class WritableStreamDefaultWriter { - [kType] = 'WritableStreamDefaultWriter'; + + get [kType]() { + return 'WritableStreamDefaultWriter'; + } get [SymbolToStringTag]() { return this[kType]; } @@ -490,7 +496,10 @@ ObjectDefineProperties(WritableStreamDefaultWriter.prototype, { }); class WritableStreamDefaultController { - [kType] = 'WritableStreamDefaultController'; + + get [kType]() { + return 'WritableStreamDefaultController'; + } get [SymbolToStringTag]() { return this[kType]; } diff --git a/test/parallel/test-webstream-string-tag.js b/test/parallel/test-webstream-string-tag.js new file mode 100644 index 00000000000000..1801ab72ff5dcf --- /dev/null +++ b/test/parallel/test-webstream-string-tag.js @@ -0,0 +1,23 @@ +'use strict'; + +require('../common'); + +const assert = require('assert'); +const webstreams = require('stream/web'); + +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');