aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/util/isReadableStreamLike.ts')
-rw-r--r--node_modules/rxjs/src/internal/util/isReadableStreamLike.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts b/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
new file mode 100644
index 0000000..87b9c15
--- /dev/null
+++ b/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
@@ -0,0 +1,23 @@
+import { ReadableStreamLike } from '../types';
+import { isFunction } from './isFunction';
+
+export async function* readableStreamLikeToAsyncGenerator<T>(readableStream: ReadableStreamLike<T>): AsyncGenerator<T> {
+ const reader = readableStream.getReader();
+ try {
+ while (true) {
+ const { value, done } = await reader.read();
+ if (done) {
+ return;
+ }
+ yield value!;
+ }
+ } finally {
+ reader.releaseLock();
+ }
+}
+
+export function isReadableStreamLike<T>(obj: any): obj is ReadableStreamLike<T> {
+ // We don't want to use instanceof checks because they would return
+ // false for instances from another Realm, like an <iframe>.
+ return isFunction(obj?.getReader);
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage