declare module 'stream/web' {
|
// stub module, pending copy&paste from .d.ts or manual impl
|
// copy from lib.dom.d.ts
|
interface ReadableWritablePair<R = any, W = any> {
|
readable: ReadableStream<R>;
|
/**
|
* Provides a convenient, chainable way of piping this readable stream
|
* through a transform stream (or any other { writable, readable }
|
* pair). It simply pipes the stream into the writable side of the
|
* supplied pair, and returns the readable side for further use.
|
*
|
* Piping a stream will lock it for the duration of the pipe, preventing
|
* any other consumer from acquiring a reader.
|
*/
|
writable: WritableStream<W>;
|
}
|
interface StreamPipeOptions {
|
preventAbort?: boolean;
|
preventCancel?: boolean;
|
/**
|
* Pipes this readable stream to a given writable stream destination.
|
* The way in which the piping process behaves under various error
|
* conditions can be customized with a number of passed options. It
|
* returns a promise that fulfills when the piping process completes
|
* successfully, or rejects if any errors were encountered.
|
*
|
* Piping a stream will lock it for the duration of the pipe, preventing
|
* any other consumer from acquiring a reader.
|
*
|
* Errors and closures of the source and destination streams propagate
|
* as follows:
|
*
|
* An error in this source readable stream will abort destination,
|
* unless preventAbort is truthy. The returned promise will be rejected
|
* with the source's error, or with any error that occurs during
|
* aborting the destination.
|
*
|
* An error in destination will cancel this source readable stream,
|
* unless preventCancel is truthy. The returned promise will be rejected
|
* with the destination's error, or with any error that occurs during
|
* canceling the source.
|
*
|
* When this source readable stream closes, destination will be closed,
|
* unless preventClose is truthy. The returned promise will be fulfilled
|
* once this process completes, unless an error is encountered while
|
* closing the destination, in which case it will be rejected with that
|
* error.
|
*
|
* If destination starts out closed or closing, this source readable
|
* stream will be canceled, unless preventCancel is true. The returned
|
* promise will be rejected with an error indicating piping to a closed
|
* stream failed, or with any error that occurs during canceling the
|
* source.
|
*
|
* The signal option can be set to an AbortSignal to allow aborting an
|
* ongoing pipe operation via the corresponding AbortController. In this
|
* case, this source readable stream will be canceled, and destination
|
* aborted, unless the respective options preventCancel or preventAbort
|
* are set.
|
*/
|
preventClose?: boolean;
|
signal?: AbortSignal;
|
}
|
interface ReadableStreamGenericReader {
|
readonly closed: Promise<undefined>;
|
cancel(reason?: any): Promise<void>;
|
}
|
interface ReadableStreamDefaultReadValueResult<T> {
|
done: false;
|
value: T;
|
}
|
interface ReadableStreamDefaultReadDoneResult {
|
done: true;
|
value?: undefined;
|
}
|
type ReadableStreamController<T> = ReadableStreamDefaultController<T>;
|
type ReadableStreamDefaultReadResult<T> = ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult;
|
interface ReadableByteStreamControllerCallback {
|
(controller: ReadableByteStreamController): void | PromiseLike<void>;
|
}
|
interface UnderlyingSinkAbortCallback {
|
(reason?: any): void | PromiseLike<void>;
|
}
|
interface UnderlyingSinkCloseCallback {
|
(): void | PromiseLike<void>;
|
}
|
interface UnderlyingSinkStartCallback {
|
(controller: WritableStreamDefaultController): any;
|
}
|
interface UnderlyingSinkWriteCallback<W> {
|
(chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;
|
}
|
interface UnderlyingSourceCancelCallback {
|
(reason?: any): void | PromiseLike<void>;
|
}
|
interface UnderlyingSourcePullCallback<R> {
|
(controller: ReadableStreamController<R>): void | PromiseLike<void>;
|
}
|
interface UnderlyingSourceStartCallback<R> {
|
(controller: ReadableStreamController<R>): any;
|
}
|
interface TransformerFlushCallback<O> {
|
(controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
|
}
|
interface TransformerStartCallback<O> {
|
(controller: TransformStreamDefaultController<O>): any;
|
}
|
interface TransformerTransformCallback<I, O> {
|
(chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
|
}
|
interface UnderlyingByteSource {
|
autoAllocateChunkSize?: number;
|
cancel?: ReadableStreamErrorCallback;
|
pull?: ReadableByteStreamControllerCallback;
|
start?: ReadableByteStreamControllerCallback;
|
type: 'bytes';
|
}
|
interface UnderlyingSource<R = any> {
|
cancel?: UnderlyingSourceCancelCallback;
|
pull?: UnderlyingSourcePullCallback<R>;
|
start?: UnderlyingSourceStartCallback<R>;
|
type?: undefined;
|
}
|
interface UnderlyingSink<W = any> {
|
abort?: UnderlyingSinkAbortCallback;
|
close?: UnderlyingSinkCloseCallback;
|
start?: UnderlyingSinkStartCallback;
|
type?: undefined;
|
write?: UnderlyingSinkWriteCallback<W>;
|
}
|
interface ReadableStreamErrorCallback {
|
(reason: any): void | PromiseLike<void>;
|
}
|
/** This Streams API interface represents a readable stream of byte data. */
|
interface ReadableStream<R = any> {
|
readonly locked: boolean;
|
cancel(reason?: any): Promise<void>;
|
getReader(): ReadableStreamDefaultReader<R>;
|
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
|
pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
|
tee(): [ReadableStream<R>, ReadableStream<R>];
|
values(options?: { preventCancel?: boolean }): AsyncIterableIterator<R>;
|
[Symbol.asyncIterator](): AsyncIterableIterator<R>;
|
}
|
const ReadableStream: {
|
prototype: ReadableStream;
|
new (underlyingSource: UnderlyingByteSource, strategy?: QueuingStrategy<Uint8Array>): ReadableStream<Uint8Array>;
|
new <R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
|
};
|
interface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {
|
read(): Promise<ReadableStreamDefaultReadResult<R>>;
|
releaseLock(): void;
|
}
|
const ReadableStreamDefaultReader: {
|
prototype: ReadableStreamDefaultReader;
|
new <R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;
|
};
|
const ReadableStreamBYOBReader: any;
|
const ReadableStreamBYOBRequest: any;
|
interface ReadableByteStreamController {
|
readonly byobRequest: undefined;
|
readonly desiredSize: number | null;
|
close(): void;
|
enqueue(chunk: ArrayBufferView): void;
|
error(error?: any): void;
|
}
|
const ReadableByteStreamController: {
|
prototype: ReadableByteStreamController;
|
new (): ReadableByteStreamController;
|
};
|
interface ReadableStreamDefaultController<R = any> {
|
readonly desiredSize: number | null;
|
close(): void;
|
enqueue(chunk?: R): void;
|
error(e?: any): void;
|
}
|
const ReadableStreamDefaultController: {
|
prototype: ReadableStreamDefaultController;
|
new (): ReadableStreamDefaultController;
|
};
|
interface Transformer<I = any, O = any> {
|
flush?: TransformerFlushCallback<O>;
|
readableType?: undefined;
|
start?: TransformerStartCallback<O>;
|
transform?: TransformerTransformCallback<I, O>;
|
writableType?: undefined;
|
}
|
interface TransformStream<I = any, O = any> {
|
readonly readable: ReadableStream<O>;
|
readonly writable: WritableStream<I>;
|
}
|
const TransformStream: {
|
prototype: TransformStream;
|
new <I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;
|
};
|
interface TransformStreamDefaultController<O = any> {
|
readonly desiredSize: number | null;
|
enqueue(chunk?: O): void;
|
error(reason?: any): void;
|
terminate(): void;
|
}
|
const TransformStreamDefaultController: {
|
prototype: TransformStreamDefaultController;
|
new (): TransformStreamDefaultController;
|
};
|
/**
|
* 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 back pressure and queuing.
|
*/
|
interface WritableStream<W = any> {
|
readonly locked: boolean;
|
abort(reason?: any): Promise<void>;
|
close(): Promise<void>;
|
getWriter(): WritableStreamDefaultWriter<W>;
|
}
|
const WritableStream: {
|
prototype: WritableStream;
|
new <W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;
|
};
|
/**
|
* This Streams API interface is the object returned by
|
* WritableStream.getWriter() and once created locks the < writer to the
|
* WritableStream ensuring that no other streams can write to the underlying
|
* sink.
|
*/
|
interface WritableStreamDefaultWriter<W = any> {
|
readonly closed: Promise<undefined>;
|
readonly desiredSize: number | null;
|
readonly ready: Promise<undefined>;
|
abort(reason?: any): Promise<void>;
|
close(): Promise<void>;
|
releaseLock(): void;
|
write(chunk?: W): Promise<void>;
|
}
|
const WritableStreamDefaultWriter: {
|
prototype: WritableStreamDefaultWriter;
|
new <W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;
|
};
|
/**
|
* 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 manipulate.
|
*/
|
interface WritableStreamDefaultController {
|
error(e?: any): void;
|
}
|
const WritableStreamDefaultController: {
|
prototype: WritableStreamDefaultController;
|
new (): WritableStreamDefaultController;
|
};
|
interface QueuingStrategy<T = any> {
|
highWaterMark?: number;
|
size?: QueuingStrategySize<T>;
|
}
|
interface QueuingStrategySize<T = any> {
|
(chunk?: T): number;
|
}
|
interface QueuingStrategyInit {
|
/**
|
* Creates a new ByteLengthQueuingStrategy with the provided high water
|
* mark.
|
*
|
* Note that the provided high water mark will not be validated ahead of
|
* time. Instead, if it is negative, NaN, or not a number, the resulting
|
* ByteLengthQueuingStrategy will cause the corresponding stream
|
* constructor to throw.
|
*/
|
highWaterMark: number;
|
}
|
/**
|
* This Streams API interface provides a built-in byte length queuing
|
* strategy that can be used when constructing streams.
|
*/
|
interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {
|
readonly highWaterMark: number;
|
readonly size: QueuingStrategySize<ArrayBufferView>;
|
}
|
const ByteLengthQueuingStrategy: {
|
prototype: ByteLengthQueuingStrategy;
|
new (init: QueuingStrategyInit): ByteLengthQueuingStrategy;
|
};
|
/**
|
* This Streams API interface provides a built-in byte length queuing
|
* strategy that can be used when constructing streams.
|
*/
|
interface CountQueuingStrategy extends QueuingStrategy {
|
readonly highWaterMark: number;
|
readonly size: QueuingStrategySize;
|
}
|
const CountQueuingStrategy: {
|
prototype: CountQueuingStrategy;
|
new (init: QueuingStrategyInit): CountQueuingStrategy;
|
};
|
interface TextEncoderStream {
|
/** Returns "utf-8". */
|
readonly encoding: 'utf-8';
|
readonly readable: ReadableStream<Uint8Array>;
|
readonly writable: WritableStream<string>;
|
readonly [Symbol.toStringTag]: string;
|
}
|
const TextEncoderStream: {
|
prototype: TextEncoderStream;
|
new (): TextEncoderStream;
|
};
|
interface TextDecoderOptions {
|
fatal?: boolean;
|
ignoreBOM?: boolean;
|
}
|
type BufferSource = ArrayBufferView | ArrayBuffer;
|
interface TextDecoderStream {
|
/** Returns encoding's name, lower cased. */
|
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;
|
readonly readable: ReadableStream<string>;
|
readonly writable: WritableStream<BufferSource>;
|
readonly [Symbol.toStringTag]: string;
|
}
|
const TextDecoderStream: {
|
prototype: TextDecoderStream;
|
new (label?: string, options?: TextDecoderOptions): TextDecoderStream;
|
};
|
}
|
declare module 'node:stream/web' {
|
export * from 'stream/web';
|
}
|