UNPKG

loaders.gl

Version:

Framework-independent loaders for 3D graphics formats

67 lines (52 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadFile = loadFile; exports.loadBinary = loadBinary; var _d3Request = require("d3-request"); function loadFile(url, loader) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (loader.parseBinary) { return loadBinary(url).then(function (data) { return loader.parseBinary(data, options); }); } if (loader.parseText) { return (0, _d3Request.request)(url).then(function (text) { return loader.parseText(text, options); }); } return Promise.reject(new Error("Could not load ".concat(url, " using ").concat(loader.name, " loader"))); } /** * loads binary data * @param {string} url * @return {Promise} promise that resolves to the binary data */ /* global XMLHttpRequest */ function loadBinary(url) { var request = null; var promise = new Promise(function (resolve, reject) { request = new XMLHttpRequest(); try { request.open('GET', url, true); request.responseType = 'arraybuffer'; request.onload = function () { if (request.status === 200) { resolve(request.response); } reject(new Error('Could not get binary data')); }; request.onerror = function (error) { return reject(error); }; request.send(); } catch (error) { reject(error); } }); // Make abort() available promise.abort = request.abort.bind(request); return promise; } //# sourceMappingURL=loader.js.map