@loaders.gl/core
Version:
Framework-independent loaders for 3D graphics formats
137 lines (106 loc) • 4.28 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parse = parse;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _assert = _interopRequireDefault(require("../utils/assert"));
var _normalizeLoader = require("./loader-utils/normalize-loader");
var _normalizeOptions = require("./loader-utils/normalize-options");
var _getData = require("./loader-utils/get-data");
var _getLoaderContext = require("./loader-utils/get-loader-context");
var _parseWithWorker = _interopRequireDefault(require("./loader-utils/parse-with-worker"));
var _selectLoader = require("./select-loader");
function parse(_x, _x2, _x3, _x4) {
return _parse.apply(this, arguments);
}
function _parse() {
_parse = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(data, loaders, options, url) {
var autoUrl, loader, context;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (loaders && !Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
url = options;
options = loaders;
loaders = null;
}
options = options || {};
autoUrl = (0, _getData.getUrlFromData)(data, url);
loader = (0, _selectLoader.selectLoader)(loaders, autoUrl, data);
options = (0, _normalizeOptions.mergeLoaderAndUserOptions)(options, loader);
context = (0, _getLoaderContext.getLoaderContext)({
url: autoUrl,
parse: parse
}, options);
_context.next = 8;
return parseWithLoader(loader, data, options, context);
case 8:
return _context.abrupt("return", _context.sent);
case 9:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _parse.apply(this, arguments);
}
function parseWithLoader(_x5, _x6, _x7, _x8) {
return _parseWithLoader.apply(this, arguments);
}
function _parseWithLoader() {
_parseWithLoader = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(loader, data, options, context) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0, _getData.getArrayBufferOrStringFromData)(data, loader);
case 2:
data = _context2.sent;
if (!(loader.parseTextSync && typeof data === 'string')) {
_context2.next = 6;
break;
}
options.dataType = 'text';
return _context2.abrupt("return", loader.parseTextSync(data, options, context, loader));
case 6:
if (!loader.parse) {
_context2.next = 10;
break;
}
_context2.next = 9;
return loader.parse(data, options, context, loader);
case 9:
return _context2.abrupt("return", _context2.sent);
case 10:
if (!loader.parseSync) {
_context2.next = 12;
break;
}
return _context2.abrupt("return", loader.parseSync(data, options, context, loader));
case 12:
if (!loader.worker) {
_context2.next = 16;
break;
}
_context2.next = 15;
return (0, _parseWithWorker["default"])(loader.worker, loader.name, data, options, context, loader);
case 15:
return _context2.abrupt("return", _context2.sent);
case 16:
return _context2.abrupt("return", (0, _assert["default"])(false));
case 17:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return _parseWithLoader.apply(this, arguments);
}
//# sourceMappingURL=parse.js.map