UNPKG

@kibeo/loaders.gl-textures

Version:

Framework-independent loaders for compressed and super compressed (basis) textures

127 lines (102 loc) 3.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.loadBasisModule = loadBasisModule; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _loaders = require("@kibeo/loaders.gl-worker-utils"); var loadBasisPromise; function loadBasisModule(_x) { return _loadBasisModule.apply(this, arguments); } function _loadBasisModule() { _loadBasisModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) { var modules; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: modules = options.modules || {}; if (!modules.basis) { _context.next = 3; break; } return _context.abrupt("return", modules.basis); case 3: loadBasisPromise = loadBasisPromise || loadBasis(options); _context.next = 6; return loadBasisPromise; case 6: return _context.abrupt("return", _context.sent); case 7: case "end": return _context.stop(); } } }, _callee); })); return _loadBasisModule.apply(this, arguments); } function loadBasis(_x2) { return _loadBasis.apply(this, arguments); } function _loadBasis() { _loadBasis = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) { var BASIS, wasmBinary, _yield$Promise$all, _yield$Promise$all2; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: BASIS = null; wasmBinary = null; _context2.t0 = Promise; _context2.next = 5; return (0, _loaders.loadLibrary)('basis_transcoder.js', 'textures', options); case 5: _context2.t1 = _context2.sent; _context2.next = 8; return (0, _loaders.loadLibrary)('basis_transcoder.wasm', 'textures', options); case 8: _context2.t2 = _context2.sent; _context2.t3 = [_context2.t1, _context2.t2]; _context2.next = 12; return _context2.t0.all.call(_context2.t0, _context2.t3); case 12: _yield$Promise$all = _context2.sent; _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2); BASIS = _yield$Promise$all2[0]; wasmBinary = _yield$Promise$all2[1]; BASIS = BASIS || globalThis.BASIS; _context2.next = 19; return initializeBasisModule(BASIS, wasmBinary); case 19: return _context2.abrupt("return", _context2.sent); case 20: case "end": return _context2.stop(); } } }, _callee2); })); return _loadBasis.apply(this, arguments); } function initializeBasisModule(BasisModule, wasmBinary) { var options = {}; if (wasmBinary) { options.wasmBinary = wasmBinary; } return new Promise(function (resolve) { BasisModule(options).then(function (module) { var BasisFile = module.BasisFile, initializeBasis = module.initializeBasis; initializeBasis(); resolve({ BasisFile: BasisFile }); }); }); } //# sourceMappingURL=basis-module-loader.js.map