From b92ba6e7752f5588a7a61499c7758dde6c505092 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 11:21:54 +0900 Subject: [PATCH 01/24] patch streams in lib.dom.d.ts and lib.webworker.d.ts --- cli/tsc/dts/lib.dom.d.ts | 18 ++++++++++++++++-- cli/tsc/dts/lib.webworker.d.ts | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index d1c7dabc65daff..c21457685675db 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -1930,11 +1930,16 @@ interface TrackEventInit extends EventInit { track?: TextTrack | null; } +interface TransformerCancelCallback { + (reason: any): void | PromiseLike; +} + interface Transformer { flush?: TransformerFlushCallback; readableType?: undefined; start?: TransformerStartCallback; transform?: TransformerTransformCallback; + cancel?: TransformerCancelCallback; writableType?: undefined; } @@ -5847,6 +5852,8 @@ declare var CompositionEvent: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */ interface CompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; } declare var CompressionStream: { @@ -6744,6 +6751,8 @@ declare var DataTransferItemList: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */ interface DecompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; } declare var DecompressionStream: { @@ -18816,15 +18825,20 @@ interface ReadableStream { declare var ReadableStream: { prototype: ReadableStream; - new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number; size?: undefined }): ReadableStream; new(underlyingSource: UnderlyingDefaultSource, strategy?: QueuingStrategy): ReadableStream; new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; + from(asyncIterable: AsyncIterable | Iterable>): ReadableStream; }; +interface ReadableStreamBYOBReaderReadOptions { + min?: number; +} + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader) */ interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/read) */ - read(view: T): Promise>; + read(view: T, options?: ReadableStreamBYOBReaderReadOptions): Promise>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/releaseLock) */ releaseLock(): void; } diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index 5a1868e15c0120..43d2b81a3d5112 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -717,11 +717,16 @@ interface TextEncoderEncodeIntoResult { written: number; } +interface TransformerCancelCallback { + (reason: any): void | PromiseLike; +} + interface Transformer { flush?: TransformerFlushCallback; readableType?: undefined; start?: TransformerStartCallback; transform?: TransformerTransformCallback; + cancel?: TransformerCancelCallback; writableType?: undefined; } @@ -1807,6 +1812,8 @@ declare var CloseEvent: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */ interface CompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; } declare var CompressionStream: { @@ -2258,6 +2265,8 @@ declare var DOMStringList: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */ interface DecompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; } declare var DecompressionStream: { @@ -4875,15 +4884,20 @@ interface ReadableStream { declare var ReadableStream: { prototype: ReadableStream; - new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number; size?: undefined }): ReadableStream; new(underlyingSource: UnderlyingDefaultSource, strategy?: QueuingStrategy): ReadableStream; new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; + from(asyncIterable: AsyncIterable | Iterable>): ReadableStream; }; +interface ReadableStreamBYOBReaderReadOptions { + min?: number; +} + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader) */ interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/read) */ - read(view: T): Promise>; + read(view: T, options?: ReadableStreamBYOBReaderReadOptions): Promise>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/releaseLock) */ releaseLock(): void; } From e149e3452347df147b10b71eae46a1a8db87664c Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 11:29:24 +0900 Subject: [PATCH 02/24] conform lib.deno_web.d.ts streams --- ext/web/lib.deno_web.d.ts | 271 ++++++++++++++++++++++---------------- 1 file changed, 161 insertions(+), 110 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 2fdf1c880f9c2a..d3427d28b9372d 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -577,73 +577,74 @@ declare var File: { }; /** @category Streams */ -declare interface ReadableStreamDefaultReadDoneResult { +declare type ReadableStreamReader = + | ReadableStreamDefaultReader + | ReadableStreamBYOBReader; + +/** @category Streams */ +declare type ReadableStreamController = + | ReadableStreamDefaultController + | ReadableByteStreamController; + +/** @category Streams */ +declare interface ReadableStreamGenericReader { + readonly closed: Promise; + cancel(reason?: any): Promise; +} + +/** @category Streams */ +declare interface ReadableStreamReadDoneResult { done: true; - value?: undefined; + value?: T; } /** @category Streams */ -declare interface ReadableStreamDefaultReadValueResult { +declare interface ReadableStreamReadValueResult { done: false; value: T; } /** @category Streams */ -declare type ReadableStreamDefaultReadResult = - | ReadableStreamDefaultReadValueResult - | ReadableStreamDefaultReadDoneResult; +declare type ReadableStreamReadResult = + | ReadableStreamReadValueResult + | ReadableStreamReadDoneResult; /** @category Streams */ -declare interface ReadableStreamDefaultReader { - readonly closed: Promise; - cancel(reason?: any): Promise; - read(): Promise>; +declare interface ReadableStreamDefaultReader + extends ReadableStreamGenericReader { + read(): Promise>; releaseLock(): void; } /** @category Streams */ declare var ReadableStreamDefaultReader: { readonly prototype: ReadableStreamDefaultReader; - new (stream: ReadableStream): ReadableStreamDefaultReader; + new (stream: ReadableStream): ReadableStreamDefaultReader; }; /** @category Streams */ -declare interface ReadableStreamBYOBReadDoneResult { - done: true; - value?: V; -} - -/** @category Streams */ -declare interface ReadableStreamBYOBReadValueResult { - done: false; - value: V; +declare interface ReadableStreamBYOBReaderReadOptions { + min?: number; } /** @category Streams */ -declare type ReadableStreamBYOBReadResult = - | ReadableStreamBYOBReadDoneResult - | ReadableStreamBYOBReadValueResult; - -/** @category Streams */ -declare interface ReadableStreamBYOBReaderReadOptions { - min?: number; +declare interface GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; } /** @category Streams */ -declare interface ReadableStreamBYOBReader { - readonly closed: Promise; - cancel(reason?: any): Promise; - read( - view: V, - options?: ReadableStreamBYOBReaderReadOptions, - ): Promise>; +declare interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { + read( + view: T, + ): Promise>; releaseLock(): void; } /** @category Streams */ declare var ReadableStreamBYOBReader: { readonly prototype: ReadableStreamBYOBReader; - new (stream: ReadableStream): ReadableStreamBYOBReader; + new (stream: ReadableStream): ReadableStreamBYOBReader; }; /** @category Streams */ @@ -656,62 +657,73 @@ declare interface ReadableStreamBYOBRequest { /** @category Streams */ declare var ReadableStreamBYOBRequest: { readonly prototype: ReadableStreamBYOBRequest; - new (): never; + new (): ReadableStreamBYOBRequest; }; -/** @category Streams */ -declare interface ReadableByteStreamControllerCallback { - (controller: ReadableByteStreamController): void | PromiseLike; -} - /** @category Streams */ declare interface UnderlyingByteSource { autoAllocateChunkSize?: number; - cancel?: ReadableStreamErrorCallback; - pull?: ReadableByteStreamControllerCallback; - start?: ReadableByteStreamControllerCallback; + cancel?: UnderlyingSourceCancelCallback; + pull?: (controller: ReadableByteStreamController) => void | PromiseLike; + start?: (controller: ReadableByteStreamController) => any; type: "bytes"; } +interface UnderlyingDefaultSource { + cancel?: UnderlyingSourceCancelCallback; + pull?: (controller: ReadableStreamDefaultController) => void | PromiseLike; + start?: (controller: ReadableStreamDefaultController) => any; + type?: undefined; +} + /** @category Streams */ declare interface UnderlyingSink { - abort?: WritableStreamErrorCallback; - close?: WritableStreamDefaultControllerCloseCallback; - start?: WritableStreamDefaultControllerStartCallback; + abort?: UnderlyingSinkAbortCallback; + close?: UnderlyingSinkCloseCallback; + start?: UnderlyingSinkStartCallback; type?: undefined; - write?: WritableStreamDefaultControllerWriteCallback; + write?: UnderlyingSinkWriteCallback; } +/** @category Streams */ +declare type ReadableStreamType = "bytes"; + /** @category Streams */ declare interface UnderlyingSource { - cancel?: ReadableStreamErrorCallback; - pull?: ReadableStreamDefaultControllerCallback; - start?: ReadableStreamDefaultControllerCallback; - type?: undefined; + autoAllocateChunkSize?: number; + cancel?: UnderlyingSourceCancelCallback; + pull?: UnderlyingSourcePullCallback; + start?: UnderlyingSourceStartCallback; + type?: ReadableStreamType; } /** @category Streams */ -declare interface ReadableStreamErrorCallback { - (reason: any): void | PromiseLike; +declare interface UnderlyingSourceCancelCallback { + (reason?: any): void | PromiseLike; +} + +/** @category Streams */ +declare interface UnderlyingSourcePullCallback { + (controller: ReadableStreamController): void | PromiseLike; } /** @category Streams */ -declare interface ReadableStreamDefaultControllerCallback { - (controller: ReadableStreamDefaultController): void | PromiseLike; +declare interface UnderlyingSourceStartCallback { + (controller: ReadableStreamController): any; } /** @category Streams */ declare interface ReadableStreamDefaultController { readonly desiredSize: number | null; close(): void; - enqueue(chunk: R): void; - error(error?: any): void; + enqueue(chunk?: R): void; + error(e?: any): void; } /** @category Streams */ declare var ReadableStreamDefaultController: { readonly prototype: ReadableStreamDefaultController; - new (): never; + new (): ReadableStreamDefaultController; }; /** @category Streams */ @@ -720,17 +732,17 @@ declare interface ReadableByteStreamController { readonly desiredSize: number | null; close(): void; enqueue(chunk: ArrayBufferView): void; - error(error?: any): void; + error(e?: any): void; } /** @category Streams */ declare var ReadableByteStreamController: { readonly prototype: ReadableByteStreamController; - new (): never; + new (): ReadableByteStreamController; }; /** @category Streams */ -declare interface PipeOptions { +declare interface StreamPipeOptions { preventAbort?: boolean; preventCancel?: boolean; preventClose?: boolean; @@ -738,14 +750,14 @@ declare interface PipeOptions { } /** @category Streams */ -declare interface QueuingStrategySizeCallback { +declare interface QueuingStrategySize { (chunk: T): number; } /** @category Streams */ declare interface QueuingStrategy { highWaterMark?: number; - size?: QueuingStrategySizeCallback; + size?: QueuingStrategySize; } /** This Streams API interface provides a built-in byte length queuing strategy @@ -754,29 +766,34 @@ declare interface QueuingStrategy { * @category Streams */ declare interface CountQueuingStrategy extends QueuingStrategy { - highWaterMark: number; - size(chunk: any): 1; + readonly highWaterMark: number; + readonly size: QueuingStrategySize; } /** @category Streams */ declare var CountQueuingStrategy: { readonly prototype: CountQueuingStrategy; - new (options: { highWaterMark: number }): CountQueuingStrategy; + new (init: QueuingStrategyInit): CountQueuingStrategy; }; /** @category Streams */ declare interface ByteLengthQueuingStrategy extends QueuingStrategy { - highWaterMark: number; - size(chunk: ArrayBufferView): number; + readonly highWaterMark: number; + readonly size: QueuingStrategySize; } /** @category Streams */ declare var ByteLengthQueuingStrategy: { readonly prototype: ByteLengthQueuingStrategy; - new (options: { highWaterMark: number }): ByteLengthQueuingStrategy; + new (init: QueuingStrategyInit): ByteLengthQueuingStrategy; }; +/** @category Streams */ +declare interface QueuingStrategyInit { + highWaterMark: number; +} + /** This Streams API interface represents a readable stream of byte data. The * Fetch API offers a concrete instance of a ReadableStream through the body * property of a Response object. @@ -787,19 +804,21 @@ declare interface ReadableStream { readonly locked: boolean; cancel(reason?: any): Promise; getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; - getReader(options?: { mode?: undefined }): ReadableStreamDefaultReader; - pipeThrough(transform: { - writable: WritableStream; - readable: ReadableStream; - }, options?: PipeOptions): ReadableStream; - pipeTo(dest: WritableStream, options?: PipeOptions): Promise; + getReader(): ReadableStreamDefaultReader; + getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader; + pipeThrough( + transform: ReadableWritablePair, + options?: StreamPipeOptions, + ): ReadableStream; + pipeTo( + destination: WritableStream, + options?: StreamPipeOptions, + ): Promise; tee(): [ReadableStream, ReadableStream]; - values(options?: { - preventCancel?: boolean; - }): AsyncIterableIterator; - [Symbol.asyncIterator](options?: { - preventCancel?: boolean; - }): AsyncIterableIterator; + values(options?: ReadableStreamIteratorOptions): AsyncIterableIterator; + [Symbol.asyncIterator]( + options?: ReadableStreamIteratorOptions, + ): AsyncIterableIterator; } /** @category Streams */ @@ -809,6 +828,10 @@ declare var ReadableStream: { underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number; size?: undefined }, ): ReadableStream; + new ( + underlyingSource: UnderlyingDefaultSource, + strategy?: QueuingStrategy, + ): ReadableStream; new ( underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy, @@ -819,27 +842,45 @@ declare var ReadableStream: { }; /** @category Streams */ -declare interface WritableStreamDefaultControllerCloseCallback { +declare interface ReadableStreamIteratorOptions { + preventCancel?: boolean; +} + +/** @category Streams */ +declare type ReadableStreamReaderMode = "byob"; + +/** @category Streams */ +declare interface ReadableStreamGetReaderOptions { + mode?: ReadableStreamReaderMode; +} + +/** @category Streams */ +declare interface ReadableWritablePair { + readable: ReadableStream; + writable: WritableStream; +} + +/** @category Streams */ +declare interface UnderlyingSinkCloseCallback { (): void | PromiseLike; } /** @category Streams */ -declare interface WritableStreamDefaultControllerStartCallback { - (controller: WritableStreamDefaultController): void | PromiseLike; +declare interface UnderlyingSinkStartCallback { + (controller: WritableStreamDefaultController): any; } /** @category Streams */ -declare interface WritableStreamDefaultControllerWriteCallback { - (chunk: W, controller: WritableStreamDefaultController): - | void - | PromiseLike< - void - >; +declare interface UnderlyingSinkWriteCallback { + ( + chunk: W, + controller: WritableStreamDefaultController, + ): void | PromiseLike; } /** @category Streams */ -declare interface WritableStreamErrorCallback { - (reason: any): void | PromiseLike; +declare interface UnderlyingSinkAbortCallback { + (reason?: any): void | PromiseLike; } /** This Streams API interface provides a standard abstraction for writing @@ -872,14 +913,14 @@ declare var WritableStream: { * @category Streams */ declare interface WritableStreamDefaultController { - signal: AbortSignal; - error(error?: any): void; + readonly signal: AbortSignal; + error(e?: any): void; } /** @category Streams */ declare var WritableStreamDefaultController: { readonly prototype: WritableStreamDefaultController; - new (): never; + new (): WritableStreamDefaultController; }; /** This Streams API interface is the object returned by @@ -890,19 +931,19 @@ declare var WritableStreamDefaultController: { * @category Streams */ declare interface WritableStreamDefaultWriter { - readonly closed: Promise; + readonly closed: Promise; readonly desiredSize: number | null; - readonly ready: Promise; + readonly ready: Promise; abort(reason?: any): Promise; close(): Promise; releaseLock(): void; - write(chunk: W): Promise; + write(chunk?: W): Promise; } /** @category Streams */ declare var WritableStreamDefaultWriter: { readonly prototype: WritableStreamDefaultWriter; - new (stream: WritableStream): WritableStreamDefaultWriter; + new (stream: WritableStream): WritableStreamDefaultWriter; }; /** @category Streams */ @@ -924,7 +965,7 @@ declare var TransformStream: { /** @category Streams */ declare interface TransformStreamDefaultController { readonly desiredSize: number | null; - enqueue(chunk: O): void; + enqueue(chunk?: O): void; error(reason?: any): void; terminate(): void; } @@ -932,32 +973,42 @@ declare interface TransformStreamDefaultController { /** @category Streams */ declare var TransformStreamDefaultController: { readonly prototype: TransformStreamDefaultController; - new (): never; + new (): TransformStreamDefaultController; }; /** @category Streams */ declare interface Transformer { - flush?: TransformStreamDefaultControllerCallback; + flush?: TransformerFlushCallback; readableType?: undefined; - start?: TransformStreamDefaultControllerCallback; - transform?: TransformStreamDefaultControllerTransformCallback; - cancel?: (reason: any) => Promise; + start?: TransformerStartCallback; + transform?: TransformerTransformCallback; + cancel?: TransformerCancelCallback; writableType?: undefined; } /** @category Streams */ -declare interface TransformStreamDefaultControllerCallback { +declare interface TransformerFlushCallback { (controller: TransformStreamDefaultController): void | PromiseLike; } /** @category Streams */ -declare interface TransformStreamDefaultControllerTransformCallback { +declare interface TransformerStartCallback { + (controller: TransformStreamDefaultController): any; +} + +/** @category Streams */ +declare interface TransformerTransformCallback { ( chunk: I, controller: TransformStreamDefaultController, ): void | PromiseLike; } +/** @category Streams */ +declare interface TransformerCancelCallback { + (reason: any): void | PromiseLike; +} + /** @category Events */ declare interface MessageEventInit extends EventInit { data?: T; @@ -1142,7 +1193,7 @@ declare function structuredClone( * * @category Streams */ -declare interface CompressionStream { +declare interface CompressionStream extends GenericTransformStream { readonly readable: ReadableStream; readonly writable: WritableStream; } @@ -1186,7 +1237,7 @@ declare var CompressionStream: { * * @category Streams */ -declare interface DecompressionStream { +declare interface DecompressionStream extends GenericTransformStream { readonly readable: ReadableStream; readonly writable: WritableStream; } From 0fc03b72d1fe38f022ce2305f876778b0f226a8b Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 11:31:22 +0900 Subject: [PATCH 03/24] conform lib.deno_web.d.ts encoding --- ext/web/lib.deno_web.d.ts | 41 ++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index d3427d28b9372d..b40fa823e2a328 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -299,14 +299,7 @@ declare interface TextDecodeOptions { } /** @category Encoding */ -declare interface TextDecoder { - /** Returns encoding's name, lowercased. */ - readonly encoding: string; - /** Returns `true` if error mode is "fatal", and `false` otherwise. */ - readonly fatal: boolean; - /** Returns `true` if ignore BOM flag is set, and `false` otherwise. */ - readonly ignoreBOM: boolean; - +declare interface TextDecoder extends TextDecoderCommon { /** Returns the result of running encoding's decoder. */ decode(input?: BufferSource, options?: TextDecodeOptions): string; } @@ -317,6 +310,16 @@ declare var TextDecoder: { new (label?: string, options?: TextDecoderOptions): TextDecoder; }; +/** @category Encoding */ +declare interface TextDecoderCommon { + /** Returns encoding's name, lowercased. */ + readonly encoding: string; + /** Returns true if error mode is "fatal", otherwise false. */ + readonly fatal: boolean; + /** Returns the value of ignore BOM. */ + readonly ignoreBOM: boolean; +} + /** @category Encoding */ declare interface TextEncoderEncodeIntoResult { read: number; @@ -324,9 +327,7 @@ declare interface TextEncoderEncodeIntoResult { } /** @category Encoding */ -declare interface TextEncoder { - /** Returns "utf-8". */ - readonly encoding: "utf-8"; +declare interface TextEncoder extends TextEncoderCommon { /** Returns the result of running UTF-8's encoder. */ encode(input?: string): Uint8Array; encodeInto(input: string, dest: Uint8Array): TextEncoderEncodeIntoResult; @@ -339,13 +340,14 @@ declare var TextEncoder: { }; /** @category Encoding */ -declare interface TextDecoderStream { - /** Returns encoding's name, lowercased. */ +declare interface TextEncoderCommon { + /** Returns "utf-8". */ readonly encoding: string; - /** Returns `true` if error mode is "fatal", and `false` otherwise. */ - readonly fatal: boolean; - /** Returns `true` if ignore BOM flag is set, and `false` otherwise. */ - readonly ignoreBOM: boolean; +} + +/** @category Encoding */ +declare interface TextDecoderStream + extends GenericTransformStream, TextDecoderCommon { readonly readable: ReadableStream; readonly writable: WritableStream; readonly [Symbol.toStringTag]: string; @@ -358,9 +360,8 @@ declare var TextDecoderStream: { }; /** @category Encoding */ -declare interface TextEncoderStream { - /** Returns "utf-8". */ - readonly encoding: "utf-8"; +declare interface TextEncoderStream + extends GenericTransformStream, TextEncoderCommon { readonly readable: ReadableStream; readonly writable: WritableStream; readonly [Symbol.toStringTag]: string; From 3e92ba7c2f8909b538e1c7e1e127b38cf607fcaa Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 11:43:59 +0900 Subject: [PATCH 04/24] delete `Symbol.toStringTag` and wait for upstream support https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1699 --- ext/web/lib.deno_web.d.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index b40fa823e2a328..882784880038f9 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -350,7 +350,6 @@ declare interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon { readonly readable: ReadableStream; readonly writable: WritableStream; - readonly [Symbol.toStringTag]: string; } /** @category Encoding */ @@ -364,7 +363,6 @@ declare interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon { readonly readable: ReadableStream; readonly writable: WritableStream; - readonly [Symbol.toStringTag]: string; } /** @category Encoding */ From d76ae6853bdb34bdee21e64beb9a654ff362a5df Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 11:46:33 +0900 Subject: [PATCH 05/24] tweak prototype to readonly --- ext/web/lib.deno_web.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 882784880038f9..ca163a12b2d0c1 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -1307,7 +1307,7 @@ declare interface ImageData { /** @category Platform */ declare var ImageData: { - prototype: ImageData; + readonly prototype: ImageData; new (sw: number, sh: number, settings?: ImageDataSettings): ImageData; new ( data: Uint8ClampedArray, From b7f56fa3ecefe0f5ec69cdf7ed2745bb8e45e1b5 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 12:25:00 +0900 Subject: [PATCH 06/24] format --- ext/web/lib.deno_web.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index ca163a12b2d0c1..49db39e3a9187e 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -670,7 +670,9 @@ declare interface UnderlyingByteSource { interface UnderlyingDefaultSource { cancel?: UnderlyingSourceCancelCallback; - pull?: (controller: ReadableStreamDefaultController) => void | PromiseLike; + pull?: ( + controller: ReadableStreamDefaultController, + ) => void | PromiseLike; start?: (controller: ReadableStreamDefaultController) => any; type?: undefined; } From 466e9fd81cfdc2c129069b0ff8140e78bbd6e7f7 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 12:37:07 +0900 Subject: [PATCH 07/24] tweak --- ext/web/lib.deno_web.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 49db39e3a9187e..7eff8dfc2e2f91 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -668,7 +668,7 @@ declare interface UnderlyingByteSource { type: "bytes"; } -interface UnderlyingDefaultSource { +declare interface UnderlyingDefaultSource { cancel?: UnderlyingSourceCancelCallback; pull?: ( controller: ReadableStreamDefaultController, From 94b5260b7e793f0044e4112ddab93433e8eec467 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:35:12 +0900 Subject: [PATCH 08/24] patch events in lib.dom.d.ts and lib.webworker.d.ts --- cli/tsc/dts/lib.dom.d.ts | 4 ++-- cli/tsc/dts/lib.webworker.d.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index c21457685675db..675911493ad919 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -8261,11 +8261,11 @@ declare var EventCounts: { }; interface EventListener { - (evt: Event): void; + (evt: Event): void | Promise; } interface EventListenerObject { - handleEvent(object: Event): void; + handleEvent(object: Event): void | Promise; } interface EventSourceEventMap { diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index 43d2b81a3d5112..4a8d19796e4a63 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -2574,11 +2574,11 @@ declare var Event: { }; interface EventListener { - (evt: Event): void; + (evt: Event): void | Promise; } interface EventListenerObject { - handleEvent(object: Event): void; + handleEvent(object: Event): void | Promise; } interface EventSourceEventMap { From 358935851bcb6542ad3c5ecf6e6facd5b0606a57 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:38:28 +0900 Subject: [PATCH 09/24] conform lib.deno_web.d.ts streams again --- ext/web/lib.deno_web.d.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 7eff8dfc2e2f91..44f5ff57e3595f 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -668,6 +668,7 @@ declare interface UnderlyingByteSource { type: "bytes"; } +/** @category Streams */ declare interface UnderlyingDefaultSource { cancel?: UnderlyingSourceCancelCallback; pull?: ( @@ -1199,6 +1200,8 @@ declare interface CompressionStream extends GenericTransformStream { readonly writable: WritableStream; } +declare type CompressionFormat = "deflate" | "deflate-raw" | "gzip"; + /** * An API for compressing a stream of data. * @@ -1220,7 +1223,7 @@ declare var CompressionStream: { * Throws a `TypeError` if the format passed to the constructor is not * supported. */ - new (format: string): CompressionStream; + new (format: CompressionFormat): CompressionStream; }; /** @@ -1267,7 +1270,7 @@ declare var DecompressionStream: { * Throws a `TypeError` if the format passed to the constructor is not * supported. */ - new (format: string): DecompressionStream; + new (format: CompressionFormat): DecompressionStream; }; /** Dispatch an uncaught exception. Similar to a synchronous version of: From 27a82bf5ba2a90aa11fcfac68fc180b0ba126664 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:40:37 +0900 Subject: [PATCH 10/24] conform lib.deno_web.d.ts events and platform --- ext/web/lib.deno_web.d.ts | 46 +++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 44f5ff57e3595f..2d26f1949c6878 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -9,6 +9,7 @@ declare interface DOMException extends Error { readonly name: string; readonly message: string; + /** @deprecated */ readonly code: number; readonly INDEX_SIZE_ERR: 1; readonly DOMSTRING_SIZE_ERR: 2; @@ -84,6 +85,7 @@ declare interface Event { * event goes through its target's ancestors in reverse tree order, and * false otherwise. */ readonly bubbles: boolean; + /** @deprecated */ cancelBubble: boolean; /** Returns true or false depending on how event was initialized. Its return * value does not always carry meaning, but true can indicate that part of the @@ -106,6 +108,10 @@ declare interface Event { /** Returns true if event was dispatched by the user agent, and false * otherwise. */ readonly isTrusted: boolean; + /** @deprecated */ + returnValue: boolean; + /** @deprecated */ + readonly srcElement: EventTarget | null; /** Returns the object to which event is dispatched (its target). */ readonly target: EventTarget | null; /** Returns the event's timestamp as the number of milliseconds measured @@ -118,6 +124,8 @@ declare interface Event { * the shadow root's mode is "closed" that are not reachable from event's * currentTarget. */ composedPath(): EventTarget[]; + /** @deprecated */ + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; /** If invoked when the cancelable attribute value is true, and while * executing a listener for the event with passive set to false, signals to * the operation that caused event to be dispatched that it needs to be @@ -130,10 +138,10 @@ declare interface Event { /** When dispatched in a tree, invoking this method prevents event from * reaching any objects other than the current object. */ stopPropagation(): void; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; - readonly NONE: number; + readonly NONE: 0; + readonly CAPTURING_PHASE: 1; + readonly AT_TARGET: 2; + readonly BUBBLING_PHASE: 3; } /** An event which takes place in the DOM. @@ -143,10 +151,10 @@ declare interface Event { declare var Event: { readonly prototype: Event; new (type: string, eventInitDict?: EventInit): Event; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; - readonly NONE: number; + readonly NONE: 0; + readonly CAPTURING_PHASE: 1; + readonly AT_TARGET: 2; + readonly BUBBLING_PHASE: 3; }; /** @@ -1011,11 +1019,16 @@ declare interface TransformerCancelCallback { (reason: any): void | PromiseLike; } +/** @category Events */ +declare type MessageEventSource = Window | MessagePort | ServiceWorker; + /** @category Events */ declare interface MessageEventInit extends EventInit { data?: T; - origin?: string; lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; } /** @category Events */ @@ -1032,11 +1045,22 @@ declare interface MessageEvent extends Event { * Returns the last event ID string, for server-sent events. */ readonly lastEventId: string; - readonly source: null; + readonly source: MessageEventSource | null; /** * Returns transferred ports. */ readonly ports: ReadonlyArray; + /** @deprecated */ + initMessageEvent( + type: string, + bubbles?: boolean, + cancelable?: boolean, + data?: any, + origin?: string, + lastEventId?: string, + source?: MessageEventSource | null, + ports?: MessagePort[], + ): void; } /** @category Events */ @@ -1046,7 +1070,7 @@ declare var MessageEvent: { }; /** @category Events */ -declare type Transferable = ArrayBuffer | MessagePort; +declare type Transferable = MessagePort | ArrayBuffer; /** * This type has been renamed to StructuredSerializeOptions. Use that type for From 8f8547d02f3af81e10ebcd925ced5aa41c13711d Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:41:26 +0900 Subject: [PATCH 11/24] conform lib.deno_web.d.ts file --- ext/web/lib.deno_web.d.ts | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 2d26f1949c6878..dc046614b18f52 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -479,16 +479,20 @@ declare interface FileReader extends EventTarget { | ((this: FileReader, ev: ProgressEvent) => any) | null; onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; - readonly readyState: number; + readonly readyState: + | typeof FileReader.EMPTY + | typeof FileReader.LOADING + | typeof FileReader.DONE; readonly result: string | ArrayBuffer | null; abort(): void; readAsArrayBuffer(blob: Blob): void; + /** @deprecated */ readAsBinaryString(blob: Blob): void; readAsDataURL(blob: Blob): void; readAsText(blob: Blob, encoding?: string): void; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; + readonly EMPTY: 0; + readonly LOADING: 1; + readonly DONE: 2; addEventListener( type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, @@ -515,18 +519,21 @@ declare interface FileReader extends EventTarget { declare var FileReader: { readonly prototype: FileReader; new (): FileReader; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; + readonly EMPTY: 0; + readonly LOADING: 1; + readonly DONE: 2; }; /** @category File */ declare type BlobPart = BufferSource | Blob | string; +/** @category File */ +declare type EndingType = "transparent" | "native"; + /** @category File */ declare interface BlobPropertyBag { type?: string; - endings?: "transparent" | "native"; + endings?: EndingType; } /** A file-like object of immutable, raw data. Blobs represent data that isn't @@ -571,6 +578,7 @@ declare interface FilePropertyBag extends BlobPropertyBag { declare interface File extends Blob { readonly lastModified: number; readonly name: string; + readonly webkitRelativePath: string; } /** Provides information about files and allows JavaScript in a web page to From 663cc4e77682af7df9a4c00ebd0a7078b7006937 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:42:37 +0900 Subject: [PATCH 12/24] tweak --- ext/web/lib.deno_web.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index dc046614b18f52..a8b1719e31ed22 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -1232,6 +1232,7 @@ declare interface CompressionStream extends GenericTransformStream { readonly writable: WritableStream; } +/** @category Streams */ declare type CompressionFormat = "deflate" | "deflate-raw" | "gzip"; /** From 51c02614b0dabbc056872236ceb6a86b20a1818a Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:57:46 +0900 Subject: [PATCH 13/24] replace `Promise` with `PromiseLike` --- cli/tsc/dts/lib.dom.d.ts | 4 ++-- cli/tsc/dts/lib.webworker.d.ts | 4 ++-- ext/web/lib.deno_web.d.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index 675911493ad919..52e7f998fe8200 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -8261,11 +8261,11 @@ declare var EventCounts: { }; interface EventListener { - (evt: Event): void | Promise; + (evt: Event): void | PromiseLike; } interface EventListenerObject { - handleEvent(object: Event): void | Promise; + handleEvent(object: Event): void | PromiseLike; } interface EventSourceEventMap { diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index 4a8d19796e4a63..c294640c9efa3c 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -2574,11 +2574,11 @@ declare var Event: { }; interface EventListener { - (evt: Event): void | Promise; + (evt: Event): void | PromiseLike; } interface EventListenerObject { - handleEvent(object: Event): void | Promise; + handleEvent(object: Event): void | PromiseLike; } interface EventSourceEventMap { diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index a8b1719e31ed22..49877468ce564f 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -218,12 +218,12 @@ declare var EventTarget: { /** @category Events */ declare interface EventListener { - (evt: Event): void | Promise; + (evt: Event): void | PromiseLike; } /** @category Events */ declare interface EventListenerObject { - handleEvent(evt: Event): void | Promise; + handleEvent(evt: Event): void | PromiseLike; } /** @category Events */ From 1bfdd98cf8f63179d2cbd837b5dc7bb9d7d194e4 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Tue, 16 Jul 2024 13:59:53 +0900 Subject: [PATCH 14/24] fix --- ext/web/lib.deno_web.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 49877468ce564f..353e42b5dbaf02 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -1028,7 +1028,7 @@ declare interface TransformerCancelCallback { } /** @category Events */ -declare type MessageEventSource = Window | MessagePort | ServiceWorker; +declare type MessageEventSource = Window | MessagePort; /** @category Events */ declare interface MessageEventInit extends EventInit { From 101ecddb2895c1279562448669a8399b9fb353d7 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Sun, 21 Jul 2024 14:30:53 +0900 Subject: [PATCH 15/24] Revert constructor types --- ext/web/lib.deno_web.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 353e42b5dbaf02..35bd19735c69d0 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -672,7 +672,7 @@ declare interface ReadableStreamBYOBRequest { /** @category Streams */ declare var ReadableStreamBYOBRequest: { readonly prototype: ReadableStreamBYOBRequest; - new (): ReadableStreamBYOBRequest; + new (): never; }; /** @category Streams */ @@ -741,7 +741,7 @@ declare interface ReadableStreamDefaultController { /** @category Streams */ declare var ReadableStreamDefaultController: { readonly prototype: ReadableStreamDefaultController; - new (): ReadableStreamDefaultController; + new (): never; }; /** @category Streams */ @@ -756,7 +756,7 @@ declare interface ReadableByteStreamController { /** @category Streams */ declare var ReadableByteStreamController: { readonly prototype: ReadableByteStreamController; - new (): ReadableByteStreamController; + new (): never; }; /** @category Streams */ @@ -938,7 +938,7 @@ declare interface WritableStreamDefaultController { /** @category Streams */ declare var WritableStreamDefaultController: { readonly prototype: WritableStreamDefaultController; - new (): WritableStreamDefaultController; + new (): never; }; /** This Streams API interface is the object returned by @@ -991,7 +991,7 @@ declare interface TransformStreamDefaultController { /** @category Streams */ declare var TransformStreamDefaultController: { readonly prototype: TransformStreamDefaultController; - new (): TransformStreamDefaultController; + new (): never; }; /** @category Streams */ From 1e5fdeb8939fdd17ac9d78475143012f70e6d2c8 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Sun, 21 Jul 2024 14:50:04 +0900 Subject: [PATCH 16/24] Fix CompressionStream/DecompressionStream types --- cli/tsc/dts/lib.dom.d.ts | 6 ++---- cli/tsc/dts/lib.webworker.d.ts | 6 ++---- ext/web/lib.deno_web.d.ts | 4 ++-- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index 52e7f998fe8200..ec1937a34c1521 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -5853,7 +5853,7 @@ declare var CompositionEvent: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */ interface CompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } declare var CompressionStream: { @@ -6752,7 +6752,7 @@ declare var DataTransferItemList: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */ interface DecompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } declare var DecompressionStream: { @@ -8882,9 +8882,7 @@ declare var GamepadHapticActuator: { }; interface GenericTransformStream { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/readable) */ readonly readable: ReadableStream; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/writable) */ readonly writable: WritableStream; } diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index c294640c9efa3c..3be91088953925 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -1813,7 +1813,7 @@ declare var CloseEvent: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */ interface CompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } declare var CompressionStream: { @@ -2266,7 +2266,7 @@ declare var DOMStringList: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */ interface DecompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } declare var DecompressionStream: { @@ -3091,9 +3091,7 @@ declare var FormData: { }; interface GenericTransformStream { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/readable) */ readonly readable: ReadableStream; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/writable) */ readonly writable: WritableStream; } diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 35bd19735c69d0..68f9633f21a258 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -1229,7 +1229,7 @@ declare function structuredClone( */ declare interface CompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } /** @category Streams */ @@ -1276,7 +1276,7 @@ declare var CompressionStream: { */ declare interface DecompressionStream extends GenericTransformStream { readonly readable: ReadableStream; - readonly writable: WritableStream; + readonly writable: WritableStream; } /** From cae8e7547e5133cb445efb806fb1ac74131ce9dc Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 06:25:34 +0900 Subject: [PATCH 17/24] fix --- ext/web/lib.deno_web.d.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 68f9633f21a258..dd636b4e87c30f 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -642,17 +642,12 @@ declare interface ReadableStreamBYOBReaderReadOptions { min?: number; } -/** @category Streams */ -declare interface GenericTransformStream { - readonly readable: ReadableStream; - readonly writable: WritableStream; -} - /** @category Streams */ declare interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { read( view: T, - ): Promise>; + options?: ReadableStreamBYOBReaderReadOptions, + ): Promise>; releaseLock(): void; } @@ -1027,6 +1022,12 @@ declare interface TransformerCancelCallback { (reason: any): void | PromiseLike; } +/** @category Streams */ +declare interface GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; +} + /** @category Events */ declare type MessageEventSource = Window | MessagePort; From 1395293bdbf28497e45b09991dbafd0dd4460e10 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 06:25:57 +0900 Subject: [PATCH 18/24] add `ReadableStream.from` spec test --- tests/specs/run/dom_readable_stream_from/__test__.jsonc | 4 ++++ tests/specs/run/dom_readable_stream_from/deno.json | 8 ++++++++ tests/specs/run/dom_readable_stream_from/main.out | 2 ++ tests/specs/run/dom_readable_stream_from/main.ts | 4 ++++ 4 files changed, 18 insertions(+) create mode 100644 tests/specs/run/dom_readable_stream_from/__test__.jsonc create mode 100644 tests/specs/run/dom_readable_stream_from/deno.json create mode 100644 tests/specs/run/dom_readable_stream_from/main.out create mode 100644 tests/specs/run/dom_readable_stream_from/main.ts diff --git a/tests/specs/run/dom_readable_stream_from/__test__.jsonc b/tests/specs/run/dom_readable_stream_from/__test__.jsonc new file mode 100644 index 00000000000000..8955fcda2e5be0 --- /dev/null +++ b/tests/specs/run/dom_readable_stream_from/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run --check main.ts", + "output": "main.out" +} diff --git a/tests/specs/run/dom_readable_stream_from/deno.json b/tests/specs/run/dom_readable_stream_from/deno.json new file mode 100644 index 00000000000000..7708b998ad220f --- /dev/null +++ b/tests/specs/run/dom_readable_stream_from/deno.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "lib": [ + "deno.ns", + "dom" + ] + } +} diff --git a/tests/specs/run/dom_readable_stream_from/main.out b/tests/specs/run/dom_readable_stream_from/main.out new file mode 100644 index 00000000000000..0b8707ea347f97 --- /dev/null +++ b/tests/specs/run/dom_readable_stream_from/main.out @@ -0,0 +1,2 @@ +Check [WILDCARD]main.ts +ReadableStream[WILDCARD] diff --git a/tests/specs/run/dom_readable_stream_from/main.ts b/tests/specs/run/dom_readable_stream_from/main.ts new file mode 100644 index 00000000000000..897a9b8cb199be --- /dev/null +++ b/tests/specs/run/dom_readable_stream_from/main.ts @@ -0,0 +1,4 @@ +const asyncIterable = (async function* () { + yield* [1, 2, 3]; +})(); +console.log(ReadableStream.from(asyncIterable)); From 1695f7a6044e3cb2f46a48ead086a1ab7ea2cc40 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 06:26:20 +0900 Subject: [PATCH 19/24] refactor --- tests/specs/run/dom_extras_dts/__test__.jsonc | 4 ++-- tests/specs/run/dom_extras_dts/dom_extras_dts.out | 3 --- tests/specs/run/dom_extras_dts/main.out | 3 +++ tests/specs/run/dom_extras_dts/{dom_extras_dts.ts => main.ts} | 0 4 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 tests/specs/run/dom_extras_dts/dom_extras_dts.out create mode 100644 tests/specs/run/dom_extras_dts/main.out rename tests/specs/run/dom_extras_dts/{dom_extras_dts.ts => main.ts} (100%) diff --git a/tests/specs/run/dom_extras_dts/__test__.jsonc b/tests/specs/run/dom_extras_dts/__test__.jsonc index ee4c2bd3a69097..8955fcda2e5be0 100644 --- a/tests/specs/run/dom_extras_dts/__test__.jsonc +++ b/tests/specs/run/dom_extras_dts/__test__.jsonc @@ -1,4 +1,4 @@ { - "args": "run --check dom_extras_dts.ts", - "output": "dom_extras_dts.out" + "args": "run --check main.ts", + "output": "main.out" } diff --git a/tests/specs/run/dom_extras_dts/dom_extras_dts.out b/tests/specs/run/dom_extras_dts/dom_extras_dts.out deleted file mode 100644 index c6bfb7a640acf2..00000000000000 --- a/tests/specs/run/dom_extras_dts/dom_extras_dts.out +++ /dev/null @@ -1,3 +0,0 @@ -Check [WILDCARD]dom_extras_dts.ts -URLPattern[WILDCARD] -function diff --git a/tests/specs/run/dom_extras_dts/main.out b/tests/specs/run/dom_extras_dts/main.out new file mode 100644 index 00000000000000..0fa6fd60e4c003 --- /dev/null +++ b/tests/specs/run/dom_extras_dts/main.out @@ -0,0 +1,3 @@ +Check [WILDCARD]main.ts +URLPattern[WILDCARD] +function diff --git a/tests/specs/run/dom_extras_dts/dom_extras_dts.ts b/tests/specs/run/dom_extras_dts/main.ts similarity index 100% rename from tests/specs/run/dom_extras_dts/dom_extras_dts.ts rename to tests/specs/run/dom_extras_dts/main.ts From 3144ade6d6a5252f9909b86d2b02ecea2902dd5e Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 06:41:30 +0900 Subject: [PATCH 20/24] fix --- ext/web/lib.deno_web.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index dd636b4e87c30f..e28c6b5037be17 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -647,7 +647,7 @@ declare interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { read( view: T, options?: ReadableStreamBYOBReaderReadOptions, - ): Promise>; + ): Promise>; releaseLock(): void; } From a7e70c0132d7cc2306278b55e5b36ab0e8e66508 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 06:48:23 +0900 Subject: [PATCH 21/24] revert `ReadableBYOBReader` constructor type --- cli/tsc/dts/lib.dom.d.ts | 2 +- cli/tsc/dts/lib.webworker.d.ts | 2 +- ext/web/lib.deno_web.d.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index ec1937a34c1521..044d719c73a853 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -18843,7 +18843,7 @@ interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { declare var ReadableStreamBYOBReader: { prototype: ReadableStreamBYOBReader; - new(stream: ReadableStream): ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; }; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest) */ diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index 3be91088953925..f63e04f49f3720 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -4902,7 +4902,7 @@ interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { declare var ReadableStreamBYOBReader: { prototype: ReadableStreamBYOBReader; - new(stream: ReadableStream): ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; }; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest) */ diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index e28c6b5037be17..8e0facde4520b5 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -654,7 +654,7 @@ declare interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { /** @category Streams */ declare var ReadableStreamBYOBReader: { readonly prototype: ReadableStreamBYOBReader; - new (stream: ReadableStream): ReadableStreamBYOBReader; + new (stream: ReadableStream): ReadableStreamBYOBReader; }; /** @category Streams */ From 3660927359a3aab9074f8ce39cdde7b8288e5481 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 07:09:06 +0900 Subject: [PATCH 22/24] revert `EventListener` types --- cli/tsc/dts/lib.dom.d.ts | 4 ++-- cli/tsc/dts/lib.webworker.d.ts | 4 ++-- ext/web/lib.deno_web.d.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/tsc/dts/lib.dom.d.ts b/cli/tsc/dts/lib.dom.d.ts index 044d719c73a853..fdc4b8e4753a38 100644 --- a/cli/tsc/dts/lib.dom.d.ts +++ b/cli/tsc/dts/lib.dom.d.ts @@ -8261,11 +8261,11 @@ declare var EventCounts: { }; interface EventListener { - (evt: Event): void | PromiseLike; + (evt: Event): void; } interface EventListenerObject { - handleEvent(object: Event): void | PromiseLike; + handleEvent(object: Event): void; } interface EventSourceEventMap { diff --git a/cli/tsc/dts/lib.webworker.d.ts b/cli/tsc/dts/lib.webworker.d.ts index f63e04f49f3720..1bbf4eca2a63b0 100644 --- a/cli/tsc/dts/lib.webworker.d.ts +++ b/cli/tsc/dts/lib.webworker.d.ts @@ -2574,11 +2574,11 @@ declare var Event: { }; interface EventListener { - (evt: Event): void | PromiseLike; + (evt: Event): void; } interface EventListenerObject { - handleEvent(object: Event): void | PromiseLike; + handleEvent(object: Event): void; } interface EventSourceEventMap { diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 8e0facde4520b5..f4c43aaa71f3bc 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -218,12 +218,12 @@ declare var EventTarget: { /** @category Events */ declare interface EventListener { - (evt: Event): void | PromiseLike; + (evt: Event): void; } /** @category Events */ declare interface EventListenerObject { - handleEvent(evt: Event): void | PromiseLike; + handleEvent(evt: Event): void; } /** @category Events */ From 4b955358e98c6394c4da855dc9ddd3cd03d9b3e5 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 10:34:55 +0900 Subject: [PATCH 23/24] add deprecated type aliases --- ext/web/lib.deno_web.d.ts | 89 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 3 deletions(-) diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index f4c43aaa71f3bc..a305597efafeca 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -670,6 +670,15 @@ declare var ReadableStreamBYOBRequest: { new (): never; }; +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingByteSource["pull"]` instead. + * @category Streams + */ +declare interface ReadableByteStreamControllerCallback { + (controller: ReadableByteStreamController): void | PromiseLike; +} + /** @category Streams */ declare interface UnderlyingByteSource { autoAllocateChunkSize?: number; @@ -710,11 +719,26 @@ declare interface UnderlyingSource { type?: ReadableStreamType; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSourceCancelCallback` instead. + * @category Streams + */ +declare type ReadableStreamErrorCallback = UnderlyingSourceCancelCallback; + /** @category Streams */ declare interface UnderlyingSourceCancelCallback { (reason?: any): void | PromiseLike; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSourcePullCallback` instead. + * @category Streams + */ +declare type ReadableStreamDefaultControllerCallback = + UnderlyingSourcePullCallback; + /** @category Streams */ declare interface UnderlyingSourcePullCallback { (controller: ReadableStreamController): void | PromiseLike; @@ -754,6 +778,13 @@ declare var ReadableByteStreamController: { new (): never; }; +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `StreamPipeOptions` instead. + * @category Streams + */ +declare type PipeOptions = StreamPipeOptions; + /** @category Streams */ declare interface StreamPipeOptions { preventAbort?: boolean; @@ -762,6 +793,13 @@ declare interface StreamPipeOptions { signal?: AbortSignal; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `QueuingStrategySize` instead. + * @category Streams + */ +declare type QueuingStrategySizeCallback = QueuingStrategySize; + /** @category Streams */ declare interface QueuingStrategySize { (chunk: T): number; @@ -873,16 +911,40 @@ declare interface ReadableWritablePair { writable: WritableStream; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSinkCloseCallback` instead. + * @category Streams + */ +declare type WritableStreamDefaultControllerCloseCallback = + UnderlyingSinkCloseCallback; + /** @category Streams */ declare interface UnderlyingSinkCloseCallback { (): void | PromiseLike; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSinkStartCallback` instead. + * @category Streams + */ +declare type WritableStreamDefaultControllerStartCallback = + UnderlyingSinkStartCallback; + /** @category Streams */ declare interface UnderlyingSinkStartCallback { (controller: WritableStreamDefaultController): any; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSinkWriteCallback` instead. + * @category Streams + */ +declare type WritableStreamDefaultControllerWriteCallback = + UnderlyingSinkWriteCallback; + /** @category Streams */ declare interface UnderlyingSinkWriteCallback { ( @@ -891,6 +953,13 @@ declare interface UnderlyingSinkWriteCallback { ): void | PromiseLike; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `UnderlyingSinkAbortCallback` instead. + * @category Streams + */ +declare type WritableStreamErrorCallback = UnderlyingSinkAbortCallback; + /** @category Streams */ declare interface UnderlyingSinkAbortCallback { (reason?: any): void | PromiseLike; @@ -999,6 +1068,14 @@ declare interface Transformer { writableType?: undefined; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `TransformerFlushCallback` instead. + * @category Streams + */ +declare type TransformStreamDefaultControllerCallback = + TransformerFlushCallback; + /** @category Streams */ declare interface TransformerFlushCallback { (controller: TransformStreamDefaultController): void | PromiseLike; @@ -1009,6 +1086,14 @@ declare interface TransformerStartCallback { (controller: TransformStreamDefaultController): any; } +// TODO(petamoriken): Will be removed in v2.0. +/** + * @deprecated use `TransformerTransformCallback` instead. + * @category Streams + */ +declare type TransformStreamDefaultControllerTransformCallback = + TransformerTransformCallback; + /** @category Streams */ declare interface TransformerTransformCallback { ( @@ -1081,10 +1166,8 @@ declare var MessageEvent: { /** @category Events */ declare type Transferable = MessagePort | ArrayBuffer; +// TODO(petamoriken): Will be removed in v2.0. /** - * This type has been renamed to StructuredSerializeOptions. Use that type for - * new code. - * * @deprecated use `StructuredSerializeOptions` instead. * @category Events */ From d77820b385f91ac108f388622e5566f3f7486228 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Mon, 22 Jul 2024 10:35:02 +0900 Subject: [PATCH 24/24] format --- tests/specs/run/dom_readable_stream_from/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/specs/run/dom_readable_stream_from/main.ts b/tests/specs/run/dom_readable_stream_from/main.ts index 897a9b8cb199be..70025b4e95277b 100644 --- a/tests/specs/run/dom_readable_stream_from/main.ts +++ b/tests/specs/run/dom_readable_stream_from/main.ts @@ -1,4 +1,4 @@ const asyncIterable = (async function* () { - yield* [1, 2, 3]; + yield* [1, 2, 3]; })(); console.log(ReadableStream.from(asyncIterable));