summaryrefslogtreecommitdiff
path: root/ext/web/lib.deno_web.d.ts
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2021-11-05 12:56:28 +0100
committerGitHub <noreply@github.com>2021-11-05 12:56:28 +0100
commit26a54713025c6098934f8f980013132de09ed0d4 (patch)
treebaa8ea37ae3427e13be33b08975639708890ef54 /ext/web/lib.deno_web.d.ts
parent44511e4f330e2d7099a16ed836629fa73dde9831 (diff)
fix: typings for BYOB stream readers (#12651)
Diffstat (limited to 'ext/web/lib.deno_web.d.ts')
-rw-r--r--ext/web/lib.deno_web.d.ts21
1 files changed, 12 insertions, 9 deletions
diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts
index 805630eac..e0f6bdb63 100644
--- a/ext/web/lib.deno_web.d.ts
+++ b/ext/web/lib.deno_web.d.ts
@@ -416,24 +416,26 @@ interface ReadableStreamDefaultReader<R = any> {
releaseLock(): void;
}
-interface ReadableStreamBYOBReadDoneResult {
+interface ReadableStreamBYOBReadDoneResult<V extends ArrayBufferView> {
done: true;
- value?: ArrayBufferView;
+ value?: V;
}
-interface ReadableStreamBYOBReadValueResult {
+interface ReadableStreamBYOBReadValueResult<V extends ArrayBufferView> {
done: false;
- value: ArrayBufferView;
+ value: V;
}
-type ReadableStreamBYOBReadResult =
- | ReadableStreamBYOBReadDoneResult
- | ReadableStreamBYOBReadValueResult;
+type ReadableStreamBYOBReadResult<V extends ArrayBufferView> =
+ | ReadableStreamBYOBReadDoneResult<V>
+ | ReadableStreamBYOBReadValueResult<V>;
interface ReadableStreamBYOBReader {
readonly closed: Promise<void>;
cancel(reason?: any): Promise<void>;
- read(view: ArrayBufferView): Promise<ReadableStreamBYOBReadResult>;
+ read<V extends ArrayBufferView>(
+ view: V,
+ ): Promise<ReadableStreamBYOBReadResult<V>>;
releaseLock(): void;
}
@@ -569,7 +571,8 @@ interface ReadableStream<R = any> {
* async iterator.
*/
getIterator(options?: { preventCancel?: boolean }): AsyncIterableIterator<R>;
- getReader(): ReadableStreamDefaultReader<R>;
+ getReader(options: { mode: "byob" }): ReadableStreamBYOBReader;
+ getReader(options?: { mode?: undefined }): ReadableStreamDefaultReader<R>;
pipeThrough<T>(
{ writable, readable }: {
writable: WritableStream<R>;