2023-11-08 11:04:56 -07:00
|
|
|
#import <Streams/ReadableStream.idl>
|
|
|
|
|
2023-10-25 17:27:19 +02:00
|
|
|
// https://w3c.github.io/FileAPI/#blob-section
|
2023-09-03 02:00:01 +12:00
|
|
|
[Exposed=(Window,Worker), Serializable]
|
2022-07-10 18:31:17 +02:00
|
|
|
interface Blob {
|
|
|
|
constructor(optional sequence<BlobPart> blobParts, optional BlobPropertyBag options = {});
|
|
|
|
|
|
|
|
readonly attribute unsigned long long size;
|
|
|
|
readonly attribute DOMString type;
|
|
|
|
|
|
|
|
// slice Blob into byte-ranged chunks
|
2024-08-23 00:52:22 +01:00
|
|
|
Blob slice(optional [Clamp] long long start, optional [Clamp] long long end, optional DOMString contentType);
|
2022-07-10 18:31:17 +02:00
|
|
|
|
|
|
|
// read from the Blob.
|
2023-06-13 07:36:00 +12:00
|
|
|
[NewObject] ReadableStream stream();
|
2022-07-10 18:31:17 +02:00
|
|
|
[NewObject] Promise<USVString> text();
|
|
|
|
[NewObject] Promise<ArrayBuffer> arrayBuffer();
|
2024-07-23 23:48:01 -07:00
|
|
|
[NewObject] Promise<Uint8Array> bytes();
|
2022-07-10 18:31:17 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
enum EndingType { "transparent", "native" };
|
|
|
|
|
|
|
|
dictionary BlobPropertyBag {
|
|
|
|
DOMString type = "";
|
|
|
|
EndingType endings = "transparent";
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef (BufferSource or Blob or USVString) BlobPart;
|