UNPKG

loaders.gl

Version:

Framework-independent loaders for 3D graphics formats

77 lines (58 loc) 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toArrayBuffer = toArrayBuffer; exports.toBuffer = toBuffer; exports.blobToArrayBuffer = blobToArrayBuffer; var _assert = _interopRequireDefault(require("./assert")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* global FileReader, Blob, ArrayBuffer, Buffer */ function toArrayBuffer(binaryData) { if (binaryData instanceof ArrayBuffer) { return binaryData; } if (typeof Blob !== 'undefined' && binaryData instanceof Blob) { return blobToArrayBuffer(binaryData); } // if (ArrayBuffer.isView(binaryData)) { // return binaryData.buffer; // } return nodeBufferToArrayBuffer(binaryData); // assert(false); // return null; } // Convert (copy) ArrayBuffer to Buffer function toBuffer(binaryData) { if (ArrayBuffer.isView(binaryData)) { binaryData = binaryData.buffer; } if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) { /* global Buffer */ var buffer = new Buffer(binaryData.byteLength); var view = new Uint8Array(binaryData); for (var i = 0; i < buffer.length; ++i) { buffer[i] = view[i]; } return buffer; } (0, _assert.default)(false); return null; } // Helper functions function blobToArrayBuffer(blob) { return new Promise(function (resolve, reject) { var arrayBuffer; var fileReader = new FileReader(); fileReader.onload = function (event) { arrayBuffer = event.target.result; }; fileReader.onloadend = function (event) { return resolve(arrayBuffer); }; fileReader.onerror = reject; fileReader.readAsArrayBuffer(blob); }); } function nodeBufferToArrayBuffer(buffer) { // TODO - per docs we should just be able to call buffer.buffer, but there are issues var typedArray = new Uint8Array(buffer); return typedArray.buffer; } //# sourceMappingURL=binary-utils.js.map