File
Blob: src/worker/common/webtypes.ts
| 1 | export function asBodyInit(bytes: Uint8Array): BodyInit { |
| 2 | return bytes as unknown as BodyInit; |
| 3 | } |
| 4 | |
| 5 | export function asBlobPart(bytes: Uint8Array): BlobPart { |
| 6 | return bytes as unknown as BlobPart; |
| 7 | } |
| 8 | |
| 9 | export function asBufferSource(bytes: Uint8Array): BufferSource { |
| 10 | return bytes as unknown as BufferSource; |
| 11 | } |
| 12 | |
| 13 | export function createBlobFromBytes(bytes: Uint8Array): Blob { |
| 14 | return new Blob([asBlobPart(bytes)]); |
| 15 | } |
| 16 | |
| 17 | export function asByteTransformStream( |
| 18 | stream: CompressionStream | DecompressionStream |
| 19 | ): TransformStream<Uint8Array, Uint8Array> { |
| 20 | return stream as unknown as TransformStream<Uint8Array, Uint8Array>; |
| 21 | } |
| 22 | |
| 23 | export function createDigestStream(algorithm: string): WritableStream<Uint8Array> & { |
| 24 | digest: Promise<ArrayBuffer>; |
| 25 | getWriter(): WritableStreamDefaultWriter<Uint8Array>; |
| 26 | } { |
| 27 | const DigestCtor = (crypto as Crypto & { DigestStream: typeof DigestStream }).DigestStream; |
| 28 | return new DigestCtor(algorithm) as WritableStream<Uint8Array> & { |
| 29 | digest: Promise<ArrayBuffer>; |
| 30 | getWriter(): WritableStreamDefaultWriter<Uint8Array>; |
| 31 | }; |
| 32 | } |