From b8303c7812e3483c9ce63bbd8e2a9d420a47aee9 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Fri, 15 Jan 2021 08:57:19 +1100 Subject: refactor(op_crate/fetch): align streams to spec (#9103) Fixes #8814 --- op_crates/fetch/lib.deno_fetch.d.ts | 79 +++++++++++++++++++++++++------------ 1 file changed, 53 insertions(+), 26 deletions(-) (limited to 'op_crates/fetch/lib.deno_fetch.d.ts') diff --git a/op_crates/fetch/lib.deno_fetch.d.ts b/op_crates/fetch/lib.deno_fetch.d.ts index 30c031747..83739f2ec 100644 --- a/op_crates/fetch/lib.deno_fetch.d.ts +++ b/op_crates/fetch/lib.deno_fetch.d.ts @@ -37,12 +37,22 @@ interface ReadableStreamDefaultReader { releaseLock(): void; } +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new (stream: ReadableStream): ReadableStreamDefaultReader; +}; + interface ReadableStreamReader { cancel(): Promise; read(): Promise>; releaseLock(): void; } +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new (): ReadableStreamReader; +}; + interface ReadableByteStreamControllerCallback { (controller: ReadableByteStreamController): void | PromiseLike; } @@ -55,6 +65,14 @@ interface UnderlyingByteSource { type: "bytes"; } +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + interface UnderlyingSource { cancel?: ReadableStreamErrorCallback; pull?: ReadableStreamDefaultControllerCallback; @@ -77,6 +95,11 @@ interface ReadableStreamDefaultController { error(error?: any): void; } +declare var ReadableStreamDefaultController: { + prototype: ReadableStreamDefaultController; + new (): ReadableStreamDefaultController; +}; + interface ReadableByteStreamController { readonly byobRequest: undefined; readonly desiredSize: number | null; @@ -85,6 +108,11 @@ interface ReadableByteStreamController { error(error?: any): void; } +declare var ReadableByteStreamController: { + prototype: ReadableByteStreamController; + new (): ReadableByteStreamController; +}; + interface PipeOptions { preventAbort?: boolean; preventCancel?: boolean; @@ -122,14 +150,9 @@ declare class ByteLengthQueuingStrategy interface ReadableStream { readonly locked: boolean; cancel(reason?: any): Promise; - getIterator(options?: { preventCancel?: boolean }): AsyncIterableIterator; - // getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; getReader(): ReadableStreamDefaultReader; pipeThrough( - { - writable, - readable, - }: { + { writable, readable }: { writable: WritableStream; readable: ReadableStream; }, @@ -174,28 +197,23 @@ interface WritableStreamErrorCallback { (reason: any): void | PromiseLike; } -interface UnderlyingSink { - abort?: WritableStreamErrorCallback; - close?: WritableStreamDefaultControllerCloseCallback; - start?: WritableStreamDefaultControllerStartCallback; - type?: undefined; - write?: WritableStreamDefaultControllerWriteCallback; -} - /** This Streams API interface provides a standard abstraction for writing * streaming data to a destination, known as a sink. This object comes with * built-in backpressure and queuing. */ -declare class WritableStream { - constructor( - underlyingSink?: UnderlyingSink, - strategy?: QueuingStrategy, - ); +interface WritableStream { readonly locked: boolean; abort(reason?: any): Promise; - close(): Promise; getWriter(): WritableStreamDefaultWriter; } +declare var WritableStream: { + prototype: WritableStream; + new ( + underlyingSink?: UnderlyingSink, + strategy?: QueuingStrategy, + ): WritableStream; +}; + /** This Streams API interface represents a controller allowing control of a * WritableStream's state. When constructing a WritableStream, the underlying * sink is given a corresponding WritableStreamDefaultController instance to @@ -218,16 +236,25 @@ interface WritableStreamDefaultWriter { write(chunk: W): Promise; } -declare class TransformStream { - constructor( - transformer?: Transformer, - writableStrategy?: QueuingStrategy, - readableStrategy?: QueuingStrategy, - ); +declare var WritableStreamDefaultWriter: { + prototype: WritableStreamDefaultWriter; + new (): WritableStreamDefaultWriter; +}; + +interface TransformStream { readonly readable: ReadableStream; readonly writable: WritableStream; } +declare var TransformStream: { + prototype: TransformStream; + new ( + transformer?: Transformer, + writableStrategy?: QueuingStrategy, + readableStrategy?: QueuingStrategy, + ): TransformStream; +}; + interface TransformStreamDefaultController { readonly desiredSize: number | null; enqueue(chunk: O): void; -- cgit v1.2.3