mirror of
https://git.proxmox.com/git/rustc
synced 2026-03-29 05:30:47 +00:00
234 lines
7.1 KiB
Plaintext
234 lines
7.1 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* Copyright © WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative
|
|
* Commons Attribution 4.0 International License. To the extent portions of it are incorporated into
|
|
* source code, such portions in the source code are licensed under the BSD 3-Clause License
|
|
* instead.
|
|
*
|
|
* The origin of this IDL file is
|
|
* https://streams.spec.whatwg.org/#idl-index
|
|
* `[Throws]` attribute for each method was determined by manually checking if the method can throw
|
|
* an exception according to the spec.
|
|
* To avoid API breakage, `[Throws]` attributes are omitted from `ReadableStream` methods.
|
|
*/
|
|
|
|
[Exposed=*, Transferable]
|
|
interface ReadableStream {
|
|
constructor(optional object underlyingSource, optional QueuingStrategy strategy = {});
|
|
|
|
readonly attribute boolean locked;
|
|
|
|
Promise<undefined> cancel(optional any reason);
|
|
ReadableStreamReader getReader(optional ReadableStreamGetReaderOptions options = {});
|
|
ReadableStream pipeThrough(ReadableWritablePair transform, optional StreamPipeOptions options = {});
|
|
Promise<undefined> pipeTo(WritableStream destination, optional StreamPipeOptions options = {});
|
|
sequence<ReadableStream> tee();
|
|
|
|
async iterable<any>(optional ReadableStreamIteratorOptions options = {});
|
|
};
|
|
|
|
typedef (ReadableStreamDefaultReader or ReadableStreamBYOBReader) ReadableStreamReader;
|
|
|
|
enum ReadableStreamReaderMode { "byob" };
|
|
|
|
dictionary ReadableStreamGetReaderOptions {
|
|
ReadableStreamReaderMode mode;
|
|
};
|
|
|
|
dictionary ReadableStreamIteratorOptions {
|
|
boolean preventCancel = false;
|
|
};
|
|
|
|
dictionary ReadableWritablePair {
|
|
required ReadableStream readable;
|
|
required WritableStream writable;
|
|
};
|
|
|
|
dictionary StreamPipeOptions {
|
|
boolean preventClose = false;
|
|
boolean preventAbort = false;
|
|
boolean preventCancel = false;
|
|
AbortSignal signal;
|
|
};
|
|
|
|
dictionary UnderlyingSource {
|
|
UnderlyingSourceStartCallback start;
|
|
UnderlyingSourcePullCallback pull;
|
|
UnderlyingSourceCancelCallback cancel;
|
|
ReadableStreamType type;
|
|
[EnforceRange] unsigned long long autoAllocateChunkSize;
|
|
};
|
|
|
|
typedef (ReadableStreamDefaultController or ReadableByteStreamController) ReadableStreamController;
|
|
|
|
callback UnderlyingSourceStartCallback = any (ReadableStreamController controller);
|
|
callback UnderlyingSourcePullCallback = Promise<undefined> (ReadableStreamController controller);
|
|
callback UnderlyingSourceCancelCallback = Promise<undefined> (optional any reason);
|
|
|
|
enum ReadableStreamType { "bytes" };
|
|
|
|
interface mixin ReadableStreamGenericReader {
|
|
readonly attribute Promise<undefined> closed;
|
|
|
|
Promise<undefined> cancel(optional any reason);
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface ReadableStreamDefaultReader {
|
|
[Throws] constructor(ReadableStream stream);
|
|
|
|
Promise<ReadableStreamReadResult> read();
|
|
undefined releaseLock();
|
|
};
|
|
ReadableStreamDefaultReader includes ReadableStreamGenericReader;
|
|
|
|
dictionary ReadableStreamReadResult {
|
|
any value;
|
|
boolean done;
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface ReadableStreamBYOBReader {
|
|
[Throws] constructor(ReadableStream stream);
|
|
|
|
[RustNotWasmMemory]
|
|
Promise<ReadableStreamReadResult> read(ArrayBufferView view);
|
|
undefined releaseLock();
|
|
};
|
|
ReadableStreamBYOBReader includes ReadableStreamGenericReader;
|
|
|
|
[Exposed=*]
|
|
interface ReadableStreamDefaultController {
|
|
readonly attribute unrestricted double? desiredSize;
|
|
|
|
[Throws] undefined close();
|
|
[Throws] undefined enqueue(optional any chunk);
|
|
undefined error(optional any e);
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface ReadableByteStreamController {
|
|
readonly attribute ReadableStreamBYOBRequest? byobRequest;
|
|
readonly attribute unrestricted double? desiredSize;
|
|
|
|
[Throws] undefined close();
|
|
[Throws] undefined enqueue(ArrayBufferView chunk);
|
|
undefined error(optional any e);
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface ReadableStreamBYOBRequest {
|
|
readonly attribute ArrayBufferView? view;
|
|
|
|
[Throws] undefined respond([EnforceRange] unsigned long long bytesWritten);
|
|
[Throws] undefined respondWithNewView(ArrayBufferView view);
|
|
};
|
|
|
|
[Exposed=*, Transferable]
|
|
interface WritableStream {
|
|
[Throws] constructor(optional object underlyingSink, optional QueuingStrategy strategy = {});
|
|
|
|
readonly attribute boolean locked;
|
|
|
|
Promise<undefined> abort(optional any reason);
|
|
Promise<undefined> close();
|
|
[Throws] WritableStreamDefaultWriter getWriter();
|
|
};
|
|
|
|
dictionary UnderlyingSink {
|
|
UnderlyingSinkStartCallback start;
|
|
UnderlyingSinkWriteCallback write;
|
|
UnderlyingSinkCloseCallback close;
|
|
UnderlyingSinkAbortCallback abort;
|
|
any type;
|
|
};
|
|
|
|
callback UnderlyingSinkStartCallback = any (WritableStreamDefaultController controller);
|
|
callback UnderlyingSinkWriteCallback = Promise<undefined> (any chunk, WritableStreamDefaultController controller);
|
|
callback UnderlyingSinkCloseCallback = Promise<undefined> ();
|
|
callback UnderlyingSinkAbortCallback = Promise<undefined> (optional any reason);
|
|
|
|
[Exposed=*]
|
|
interface WritableStreamDefaultWriter {
|
|
[Throws] constructor(WritableStream stream);
|
|
|
|
readonly attribute Promise<undefined> closed;
|
|
[Throws] readonly attribute unrestricted double? desiredSize;
|
|
readonly attribute Promise<undefined> ready;
|
|
|
|
Promise<undefined> abort(optional any reason);
|
|
Promise<undefined> close();
|
|
undefined releaseLock();
|
|
Promise<undefined> write(optional any chunk);
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface WritableStreamDefaultController {
|
|
readonly attribute AbortSignal signal;
|
|
undefined error(optional any e);
|
|
};
|
|
|
|
[Exposed=*, Transferable]
|
|
interface TransformStream {
|
|
[Throws]
|
|
constructor(optional object transformer,
|
|
optional QueuingStrategy writableStrategy = {},
|
|
optional QueuingStrategy readableStrategy = {});
|
|
|
|
readonly attribute ReadableStream readable;
|
|
readonly attribute WritableStream writable;
|
|
};
|
|
|
|
dictionary Transformer {
|
|
TransformerStartCallback start;
|
|
TransformerTransformCallback transform;
|
|
TransformerFlushCallback flush;
|
|
any readableType;
|
|
any writableType;
|
|
};
|
|
|
|
callback TransformerStartCallback = any (TransformStreamDefaultController controller);
|
|
callback TransformerFlushCallback = Promise<undefined> (TransformStreamDefaultController controller);
|
|
callback TransformerTransformCallback = Promise<undefined> (any chunk, TransformStreamDefaultController controller);
|
|
|
|
[Exposed=*]
|
|
interface TransformStreamDefaultController {
|
|
readonly attribute unrestricted double? desiredSize;
|
|
|
|
[Throws] undefined enqueue(optional any chunk);
|
|
undefined error(optional any reason);
|
|
undefined terminate();
|
|
};
|
|
|
|
dictionary QueuingStrategy {
|
|
unrestricted double highWaterMark;
|
|
QueuingStrategySize size;
|
|
};
|
|
|
|
callback QueuingStrategySize = unrestricted double (any chunk);
|
|
|
|
dictionary QueuingStrategyInit {
|
|
required unrestricted double highWaterMark;
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface ByteLengthQueuingStrategy {
|
|
constructor(QueuingStrategyInit init);
|
|
|
|
readonly attribute unrestricted double highWaterMark;
|
|
readonly attribute Function size;
|
|
};
|
|
|
|
[Exposed=*]
|
|
interface CountQueuingStrategy {
|
|
constructor(QueuingStrategyInit init);
|
|
|
|
readonly attribute unrestricted double highWaterMark;
|
|
readonly attribute Function size;
|
|
};
|
|
|
|
interface mixin GenericTransformStream {
|
|
readonly attribute ReadableStream readable;
|
|
readonly attribute WritableStream writable;
|
|
};
|