diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2021-11-03 10:47:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-03 10:47:40 +0100 |
commit | 95b2955712b0daae3c8e8f7bb0eccf341b5c8fa3 (patch) | |
tree | 42dda897e499393fe6b19799b00f840eaf723c43 /ext/web/lib.deno_web.d.ts | |
parent | 8e31bbbe551e95a40a78fd96671916f917218b93 (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.ts | 29 |
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; |