@beenotung/tslib
Version:
utils library in Typescript
42 lines • 1.57 kB
JavaScript
;
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