@loaders.gl/core 3.4.0-alpha.2 → 3.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +183 -18
- package/dist/es5/core-addons/write-file-browser.js +0 -2
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +65 -67
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +13 -24
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js +22 -25
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js +88 -93
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/es5/iterators/make-iterator/make-string-iterator.js +20 -24
- package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-dom-stream.js +30 -34
- package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
- package/dist/es5/iterators/make-stream/make-node-stream.js +75 -81
- package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
- package/dist/es5/javascript-utils/is-type.js +0 -3
- package/dist/es5/javascript-utils/is-type.js.map +1 -1
- package/dist/es5/lib/api/encode.js +157 -166
- package/dist/es5/lib/api/encode.js.map +1 -1
- package/dist/es5/lib/api/load-in-batches.js +23 -29
- package/dist/es5/lib/api/load-in-batches.js.map +1 -1
- package/dist/es5/lib/api/load.js +34 -37
- package/dist/es5/lib/api/load.js.map +1 -1
- package/dist/es5/lib/api/loader-options.js.map +1 -1
- package/dist/es5/lib/api/parse-in-batches.js +192 -207
- package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
- package/dist/es5/lib/api/parse-sync.js +0 -7
- package/dist/es5/lib/api/parse-sync.js.map +1 -1
- package/dist/es5/lib/api/parse.js +99 -107
- package/dist/es5/lib/api/parse.js.map +1 -1
- package/dist/es5/lib/api/register-loaders.js +1 -3
- package/dist/es5/lib/api/register-loaders.js.map +1 -1
- package/dist/es5/lib/api/save.js +13 -15
- package/dist/es5/lib/api/save.js.map +1 -1
- package/dist/es5/lib/api/select-loader.js +41 -58
- package/dist/es5/lib/api/select-loader.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-error-message.js +29 -31
- package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/es5/lib/fetch/fetch-file.js +23 -25
- package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
- package/dist/es5/lib/fetch/read-array-buffer.js +41 -45
- package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/fetch/read-file.js +0 -3
- package/dist/es5/lib/fetch/read-file.js.map +1 -1
- package/dist/es5/lib/fetch/write-file.js +15 -17
- package/dist/es5/lib/fetch/write-file.js.map +1 -1
- package/dist/es5/lib/filesystems/browser-filesystem.js +107 -124
- package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/es5/lib/filesystems/read-array-buffer.js +19 -21
- package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/init.js +1 -3
- package/dist/es5/lib/init.js.map +1 -1
- package/dist/es5/lib/loader-utils/check-errors.js +24 -26
- package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/es5/lib/loader-utils/get-data.js +130 -145
- package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
- package/dist/es5/lib/loader-utils/get-fetch-function.js +0 -5
- package/dist/es5/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/es5/lib/loader-utils/loader-context.js +0 -3
- package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/es5/lib/loader-utils/loggers.js +0 -2
- package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
- package/dist/es5/lib/loader-utils/normalize-loader.js +0 -3
- package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
- package/dist/es5/lib/loader-utils/option-defaults.js +0 -2
- package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/es5/lib/loader-utils/option-utils.js +1 -12
- package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/es5/lib/progress/fetch-progress.js +92 -98
- package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
- package/dist/es5/lib/utils/log.js +0 -1
- package/dist/es5/lib/utils/log.js.map +1 -1
- package/dist/es5/lib/utils/mime-type-utils.js +0 -3
- package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
- package/dist/es5/lib/utils/resource-utils.js +0 -4
- package/dist/es5/lib/utils/resource-utils.js.map +1 -1
- package/dist/es5/lib/utils/response-utils.js +118 -131
- package/dist/es5/lib/utils/response-utils.js.map +1 -1
- package/dist/es5/null-loader.js +57 -63
- package/dist/es5/null-loader.js.map +1 -1
- package/dist/es5/workers/null-worker.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/index.js +0 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js +0 -1
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js +16 -17
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js +0 -1
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js.map +1 -1
- package/dist/esm/iterators/make-iterator/make-iterator.js +0 -1
- package/dist/esm/iterators/make-iterator/make-iterator.js.map +1 -1
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js +0 -3
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/esm/iterators/make-iterator/make-string-iterator.js +0 -2
- package/dist/esm/iterators/make-iterator/make-string-iterator.js.map +1 -1
- package/dist/esm/iterators/make-stream/make-dom-stream.js +1 -3
- package/dist/esm/iterators/make-stream/make-dom-stream.js.map +1 -1
- package/dist/esm/iterators/make-stream/make-node-stream.js +0 -1
- package/dist/esm/iterators/make-stream/make-node-stream.js.map +1 -1
- package/dist/esm/javascript-utils/is-type.js +0 -4
- package/dist/esm/javascript-utils/is-type.js.map +1 -1
- package/dist/esm/lib/api/encode.js +0 -9
- package/dist/esm/lib/api/encode.js.map +1 -1
- package/dist/esm/lib/api/load-in-batches.js +0 -4
- package/dist/esm/lib/api/load-in-batches.js.map +1 -1
- package/dist/esm/lib/api/load.js +0 -5
- package/dist/esm/lib/api/load.js.map +1 -1
- package/dist/esm/lib/api/parse-in-batches.js +2 -16
- package/dist/esm/lib/api/parse-in-batches.js.map +1 -1
- package/dist/esm/lib/api/parse-sync.js +0 -8
- package/dist/esm/lib/api/parse-sync.js.map +1 -1
- package/dist/esm/lib/api/parse.js +0 -12
- package/dist/esm/lib/api/parse.js.map +1 -1
- package/dist/esm/lib/api/register-loaders.js +0 -3
- package/dist/esm/lib/api/register-loaders.js.map +1 -1
- package/dist/esm/lib/api/save.js.map +1 -1
- package/dist/esm/lib/api/select-loader.js +0 -20
- package/dist/esm/lib/api/select-loader.js.map +1 -1
- package/dist/esm/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/esm/lib/fetch/fetch-file.js +0 -1
- package/dist/esm/lib/fetch/fetch-file.js.map +1 -1
- package/dist/esm/lib/fetch/read-array-buffer.js +0 -3
- package/dist/esm/lib/fetch/read-array-buffer.js.map +1 -1
- package/dist/esm/lib/fetch/read-file.js +0 -4
- package/dist/esm/lib/fetch/read-file.js.map +1 -1
- package/dist/esm/lib/fetch/write-file.js +0 -1
- package/dist/esm/lib/fetch/write-file.js.map +1 -1
- package/dist/esm/lib/filesystems/browser-filesystem.js +1 -11
- package/dist/esm/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/esm/lib/filesystems/read-array-buffer.js +0 -2
- package/dist/esm/lib/filesystems/read-array-buffer.js.map +1 -1
- package/dist/esm/lib/init.js +1 -4
- package/dist/esm/lib/init.js.map +1 -1
- package/dist/esm/lib/loader-utils/check-errors.js +1 -2
- package/dist/esm/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/esm/lib/loader-utils/get-data.js +0 -6
- package/dist/esm/lib/loader-utils/get-data.js.map +1 -1
- package/dist/esm/lib/loader-utils/get-fetch-function.js +0 -7
- package/dist/esm/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/esm/lib/loader-utils/loader-context.js +0 -4
- package/dist/esm/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/esm/lib/loader-utils/loggers.js +0 -3
- package/dist/esm/lib/loader-utils/loggers.js.map +1 -1
- package/dist/esm/lib/loader-utils/normalize-loader.js +0 -3
- package/dist/esm/lib/loader-utils/normalize-loader.js.map +1 -1
- package/dist/esm/lib/loader-utils/option-defaults.js +0 -2
- package/dist/esm/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/esm/lib/loader-utils/option-utils.js +0 -14
- package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/esm/lib/progress/fetch-progress.js +2 -6
- package/dist/esm/lib/progress/fetch-progress.js.map +1 -1
- package/dist/esm/lib/utils/log.js +0 -1
- package/dist/esm/lib/utils/log.js.map +1 -1
- package/dist/esm/lib/utils/mime-type-utils.js +0 -4
- package/dist/esm/lib/utils/mime-type-utils.js.map +1 -1
- package/dist/esm/lib/utils/resource-utils.js +0 -4
- package/dist/esm/lib/utils/resource-utils.js.map +1 -1
- package/dist/esm/lib/utils/response-utils.js +1 -12
- package/dist/esm/lib/utils/response-utils.js.map +1 -1
- package/dist/esm/null-loader.js +1 -4
- package/dist/esm/null-loader.js.map +1 -1
- package/dist/lib/fetch/fetch-file.js +1 -1
- package/dist/lib/progress/fetch-progress.js +2 -2
- package/dist/null-worker.js +1 -1
- package/package.json +4 -4
- package/src/lib/progress/fetch-progress.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-in-batches.js","names":["parseInBatches","data","loaders","options","context","assert","Array","isArray","isLoaderObject","undefined","getResourceUrlAndType","url","selectLoader","loader","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","makeMetadataBatchIterator","iterator","metadataBatch","parseToOutputIterator","outputIterator","metadata","batchType","_loader","_context","bytesUsed","parseChunkInBatches","concatenateArrayBuffersAsync","transformedIterator","arrayBuffer","mimeType","mimeTypes","parsedData","batch","shape","length","getAsyncIterableFromData","inputIterator","applyInputTransforms","transforms","iteratorChain","transformBatches"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n // @ts-ignore\n options = normalizeOptions(options, loader, loaders, url);\n // @ts-ignore\n context = getLoaderContext(\n // @ts-ignore\n {url, parseInBatches, parse, loaders: loaders as Loader[]},\n options,\n context\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-in-batches.js","names":["_loaderUtils","require","_normalizeLoader","_optionUtils","_loaderContext","_getData","_resourceUtils","_selectLoader","_parse","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","parseInBatches","_x2","_x3","_x4","_x5","_parseInBatches","_asyncToGenerator2","_regenerator","mark","_callee","data","loaders","options","context","_getResourceUrlAndTyp","url","loader","wrap","_callee$","_context","prev","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrlAndType","selectLoader","abrupt","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","stop","_x6","_x7","_x8","_x9","_parseWithLoaderInBatches","_callee3","outputIterator","metadataBatch","makeMetadataBatchIterator","_makeMetadataBatchIterator","_callee3$","_context3","_makeMetadataBatchIte2","_wrapAsyncGenerator2","_callee2","_callee2$","_context2","delegateYield","_asyncGeneratorDelegate2","_awaitAsyncGenerator2","_makeMetadataBatchIte","_x","parseToOutputIterator","metadata","batchType","_loader","bytesUsed","_x10","_x11","_x12","_x13","_parseToOutputIterator","_callee5","inputIterator","transformedIterator","parseChunkInBatches","_parseChunkInBatches","_callee5$","_context5","_parseChunkInBatches3","_callee4","arrayBuffer","parsedData","batch","_callee4$","_context4","concatenateArrayBuffersAsync","mimeType","mimeTypes","shape","_parseChunkInBatches2","getAsyncIterableFromData","applyInputTransforms","transforms","_x14","_applyInputTransforms","_callee6","iteratorChain","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","transformBatches","_args6","_callee6$","_context6","t0","finish"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n // @ts-ignore\n options = normalizeOptions(options, loader, loaders, url);\n // @ts-ignore\n context = getLoaderContext(\n // @ts-ignore\n {url, parseInBatches, parse, loaders: loaders as Loader[]},\n options,\n context\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
|
|
@@ -15,23 +15,19 @@ var _loaderContext = require("../loader-utils/loader-context");
|
|
|
15
15
|
var _resourceUtils = require("../utils/resource-utils");
|
|
16
16
|
function parseSync(data, loaders, options, context) {
|
|
17
17
|
(0, _loaderUtils.assert)(!context || (0, _typeof2.default)(context) === 'object');
|
|
18
|
-
|
|
19
18
|
if (!Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
|
|
20
19
|
context = undefined;
|
|
21
20
|
options = loaders;
|
|
22
21
|
loaders = undefined;
|
|
23
22
|
}
|
|
24
23
|
options = options || {};
|
|
25
|
-
|
|
26
24
|
var typedLoaders = loaders;
|
|
27
25
|
var candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
|
|
28
26
|
var loader = (0, _selectLoader.selectLoaderSync)(data, candidateLoaders, options);
|
|
29
27
|
if (!loader) {
|
|
30
28
|
return null;
|
|
31
29
|
}
|
|
32
|
-
|
|
33
30
|
options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders);
|
|
34
|
-
|
|
35
31
|
var _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data),
|
|
36
32
|
url = _getResourceUrlAndTyp.url;
|
|
37
33
|
var parse = function parse() {
|
|
@@ -45,17 +41,14 @@ function parseSync(data, loaders, options, context) {
|
|
|
45
41
|
}, options);
|
|
46
42
|
return parseWithLoaderSync(loader, data, options, context);
|
|
47
43
|
}
|
|
48
|
-
|
|
49
44
|
function parseWithLoaderSync(loader, data, options, context) {
|
|
50
45
|
data = (0, _getData.getArrayBufferOrStringFromDataSync)(data, loader, options);
|
|
51
46
|
if (loader.parseTextSync && typeof data === 'string') {
|
|
52
47
|
return loader.parseTextSync(data, options);
|
|
53
48
|
}
|
|
54
|
-
|
|
55
49
|
if (loader.parseSync && data instanceof ArrayBuffer) {
|
|
56
50
|
return loader.parseSync(data, options, context);
|
|
57
51
|
}
|
|
58
|
-
|
|
59
52
|
throw new Error("".concat(loader.name, " loader: 'parseSync' not supported by this loader, use 'parse' instead. ").concat(context.url || ''));
|
|
60
53
|
}
|
|
61
54
|
//# sourceMappingURL=parse-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-sync.js","names":["parseSync","data","loaders","options","context","assert","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","getResourceUrlAndType","url","parse","Error","getLoaderContext","parseWithLoaderSync","getArrayBufferOrStringFromDataSync","parseTextSync","ArrayBuffer","name"],"sources":["../../../../src/lib/api/parse-sync.ts"],"sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n options = options || {};\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders);\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n const parse = () => {\n throw new Error('parseSync called parse');\n };\n context = getLoaderContext({url, parseSync, parse, loaders: loaders as Loader[]}, options);\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"mappings":";;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,SAASA,
|
|
1
|
+
{"version":3,"file":"parse-sync.js","names":["_loaderUtils","require","_selectLoader","_normalizeLoader","_optionUtils","_getData","_loaderContext","_resourceUtils","parseSync","data","loaders","options","context","assert","_typeof2","default","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","_getResourceUrlAndTyp","getResourceUrlAndType","url","parse","Error","getLoaderContext","parseWithLoaderSync","getArrayBufferOrStringFromDataSync","parseTextSync","ArrayBuffer","concat","name"],"sources":["../../../../src/lib/api/parse-sync.ts"],"sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n options = options || {};\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders);\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n const parse = () => {\n throw new Error('parseSync called parse');\n };\n context = getLoaderContext({url, parseSync, parse, loaders: loaders as Loader[]}, options);\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"mappings":";;;;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AASO,SAASO,SAASA,CACvBC,IAAkB,EAClBC,OAA2C,EAC3CC,OAAuB,EACvBC,OAAuB,EAClB;EACL,IAAAC,mBAAM,EAAC,CAACD,OAAO,IAAI,IAAAE,QAAA,CAAAC,OAAA,EAAOH,OAAO,MAAK,QAAQ,CAAC;EAI/C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,IAAI,CAAC,IAAAQ,+BAAc,EAACR,OAAO,CAAC,EAAE;IACvDE,OAAO,GAAGO,SAAS;IACnBR,OAAO,GAAGD,OAAwB;IAClCA,OAAO,GAAGS,SAAS;EACrB;EAEAR,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAIvB,IAAMS,YAAY,GAAGV,OAAwC;EAC7D,IAAMW,gBAAgB,GAAG,IAAAC,oCAAqB,EAACF,YAAY,EAAER,OAAO,CAAC;EACrE,IAAMW,MAAM,GAAG,IAAAC,8BAAgB,EAACf,IAAI,EAAEY,gBAAgB,EAAEV,OAAO,CAAC;EAEhE,IAAI,CAACY,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAGAZ,OAAO,GAAG,IAAAc,6BAAgB,EAACd,OAAO,EAAEY,MAAM,EAAEF,gBAAgB,CAAC;EAG7D,IAAAK,qBAAA,GAAc,IAAAC,oCAAqB,EAAClB,IAAI,CAAC;IAAlCmB,GAAG,GAAAF,qBAAA,CAAHE,GAAG;EAEV,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAS;IAClB,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;EAC3C,CAAC;EACDlB,OAAO,GAAG,IAAAmB,+BAAgB,EAAC;IAACH,GAAG,EAAHA,GAAG;IAAEpB,SAAS,EAATA,SAAS;IAAEqB,KAAK,EAALA,KAAK;IAAEnB,OAAO,EAAEA;EAAmB,CAAC,EAAEC,OAAO,CAAC;EAE1F,OAAOqB,mBAAmB,CAACT,MAAM,EAAsBd,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;AAChF;AAGA,SAASoB,mBAAmBA,CAC1BT,MAAwB,EACxBd,IAAkB,EAClBE,OAAsB,EACtBC,OAAsB,EACtB;EACAH,IAAI,GAAG,IAAAwB,2CAAkC,EAACxB,IAAI,EAAEc,MAAM,EAAEZ,OAAO,CAAC;EAEhE,IAAIY,MAAM,CAACW,aAAa,IAAI,OAAOzB,IAAI,KAAK,QAAQ,EAAE;IACpD,OAAOc,MAAM,CAACW,aAAa,CAACzB,IAAI,EAAEE,OAAO,CAAC;EAC5C;EAEA,IAAIY,MAAM,CAACf,SAAS,IAAIC,IAAI,YAAY0B,WAAW,EAAE;IACnD,OAAOZ,MAAM,CAACf,SAAS,CAACC,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;EACjD;EAGA,MAAM,IAAIkB,KAAK,IAAAM,MAAA,CACVb,MAAM,CAACc,IAAI,8EAAAD,MAAA,CACZxB,OAAO,CAACgB,GAAG,IAAI,EAAE,EAEpB;AACH"}
|
|
@@ -24,50 +24,45 @@ function _parse() {
|
|
|
24
24
|
_parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
|
|
25
25
|
var _getResourceUrlAndTyp, url, typedLoaders, candidateLoaders, loader;
|
|
26
26
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
27
|
-
while (1) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return _context.abrupt("return", _context.sent);
|
|
67
|
-
case 19:
|
|
68
|
-
case "end":
|
|
69
|
-
return _context.stop();
|
|
70
|
-
}
|
|
27
|
+
while (1) switch (_context.prev = _context.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
(0, _workerUtils.assert)(!context || (0, _typeof2.default)(context) === 'object');
|
|
30
|
+
if (loaders && !Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
|
|
31
|
+
context = undefined;
|
|
32
|
+
options = loaders;
|
|
33
|
+
loaders = undefined;
|
|
34
|
+
}
|
|
35
|
+
_context.next = 4;
|
|
36
|
+
return data;
|
|
37
|
+
case 4:
|
|
38
|
+
data = _context.sent;
|
|
39
|
+
options = options || {};
|
|
40
|
+
_getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data), url = _getResourceUrlAndTyp.url;
|
|
41
|
+
typedLoaders = loaders;
|
|
42
|
+
candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
|
|
43
|
+
_context.next = 11;
|
|
44
|
+
return (0, _selectLoader.selectLoader)(data, candidateLoaders, options);
|
|
45
|
+
case 11:
|
|
46
|
+
loader = _context.sent;
|
|
47
|
+
if (loader) {
|
|
48
|
+
_context.next = 14;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
return _context.abrupt("return", null);
|
|
52
|
+
case 14:
|
|
53
|
+
options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders, url);
|
|
54
|
+
context = (0, _loaderContext.getLoaderContext)({
|
|
55
|
+
url: url,
|
|
56
|
+
parse: parse,
|
|
57
|
+
loaders: candidateLoaders
|
|
58
|
+
}, options, context);
|
|
59
|
+
_context.next = 18;
|
|
60
|
+
return parseWithLoader(loader, data, options, context);
|
|
61
|
+
case 18:
|
|
62
|
+
return _context.abrupt("return", _context.sent);
|
|
63
|
+
case 19:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context.stop();
|
|
71
66
|
}
|
|
72
67
|
}, _callee);
|
|
73
68
|
}));
|
|
@@ -80,69 +75,66 @@ function _parseWithLoader() {
|
|
|
80
75
|
_parseWithLoader = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(loader, data, options, context) {
|
|
81
76
|
var response, ok, redirected, status, statusText, type, url, headers;
|
|
82
77
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
83
|
-
while (1) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
case "end":
|
|
144
|
-
return _context2.stop();
|
|
145
|
-
}
|
|
78
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
79
|
+
case 0:
|
|
80
|
+
(0, _workerUtils.validateWorkerVersion)(loader);
|
|
81
|
+
if ((0, _isType.isResponse)(data)) {
|
|
82
|
+
response = data;
|
|
83
|
+
ok = response.ok, redirected = response.redirected, status = response.status, statusText = response.statusText, type = response.type, url = response.url;
|
|
84
|
+
headers = Object.fromEntries(response.headers.entries());
|
|
85
|
+
context.response = {
|
|
86
|
+
headers: headers,
|
|
87
|
+
ok: ok,
|
|
88
|
+
redirected: redirected,
|
|
89
|
+
status: status,
|
|
90
|
+
statusText: statusText,
|
|
91
|
+
type: type,
|
|
92
|
+
url: url
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
_context2.next = 4;
|
|
96
|
+
return (0, _getData.getArrayBufferOrStringFromData)(data, loader, options);
|
|
97
|
+
case 4:
|
|
98
|
+
data = _context2.sent;
|
|
99
|
+
if (!(loader.parseTextSync && typeof data === 'string')) {
|
|
100
|
+
_context2.next = 8;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
options.dataType = 'text';
|
|
104
|
+
return _context2.abrupt("return", loader.parseTextSync(data, options, context, loader));
|
|
105
|
+
case 8:
|
|
106
|
+
if (!(0, _loaderUtils.canParseWithWorker)(loader, options)) {
|
|
107
|
+
_context2.next = 12;
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
_context2.next = 11;
|
|
111
|
+
return (0, _loaderUtils.parseWithWorker)(loader, data, options, context, parse);
|
|
112
|
+
case 11:
|
|
113
|
+
return _context2.abrupt("return", _context2.sent);
|
|
114
|
+
case 12:
|
|
115
|
+
if (!(loader.parseText && typeof data === 'string')) {
|
|
116
|
+
_context2.next = 16;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
_context2.next = 15;
|
|
120
|
+
return loader.parseText(data, options, context, loader);
|
|
121
|
+
case 15:
|
|
122
|
+
return _context2.abrupt("return", _context2.sent);
|
|
123
|
+
case 16:
|
|
124
|
+
if (!loader.parse) {
|
|
125
|
+
_context2.next = 20;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
_context2.next = 19;
|
|
129
|
+
return loader.parse(data, options, context, loader);
|
|
130
|
+
case 19:
|
|
131
|
+
return _context2.abrupt("return", _context2.sent);
|
|
132
|
+
case 20:
|
|
133
|
+
(0, _workerUtils.assert)(!loader.parseSync);
|
|
134
|
+
throw new Error("".concat(loader.id, " loader - no parser found and worker is disabled"));
|
|
135
|
+
case 22:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context2.stop();
|
|
146
138
|
}
|
|
147
139
|
}, _callee2);
|
|
148
140
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","names":["parse","data","loaders","options","context","assert","Array","isArray","isLoaderObject","undefined","getResourceUrlAndType","
|
|
1
|
+
{"version":3,"file":"parse.js","names":["_workerUtils","require","_loaderUtils","_normalizeLoader","_isType","_optionUtils","_getData","_loaderContext","_resourceUtils","_selectLoader","parse","_x","_x2","_x3","_x4","_parse","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","loaders","options","context","_getResourceUrlAndTyp","url","typedLoaders","candidateLoaders","loader","wrap","_callee$","_context","prev","next","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrlAndType","getLoadersFromContext","selectLoader","abrupt","normalizeOptions","getLoaderContext","parseWithLoader","stop","_x5","_x6","_x7","_x8","_parseWithLoader","_callee2","response","ok","redirected","status","statusText","type","headers","_callee2$","_context2","validateWorkerVersion","isResponse","Object","fromEntries","entries","getArrayBufferOrStringFromData","parseTextSync","dataType","canParseWithWorker","parseWithWorker","parseText","parseSync","Error","concat","id"],"sources":["../../../../src/lib/api/parse.ts"],"sourcesContent":["import type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {assert, validateWorkerVersion} from '@loaders.gl/worker-utils';\nimport {parseWithWorker, canParseWithWorker} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {isResponse} from '../../javascript-utils/is-type';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromData} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parse(\n data: DataType | Promise<DataType>,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<any> {\n assert(!context || typeof context === 'object'); // parse no longer accepts final url\n\n // Signature: parse(data, options, context | url)\n // Uses registered loaders\n if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n // todo hacky type cast\n const loader = await selectLoader(data as ArrayBuffer, candidateLoaders, options);\n // Note: if no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders, url);\n\n // Get a context (if already present, will be unchanged)\n context = getLoaderContext({url, parse, loaders: candidateLoaders}, options, context);\n\n return await parseWithLoader(loader, data, options, context);\n}\n\n// TODO: support progress and abort\n// TODO - should accept loader.parseAsyncIterator and concatenate.\nasync function parseWithLoader(loader, data, options, context) {\n validateWorkerVersion(loader);\n\n if (isResponse(data)) {\n // Serialize to support passing the response to web worker\n const response = data as Response;\n const {ok, redirected, status, statusText, type, url} = response;\n const headers = Object.fromEntries(response.headers.entries());\n context.response = {headers, ok, redirected, status, statusText, type, url};\n }\n\n data = await getArrayBufferOrStringFromData(data, loader, options);\n\n // First check for synchronous text parser, wrap results in promises\n if (loader.parseTextSync && typeof data === 'string') {\n options.dataType = 'text';\n return loader.parseTextSync(data, options, context, loader);\n }\n\n // If we have a workerUrl and the loader can parse the given options efficiently in a worker\n if (canParseWithWorker(loader, options)) {\n return await parseWithWorker(loader, data, options, context, parse);\n }\n\n // Check for asynchronous parser\n if (loader.parseText && typeof data === 'string') {\n return await loader.parseText(data, options, context, loader);\n }\n\n if (loader.parse) {\n return await loader.parse(data, options, context, loader);\n }\n\n // This should not happen, all sync loaders should also offer `parse` function\n assert(!loader.parseSync);\n\n // TBD - If asynchronous parser not available, return null\n throw new Error(`${loader.id} loader - no parser found and worker is disabled`);\n}\n"],"mappings":"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"}
|
|
@@ -10,13 +10,12 @@ var _normalizeLoader = require("../loader-utils/normalize-loader");
|
|
|
10
10
|
var _optionUtils = require("../loader-utils/option-utils");
|
|
11
11
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
12
12
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
14
|
var getGlobalLoaderRegistry = function getGlobalLoaderRegistry() {
|
|
15
15
|
var state = (0, _optionUtils.getGlobalLoaderState)();
|
|
16
16
|
state.loaderRegistry = state.loaderRegistry || [];
|
|
17
17
|
return state.loaderRegistry;
|
|
18
18
|
};
|
|
19
|
-
|
|
20
19
|
function registerLoaders(loaders) {
|
|
21
20
|
var loaderRegistry = getGlobalLoaderRegistry();
|
|
22
21
|
loaders = Array.isArray(loaders) ? loaders : [loaders];
|
|
@@ -44,7 +43,6 @@ function registerLoaders(loaders) {
|
|
|
44
43
|
function getRegisteredLoaders() {
|
|
45
44
|
return getGlobalLoaderRegistry();
|
|
46
45
|
}
|
|
47
|
-
|
|
48
46
|
function _unregisterLoaders() {
|
|
49
47
|
var state = (0, _optionUtils.getGlobalLoaderState)();
|
|
50
48
|
state.loaderRegistry = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-loaders.js","names":["getGlobalLoaderRegistry","state","getGlobalLoaderState","loaderRegistry","registerLoaders","loaders","
|
|
1
|
+
{"version":3,"file":"register-loaders.js","names":["_normalizeLoader","require","_optionUtils","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","getGlobalLoaderRegistry","state","getGlobalLoaderState","loaderRegistry","registerLoaders","loaders","_iterator","_step","_loop","loader","normalizedLoader","normalizeLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"sources":["../../../../src/lib/api/register-loaders.ts"],"sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\n/** Register a list of global loaders */\nexport function registerLoaders(loaders: Loader[] | Loader) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n/** @deprecated For testing only */\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"mappings":"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"}
|
package/dist/es5/lib/api/save.js
CHANGED
|
@@ -17,21 +17,19 @@ function _save() {
|
|
|
17
17
|
_save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, url, writer, options) {
|
|
18
18
|
var encodedData;
|
|
19
19
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
-
while (1) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return _context.stop();
|
|
34
|
-
}
|
|
20
|
+
while (1) switch (_context.prev = _context.next) {
|
|
21
|
+
case 0:
|
|
22
|
+
_context.next = 2;
|
|
23
|
+
return (0, _encode.encode)(data, writer, options);
|
|
24
|
+
case 2:
|
|
25
|
+
encodedData = _context.sent;
|
|
26
|
+
_context.next = 5;
|
|
27
|
+
return (0, _writeFile.writeFile)(url, encodedData);
|
|
28
|
+
case 5:
|
|
29
|
+
return _context.abrupt("return", _context.sent);
|
|
30
|
+
case 6:
|
|
31
|
+
case "end":
|
|
32
|
+
return _context.stop();
|
|
35
33
|
}
|
|
36
34
|
}, _callee);
|
|
37
35
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.js","names":["save","data","url","writer","options","encode","
|
|
1
|
+
{"version":3,"file":"save.js","names":["_encode","require","_writeFile","save","_x","_x2","_x3","_x4","_save","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","url","writer","options","encodedData","wrap","_callee$","_context","prev","next","encode","sent","writeFile","abrupt","stop","saveSync","encodeSync","writeFileSync"],"sources":["../../../../src/lib/api/save.ts"],"sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {encode, encodeSync} from './encode';\nimport {writeFile, writeFileSync} from '../fetch/write-file';\n\nexport async function save(data, url, writer: Writer, options: WriterOptions) {\n const encodedData = await encode(data, writer, options);\n return await writeFile(url, encodedData);\n}\n\nexport function saveSync(data, url, writer, options) {\n const encodedData = encodeSync(data, writer, options);\n return writeFileSync(url, encodedData);\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAA6D,SAEvCE,IAAIA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,MAAA;EAAAA,KAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAnB,SAAAC,QAAoBC,IAAI,EAAEC,GAAG,EAAEC,MAAc,EAAEC,OAAsB;IAAA,IAAAC,WAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAChD,IAAAC,cAAM,EAACV,IAAI,EAAEE,MAAM,EAAEC,OAAO,CAAC;QAAA;UAAjDC,WAAW,GAAAG,QAAA,CAAAI,IAAA;UAAAJ,QAAA,CAAAE,IAAA;UAAA,OACJ,IAAAG,oBAAS,EAACX,GAAG,EAAEG,WAAW,CAAC;QAAA;UAAA,OAAAG,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAI,IAAA;QAAA;QAAA;UAAA,OAAAJ,QAAA,CAAAO,IAAA;MAAA;IAAA,GAAAf,OAAA;EAAA,CACzC;EAAA,OAAAP,KAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAEM,SAASqB,QAAQA,CAACf,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,EAAE;EACnD,IAAMC,WAAW,GAAG,IAAAY,kBAAU,EAAChB,IAAI,EAAEE,MAAM,EAAEC,OAAO,CAAC;EACrD,OAAO,IAAAc,wBAAa,EAAChB,GAAG,EAAEG,WAAW,CAAC;AACxC"}
|