UNPKG

668 BJavaScriptView Raw
1// @flow strict-local
2
3import type {Blob} from '@parcel/types';
4
5import {bufferStream} from '../';
6import {Readable} from 'stream';
7
8export function blobToBuffer(blob: Blob): Promise<Buffer> {
9 if (blob instanceof Readable) {
10 return bufferStream(blob);
11 } else if (blob instanceof Buffer) {
12 return Promise.resolve(Buffer.from(blob));
13 } else {
14 return Promise.resolve(Buffer.from(blob, 'utf8'));
15 }
16}
17
18export async function blobToString(blob: Blob): Promise<string> {
19 if (blob instanceof Readable) {
20 return (await bufferStream(blob)).toString();
21 } else if (blob instanceof Buffer) {
22 return blob.toString();
23 } else {
24 return blob;
25 }
26}