summaryrefslogtreecommitdiff
path: root/ext/web/lib.deno_web.d.ts
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2021-11-03 10:47:40 +0100
committerGitHub <noreply@github.com>2021-11-03 10:47:40 +0100
commit95b2955712b0daae3c8e8f7bb0eccf341b5c8fa3 (patch)
tree42dda897e499393fe6b19799b00f840eaf723c43 /ext/web/lib.deno_web.d.ts
parent8e31bbbe551e95a40a78fd96671916f917218b93 (diff)
feat(ext/web): BYOB support for ReadableStream (#12616)
This commit introduces support for BYOB readers in the WHATWG Streams API implementation.
Diffstat (limited to 'ext/web/lib.deno_web.d.ts')
-rw-r--r--ext/web/lib.deno_web.d.ts29
1 files changed, 28 insertions, 1 deletions
diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts
index 108bfb7b3..805630eac 100644
--- a/ext/web/lib.deno_web.d.ts
+++ b/ext/web/lib.deno_web.d.ts
@@ -416,6 +416,33 @@ interface ReadableStreamDefaultReader<R = any> {
releaseLock(): void;
}
+interface ReadableStreamBYOBReadDoneResult {
+ done: true;
+ value?: ArrayBufferView;
+}
+
+interface ReadableStreamBYOBReadValueResult {
+ done: false;
+ value: ArrayBufferView;
+}
+
+type ReadableStreamBYOBReadResult =
+ | ReadableStreamBYOBReadDoneResult
+ | ReadableStreamBYOBReadValueResult;
+
+interface ReadableStreamBYOBReader {
+ readonly closed: Promise<void>;
+ cancel(reason?: any): Promise<void>;
+ read(view: ArrayBufferView): Promise<ReadableStreamBYOBReadResult>;
+ releaseLock(): void;
+}
+
+interface ReadableStreamBYOBRequest {
+ readonly view: ArrayBufferView | null;
+ respond(bytesWritten: number): void;
+ respondWithNewView(view: ArrayBufferView): void;
+}
+
declare var ReadableStreamDefaultReader: {
prototype: ReadableStreamDefaultReader;
new <R>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;
@@ -480,7 +507,7 @@ declare var ReadableStreamDefaultController: {
};
interface ReadableByteStreamController {
- readonly byobRequest: undefined;
+ readonly byobRequest: ReadableStreamBYOBRequest | null;
readonly desiredSize: number | null;
close(): void;
enqueue(chunk: ArrayBufferView): void;