| 497 | } |
| 498 | |
| 499 | export function buildReadableBinaryFile({ |
| 500 | name = 'file.bin', |
| 501 | contents = new Uint8Array(), |
| 502 | type = 'application/octet-stream', |
| 503 | }: ReadableBinaryFileBuilderOptions = {}): File { |
| 504 | const file = new File([copyBytes(contents)], name, { type }); |
| 505 | |
| 506 | Object.defineProperty(file, 'arrayBuffer', { |
| 507 | configurable: true, |
| 508 | value: () => readBlobAsArrayBuffer(file), |
| 509 | }); |
| 510 | |
| 511 | return file; |
| 512 | } |
| 513 | |
| 514 | export function readBlobAsArrayBuffer(blob: Blob): Promise<ArrayBuffer> { |
| 515 | return new Promise((resolve, reject) => { |