diff --git a/src/lib/byte-length-queuing-strategy.ts b/src/lib/byte-length-queuing-strategy.ts index 091bd6b..494b59d 100644 --- a/src/lib/byte-length-queuing-strategy.ts +++ b/src/lib/byte-length-queuing-strategy.ts @@ -69,5 +69,5 @@ export function IsByteLengthQueuingStrategy(x: any): x is ByteLengthQueuingStrat return false; } - return true; + return x instanceof ByteLengthQueuingStrategy; } diff --git a/src/lib/count-queuing-strategy.ts b/src/lib/count-queuing-strategy.ts index 0c20974..f0d219f 100644 --- a/src/lib/count-queuing-strategy.ts +++ b/src/lib/count-queuing-strategy.ts @@ -70,5 +70,5 @@ export function IsCountQueuingStrategy(x: any): x is CountQueuingStrategy { return false; } - return true; + return x instanceof CountQueuingStrategy; } diff --git a/src/lib/readable-stream.ts b/src/lib/readable-stream.ts index 1ff79fc..fc2015a 100644 --- a/src/lib/readable-stream.ts +++ b/src/lib/readable-stream.ts @@ -413,7 +413,7 @@ export function IsReadableStream(x: unknown): x is ReadableStream { return false; } - return true; + return x instanceof ReadableStream; } export function IsReadableStreamDisturbed(stream: ReadableStream): boolean { diff --git a/src/lib/readable-stream/async-iterator.ts b/src/lib/readable-stream/async-iterator.ts index 7433590..1197d7f 100644 --- a/src/lib/readable-stream/async-iterator.ts +++ b/src/lib/readable-stream/async-iterator.ts @@ -173,7 +173,12 @@ function IsReadableStreamAsyncIterator(x: any): x is ReadableStreamAsyn return false; } - return true; + try { + // noinspection SuspiciousTypeOfGuard + return (x as ReadableStreamAsyncIteratorInstance)._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; + } catch { + return false; + } } // Helper functions for the ReadableStream. diff --git a/src/lib/readable-stream/byob-reader.ts b/src/lib/readable-stream/byob-reader.ts index 99b6b86..7836fd3 100644 --- a/src/lib/readable-stream/byob-reader.ts +++ b/src/lib/readable-stream/byob-reader.ts @@ -237,7 +237,7 @@ export function IsReadableStreamBYOBReader(x: any): x is ReadableStreamBYOBReade return false; } - return true; + return x instanceof ReadableStreamBYOBReader; } function ReadableStreamBYOBReaderRead(reader: ReadableStreamBYOBReader, diff --git a/src/lib/readable-stream/byte-stream-controller.ts b/src/lib/readable-stream/byte-stream-controller.ts index f4ad44d..e35b205 100644 --- a/src/lib/readable-stream/byte-stream-controller.ts +++ b/src/lib/readable-stream/byte-stream-controller.ts @@ -388,7 +388,7 @@ export function IsReadableByteStreamController(x: any): x is ReadableByteStreamC return false; } - return true; + return x instanceof ReadableByteStreamController; } function IsReadableStreamBYOBRequest(x: any): x is ReadableStreamBYOBRequest { @@ -400,7 +400,7 @@ function IsReadableStreamBYOBRequest(x: any): x is ReadableStreamBYOBRequest { return false; } - return true; + return x instanceof ReadableStreamBYOBRequest; } function ReadableByteStreamControllerCallPullIfNeeded(controller: ReadableByteStreamController): void { diff --git a/src/lib/readable-stream/default-controller.ts b/src/lib/readable-stream/default-controller.ts index 0db4999..1908d16 100644 --- a/src/lib/readable-stream/default-controller.ts +++ b/src/lib/readable-stream/default-controller.ts @@ -156,7 +156,7 @@ function IsReadableStreamDefaultController(x: any): x is ReadableStream return false; } - return true; + return x instanceof ReadableStreamDefaultController; } function ReadableStreamDefaultControllerCallPullIfNeeded(controller: ReadableStreamDefaultController): void { diff --git a/src/lib/readable-stream/default-reader.ts b/src/lib/readable-stream/default-reader.ts index 7791fc1..6237982 100644 --- a/src/lib/readable-stream/default-reader.ts +++ b/src/lib/readable-stream/default-reader.ts @@ -219,7 +219,7 @@ export function IsReadableStreamDefaultReader(x: any): x is ReadableStr return false; } - return true; + return x instanceof ReadableStreamDefaultReader; } export function ReadableStreamDefaultReaderRead(reader: ReadableStreamDefaultReader, diff --git a/src/lib/transform-stream.ts b/src/lib/transform-stream.ts index 7b1c444..be056b5 100644 --- a/src/lib/transform-stream.ts +++ b/src/lib/transform-stream.ts @@ -220,7 +220,7 @@ function IsTransformStream(x: unknown): x is TransformStream { return false; } - return true; + return x instanceof TransformStream; } // This is a no-op if both sides are already errored. @@ -348,7 +348,7 @@ function IsTransformStreamDefaultController(x: any): x is TransformStre return false; } - return true; + return x instanceof TransformStreamDefaultController; } function SetUpTransformStreamDefaultController(stream: TransformStream, diff --git a/src/lib/writable-stream.ts b/src/lib/writable-stream.ts index 8b591de..f681506 100644 --- a/src/lib/writable-stream.ts +++ b/src/lib/writable-stream.ts @@ -277,7 +277,7 @@ function IsWritableStream(x: unknown): x is WritableStream { return false; } - return true; + return x instanceof WritableStream; } function IsWritableStreamLocked(stream: WritableStream): boolean { @@ -786,7 +786,7 @@ function IsWritableStreamDefaultWriter(x: any): x is WritableStreamDefa return false; } - return true; + return x instanceof WritableStreamDefaultWriter; } // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check. @@ -997,7 +997,7 @@ function IsWritableStreamDefaultController(x: any): x is WritableStreamDefaultCo return false; } - return true; + return x instanceof WritableStreamDefaultController; } function SetUpWritableStreamDefaultController(stream: WritableStream,