@loaders.gl/core
Version:
Framework-independent loaders for 3D graphics formats
1,157 lines (911 loc) • 114 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/bundle.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../../node_modules/process/browser.js":
/*!************************************************************************!*\
!*** /Users/xintongxia/dev/loaders.gl/node_modules/process/browser.js ***!
\************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
// shim for using process in browser
var process = module.exports = {};
// cached from whatever global is present so that test runners that stub it
// don't break things. But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals. It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout;
var cachedClearTimeout;
function defaultSetTimout() {
throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
throw new Error('clearTimeout has not been defined');
}
(function () {
try {
if (typeof setTimeout === 'function') {
cachedSetTimeout = setTimeout;
} else {
cachedSetTimeout = defaultSetTimout;
}
} catch (e) {
cachedSetTimeout = defaultSetTimout;
}
try {
if (typeof clearTimeout === 'function') {
cachedClearTimeout = clearTimeout;
} else {
cachedClearTimeout = defaultClearTimeout;
}
} catch (e) {
cachedClearTimeout = defaultClearTimeout;
}
} ())
function runTimeout(fun) {
if (cachedSetTimeout === setTimeout) {
//normal enviroments in sane situations
return setTimeout(fun, 0);
}
// if setTimeout wasn't available but was latter defined
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
cachedSetTimeout = setTimeout;
return setTimeout(fun, 0);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun, 0);
} catch(e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null, fun, 0);
} catch(e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this, fun, 0);
}
}
}
function runClearTimeout(marker) {
if (cachedClearTimeout === clearTimeout) {
//normal enviroments in sane situations
return clearTimeout(marker);
}
// if clearTimeout wasn't available but was latter defined
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
cachedClearTimeout = clearTimeout;
return clearTimeout(marker);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);
} catch (e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedClearTimeout.call(null, marker);
} catch (e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this, marker);
}
}
}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
if (!draining || !currentQueue) {
return;
}
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
} else {
queueIndex = -1;
}
if (queue.length) {
drainQueue();
}
}
function drainQueue() {
if (draining) {
return;
}
var timeout = runTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
while(len) {
currentQueue = queue;
queue = [];
while (++queueIndex < len) {
if (currentQueue) {
currentQueue[queueIndex].run();
}
}
queueIndex = -1;
len = queue.length;
}
currentQueue = null;
draining = false;
runClearTimeout(timeout);
}
process.nextTick = function (fun) {
var args = new Array(arguments.length - 1);
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args[i - 1] = arguments[i];
}
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
runTimeout(drainQueue);
}
};
// v8 likes predictible objects
function Item(fun, array) {
this.fun = fun;
this.array = array;
}
Item.prototype.run = function () {
this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};
function noop() {}
process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.prependListener = noop;
process.prependOnceListener = noop;
process.listeners = function (name) { return [] }
process.binding = function (name) {
throw new Error('process.binding is not supported');
};
process.cwd = function () { return '/' };
process.chdir = function (dir) {
throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };
/***/ }),
/***/ "../../node_modules/webpack/buildin/global.js":
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || new Function("return this")();
} catch (e) {
// This works if the window reference is available
if (typeof window === "object") g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }),
/***/ "./src/bundle.js":
/*!***********************!*\
!*** ./src/bundle.js ***!
\***********************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/* global window, global */
const moduleExports = __webpack_require__(/*! ./index */ "./src/index.js");
const _global = typeof window === 'undefined' ? global : window;
_global.loaders = _global.loaders || {};
module.exports = Object.assign(_global.loaders, moduleExports);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ "../../node_modules/webpack/buildin/global.js")))
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*! exports provided: path, setPathPrefix, getPathPrefix, resolvePath, fetchFile, readFileSync, writeFile, writeFileSync, _getErrorMessageFromResponseSync, _getErrorMessageFromResponse, registerLoaders, parse, parseSync, parseInBatches, parseInBatchesSync, load, loadInBatches, encode, encodeSync, encodeInBatches, save, saveSync, isPromise, isIterable, isAsyncIterable, isIterator, isFetchResponse, isReadableStream, isWritableStream, toArrayBuffer, getStreamIterator, forEach, concatenateAsyncIterator, lineAsyncIterator, textDecoderAsyncIterator, numberedLineAsyncIterator, isBrowser, self, window, global, document, assert, _selectLoader, _WorkerThread, _WorkerFarm, _WorkerPool, _fetchProgress, _unregisterLoaders, TextEncoder, TextDecoder, createReadStream, parseFile, parseFileSync, loadFile */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextEncoder", function() { return TextEncoder; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDecoder", function() { return TextDecoder; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createReadStream", function() { return createReadStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFile", function() { return parseFile; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFileSync", function() { return parseFileSync; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadFile", function() { return loadFile; });
/* harmony import */ var _lib_parse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/parse */ "./src/lib/parse.js");
/* harmony import */ var _lib_parse_sync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/parse-sync */ "./src/lib/parse-sync.js");
/* harmony import */ var _lib_fetch_fetch_file__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/fetch/fetch-file */ "./src/lib/fetch/fetch-file.js");
/* harmony import */ var _lib_load__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/load */ "./src/lib/load.js");
/* harmony import */ var _lib_fetch_file_aliases__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/fetch/file-aliases */ "./src/lib/fetch/file-aliases.js");
/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/globals */ "./src/utils/globals.js");
/* harmony import */ var _lib_path_path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/path/path */ "./src/lib/path/path.js");
/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "path", function() { return _lib_path_path__WEBPACK_IMPORTED_MODULE_6__; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setPathPrefix", function() { return _lib_fetch_file_aliases__WEBPACK_IMPORTED_MODULE_4__["setPathPrefix"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getPathPrefix", function() { return _lib_fetch_file_aliases__WEBPACK_IMPORTED_MODULE_4__["getPathPrefix"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "resolvePath", function() { return _lib_fetch_file_aliases__WEBPACK_IMPORTED_MODULE_4__["resolvePath"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchFile", function() { return _lib_fetch_fetch_file__WEBPACK_IMPORTED_MODULE_2__["fetchFile"]; });
/* harmony import */ var _lib_fetch_read_file__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/fetch/read-file */ "./src/lib/fetch/read-file.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "readFileSync", function() { return _lib_fetch_read_file__WEBPACK_IMPORTED_MODULE_7__["readFileSync"]; });
/* harmony import */ var _lib_fetch_write_file__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/fetch/write-file */ "./src/lib/fetch/write-file.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "writeFile", function() { return _lib_fetch_write_file__WEBPACK_IMPORTED_MODULE_8__["writeFile"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "writeFileSync", function() { return _lib_fetch_write_file__WEBPACK_IMPORTED_MODULE_8__["writeFileSync"]; });
/* harmony import */ var _lib_fetch_fetch_error_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lib/fetch/fetch-error-message */ "./src/lib/fetch/fetch-error-message.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getErrorMessageFromResponseSync", function() { return _lib_fetch_fetch_error_message__WEBPACK_IMPORTED_MODULE_9__["getErrorMessageFromResponseSync"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getErrorMessageFromResponse", function() { return _lib_fetch_fetch_error_message__WEBPACK_IMPORTED_MODULE_9__["getErrorMessageFromResponse"]; });
/* harmony import */ var _lib_register_loaders__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./lib/register-loaders */ "./src/lib/register-loaders.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerLoaders", function() { return _lib_register_loaders__WEBPACK_IMPORTED_MODULE_10__["registerLoaders"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parse", function() { return _lib_parse__WEBPACK_IMPORTED_MODULE_0__["parse"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseSync", function() { return _lib_parse_sync__WEBPACK_IMPORTED_MODULE_1__["parseSync"]; });
/* harmony import */ var _lib_parse_in_batches__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./lib/parse-in-batches */ "./src/lib/parse-in-batches.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseInBatches", function() { return _lib_parse_in_batches__WEBPACK_IMPORTED_MODULE_11__["parseInBatches"]; });
/* harmony import */ var _lib_parse_in_batches_sync__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./lib/parse-in-batches-sync */ "./src/lib/parse-in-batches-sync.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "parseInBatchesSync", function() { return _lib_parse_in_batches_sync__WEBPACK_IMPORTED_MODULE_12__["parseInBatchesSync"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "load", function() { return _lib_load__WEBPACK_IMPORTED_MODULE_3__["load"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "loadInBatches", function() { return _lib_load__WEBPACK_IMPORTED_MODULE_3__["loadInBatches"]; });
/* harmony import */ var _lib_encode__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./lib/encode */ "./src/lib/encode.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "encode", function() { return _lib_encode__WEBPACK_IMPORTED_MODULE_13__["encode"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "encodeSync", function() { return _lib_encode__WEBPACK_IMPORTED_MODULE_13__["encodeSync"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "encodeInBatches", function() { return _lib_encode__WEBPACK_IMPORTED_MODULE_13__["encodeInBatches"]; });
/* harmony import */ var _lib_save__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./lib/save */ "./src/lib/save.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "save", function() { return _lib_save__WEBPACK_IMPORTED_MODULE_14__["save"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "saveSync", function() { return _lib_save__WEBPACK_IMPORTED_MODULE_14__["saveSync"]; });
/* harmony import */ var _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./javascript-utils/is-type */ "./src/javascript-utils/is-type.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isPromise", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isPromise"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isIterable", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isIterable"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isAsyncIterable", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isAsyncIterable"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isIterator", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isIterator"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isFetchResponse", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isFetchResponse"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isReadableStream", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isReadableStream"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isWritableStream", function() { return _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_15__["isWritableStream"]; });
/* harmony import */ var _javascript_utils_binary_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./javascript-utils/binary-utils */ "./src/javascript-utils/binary-utils.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toArrayBuffer", function() { return _javascript_utils_binary_utils__WEBPACK_IMPORTED_MODULE_16__["toArrayBuffer"]; });
/* harmony import */ var _javascript_utils_stream_utils__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./javascript-utils/stream-utils */ "./src/javascript-utils/stream-utils.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getStreamIterator", function() { return _javascript_utils_stream_utils__WEBPACK_IMPORTED_MODULE_17__["getStreamIterator"]; });
/* harmony import */ var _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./javascript-utils/async-iterator-utils */ "./src/javascript-utils/async-iterator-utils.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forEach", function() { return _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__["forEach"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatenateAsyncIterator", function() { return _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__["concatenateAsyncIterator"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lineAsyncIterator", function() { return _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__["lineAsyncIterator"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "textDecoderAsyncIterator", function() { return _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__["textDecoderAsyncIterator"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "numberedLineAsyncIterator", function() { return _javascript_utils_async_iterator_utils__WEBPACK_IMPORTED_MODULE_18__["numberedLineAsyncIterator"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isBrowser", function() { return _utils_globals__WEBPACK_IMPORTED_MODULE_5__["isBrowser"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "self", function() { return _utils_globals__WEBPACK_IMPORTED_MODULE_5__["self"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "window", function() { return _utils_globals__WEBPACK_IMPORTED_MODULE_5__["window"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "global", function() { return _utils_globals__WEBPACK_IMPORTED_MODULE_5__["global"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "document", function() { return _utils_globals__WEBPACK_IMPORTED_MODULE_5__["document"]; });
/* harmony import */ var _utils_assert__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./utils/assert */ "./src/utils/assert.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assert", function() { return _utils_assert__WEBPACK_IMPORTED_MODULE_19__["default"]; });
/* harmony import */ var _lib_select_loader__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./lib/select-loader */ "./src/lib/select-loader.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_selectLoader", function() { return _lib_select_loader__WEBPACK_IMPORTED_MODULE_20__["selectLoader"]; });
/* harmony import */ var _worker_utils_worker_thread__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./worker-utils/worker-thread */ "./src/worker-utils/worker-thread.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_WorkerThread", function() { return _worker_utils_worker_thread__WEBPACK_IMPORTED_MODULE_21__["default"]; });
/* harmony import */ var _worker_utils_worker_farm__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./worker-utils/worker-farm */ "./src/worker-utils/worker-farm.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_WorkerFarm", function() { return _worker_utils_worker_farm__WEBPACK_IMPORTED_MODULE_22__["default"]; });
/* harmony import */ var _worker_utils_worker_pool__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./worker-utils/worker-pool */ "./src/worker-utils/worker-pool.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_WorkerPool", function() { return _worker_utils_worker_pool__WEBPACK_IMPORTED_MODULE_23__["default"]; });
/* harmony import */ var _lib_progress_fetch_progress__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./lib/progress/fetch-progress */ "./src/lib/progress/fetch-progress.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_fetchProgress", function() { return _lib_progress_fetch_progress__WEBPACK_IMPORTED_MODULE_24__["default"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_unregisterLoaders", function() { return _lib_register_loaders__WEBPACK_IMPORTED_MODULE_10__["_unregisterLoaders"]; });
// PATH
// FILE READING AND WRITING
// FILE PARSING AND ENCODING
// LOADING (READING + PARSING)
// ENCODING AND SAVING
// "JAVASCRIPT" UTILS
// ITERATOR UTILS
// CORE UTILS
// EXPERIMENTAL
// FOR TESTING
// DEPRECATED
// Use @loaders.gl/polyfills and global symbols instead
const TextEncoder = _utils_globals__WEBPACK_IMPORTED_MODULE_5__["global"].TextEncoder;
const TextDecoder = _utils_globals__WEBPACK_IMPORTED_MODULE_5__["global"].TextDecoder;
// Returns a promise that resolves to a readable stream
async function createReadStream(url, options) {
// eslint-disable-next-line
console.warn('createReadStream() deprecated, use fetch().then(resp => resp.body)');
url = Object(_lib_fetch_file_aliases__WEBPACK_IMPORTED_MODULE_4__["resolvePath"])(url);
const response = await Object(_lib_fetch_fetch_file__WEBPACK_IMPORTED_MODULE_2__["fetchFile"])(url, options);
return response.body;
}
function parseFile(...args) {
console.warn('parse() deprecated, use parse()'); // eslint-disable-line
return Object(_lib_parse__WEBPACK_IMPORTED_MODULE_0__["parse"])(...args);
}
function parseFileSync(...args) {
console.warn('parseSync() deprecated, use parseSync()'); // eslint-disable-line
return Object(_lib_parse_sync__WEBPACK_IMPORTED_MODULE_1__["parseSync"])(...args);
}
function loadFile(...args) {
console.warn('loadFile() deprecated, use load()'); // eslint-disable-line
return Object(_lib_load__WEBPACK_IMPORTED_MODULE_3__["load"])(...args);
}
/***/ }),
/***/ "./src/javascript-utils/async-iterator-utils.js":
/*!******************************************************!*\
!*** ./src/javascript-utils/async-iterator-utils.js ***!
\******************************************************/
/*! exports provided: forEach, concatenateAsyncIterator, textDecoderAsyncIterator, textEncoderAsyncIterator, lineAsyncIterator, numberedLineAsyncIterator */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "forEach", function() { return forEach; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatenateAsyncIterator", function() { return concatenateAsyncIterator; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "textDecoderAsyncIterator", function() { return textDecoderAsyncIterator; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "textEncoderAsyncIterator", function() { return textEncoderAsyncIterator; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lineAsyncIterator", function() { return lineAsyncIterator; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numberedLineAsyncIterator", function() { return numberedLineAsyncIterator; });
/* harmony import */ var _javascript_utils_memory_copy_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../javascript-utils/memory-copy-utils */ "./src/javascript-utils/memory-copy-utils.js");
/* global TextDecoder, TextEncoder */
// GENERAL UTILITIES
// Iterate over async iterator, without resetting iterator if end is not reached
// - forEach does not reset iterator if exiting loop prematurely
// so that iteration can continue in a second loop
// - It is recommended to use a standard for await as last loop to ensure
// iterator gets properly reset
// TODO - optimize using sync iteration if argument is an Iterable?
async function forEach(iterator, visitor) {
// eslint-disable-next-line
while (true) {
const {done, value} = await iterator.next();
if (done) {
iterator.return();
return;
}
const cancel = visitor(value);
if (cancel) {
return;
}
}
}
// Concatenates all data chunks yielded by an async iterator
async function concatenateAsyncIterator(asyncIterator) {
let arrayBuffer = new ArrayBuffer();
let string = '';
for await (const chunk of asyncIterator) {
if (typeof chunk === 'string') {
string += chunk;
} else {
arrayBuffer = Object(_javascript_utils_memory_copy_utils__WEBPACK_IMPORTED_MODULE_0__["concatenateArrayBuffers"])(arrayBuffer, chunk);
}
}
return string || arrayBuffer;
}
// ITERATOR GENERATORS
// TextDecoder iterators
// TextDecoder will keep any partial undecoded bytes between calls to `decode`
async function* textDecoderAsyncIterator(arrayBufferIterator, options) {
const textDecoder = new TextDecoder(options);
for await (const arrayBuffer of arrayBufferIterator) {
yield typeof arrayBuffer === 'string'
? arrayBuffer
: textDecoder.decode(arrayBuffer, {stream: true});
}
}
// TextEncoder iterator
// TODO - this is not useful unless min chunk size is given
// TextEncoder will keep any partial undecoded bytes between calls to `encode`
// If iterator does not yield strings, assume arrayBuffer and return unencoded
async function* textEncoderAsyncIterator(textIterator, options) {
const textEncoder = new TextEncoder();
for await (const text of textIterator) {
yield typeof text === 'string' ? textEncoder.encode(text) : text;
}
}
// Input: async iterable over strings
// Returns: an async iterable over lines
// See http://2ality.com/2018/04/async-iter-nodejs.html
async function* lineAsyncIterator(textIterator) {
let previous = '';
for await (const textChunk of textIterator) {
previous += textChunk;
let eolIndex;
while ((eolIndex = previous.indexOf('\n')) >= 0) {
// line includes the EOL
const line = previous.slice(0, eolIndex + 1);
previous = previous.slice(eolIndex + 1);
yield line;
}
}
if (previous.length > 0) {
yield previous;
}
}
/**
* Parameter: async iterable of lines
* Result: async iterable of numbered lines
*/
// See http://2ality.com/2018/04/async-iter-nodejs.html
// eslint-disable-next-line no-shadow
async function* numberedLineAsyncIterator(lineIterator) {
let counter = 1;
for await (const line of lineIterator) {
yield {counter, line};
counter++;
}
}
/***/ }),
/***/ "./src/javascript-utils/binary-utils.js":
/*!**********************************************!*\
!*** ./src/javascript-utils/binary-utils.js ***!
\**********************************************/
/*! exports provided: toArrayBuffer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toArrayBuffer", function() { return toArrayBuffer; });
/* harmony import */ var _utils_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/assert */ "./src/utils/assert.js");
/* harmony import */ var _node_utils_to_array_buffer_node__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node/utils/to-array-buffer.node */ 0);
/* harmony import */ var _node_utils_to_array_buffer_node__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_utils_to_array_buffer_node__WEBPACK_IMPORTED_MODULE_1__);
/* global ArrayBuffer, TextEncoder */
function toArrayBuffer(data) {
if (_node_utils_to_array_buffer_node__WEBPACK_IMPORTED_MODULE_1__["toArrayBuffer"]) {
// TODO - per docs we should just be able to call buffer.buffer, but there are issues
data = Object(_node_utils_to_array_buffer_node__WEBPACK_IMPORTED_MODULE_1__["toArrayBuffer"])(data);
}
if (data instanceof ArrayBuffer) {
return data;
}
// Careful - Node Buffers will look like ArrayBuffers (keep after isBuffer)
if (ArrayBuffer.isView(data)) {
return data.buffer;
}
if (typeof data === 'string') {
const text = data;
const uint8Array = new TextEncoder().encode(text);
return uint8Array.buffer;
}
return Object(_utils_assert__WEBPACK_IMPORTED_MODULE_0__["default"])(false);
}
// export function blobToArrayBuffer(blob) {
// return new Promise((resolve, reject) => {
// let arrayBuffer;
// const fileReader = new FileReader();
// fileReader.onload = event => {
// arrayBuffer = event.target.result;
// };
// fileReader.onloadend = event => resolve(arrayBuffer);
// fileReader.onerror = reject;
// fileReader.readAsArrayBuffer(blob);
// });
// }
/***/ }),
/***/ "./src/javascript-utils/is-type.js":
/*!*****************************************!*\
!*** ./src/javascript-utils/is-type.js ***!
\*****************************************/
/*! exports provided: isPromise, isIterable, isAsyncIterable, isIterator, isFetchResponse, isFile, isBlob, isFileReadable, isWritableDOMStream, isReadableDOMStream, isWritableNodeStream, isReadableNodeStream, isReadableStream, isWritableStream */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPromise", function() { return isPromise; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIterable", function() { return isIterable; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isAsyncIterable", function() { return isAsyncIterable; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIterator", function() { return isIterator; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFetchResponse", function() { return isFetchResponse; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFile", function() { return isFile; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBlob", function() { return isBlob; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFileReadable", function() { return isFileReadable; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWritableDOMStream", function() { return isWritableDOMStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isReadableDOMStream", function() { return isReadableDOMStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWritableNodeStream", function() { return isWritableNodeStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isReadableNodeStream", function() { return isReadableNodeStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isReadableStream", function() { return isReadableStream; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWritableStream", function() { return isWritableStream; });
/* global File, Blob, Response */
const isBoolean = x => typeof x === 'boolean';
const isFunction = x => typeof x === 'function';
const isObject = x => x !== null && typeof x === 'object';
const isPromise = x => isObject(x) && isFunction(x.then);
const isIterable = x => x && typeof x[Symbol.iterator] === 'function';
const isAsyncIterable = x => x && typeof x[Symbol.asyncIterator] === 'function';
const isIterator = x => x && isFunction(x.next);
const isFetchResponse = x =>
(typeof Response !== 'undefined' && x instanceof Response) || (x.arrayBuffer && x.text && x.json);
const isFile = x => typeof File !== 'undefined' && x instanceof File;
const isBlob = x => typeof Blob !== 'undefined' && x instanceof Blob;
const isFileReadable = x => isFile(x) || isBlob(x); // Blob & File are FileReader compatible
const isWritableDOMStream = x => {
return isObject(x) && isFunction(x.abort) && isFunction(x.getWriter);
};
const isReadableDOMStream = x => {
return (
isObject(x) &&
isFunction(x.tee) &&
isFunction(x.cancel) &&
isFunction(x.pipeTo) &&
isFunction(x.getReader)
);
};
const isWritableNodeStream = x => {
return isObject(x) && isFunction(x.end) && isFunction(x.write) && isBoolean(x.writable);
};
const isReadableNodeStream = x => {
return isObject(x) && isFunction(x.read) && isFunction(x.pipe) && isBoolean(x.readable);
};
const isReadableStream = x => isReadableDOMStream(x) || isReadableNodeStream(x);
const isWritableStream = x => isWritableDOMStream(x) || isWritableNodeStream(x);
/***/ }),
/***/ "./src/javascript-utils/memory-copy-utils.js":
/*!***************************************************!*\
!*** ./src/javascript-utils/memory-copy-utils.js ***!
\***************************************************/
/*! exports provided: concatenateArrayBuffers */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatenateArrayBuffers", function() { return concatenateArrayBuffers; });
function concatenateArrayBuffers(source1, source2) {
const sourceArray1 = source1 instanceof ArrayBuffer ? new Uint8Array(source1) : source1;
const sourceArray2 = source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2;
const temp = new Uint8Array(sourceArray1.byteLength + sourceArray2.byteLength);
temp.set(sourceArray1, 0);
temp.set(sourceArray2, sourceArray1.byteLength);
return temp;
}
/***/ }),
/***/ "./src/javascript-utils/stream-utils.js":
/*!**********************************************!*\
!*** ./src/javascript-utils/stream-utils.js ***!
\**********************************************/
/*! exports provided: getStreamIterator */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getStreamIterator", function() { return getStreamIterator; });
/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "./src/utils/globals.js");
function getStreamIterator(stream) {
// Hacky test for node version to ensure we don't call bad polyfills
if (_utils_globals__WEBPACK_IMPORTED_MODULE_0__["isBrowser"] || _utils_globals__WEBPACK_IMPORTED_MODULE_0__["nodeVersion"] >= 10) {
// NODE 10+: stream is an asyncIterator
if (typeof stream[Symbol.asyncIterator] === 'function') {
return stream;
}
// WhatWG: stream is supposed to have a `getIterator` method
if (typeof stream.getIterator === 'function') {
return stream.getIterator();
}
}
return _utils_globals__WEBPACK_IMPORTED_MODULE_0__["isBrowser"] ? makeBrowserStreamIterator(stream) : makeNodeStreamIterator(stream);
}
// BROWSER IMPLEMENTATION
// See https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate
async function* makeBrowserStreamIterator(stream) {
// In the brower, we first need to get a lock on the stream
const reader = stream.getReader();
try {
// eslint-disable-next-line no-constant-condition
while (true) {
// Read from the stream
const {done, value} = await reader.read();
// Exit if we're done
if (done) {
return;
}
// Else yield the chunk
yield value;
}
} catch (error) {
// TODO - examples makes it look like this should always be called,
// but that generates exceptions so only call it if we do not reach the end
reader.releaseLock();
}
}
// NODE <10 IMPLEMENTATION
// See https://github.com/bustle/streaming-iterables, MIT license
async function* makeNodeStreamIterator(stream) {
// Node createStream will return promises to handle http requests
stream = await stream;
// eslint-disable-next-line no-constant-condition
while (true) {
const data = stream.read();
if (data !== null) {
yield data;
// eslint-disable-next-line no-continue
continue;
}
if (stream._readableState.ended) {
return;
}
await onceReadable(stream);
}
}
async function onceReadable(stream) {
return new Promise(resolve => {
stream.once('readable', resolve);
});
}
// TODO - we could add our own polyfill
// const {Readable} = require('stream');
// if (typeof Readable !== 'undefined' && !Readable.prototype[Symbol.asyncIterator]) {
// Readable.prototype[Symbol.asyncIterator] = function () {
// return makeNodeStreamIterator(this);
// }
// }
/***/ }),
/***/ "./src/lib/encode.js":
/*!***************************!*\
!*** ./src/lib/encode.js ***!
\***************************/
/*! exports provided: encode, encodeSync, encodeInBatches */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encode", function() { return encode; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeSync", function() { return encodeSync; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeInBatches", function() { return encodeInBatches; });
function encode(data, writer, options, url) {
if (writer.encode) {
return writer.encode(data, options);
}
if (writer.encodeSync) {
return Promise.resolve(writer.encodeSync(data, options));
}
// TODO - Use encodeToBatches?
throw new Error('Writer could not encode data');
}
function encodeSync(data, writer, options, url) {
if (writer.encodeSync) {
return writer.encodeSync(data, options);
}
throw new Error('Writer could not synchronously encode data');
}
function encodeInBatches(data, writer, options, url) {
if (writer.encodeInBatches) {
return writer.encodeInBatches(data, options);
}
// TODO -fall back to atomic encode?
throw new Error('Writer could not encode data in batches');
}
/***/ }),
/***/ "./src/lib/fetch/fetch-error-message.js":
/*!**********************************************!*\
!*** ./src/lib/fetch/fetch-error-message.js ***!
\**********************************************/
/*! exports provided: getErrorMessageFromResponseSync, getErrorMessageFromResponse */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getErrorMessageFromResponseSync", function() { return getErrorMessageFromResponseSync; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getErrorMessageFromResponse", function() { return getErrorMessageFromResponse; });
function getErrorMessageFromResponseSync(response) {
return `Failed to fetch resource ${response.url}(${response.status}): ${response.statusText} `;
}
async function getErrorMessageFromResponse(response) {
let message = `Failed to fetch resource ${response.url} (${response.status}): `;
try {
const contentType = response.headers.get('Content-Type');
if (contentType.includes('application/json')) {
message += await response.text();
} else {
message += response.statusText;
}
} catch (error) {
// eslint forbids return in finally statement
return message;
}
return message;
}
/***/ }),
/***/ "./src/lib/fetch/fetch-file.browser.js":
/*!*********************************************!*\
!*** ./src/lib/fetch/fetch-file.browser.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return fetchFileReadable; });
/* harmony import */ var _utils_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/assert */ "./src/utils/assert.js");
/* global FileReader, Headers */
// File reader fetch "polyfill" for the browser
class FileReadableResponse {
constructor(fileOrBlob) {
this._fileOrBlob = fileOrBlob;
this.bodyUsed = false;
}
get headers() {
return new Headers({
'Content-Length': this._fileOrBlob.size,
'Content-Type': this._fileOrBlob.type
});
}
get ok() {
return true; // Blob & File objects are already in memory
}
get status() {
return 200; // Blob & File objects are already in memory
}
url() {
// Note: This is just the file name without path information
// Note: File has `name` field but the Blob baseclass does not
return this._fileOrBlob.name || '';
}
async arrayBuffer() {
const {reader, promise} = this._getFileReader();
reader.readAsArrayBuffer(this._fileOrBlob);
return promise;
}
async text() {
const {reader, promise} = this._getFileReader();
reader.readAsText(this._fileOrBlob);
return promise;
}
async json() {
const text = await this.text();
return JSON.parse(text);
}
// TODO - body, how to support stream?
// Can this be portable?
// eslint-disable-next-line
// https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams#Creating_your_own_custom_readable_stream
// get body() {
// assert(false);
// }
// PRIVATE
_getFileReader() {
Object(_utils_assert__WEBPACK_IMPORTED_MODULE_0__["default"])(!this.bodyUsed);
this.bodyUsed = true;
let reader;
const promise = new Promise((resolve, reject) => {
try {
reader = new FileReader();
reader.onerror = error => reject(new Error(error));
reader.onabort = () => reject(new Error('Read aborted.'));
reader.onload = () => resolve(reader.result);
} catch (error) {
reject(error);
}
});
return {reader, promise};
}
}
// @param {File|Blob} file HTML File or Blob object to read as string
// @returns {Promise.string} Resolves to a string containing file contents
function fetchFileReadable(fileOrBlob, options) {
return Promise.resolve(new FileReadableResponse(fileOrBlob, options));
}
/***/ }),
/***/ "./src/lib/fetch/fetch-file.js":
/*!*************************************!*\
!*** ./src/lib/fetch/fetch-file.js ***!
\*************************************/
/*! exports provided: fetchFile */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchFile", function() { return fetchFile; });
/* harmony import */ var _javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../javascript-utils/is-type */ "./src/javascript-utils/is-type.js");
/* harmony import */ var _file_aliases__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file-aliases */ "./src/lib/fetch/file-aliases.js");
/* harmony import */ var _fetch_file_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch-file.browser */ "./src/lib/fetch/fetch-file.browser.js");
/* global fetch */
// As fetch but respects pathPrefix and file aliases
// Reads file data from:
// * data urls
// * http/http urls
// * File/Blob objects
async function fetchFile(url, options) {
if (Object(_javascript_utils_is_type__WEBPACK_IMPORTED_MODULE_0__["isFileReadable"])(url)) {
return Object(_fetch_file_browser__WEBPACK_IMPORTED_MODULE_2__["default"])(url, options);
}
url = Object(_file_aliases__WEBPACK_IMPORTED_MODULE_1__["resolvePath"])(url);
// TODO - SUPPORT reading from `File` objects
return fetch(url, options);
}
/***/ }),
/***/ "./src/lib/fetch/file-aliases.js":
/*!***************************************!*\
!*** ./src/lib/fetch/file-aliases.js ***!
\***************************************/
/*! exports provided: setPathPrefix, getPathPrefix, addAliases, resolvePath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setPathPrefix", function() { return setPathPrefix; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPathPrefix", function() { return getPathPrefix; });
/* harmony expor