@loaders.gl/core
Version:
Framework-independent loaders for 3D graphics formats
588 lines (460 loc) • 16.8 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.forEach = forEach;
exports.concatenateAsyncIterator = concatenateAsyncIterator;
exports.textDecoderAsyncIterator = textDecoderAsyncIterator;
exports.textEncoderAsyncIterator = textEncoderAsyncIterator;
exports.lineAsyncIterator = lineAsyncIterator;
exports.numberedLineAsyncIterator = numberedLineAsyncIterator;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
var _memoryCopyUtils = require("../javascript-utils/memory-copy-utils");
function forEach(_x7, _x8) {
return _forEach.apply(this, arguments);
}
function _forEach() {
_forEach = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(iterator, visitor) {
var _ref, done, value, cancel;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
if (!true) {
_context5.next = 14;
break;
}
_context5.next = 3;
return iterator.next();
case 3:
_ref = _context5.sent;
done = _ref.done;
value = _ref.value;
if (!done) {
_context5.next = 9;
break;
}
iterator["return"]();
return _context5.abrupt("return");
case 9:
cancel = visitor(value);
if (!cancel) {
_context5.next = 12;
break;
}
return _context5.abrupt("return");
case 12:
_context5.next = 0;
break;
case 14:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return _forEach.apply(this, arguments);
}
function concatenateAsyncIterator(_x9) {
return _concatenateAsyncIterator.apply(this, arguments);
}
function _concatenateAsyncIterator() {
_concatenateAsyncIterator = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(asyncIterator) {
var arrayBuffer, string, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
arrayBuffer = new ArrayBuffer();
string = '';
_iteratorNormalCompletion = true;
_didIteratorError = false;
_context6.prev = 4;
_iterator = (0, _asyncIterator2["default"])(asyncIterator);
case 6:
_context6.next = 8;
return _iterator.next();
case 8:
_step = _context6.sent;
_iteratorNormalCompletion = _step.done;
_context6.next = 12;
return _step.value;
case 12:
_value = _context6.sent;
if (_iteratorNormalCompletion) {
_context6.next = 19;
break;
}
chunk = _value;
if (typeof chunk === 'string') {
string += chunk;
} else {
arrayBuffer = (0, _memoryCopyUtils.concatenateArrayBuffers)(arrayBuffer, chunk);
}
case 16:
_iteratorNormalCompletion = true;
_context6.next = 6;
break;
case 19:
_context6.next = 25;
break;
case 21:
_context6.prev = 21;
_context6.t0 = _context6["catch"](4);
_didIteratorError = true;
_iteratorError = _context6.t0;
case 25:
_context6.prev = 25;
_context6.prev = 26;
if (!(!_iteratorNormalCompletion && _iterator["return"] != null)) {
_context6.next = 30;
break;
}
_context6.next = 30;
return _iterator["return"]();
case 30:
_context6.prev = 30;
if (!_didIteratorError) {
_context6.next = 33;
break;
}
throw _iteratorError;
case 33:
return _context6.finish(30);
case 34:
return _context6.finish(25);
case 35:
return _context6.abrupt("return", string || arrayBuffer);
case 36:
case "end":
return _context6.stop();
}
}
}, _callee6, null, [[4, 21, 25, 35], [26,, 30, 34]]);
}));
return _concatenateAsyncIterator.apply(this, arguments);
}
function textDecoderAsyncIterator(_x, _x2) {
return _textDecoderAsyncIterator.apply(this, arguments);
}
function _textDecoderAsyncIterator() {
_textDecoderAsyncIterator = (0, _wrapAsyncGenerator2["default"])(_regenerator["default"].mark(function _callee(arrayBufferIterator, options) {
var textDecoder, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _value2, arrayBuffer;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
textDecoder = new TextDecoder(options);
_iteratorNormalCompletion2 = true;
_didIteratorError2 = false;
_context.prev = 3;
_iterator2 = (0, _asyncIterator2["default"])(arrayBufferIterator);
case 5:
_context.next = 7;
return (0, _awaitAsyncGenerator2["default"])(_iterator2.next());
case 7:
_step2 = _context.sent;
_iteratorNormalCompletion2 = _step2.done;
_context.next = 11;
return (0, _awaitAsyncGenerator2["default"])(_step2.value);
case 11:
_value2 = _context.sent;
if (_iteratorNormalCompletion2) {
_context.next = 19;
break;
}
arrayBuffer = _value2;
_context.next = 16;
return typeof arrayBuffer === 'string' ? arrayBuffer : textDecoder.decode(arrayBuffer, {
stream: true
});
case 16:
_iteratorNormalCompletion2 = true;
_context.next = 5;
break;
case 19:
_context.next = 25;
break;
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](3);
_didIteratorError2 = true;
_iteratorError2 = _context.t0;
case 25:
_context.prev = 25;
_context.prev = 26;
if (!(!_iteratorNormalCompletion2 && _iterator2["return"] != null)) {
_context.next = 30;
break;
}
_context.next = 30;
return (0, _awaitAsyncGenerator2["default"])(_iterator2["return"]());
case 30:
_context.prev = 30;
if (!_didIteratorError2) {
_context.next = 33;
break;
}
throw _iteratorError2;
case 33:
return _context.finish(30);
case 34:
return _context.finish(25);
case 35:
case "end":
return _context.stop();
}
}
}, _callee, null, [[3, 21, 25, 35], [26,, 30, 34]]);
}));
return _textDecoderAsyncIterator.apply(this, arguments);
}
function textEncoderAsyncIterator(_x3, _x4) {
return _textEncoderAsyncIterator.apply(this, arguments);
}
function _textEncoderAsyncIterator() {
_textEncoderAsyncIterator = (0, _wrapAsyncGenerator2["default"])(_regenerator["default"].mark(function _callee2(textIterator, options) {
var textEncoder, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, _value3, text;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
textEncoder = new TextEncoder();
_iteratorNormalCompletion3 = true;
_didIteratorError3 = false;
_context2.prev = 3;
_iterator3 = (0, _asyncIterator2["default"])(textIterator);
case 5:
_context2.next = 7;
return (0, _awaitAsyncGenerator2["default"])(_iterator3.next());
case 7:
_step3 = _context2.sent;
_iteratorNormalCompletion3 = _step3.done;
_context2.next = 11;
return (0, _awaitAsyncGenerator2["default"])(_step3.value);
case 11:
_value3 = _context2.sent;
if (_iteratorNormalCompletion3) {
_context2.next = 19;
break;
}
text = _value3;
_context2.next = 16;
return typeof text === 'string' ? textEncoder.encode(text) : text;
case 16:
_iteratorNormalCompletion3 = true;
_context2.next = 5;
break;
case 19:
_context2.next = 25;
break;
case 21:
_context2.prev = 21;
_context2.t0 = _context2["catch"](3);
_didIteratorError3 = true;
_iteratorError3 = _context2.t0;
case 25:
_context2.prev = 25;
_context2.prev = 26;
if (!(!_iteratorNormalCompletion3 && _iterator3["return"] != null)) {
_context2.next = 30;
break;
}
_context2.next = 30;
return (0, _awaitAsyncGenerator2["default"])(_iterator3["return"]());
case 30:
_context2.prev = 30;
if (!_didIteratorError3) {
_context2.next = 33;
break;
}
throw _iteratorError3;
case 33:
return _context2.finish(30);
case 34:
return _context2.finish(25);
case 35:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[3, 21, 25, 35], [26,, 30, 34]]);
}));
return _textEncoderAsyncIterator.apply(this, arguments);
}
function lineAsyncIterator(_x5) {
return _lineAsyncIterator.apply(this, arguments);
}
function _lineAsyncIterator() {
_lineAsyncIterator = (0, _wrapAsyncGenerator2["default"])(_regenerator["default"].mark(function _callee3(textIterator) {
var previous, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, _value4, textChunk, eolIndex, line;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
previous = '';
_iteratorNormalCompletion4 = true;
_didIteratorError4 = false;
_context3.prev = 3;
_iterator4 = (0, _asyncIterator2["default"])(textIterator);
case 5:
_context3.next = 7;
return (0, _awaitAsyncGenerator2["default"])(_iterator4.next());
case 7:
_step4 = _context3.sent;
_iteratorNormalCompletion4 = _step4.done;
_context3.next = 11;
return (0, _awaitAsyncGenerator2["default"])(_step4.value);
case 11:
_value4 = _context3.sent;
if (_iteratorNormalCompletion4) {
_context3.next = 26;
break;
}
textChunk = _value4;
previous += textChunk;
eolIndex = void 0;
case 16:
if (!((eolIndex = previous.indexOf('\n')) >= 0)) {
_context3.next = 23;
break;
}
line = previous.slice(0, eolIndex + 1);
previous = previous.slice(eolIndex + 1);
_context3.next = 21;
return line;
case 21:
_context3.next = 16;
break;
case 23:
_iteratorNormalCompletion4 = true;
_context3.next = 5;
break;
case 26:
_context3.next = 32;
break;
case 28:
_context3.prev = 28;
_context3.t0 = _context3["catch"](3);
_didIteratorError4 = true;
_iteratorError4 = _context3.t0;
case 32:
_context3.prev = 32;
_context3.prev = 33;
if (!(!_iteratorNormalCompletion4 && _iterator4["return"] != null)) {
_context3.next = 37;
break;
}
_context3.next = 37;
return (0, _awaitAsyncGenerator2["default"])(_iterator4["return"]());
case 37:
_context3.prev = 37;
if (!_didIteratorError4) {
_context3.next = 40;
break;
}
throw _iteratorError4;
case 40:
return _context3.finish(37);
case 41:
return _context3.finish(32);
case 42:
if (!(previous.length > 0)) {
_context3.next = 45;
break;
}
_context3.next = 45;
return previous;
case 45:
case "end":
return _context3.stop();
}
}
}, _callee3, null, [[3, 28, 32, 42], [33,, 37, 41]]);
}));
return _lineAsyncIterator.apply(this, arguments);
}
function numberedLineAsyncIterator(_x6) {
return _numberedLineAsyncIterator.apply(this, arguments);
}
function _numberedLineAsyncIterator() {
_numberedLineAsyncIterator = (0, _wrapAsyncGenerator2["default"])(_regenerator["default"].mark(function _callee4(lineIterator) {
var counter, _iteratorNormalCompletion5, _didIteratorError5, _iteratorError5, _iterator5, _step5, _value5, line;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
counter = 1;
_iteratorNormalCompletion5 = true;
_didIteratorError5 = false;
_context4.prev = 3;
_iterator5 = (0, _asyncIterator2["default"])(lineIterator);
case 5:
_context4.next = 7;
return (0, _awaitAsyncGenerator2["default"])(_iterator5.next());
case 7:
_step5 = _context4.sent;
_iteratorNormalCompletion5 = _step5.done;
_context4.next = 11;
return (0, _awaitAsyncGenerator2["default"])(_step5.value);
case 11:
_value5 = _context4.sent;
if (_iteratorNormalCompletion5) {
_context4.next = 20;
break;
}
line = _value5;
_context4.next = 16;
return {
counter: counter,
line: line
};
case 16:
counter++;
case 17:
_iteratorNormalCompletion5 = true;
_context4.next = 5;
break;
case 20:
_context4.next = 26;
break;
case 22:
_context4.prev = 22;
_context4.t0 = _context4["catch"](3);
_didIteratorError5 = true;
_iteratorError5 = _context4.t0;
case 26:
_context4.prev = 26;
_context4.prev = 27;
if (!(!_iteratorNormalCompletion5 && _iterator5["return"] != null)) {
_context4.next = 31;
break;
}
_context4.next = 31;
return (0, _awaitAsyncGenerator2["default"])(_iterator5["return"]());
case 31:
_context4.prev = 31;
if (!_didIteratorError5) {
_context4.next = 34;
break;
}
throw _iteratorError5;
case 34:
return _context4.finish(31);
case 35:
return _context4.finish(26);
case 36:
case "end":
return _context4.stop();
}
}
}, _callee4, null, [[3, 22, 26, 36], [27,, 31, 35]]);
}));
return _numberedLineAsyncIterator.apply(this, arguments);
}
//# sourceMappingURL=async-iterator-utils.js.map