UNPKG

@beenotung/tslib

Version:
38 lines (37 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.blobToBuffer = blobToBuffer; exports.blobToText = blobToText; exports.blobToString = blobToString; exports.arrayBufferToString = arrayBufferToString; const arraybuffer_to_buffer_1 = require("./arraybuffer-to-buffer"); async function blobToBuffer(blob) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => resolve((0, arraybuffer_to_buffer_1.arrayBufferToBuffer)(reader.result)); reader.onerror = e => reject(e); reader.readAsArrayBuffer(blob); }); } function blobToText(blob) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => { if (reader.result === null) { return reject('unexpected null reader.result'); } return resolve(reader.result); }; reader.onerror = e => reject(e); reader.readAsText(blob); }); } function blobToString(blob) { return blobToText(blob).then(x => typeof x === 'string' ? x : arrayBufferToString(x)); } function arrayBufferToString(array, encode) { if (typeof array === 'string') { return array; } return new TextDecoder(encode).decode(array); }