2024-04-06 14:02:28 -03:00
|
|
|
#import <DOM/AbortSignal.idl>
|
2023-06-18 06:57:07 -03:00
|
|
|
#import <Streams/QueuingStrategy.idl>
|
2023-04-09 05:26:48 -03:00
|
|
|
#import <Streams/ReadableStreamBYOBReader.idl>
|
2023-03-29 00:01:04 -03:00
|
|
|
#import <Streams/ReadableStreamDefaultReader.idl>
|
2024-04-06 14:02:28 -03:00
|
|
|
#import <Streams/WritableStream.idl>
|
|
|
|
|
|
2024-04-07 08:01:33 -03:00
|
|
|
dictionary ReadableWritablePair {
|
2024-09-10 04:21:16 -03:00
|
|
|
required ReadableStream readable;
|
|
|
|
|
required WritableStream writable;
|
2024-04-07 08:01:33 -03:00
|
|
|
};
|
|
|
|
|
|
2024-04-06 14:02:28 -03:00
|
|
|
dictionary StreamPipeOptions {
|
|
|
|
|
boolean preventClose = false;
|
|
|
|
|
boolean preventAbort = false;
|
|
|
|
|
boolean preventCancel = false;
|
|
|
|
|
AbortSignal signal;
|
|
|
|
|
};
|
2022-09-21 19:27:13 -03:00
|
|
|
|
2023-06-29 05:53:19 -03:00
|
|
|
// https://streams.spec.whatwg.org/#enumdef-readablestreamreadermode
|
|
|
|
|
enum ReadableStreamReaderMode { "byob" };
|
|
|
|
|
|
|
|
|
|
// https://streams.spec.whatwg.org/#dictdef-readablestreamgetreaderoptions
|
|
|
|
|
dictionary ReadableStreamGetReaderOptions {
|
|
|
|
|
ReadableStreamReaderMode mode;
|
|
|
|
|
};
|
|
|
|
|
|
2025-04-12 14:19:05 -03:00
|
|
|
// https://streams.spec.whatwg.org/#dictdef-readablestreamiteratoroptions
|
|
|
|
|
dictionary ReadableStreamIteratorOptions {
|
|
|
|
|
boolean preventCancel = false;
|
|
|
|
|
};
|
|
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
// https://streams.spec.whatwg.org/#readablestream
|
2025-04-12 14:19:05 -03:00
|
|
|
[Exposed=*, Transferable, DefinesAsyncIteratorReturn]
|
2022-09-21 19:27:13 -03:00
|
|
|
interface ReadableStream {
|
2023-06-18 06:57:07 -03:00
|
|
|
constructor(optional object underlyingSource, optional QueuingStrategy strategy = {});
|
2023-03-29 00:01:04 -03:00
|
|
|
|
2024-06-08 05:44:35 -03:00
|
|
|
static ReadableStream from(any asyncIterable);
|
2023-10-25 12:27:19 -03:00
|
|
|
|
2023-03-29 00:01:04 -03:00
|
|
|
readonly attribute boolean locked;
|
|
|
|
|
|
|
|
|
|
Promise<undefined> cancel(optional any reason);
|
2023-06-29 05:53:19 -03:00
|
|
|
ReadableStreamReader getReader(optional ReadableStreamGetReaderOptions options = {});
|
2024-04-07 08:01:33 -03:00
|
|
|
ReadableStream pipeThrough(ReadableWritablePair transform, optional StreamPipeOptions options = {});
|
2024-04-06 14:02:28 -03:00
|
|
|
Promise<undefined> pipeTo(WritableStream destination, optional StreamPipeOptions options = {});
|
2024-01-28 12:28:59 -03:00
|
|
|
sequence<ReadableStream> tee();
|
2023-10-25 12:27:19 -03:00
|
|
|
|
2025-04-12 14:19:05 -03:00
|
|
|
async iterable<any>(optional ReadableStreamIteratorOptions options = {});
|
2022-09-21 19:27:13 -03:00
|
|
|
};
|
2023-03-29 00:01:04 -03:00
|
|
|
|
2023-04-09 05:26:48 -03:00
|
|
|
typedef (ReadableStreamDefaultReader or ReadableStreamBYOBReader) ReadableStreamReader;
|