@loaders.gl/core 4.0.0-alpha.5 → 4.0.0-alpha.7
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/bundle.js +2 -2
- package/dist/core-addons/write-file-browser.js +59 -1
- package/dist/dist.min.js +934 -451
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/core-addons/write-file-browser.js +2 -0
- package/dist/es5/core-addons/write-file-browser.js.map +1 -0
- package/dist/es5/index.js +377 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +94 -0
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -0
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +42 -0
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -0
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js +47 -0
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -0
- package/dist/es5/iterators/make-iterator/make-iterator.js +31 -0
- package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -0
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js +133 -0
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -0
- package/dist/es5/iterators/make-iterator/make-string-iterator.js +38 -0
- package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -0
- package/dist/es5/iterators/make-stream/make-dom-stream.js +67 -0
- package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -0
- package/dist/es5/iterators/make-stream/make-node-stream.js +168 -0
- package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -0
- package/dist/es5/javascript-utils/is-type.js +79 -0
- package/dist/es5/javascript-utils/is-type.js.map +1 -0
- package/dist/es5/lib/api/encode-table.js +159 -0
- package/dist/es5/lib/api/encode-table.js.map +1 -0
- package/dist/es5/lib/api/encode.js +244 -0
- package/dist/es5/lib/api/encode.js.map +1 -0
- package/dist/es5/lib/api/load-in-batches.js +63 -0
- package/dist/es5/lib/api/load-in-batches.js.map +1 -0
- package/dist/es5/lib/api/load.js +76 -0
- package/dist/es5/lib/api/load.js.map +1 -0
- package/dist/es5/lib/api/loader-options.js +19 -0
- package/dist/es5/lib/api/loader-options.js.map +1 -0
- package/dist/es5/lib/api/parse-in-batches.js +278 -0
- package/dist/es5/lib/api/parse-in-batches.js.map +1 -0
- package/dist/es5/lib/api/parse-sync.js +53 -0
- package/dist/es5/lib/api/parse-sync.js.map +1 -0
- package/dist/es5/lib/api/parse.js +143 -0
- package/dist/es5/lib/api/parse.js.map +1 -0
- package/dist/es5/lib/api/register-loaders.js +50 -0
- package/dist/es5/lib/api/register-loaders.js.map +1 -0
- package/dist/es5/lib/api/save.js +42 -0
- package/dist/es5/lib/api/save.js.map +1 -0
- package/dist/es5/lib/api/select-loader.js +302 -0
- package/dist/es5/lib/api/select-loader.js.map +1 -0
- package/dist/es5/lib/common.js +2 -0
- package/dist/es5/lib/common.js.map +1 -0
- package/dist/es5/lib/fetch/fetch-error-message.js +56 -0
- package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -0
- package/dist/es5/lib/fetch/fetch-file.js +47 -0
- package/dist/es5/lib/fetch/fetch-file.js.map +1 -0
- package/dist/es5/lib/fetch/read-array-buffer.js +76 -0
- package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -0
- package/dist/es5/lib/fetch/read-file.js +20 -0
- package/dist/es5/lib/fetch/read-file.js.map +1 -0
- package/dist/es5/lib/fetch/write-file.js +48 -0
- package/dist/es5/lib/fetch/write-file.js.map +1 -0
- package/dist/es5/lib/filesystems/browser-filesystem.js +249 -0
- package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -0
- package/dist/es5/lib/filesystems/filesystem.js +2 -0
- package/dist/es5/lib/filesystems/filesystem.js.map +1 -0
- package/dist/es5/lib/filesystems/read-array-buffer.js +41 -0
- package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -0
- package/dist/es5/lib/init.js +18 -0
- package/dist/es5/lib/init.js.map +1 -0
- package/dist/es5/lib/loader-utils/check-errors.js +57 -0
- package/dist/es5/lib/loader-utils/check-errors.js.map +1 -0
- package/dist/es5/lib/loader-utils/get-data.js +237 -0
- package/dist/es5/lib/loader-utils/get-data.js.map +1 -0
- package/dist/es5/lib/loader-utils/get-fetch-function.js +26 -0
- package/dist/es5/lib/loader-utils/get-fetch-function.js.map +1 -0
- package/dist/es5/lib/loader-utils/loader-context.js +49 -0
- package/dist/es5/lib/loader-utils/loader-context.js.map +1 -0
- package/dist/es5/lib/loader-utils/loggers.js +90 -0
- package/dist/es5/lib/loader-utils/loggers.js.map +1 -0
- package/dist/es5/lib/loader-utils/normalize-loader.js +44 -0
- package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -0
- package/dist/es5/lib/loader-utils/option-defaults.js +47 -0
- package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -0
- package/dist/es5/lib/loader-utils/option-utils.js +132 -0
- package/dist/es5/lib/loader-utils/option-utils.js.map +1 -0
- package/dist/es5/lib/progress/fetch-progress.js +134 -0
- package/dist/es5/lib/progress/fetch-progress.js.map +1 -0
- package/dist/es5/lib/utils/log.js +12 -0
- package/dist/es5/lib/utils/log.js.map +1 -0
- package/dist/es5/lib/utils/mime-type-utils.js +24 -0
- package/dist/es5/lib/utils/mime-type-utils.js.map +1 -0
- package/dist/es5/lib/utils/resource-utils.js +62 -0
- package/dist/es5/lib/utils/resource-utils.js.map +1 -0
- package/dist/es5/lib/utils/response-utils.js +197 -0
- package/dist/es5/lib/utils/response-utils.js.map +1 -0
- package/dist/es5/lib/utils/url-utils.js +16 -0
- package/dist/es5/lib/utils/url-utils.js.map +1 -0
- package/dist/es5/null-loader.js +139 -0
- package/dist/es5/null-loader.js.map +1 -0
- package/dist/es5/workers/null-worker.js +6 -0
- package/dist/es5/workers/null-worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/core-addons/README.md +1 -0
- package/dist/esm/core-addons/write-file-browser.js +2 -0
- package/dist/esm/core-addons/write-file-browser.js.map +1 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js +16 -0
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js.map +1 -0
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js +20 -0
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -0
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js +12 -0
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js.map +1 -0
- package/dist/esm/iterators/make-iterator/make-iterator.js +25 -0
- package/dist/esm/iterators/make-iterator/make-iterator.js.map +1 -0
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js +32 -0
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js.map +1 -0
- package/dist/esm/iterators/make-iterator/make-string-iterator.js +13 -0
- package/dist/esm/iterators/make-iterator/make-string-iterator.js.map +1 -0
- package/dist/esm/iterators/make-stream/make-dom-stream.js +29 -0
- package/dist/esm/iterators/make-stream/make-dom-stream.js.map +1 -0
- package/dist/esm/iterators/make-stream/make-node-stream.js +57 -0
- package/dist/esm/iterators/make-stream/make-node-stream.js.map +1 -0
- package/dist/esm/javascript-utils/is-type.js +19 -0
- package/dist/esm/javascript-utils/is-type.js.map +1 -0
- package/dist/esm/lib/api/encode-table.js +45 -0
- package/dist/esm/lib/api/encode-table.js.map +1 -0
- package/dist/esm/lib/api/encode.js +87 -0
- package/dist/esm/lib/api/encode.js.map +1 -0
- package/dist/esm/lib/api/load-in-batches.js +25 -0
- package/dist/esm/lib/api/load-in-batches.js.map +1 -0
- package/dist/esm/lib/api/load.js +26 -0
- package/dist/esm/lib/api/load.js.map +1 -0
- package/dist/esm/lib/api/loader-options.js +3 -0
- package/dist/esm/lib/api/loader-options.js.map +1 -0
- package/dist/esm/lib/api/parse-in-batches.js +84 -0
- package/dist/esm/lib/api/parse-in-batches.js.map +1 -0
- package/dist/esm/lib/api/parse-sync.js +45 -0
- package/dist/esm/lib/api/parse-sync.js.map +1 -0
- package/dist/esm/lib/api/parse.js +74 -0
- package/dist/esm/lib/api/parse.js.map +1 -0
- package/dist/esm/lib/api/register-loaders.js +25 -0
- package/dist/esm/lib/api/register-loaders.js.map +1 -0
- package/dist/esm/lib/api/save.js +11 -0
- package/dist/esm/lib/api/save.js.map +1 -0
- package/dist/esm/lib/api/select-loader.js +201 -0
- package/dist/esm/lib/api/select-loader.js.map +1 -0
- package/dist/esm/lib/common.js +2 -0
- package/dist/esm/lib/common.js.map +1 -0
- package/dist/esm/lib/fetch/fetch-error-message.js +18 -0
- package/dist/esm/lib/fetch/fetch-error-message.js.map +1 -0
- package/dist/esm/lib/fetch/fetch-file.js +14 -0
- package/dist/esm/lib/fetch/fetch-file.js.map +1 -0
- package/dist/esm/lib/fetch/read-array-buffer.js +23 -0
- package/dist/esm/lib/fetch/read-array-buffer.js.map +1 -0
- package/dist/esm/lib/fetch/read-file.js +15 -0
- package/dist/esm/lib/fetch/read-file.js.map +1 -0
- package/dist/esm/lib/fetch/write-file.js +21 -0
- package/dist/esm/lib/fetch/write-file.js.map +1 -0
- package/dist/esm/lib/filesystems/browser-filesystem.js +92 -0
- package/dist/esm/lib/filesystems/browser-filesystem.js.map +1 -0
- package/dist/esm/lib/filesystems/filesystem.js +2 -0
- package/dist/esm/lib/filesystems/filesystem.js.map +1 -0
- package/dist/esm/lib/filesystems/read-array-buffer.js +8 -0
- package/dist/esm/lib/filesystems/read-array-buffer.js.map +1 -0
- package/dist/esm/lib/init.js +11 -0
- package/dist/esm/lib/init.js.map +1 -0
- package/dist/esm/lib/loader-utils/check-errors.js +22 -0
- package/dist/esm/lib/loader-utils/check-errors.js.map +1 -0
- package/dist/esm/lib/loader-utils/get-data.js +103 -0
- package/dist/esm/lib/loader-utils/get-data.js.map +1 -0
- package/dist/esm/lib/loader-utils/get-fetch-function.js +18 -0
- package/dist/esm/lib/loader-utils/get-fetch-function.js.map +1 -0
- package/dist/esm/lib/loader-utils/loader-context.js +38 -0
- package/dist/esm/lib/loader-utils/loader-context.js.map +1 -0
- package/dist/esm/lib/loader-utils/loggers.js +50 -0
- package/dist/esm/lib/loader-utils/loggers.js.map +1 -0
- package/dist/esm/lib/loader-utils/normalize-loader.js +37 -0
- package/dist/esm/lib/loader-utils/normalize-loader.js.map +1 -0
- package/dist/esm/lib/loader-utils/option-defaults.js +39 -0
- package/dist/esm/lib/loader-utils/option-defaults.js.map +1 -0
- package/dist/esm/lib/loader-utils/option-utils.js +106 -0
- package/dist/esm/lib/loader-utils/option-utils.js.map +1 -0
- package/dist/esm/lib/progress/fetch-progress.js +52 -0
- package/dist/esm/lib/progress/fetch-progress.js.map +1 -0
- package/dist/esm/lib/utils/log.js +5 -0
- package/dist/esm/lib/utils/log.js.map +1 -0
- package/dist/esm/lib/utils/mime-type-utils.js +17 -0
- package/dist/esm/lib/utils/mime-type-utils.js.map +1 -0
- package/dist/esm/lib/utils/resource-utils.js +54 -0
- package/dist/esm/lib/utils/resource-utils.js.map +1 -0
- package/dist/esm/lib/utils/response-utils.js +89 -0
- package/dist/esm/lib/utils/response-utils.js.map +1 -0
- package/dist/esm/lib/utils/url-utils.js +9 -0
- package/dist/esm/lib/utils/url-utils.js.map +1 -0
- package/dist/esm/null-loader.js +45 -0
- package/dist/esm/null-loader.js.map +1 -0
- package/dist/esm/workers/null-worker.js +4 -0
- package/dist/esm/workers/null-worker.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +108 -29
- package/dist/iterators/batch-iterators/timed-batch-iterator.js +20 -17
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js +25 -16
- package/dist/iterators/make-iterator/make-blob-iterator.js +20 -12
- package/dist/iterators/make-iterator/make-iterator.d.ts +1 -1
- package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-iterator.js +36 -29
- package/dist/iterators/make-iterator/make-stream-iterator.d.ts +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js +89 -32
- package/dist/iterators/make-iterator/make-string-iterator.js +22 -12
- package/dist/iterators/make-stream/make-dom-stream.d.ts +1 -1
- package/dist/iterators/make-stream/make-dom-stream.d.ts.map +1 -1
- package/dist/iterators/make-stream/make-dom-stream.js +44 -32
- package/dist/iterators/make-stream/make-node-stream.d.ts +8 -3
- package/dist/iterators/make-stream/make-node-stream.d.ts.map +1 -1
- package/dist/iterators/make-stream/make-node-stream.js +75 -67
- package/dist/javascript-utils/is-type.d.ts +1 -1
- package/dist/javascript-utils/is-type.d.ts.map +1 -1
- package/dist/javascript-utils/is-type.js +41 -21
- package/dist/lib/api/encode-table.d.ts +6 -0
- package/dist/lib/api/encode-table.d.ts.map +1 -0
- package/dist/lib/api/encode-table.js +54 -0
- package/dist/lib/api/encode.d.ts +5 -5
- package/dist/lib/api/encode.d.ts.map +1 -1
- package/dist/lib/api/encode.js +111 -81
- package/dist/lib/api/load-in-batches.d.ts +1 -1
- package/dist/lib/api/load-in-batches.d.ts.map +1 -1
- package/dist/lib/api/load-in-batches.js +30 -27
- package/dist/lib/api/load.d.ts +4 -1
- package/dist/lib/api/load.d.ts.map +1 -1
- package/dist/lib/api/load.js +42 -24
- package/dist/lib/api/loader-options.d.ts +3 -0
- package/dist/lib/api/loader-options.d.ts.map +1 -0
- package/dist/lib/api/loader-options.js +7 -0
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +110 -92
- package/dist/lib/api/parse-sync.d.ts.map +1 -1
- package/dist/lib/api/parse-sync.js +56 -54
- package/dist/lib/api/parse.d.ts +4 -8
- package/dist/lib/api/parse.d.ts.map +1 -1
- package/dist/lib/api/parse.js +81 -61
- package/dist/lib/api/register-loaders.d.ts +1 -1
- package/dist/lib/api/register-loaders.d.ts.map +1 -1
- package/dist/lib/api/register-loaders.js +29 -23
- package/dist/lib/api/save.js +13 -9
- package/dist/lib/api/select-loader.d.ts.map +1 -1
- package/dist/lib/api/select-loader.js +219 -194
- package/dist/lib/common.js +2 -2
- package/dist/lib/fetch/fetch-error-message.js +21 -17
- package/dist/lib/fetch/fetch-file.js +25 -15
- package/dist/lib/fetch/read-array-buffer.js +39 -27
- package/dist/lib/fetch/read-file.js +28 -16
- package/dist/lib/fetch/write-file.js +20 -23
- package/dist/lib/filesystems/browser-filesystem.d.ts +1 -1
- package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
- package/dist/lib/filesystems/browser-filesystem.js +118 -107
- package/dist/lib/filesystems/filesystem.d.ts +2 -2
- package/dist/lib/filesystems/filesystem.d.ts.map +1 -1
- package/dist/lib/filesystems/filesystem.js +2 -2
- package/dist/lib/filesystems/read-array-buffer.js +28 -8
- package/dist/lib/init.d.ts.map +1 -1
- package/dist/lib/init.js +16 -6
- package/dist/lib/loader-utils/check-errors.js +26 -22
- package/dist/lib/loader-utils/get-data.js +122 -122
- package/dist/lib/loader-utils/get-fetch-function.d.ts +9 -0
- package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -0
- package/dist/lib/loader-utils/get-fetch-function.js +31 -0
- package/dist/lib/loader-utils/loader-context.d.ts +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js +57 -34
- package/dist/lib/loader-utils/loggers.d.ts +2 -1
- package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
- package/dist/lib/loader-utils/loggers.js +39 -46
- package/dist/lib/loader-utils/normalize-loader.js +50 -41
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js +41 -35
- package/dist/lib/loader-utils/option-utils.d.ts +11 -13
- package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-utils.js +140 -120
- package/dist/lib/progress/fetch-progress.js +54 -56
- package/dist/lib/utils/log.d.ts +3 -0
- package/dist/lib/utils/log.d.ts.map +1 -0
- package/dist/lib/utils/log.js +6 -0
- package/dist/lib/utils/mime-type-utils.js +38 -17
- package/dist/lib/utils/resource-utils.d.ts +17 -8
- package/dist/lib/utils/resource-utils.d.ts.map +1 -1
- package/dist/lib/utils/resource-utils.js +86 -56
- package/dist/lib/utils/response-utils.d.ts.map +1 -1
- package/dist/lib/utils/response-utils.js +105 -105
- package/dist/lib/utils/url-utils.d.ts +3 -0
- package/dist/lib/utils/url-utils.d.ts.map +1 -0
- package/dist/lib/utils/url-utils.js +14 -0
- package/dist/null-loader.d.ts.map +1 -1
- package/dist/null-loader.js +53 -31
- package/dist/null-worker-node.js +234 -0
- package/dist/null-worker.js +61 -21
- package/dist/workers/null-worker.js +5 -4
- package/package.json +11 -10
- package/src/index.ts +19 -1
- package/src/iterators/make-stream/make-dom-stream.ts +1 -1
- package/src/iterators/make-stream/make-node-stream.ts +8 -2
- package/src/lib/api/encode-table.ts +71 -0
- package/src/lib/api/encode.ts +15 -5
- package/src/lib/api/load-in-batches.ts +1 -1
- package/src/lib/api/load.ts +39 -8
- package/src/lib/api/loader-options.ts +2 -0
- package/src/lib/api/parse-in-batches.ts +8 -9
- package/src/lib/api/parse-sync.ts +8 -4
- package/src/lib/api/parse.ts +42 -5
- package/src/lib/api/register-loaders.ts +1 -1
- package/src/lib/api/select-loader.ts +23 -4
- package/src/lib/init.ts +10 -3
- package/src/lib/loader-utils/get-fetch-function.ts +38 -0
- package/src/lib/loader-utils/loader-context.ts +20 -9
- package/src/lib/loader-utils/loggers.ts +1 -1
- package/src/lib/loader-utils/option-defaults.ts +3 -1
- package/src/lib/loader-utils/option-utils.ts +22 -46
- package/src/lib/progress/fetch-progress.ts +2 -2
- package/src/lib/utils/log.ts +4 -0
- package/src/lib/utils/resource-utils.ts +54 -34
- package/src/lib/utils/response-utils.ts +5 -4
- package/src/lib/utils/url-utils.ts +12 -0
- package/src/null-loader.ts +17 -5
- package/dist/bundle.js.map +0 -1
- package/dist/core-addons/write-file-browser.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +0 -1
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +0 -1
- package/dist/iterators/make-iterator/make-blob-iterator.js.map +0 -1
- package/dist/iterators/make-iterator/make-iterator.js.map +0 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +0 -1
- package/dist/iterators/make-iterator/make-string-iterator.js.map +0 -1
- package/dist/iterators/make-stream/make-dom-stream.js.map +0 -1
- package/dist/iterators/make-stream/make-node-stream.js.map +0 -1
- package/dist/javascript-utils/is-type.js.map +0 -1
- package/dist/lib/api/encode.js.map +0 -1
- package/dist/lib/api/load-in-batches.js.map +0 -1
- package/dist/lib/api/load.js.map +0 -1
- package/dist/lib/api/parse-in-batches.js.map +0 -1
- package/dist/lib/api/parse-sync.js.map +0 -1
- package/dist/lib/api/parse.js.map +0 -1
- package/dist/lib/api/register-loaders.js.map +0 -1
- package/dist/lib/api/save.js.map +0 -1
- package/dist/lib/api/select-loader.js.map +0 -1
- package/dist/lib/api/set-loader-options.d.ts +0 -6
- package/dist/lib/api/set-loader-options.d.ts.map +0 -1
- package/dist/lib/api/set-loader-options.js +0 -5
- package/dist/lib/api/set-loader-options.js.map +0 -1
- package/dist/lib/common.js.map +0 -1
- package/dist/lib/fetch/fetch-error-message.js.map +0 -1
- package/dist/lib/fetch/fetch-file.js.map +0 -1
- package/dist/lib/fetch/read-array-buffer.js.map +0 -1
- package/dist/lib/fetch/read-file.js.map +0 -1
- package/dist/lib/fetch/write-file.js.map +0 -1
- package/dist/lib/filesystems/browser-filesystem.js.map +0 -1
- package/dist/lib/filesystems/filesystem.js.map +0 -1
- package/dist/lib/filesystems/read-array-buffer.js.map +0 -1
- package/dist/lib/init.js.map +0 -1
- package/dist/lib/loader-utils/check-errors.js.map +0 -1
- package/dist/lib/loader-utils/get-data.js.map +0 -1
- package/dist/lib/loader-utils/loader-context.js.map +0 -1
- package/dist/lib/loader-utils/loggers.js.map +0 -1
- package/dist/lib/loader-utils/normalize-loader.js.map +0 -1
- package/dist/lib/loader-utils/option-defaults.js.map +0 -1
- package/dist/lib/loader-utils/option-utils.js.map +0 -1
- package/dist/lib/progress/fetch-progress.js.map +0 -1
- package/dist/lib/utils/mime-type-utils.js.map +0 -1
- package/dist/lib/utils/resource-utils.js.map +0 -1
- package/dist/lib/utils/response-utils.js.map +0 -1
- package/dist/null-loader.js.map +0 -1
- package/dist/workers/null-worker.js.map +0 -1
- package/src/lib/api/set-loader-options.ts +0 -9
- /package/dist/{core-addons → es5/core-addons}/README.md +0 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
|
|
21
|
+
// ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
|
|
22
|
+
function getTransferList(object, recursive = true, transfers) {
|
|
23
|
+
const transfersSet = transfers || new Set();
|
|
24
|
+
if (!object) {
|
|
25
|
+
} else if (isTransferable(object)) {
|
|
26
|
+
transfersSet.add(object);
|
|
27
|
+
} else if (isTransferable(object.buffer)) {
|
|
28
|
+
transfersSet.add(object.buffer);
|
|
29
|
+
} else if (ArrayBuffer.isView(object)) {
|
|
30
|
+
} else if (recursive && typeof object === "object") {
|
|
31
|
+
for (const key in object) {
|
|
32
|
+
getTransferList(object[key], recursive, transfersSet);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return transfers === void 0 ? Array.from(transfersSet) : [];
|
|
36
|
+
}
|
|
37
|
+
function isTransferable(object) {
|
|
38
|
+
if (!object) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
if (object instanceof ArrayBuffer) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
57
|
+
function getParentPort() {
|
|
58
|
+
let parentPort;
|
|
59
|
+
try {
|
|
60
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
61
|
+
parentPort = globalThis.parentPort;
|
|
62
|
+
} catch {
|
|
63
|
+
}
|
|
64
|
+
return parentPort;
|
|
65
|
+
}
|
|
66
|
+
var onMessageWrapperMap = new Map();
|
|
67
|
+
var WorkerBody = class {
|
|
68
|
+
static inWorkerThread() {
|
|
69
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
70
|
+
}
|
|
71
|
+
static set onmessage(onMessage) {
|
|
72
|
+
function handleMessage(message) {
|
|
73
|
+
const parentPort3 = getParentPort();
|
|
74
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
75
|
+
onMessage(type, payload);
|
|
76
|
+
}
|
|
77
|
+
const parentPort2 = getParentPort();
|
|
78
|
+
if (parentPort2) {
|
|
79
|
+
parentPort2.on("message", handleMessage);
|
|
80
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
81
|
+
} else {
|
|
82
|
+
globalThis.onmessage = handleMessage;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
static addEventListener(onMessage) {
|
|
86
|
+
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
87
|
+
if (!onMessageWrapper) {
|
|
88
|
+
onMessageWrapper = (message) => {
|
|
89
|
+
if (!isKnownMessage(message)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const parentPort3 = getParentPort();
|
|
93
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
94
|
+
onMessage(type, payload);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const parentPort2 = getParentPort();
|
|
98
|
+
if (parentPort2) {
|
|
99
|
+
console.error("not implemented");
|
|
100
|
+
} else {
|
|
101
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
static removeEventListener(onMessage) {
|
|
105
|
+
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
106
|
+
onMessageWrapperMap.delete(onMessage);
|
|
107
|
+
const parentPort2 = getParentPort();
|
|
108
|
+
if (parentPort2) {
|
|
109
|
+
console.error("not implemented");
|
|
110
|
+
} else {
|
|
111
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
static postMessage(type, payload) {
|
|
115
|
+
const data = { source: "loaders.gl", type, payload };
|
|
116
|
+
const transferList = getTransferList(payload);
|
|
117
|
+
const parentPort2 = getParentPort();
|
|
118
|
+
if (parentPort2) {
|
|
119
|
+
parentPort2.postMessage(data, transferList);
|
|
120
|
+
} else {
|
|
121
|
+
globalThis.postMessage(data, transferList);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
function isKnownMessage(message) {
|
|
126
|
+
const { type, data } = message;
|
|
127
|
+
return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
131
|
+
var requestId = 0;
|
|
132
|
+
function createLoaderWorker(loader) {
|
|
133
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
WorkerBody.onmessage = async (type, payload) => {
|
|
137
|
+
switch (type) {
|
|
138
|
+
case "process":
|
|
139
|
+
try {
|
|
140
|
+
const { input, options = {}, context = {} } = payload;
|
|
141
|
+
const result = await parseData({
|
|
142
|
+
loader,
|
|
143
|
+
arrayBuffer: input,
|
|
144
|
+
options,
|
|
145
|
+
context: __spreadProps(__spreadValues({}, context), {
|
|
146
|
+
parse: parseOnMainThread
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
WorkerBody.postMessage("done", { result });
|
|
150
|
+
} catch (error) {
|
|
151
|
+
const message = error instanceof Error ? error.message : "";
|
|
152
|
+
WorkerBody.postMessage("error", { error: message });
|
|
153
|
+
}
|
|
154
|
+
break;
|
|
155
|
+
default:
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function parseOnMainThread(arrayBuffer, options) {
|
|
160
|
+
return new Promise((resolve, reject) => {
|
|
161
|
+
const id = requestId++;
|
|
162
|
+
const onMessage = (type, payload2) => {
|
|
163
|
+
if (payload2.id !== id) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
switch (type) {
|
|
167
|
+
case "done":
|
|
168
|
+
WorkerBody.removeEventListener(onMessage);
|
|
169
|
+
resolve(payload2.result);
|
|
170
|
+
break;
|
|
171
|
+
case "error":
|
|
172
|
+
WorkerBody.removeEventListener(onMessage);
|
|
173
|
+
reject(payload2.error);
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
WorkerBody.addEventListener(onMessage);
|
|
179
|
+
const payload = { id, input: arrayBuffer, options };
|
|
180
|
+
WorkerBody.postMessage("process", payload);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
async function parseData({ loader, arrayBuffer, options, context }) {
|
|
184
|
+
let data;
|
|
185
|
+
let parser;
|
|
186
|
+
if (loader.parseSync || loader.parse) {
|
|
187
|
+
data = arrayBuffer;
|
|
188
|
+
parser = loader.parseSync || loader.parse;
|
|
189
|
+
} else if (loader.parseTextSync) {
|
|
190
|
+
const textDecoder = new TextDecoder();
|
|
191
|
+
data = textDecoder.decode(arrayBuffer);
|
|
192
|
+
parser = loader.parseTextSync;
|
|
193
|
+
} else {
|
|
194
|
+
throw new Error(`Could not load data with ${loader.name} loader`);
|
|
195
|
+
}
|
|
196
|
+
options = __spreadProps(__spreadValues({}, options), {
|
|
197
|
+
modules: loader && loader.options && loader.options.modules || {},
|
|
198
|
+
worker: false
|
|
199
|
+
});
|
|
200
|
+
return await parser(data, __spreadValues({}, options), context, loader);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// src/null-loader.ts
|
|
204
|
+
var VERSION = true ? "4.0.0-alpha.7" : "latest";
|
|
205
|
+
function parseSync(arrayBuffer, options, context) {
|
|
206
|
+
if (!options.null.echoParameters)
|
|
207
|
+
return null;
|
|
208
|
+
context = context && JSON.parse(JSON.stringify(context));
|
|
209
|
+
return { arrayBuffer, options, context };
|
|
210
|
+
}
|
|
211
|
+
var NullLoader = {
|
|
212
|
+
name: "Null loader",
|
|
213
|
+
id: "null",
|
|
214
|
+
module: "core",
|
|
215
|
+
version: VERSION,
|
|
216
|
+
mimeTypes: ["application/x.empty"],
|
|
217
|
+
extensions: ["null"],
|
|
218
|
+
parse: async (arrayBuffer, options, context) => parseSync(arrayBuffer, options, context),
|
|
219
|
+
parseSync,
|
|
220
|
+
parseInBatches: async function* generator(asyncIterator, options, context) {
|
|
221
|
+
for await (const batch of asyncIterator) {
|
|
222
|
+
yield parseSync(batch, options, context);
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
tests: [() => false],
|
|
226
|
+
options: {
|
|
227
|
+
null: {
|
|
228
|
+
echoParameters: false
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
// src/workers/null-worker.ts
|
|
234
|
+
createLoaderWorker(NullLoader);
|
package/dist/null-worker.js
CHANGED
|
@@ -35,16 +35,33 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
38
|
+
function getParentPort() {
|
|
39
|
+
let parentPort;
|
|
40
|
+
try {
|
|
41
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
42
|
+
parentPort = globalThis.parentPort;
|
|
43
|
+
} catch {
|
|
44
|
+
}
|
|
45
|
+
return parentPort;
|
|
46
|
+
}
|
|
38
47
|
var onMessageWrapperMap = new Map();
|
|
39
48
|
var WorkerBody = class {
|
|
49
|
+
static inWorkerThread() {
|
|
50
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
51
|
+
}
|
|
40
52
|
static set onmessage(onMessage) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
const { type, payload } = message.data;
|
|
53
|
+
function handleMessage(message) {
|
|
54
|
+
const parentPort3 = getParentPort();
|
|
55
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
46
56
|
onMessage(type, payload);
|
|
47
|
-
}
|
|
57
|
+
}
|
|
58
|
+
const parentPort2 = getParentPort();
|
|
59
|
+
if (parentPort2) {
|
|
60
|
+
parentPort2.on("message", handleMessage);
|
|
61
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
62
|
+
} else {
|
|
63
|
+
globalThis.onmessage = handleMessage;
|
|
64
|
+
}
|
|
48
65
|
}
|
|
49
66
|
static addEventListener(onMessage) {
|
|
50
67
|
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
@@ -53,22 +70,36 @@
|
|
|
53
70
|
if (!isKnownMessage(message)) {
|
|
54
71
|
return;
|
|
55
72
|
}
|
|
56
|
-
const
|
|
73
|
+
const parentPort3 = getParentPort();
|
|
74
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
57
75
|
onMessage(type, payload);
|
|
58
76
|
};
|
|
59
77
|
}
|
|
60
|
-
|
|
78
|
+
const parentPort2 = getParentPort();
|
|
79
|
+
if (parentPort2) {
|
|
80
|
+
console.error("not implemented");
|
|
81
|
+
} else {
|
|
82
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
83
|
+
}
|
|
61
84
|
}
|
|
62
85
|
static removeEventListener(onMessage) {
|
|
63
86
|
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
64
87
|
onMessageWrapperMap.delete(onMessage);
|
|
65
|
-
|
|
88
|
+
const parentPort2 = getParentPort();
|
|
89
|
+
if (parentPort2) {
|
|
90
|
+
console.error("not implemented");
|
|
91
|
+
} else {
|
|
92
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
93
|
+
}
|
|
66
94
|
}
|
|
67
95
|
static postMessage(type, payload) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
96
|
+
const data = { source: "loaders.gl", type, payload };
|
|
97
|
+
const transferList = getTransferList(payload);
|
|
98
|
+
const parentPort2 = getParentPort();
|
|
99
|
+
if (parentPort2) {
|
|
100
|
+
parentPort2.postMessage(data, transferList);
|
|
101
|
+
} else {
|
|
102
|
+
globalThis.postMessage(data, transferList);
|
|
72
103
|
}
|
|
73
104
|
}
|
|
74
105
|
};
|
|
@@ -80,19 +111,20 @@
|
|
|
80
111
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
81
112
|
var requestId = 0;
|
|
82
113
|
function createLoaderWorker(loader) {
|
|
83
|
-
if (
|
|
114
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
84
115
|
return;
|
|
85
116
|
}
|
|
86
117
|
WorkerBody.onmessage = async (type, payload) => {
|
|
87
118
|
switch (type) {
|
|
88
119
|
case "process":
|
|
89
120
|
try {
|
|
90
|
-
const { input, options = {} } = payload;
|
|
121
|
+
const { input, options = {}, context = {} } = payload;
|
|
91
122
|
const result = await parseData({
|
|
92
123
|
loader,
|
|
93
124
|
arrayBuffer: input,
|
|
94
125
|
options,
|
|
95
126
|
context: {
|
|
127
|
+
...context,
|
|
96
128
|
parse: parseOnMainThread
|
|
97
129
|
}
|
|
98
130
|
});
|
|
@@ -152,7 +184,13 @@
|
|
|
152
184
|
}
|
|
153
185
|
|
|
154
186
|
// src/null-loader.ts
|
|
155
|
-
var VERSION = true ? "4.0.0-alpha.
|
|
187
|
+
var VERSION = true ? "4.0.0-alpha.7" : "latest";
|
|
188
|
+
function parseSync(arrayBuffer, options, context) {
|
|
189
|
+
if (!options.null.echoParameters)
|
|
190
|
+
return null;
|
|
191
|
+
context = context && JSON.parse(JSON.stringify(context));
|
|
192
|
+
return { arrayBuffer, options, context };
|
|
193
|
+
}
|
|
156
194
|
var NullLoader = {
|
|
157
195
|
name: "Null loader",
|
|
158
196
|
id: "null",
|
|
@@ -160,16 +198,18 @@
|
|
|
160
198
|
version: VERSION,
|
|
161
199
|
mimeTypes: ["application/x.empty"],
|
|
162
200
|
extensions: ["null"],
|
|
163
|
-
parse: async (arrayBuffer) => arrayBuffer,
|
|
164
|
-
parseSync
|
|
165
|
-
parseInBatches: async function* generator(asyncIterator) {
|
|
201
|
+
parse: async (arrayBuffer, options, context) => parseSync(arrayBuffer, options, context),
|
|
202
|
+
parseSync,
|
|
203
|
+
parseInBatches: async function* generator(asyncIterator, options, context) {
|
|
166
204
|
for await (const batch of asyncIterator) {
|
|
167
|
-
yield batch;
|
|
205
|
+
yield parseSync(batch, options, context);
|
|
168
206
|
}
|
|
169
207
|
},
|
|
170
208
|
tests: [() => false],
|
|
171
209
|
options: {
|
|
172
|
-
null: {
|
|
210
|
+
null: {
|
|
211
|
+
echoParameters: false
|
|
212
|
+
}
|
|
173
213
|
}
|
|
174
214
|
};
|
|
175
215
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
4
|
+
const null_loader_1 = require("../null-loader");
|
|
5
|
+
(0, loader_utils_1.createLoaderWorker)(null_loader_1.NullLoader);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/core",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "4.0.0-alpha.7",
|
|
4
|
+
"description": "The core API for working with loaders.gl loaders and writers",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"point cloud"
|
|
19
19
|
],
|
|
20
20
|
"types": "dist/index.d.ts",
|
|
21
|
-
"main": "dist/index.js",
|
|
22
|
-
"module": "dist/index.js",
|
|
21
|
+
"main": "dist/es5/index.js",
|
|
22
|
+
"module": "dist/esm/index.js",
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"browser": {
|
|
25
25
|
"fs": false,
|
|
@@ -36,15 +36,16 @@
|
|
|
36
36
|
"README.md"
|
|
37
37
|
],
|
|
38
38
|
"scripts": {
|
|
39
|
-
"pre-build": "npm run build-bundle && npm run build-worker",
|
|
39
|
+
"pre-build": "npm run build-bundle && npm run build-worker && npm run build-worker-node",
|
|
40
40
|
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js",
|
|
41
|
-
"build-worker": "esbuild src/workers/null-worker.ts --
|
|
41
|
+
"build-worker": "esbuild src/workers/null-worker.ts --outfile=dist/null-worker.js --bundle --target=esnext --define:__VERSION__=\\\"$npm_package_version\\\"",
|
|
42
|
+
"build-worker-node": "esbuild src/workers/null-worker.ts --outfile=dist/null-worker-node.js --bundle --platform=node --target=node16 --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
45
|
"@babel/runtime": "^7.3.1",
|
|
45
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
46
|
-
"@loaders.gl/worker-utils": "4.0.0-alpha.
|
|
47
|
-
"probe.gl": "^
|
|
46
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.7",
|
|
47
|
+
"@loaders.gl/worker-utils": "4.0.0-alpha.7",
|
|
48
|
+
"@probe.gl/log": "^4.0.2"
|
|
48
49
|
},
|
|
49
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "afb59c4d8e5d8ebb9c28f111cb0c96c5527d0ffd"
|
|
50
51
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
3
|
+
// TYPES
|
|
4
|
+
export type {
|
|
5
|
+
Loader,
|
|
6
|
+
LoaderWithParser,
|
|
7
|
+
LoaderContext,
|
|
8
|
+
LoaderOptions,
|
|
9
|
+
Writer,
|
|
10
|
+
WriterOptions,
|
|
11
|
+
DataType,
|
|
12
|
+
SyncDataType,
|
|
13
|
+
BatchableDataType,
|
|
14
|
+
IFileSystem,
|
|
15
|
+
IRandomAccessReadFileSystem
|
|
16
|
+
} from '@loaders.gl/loader-utils';
|
|
17
|
+
|
|
1
18
|
// FILE READING AND WRITING
|
|
2
19
|
export {fetchFile} from './lib/fetch/fetch-file';
|
|
3
20
|
|
|
@@ -6,7 +23,7 @@ export {readFileSync} from './lib/fetch/read-file';
|
|
|
6
23
|
export {writeFile, writeFileSync} from './lib/fetch/write-file';
|
|
7
24
|
|
|
8
25
|
// CONFIGURATION
|
|
9
|
-
export {setLoaderOptions} from './lib/api/
|
|
26
|
+
export {setLoaderOptions, getLoaderOptions} from './lib/api/loader-options';
|
|
10
27
|
export {registerLoaders} from './lib/api/register-loaders';
|
|
11
28
|
export {selectLoader, selectLoaderSync} from './lib/api/select-loader';
|
|
12
29
|
|
|
@@ -19,6 +36,7 @@ export {load} from './lib/api/load';
|
|
|
19
36
|
export {loadInBatches} from './lib/api/load-in-batches';
|
|
20
37
|
|
|
21
38
|
// ENCODING (ENCODING AND WRITING)
|
|
39
|
+
export {encodeTable, encodeTableAsText, encodeTableInBatches} from './lib/api/encode-table';
|
|
22
40
|
export {encode, encodeSync, encodeInBatches, encodeText, encodeURLtoURL} from './lib/api/encode';
|
|
23
41
|
export {save, saveSync} from './lib/api/save';
|
|
24
42
|
|
|
@@ -24,7 +24,6 @@ export function makeStream<ArrayBuffer>(
|
|
|
24
24
|
// Create a byte stream (enables `Response(stream).arrayBuffer()`)
|
|
25
25
|
// Only supported on Chrome
|
|
26
26
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController
|
|
27
|
-
// @ts-expect-error Only Chrome supports byte streams
|
|
28
27
|
type: 'bytes',
|
|
29
28
|
|
|
30
29
|
async pull(controller) {
|
|
@@ -34,6 +33,7 @@ export function makeStream<ArrayBuffer>(
|
|
|
34
33
|
controller.close();
|
|
35
34
|
} else {
|
|
36
35
|
// TODO - ignores controller.desiredSize
|
|
36
|
+
// @ts-expect-error Unclear why value is not correctly typed
|
|
37
37
|
controller.enqueue(new Uint8Array(value));
|
|
38
38
|
}
|
|
39
39
|
} catch (error) {
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {ReadableOptions} from 'stream';
|
|
2
|
+
import * as Stream from 'stream';
|
|
3
|
+
|
|
4
|
+
class _Readable {}
|
|
5
|
+
|
|
6
|
+
type ReadableType = Stream.Readable | _Readable;
|
|
7
|
+
const Readable = Stream.Readable || _Readable;
|
|
2
8
|
|
|
3
9
|
export type MakeStreamOptions = ReadableOptions;
|
|
4
10
|
|
|
@@ -6,7 +12,7 @@ export type MakeStreamOptions = ReadableOptions;
|
|
|
6
12
|
export function makeStream<ArrayBuffer>(
|
|
7
13
|
source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,
|
|
8
14
|
options?: ReadableOptions
|
|
9
|
-
):
|
|
15
|
+
): ReadableType {
|
|
10
16
|
const iterator = source[Symbol.asyncIterator]
|
|
11
17
|
? source[Symbol.asyncIterator]()
|
|
12
18
|
: source[Symbol.iterator]();
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
// Copyright 2022 Foursquare Labs, Inc
|
|
3
|
+
|
|
4
|
+
/* global TextEncoder, TextDecoder */
|
|
5
|
+
import {concatenateArrayBuffers, Writer, WriterOptionsType} from '@loaders.gl/loader-utils';
|
|
6
|
+
import {Table} from '@loaders.gl/schema';
|
|
7
|
+
|
|
8
|
+
export async function encodeTable<WriterT extends Writer = Writer>(
|
|
9
|
+
data: Table,
|
|
10
|
+
writer: WriterT,
|
|
11
|
+
options?: WriterOptionsType<WriterT>
|
|
12
|
+
): Promise<ArrayBuffer> {
|
|
13
|
+
if (writer.encode) {
|
|
14
|
+
return await writer.encode(data, options);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (writer.encodeText) {
|
|
18
|
+
const text = await writer.encodeText(data, options);
|
|
19
|
+
return new TextEncoder().encode(text);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (writer.encodeInBatches) {
|
|
23
|
+
// Create an iterator representing the data
|
|
24
|
+
// TODO - Assumes this is a table
|
|
25
|
+
const batches = encodeTableInBatches(data, writer, options);
|
|
26
|
+
|
|
27
|
+
// Concatenate the output
|
|
28
|
+
const chunks: ArrayBuffer[] = [];
|
|
29
|
+
for await (const batch of batches) {
|
|
30
|
+
chunks.push(batch);
|
|
31
|
+
}
|
|
32
|
+
return concatenateArrayBuffers(...chunks);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
throw new Error('Writer could not encode data');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export async function encodeTableAsText<WriterT extends Writer = Writer>(
|
|
39
|
+
data: Table,
|
|
40
|
+
writer: WriterT,
|
|
41
|
+
options?: WriterOptionsType<WriterT>
|
|
42
|
+
): Promise<string> {
|
|
43
|
+
if (writer.text && writer.encodeText) {
|
|
44
|
+
return await writer.encodeText(data, options);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (writer.text && (writer.encode || writer.encodeInBatches)) {
|
|
48
|
+
const arrayBuffer = await encodeTable(data, writer, options);
|
|
49
|
+
return new TextDecoder().decode(arrayBuffer);
|
|
50
|
+
}
|
|
51
|
+
throw new Error('Writer could not encode data as text');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function encodeTableInBatches<WriterT extends Writer = Writer>(
|
|
55
|
+
data: Table,
|
|
56
|
+
writer: WriterT,
|
|
57
|
+
options?: WriterOptionsType<WriterT>
|
|
58
|
+
): AsyncIterable<ArrayBuffer> {
|
|
59
|
+
if (writer.encodeInBatches) {
|
|
60
|
+
const dataIterator = getIterator(data);
|
|
61
|
+
// @ts-expect-error
|
|
62
|
+
return writer.encodeInBatches(dataIterator, options);
|
|
63
|
+
}
|
|
64
|
+
// TODO -fall back to atomic encode?
|
|
65
|
+
throw new Error('Writer could not encode data in batches');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function getIterator(data) {
|
|
69
|
+
const dataIterator = [{table: data, start: 0, end: data.length}];
|
|
70
|
+
return dataIterator;
|
|
71
|
+
}
|
package/src/lib/api/encode.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {Writer, WriterOptions, canEncodeWithWorker} from '@loaders.gl/loader-utils';
|
|
2
|
+
import {processOnWorker} from '@loaders.gl/worker-utils';
|
|
2
3
|
import {concatenateArrayBuffers, resolvePath} from '@loaders.gl/loader-utils';
|
|
3
4
|
import {isBrowser} from '@loaders.gl/loader-utils';
|
|
4
5
|
import {writeFile} from '../fetch/write-file';
|
|
5
6
|
import {fetchFile} from '../fetch/fetch-file';
|
|
7
|
+
import {getLoaderOptions} from './loader-options';
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* Encode loaded data into a binary ArrayBuffer using the specified Writer.
|
|
@@ -10,8 +12,15 @@ import {fetchFile} from '../fetch/fetch-file';
|
|
|
10
12
|
export async function encode(
|
|
11
13
|
data: any,
|
|
12
14
|
writer: Writer,
|
|
13
|
-
options?:
|
|
15
|
+
options?: WriterOptions
|
|
14
16
|
): Promise<ArrayBuffer> {
|
|
17
|
+
const globalOptions = getLoaderOptions() as WriterOptions;
|
|
18
|
+
// const globalOptions: WriterOptions = {}; // getWriterOptions();
|
|
19
|
+
options = {...globalOptions, ...options};
|
|
20
|
+
if (canEncodeWithWorker(writer, options)) {
|
|
21
|
+
return await processOnWorker(writer, data, options);
|
|
22
|
+
}
|
|
23
|
+
|
|
15
24
|
// TODO Merge default writer options with options argument like it is done in load module.
|
|
16
25
|
if (writer.encode) {
|
|
17
26
|
return await writer.encode(data, options);
|
|
@@ -63,7 +72,7 @@ export async function encode(
|
|
|
63
72
|
/**
|
|
64
73
|
* Encode loaded data into a binary ArrayBuffer using the specified Writer.
|
|
65
74
|
*/
|
|
66
|
-
export function encodeSync(data: any, writer: Writer, options?:
|
|
75
|
+
export function encodeSync(data: any, writer: Writer, options?: WriterOptions): ArrayBuffer {
|
|
67
76
|
if (writer.encodeSync) {
|
|
68
77
|
return writer.encodeSync(data, options);
|
|
69
78
|
}
|
|
@@ -79,7 +88,7 @@ export function encodeSync(data: any, writer: Writer, options?: LoaderOptions):
|
|
|
79
88
|
export async function encodeText(
|
|
80
89
|
data: any,
|
|
81
90
|
writer: Writer,
|
|
82
|
-
options?:
|
|
91
|
+
options?: WriterOptions
|
|
83
92
|
): Promise<string> {
|
|
84
93
|
if (writer.text && writer.encodeText) {
|
|
85
94
|
return await writer.encodeText(data, options);
|
|
@@ -99,10 +108,11 @@ export async function encodeText(
|
|
|
99
108
|
export function encodeInBatches(
|
|
100
109
|
data: any,
|
|
101
110
|
writer: Writer,
|
|
102
|
-
options?:
|
|
111
|
+
options?: WriterOptions
|
|
103
112
|
): AsyncIterable<ArrayBuffer> {
|
|
104
113
|
if (writer.encodeInBatches) {
|
|
105
114
|
const dataIterator = getIterator(data);
|
|
115
|
+
// @ts-expect-error
|
|
106
116
|
return writer.encodeInBatches(dataIterator, options);
|
|
107
117
|
}
|
|
108
118
|
// TODO -fall back to atomic encode?
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {LoaderWithParser, LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';
|
|
2
2
|
import {isLoaderObject} from '../loader-utils/normalize-loader';
|
|
3
|
-
import {getFetchFunction} from '../loader-utils/
|
|
3
|
+
import {getFetchFunction} from '../loader-utils/get-fetch-function';
|
|
4
4
|
|
|
5
5
|
import {parseInBatches} from './parse-in-batches';
|
|
6
6
|
|