UNPKG

binconv

Version:

Binary converters for Blob, Uint8Array, ReadableStream, ArrayBuffer, string in JavaScript/TypeScript

36 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var BlobStreamController = (function () { function BlobStreamController(blob, size) { this.blob = blob; this.index = 0; this.chunkSize = size || 1024 * 64; } BlobStreamController.prototype.pull = function (controller) { var _this = this; return new Promise(function (resolve, reject) { var bytesLeft = _this.blob.size - _this.index; if (bytesLeft <= 0) { controller.close(); return resolve(); } var size = Math.min(_this.chunkSize, bytesLeft); var slice = _this.blob.slice(_this.index, _this.index + size); var reader = new FileReader(); reader.onload = function () { controller.enqueue(new Uint8Array(reader.result)); resolve(); }; reader.onerror = reject; reader.readAsArrayBuffer(slice); _this.index += size; }); }; return BlobStreamController; }()); function blobToReadableStream(blob, size) { return new ReadableStream(new BlobStreamController(blob, size)); } exports.blobToReadableStream = blobToReadableStream; exports.default = blobToReadableStream; //# sourceMappingURL=blobToReadableStream.js.map