UNPKG

@loaders.gl/core

Version:

Framework-independent loaders for 3D graphics formats

120 lines (101 loc) 3.88 kB
import _regeneratorRuntime from "@babel/runtime/regenerator"; import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import assert from '../utils/assert'; import { isLoaderObject } from './loader-utils/normalize-loader'; import { mergeLoaderAndUserOptions } from './loader-utils/normalize-options'; import { getUrlFromData } from './loader-utils/get-data'; import { getArrayBufferOrStringFromData } from './loader-utils/get-data'; import { getLoaderContext } from './loader-utils/get-loader-context'; import parseWithWorker from './loader-utils/parse-with-worker'; import { selectLoader } from './select-loader'; export function parse(_x, _x2, _x3, _x4) { return _parse.apply(this, arguments); } function _parse() { _parse = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(data, loaders, options, url) { var autoUrl, loader, context; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) { url = options; options = loaders; loaders = null; } options = options || {}; autoUrl = getUrlFromData(data, url); loader = selectLoader(loaders, autoUrl, data); options = mergeLoaderAndUserOptions(options, loader); context = 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 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee2(loader, data, options, context) { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return 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 parseWithWorker(loader.worker, loader.name, data, options, context, loader); case 15: return _context2.abrupt("return", _context2.sent); case 16: return _context2.abrupt("return", assert(false)); case 17: case "end": return _context2.stop(); } } }, _callee2); })); return _parseWithLoader.apply(this, arguments); } //# sourceMappingURL=parse.js.map