UNPKG

@beenotung/tslib

Version:
42 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.arrayBufferToString = exports.blobToString = exports.blobToText = exports.blobToBuffer = void 0; const tslib_1 = require("tslib"); const arraybuffer_to_buffer_1 = require("./arraybuffer-to-buffer"); function blobToBuffer(blob) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => resolve(arraybuffer_to_buffer_1.arrayBufferToBuffer(reader.result)); reader.onerror = e => reject(e); reader.readAsArrayBuffer(blob); }); }); } exports.blobToBuffer = blobToBuffer; 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); }); } exports.blobToText = blobToText; function blobToString(blob) { return blobToText(blob).then(x => typeof x === 'string' ? x : arrayBufferToString(x)); } exports.blobToString = blobToString; function arrayBufferToString(array, encode) { if (typeof array === 'string') { return array; } return new TextDecoder(encode).decode(array); } exports.arrayBufferToString = arrayBufferToString; //# sourceMappingURL=blob.js.map