@loaders.gl/core 4.1.0-alpha.2 → 4.1.0-alpha.4
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/core-addons/write-file-browser.js.map +1 -1
- package/dist/dist.dev.js +43 -38
- package/dist/index.cjs +55 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts.map +1 -1
- package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
- package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
- package/dist/iterators/make-iterator/make-blob-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-blob-iterator.js.map +1 -1
- package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-iterator.js.map +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -1
- package/dist/iterators/make-iterator/make-string-iterator.js.map +1 -1
- package/dist/iterators/make-stream/make-stream.d.ts.map +1 -1
- package/dist/iterators/make-stream/make-stream.js.map +1 -1
- package/dist/javascript-utils/is-type.d.ts.map +1 -1
- package/dist/javascript-utils/is-type.js.map +1 -1
- package/dist/lib/api/encode-table.d.ts.map +1 -1
- package/dist/lib/api/encode-table.js.map +1 -1
- package/dist/lib/api/encode.d.ts +6 -2
- package/dist/lib/api/encode.d.ts.map +1 -1
- package/dist/lib/api/encode.js +35 -34
- package/dist/lib/api/encode.js.map +1 -1
- package/dist/lib/api/load-in-batches.d.ts.map +1 -1
- package/dist/lib/api/load-in-batches.js.map +1 -1
- package/dist/lib/api/load.d.ts.map +1 -1
- package/dist/lib/api/load.js.map +1 -1
- package/dist/lib/api/loader-options.d.ts.map +1 -1
- package/dist/lib/api/loader-options.js.map +1 -1
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +1 -0
- package/dist/lib/api/parse-in-batches.js.map +1 -1
- package/dist/lib/api/parse-sync.d.ts.map +1 -1
- package/dist/lib/api/parse-sync.js.map +1 -1
- package/dist/lib/api/parse.d.ts.map +1 -1
- package/dist/lib/api/parse.js.map +1 -1
- package/dist/lib/api/register-loaders.d.ts.map +1 -1
- package/dist/lib/api/register-loaders.js.map +1 -1
- package/dist/lib/api/select-loader.d.ts.map +1 -1
- package/dist/lib/api/select-loader.js.map +1 -1
- package/dist/lib/common.d.ts.map +1 -1
- package/dist/lib/common.js.map +1 -1
- package/dist/lib/fetch/fetch-error-message.d.ts.map +1 -1
- package/dist/lib/fetch/fetch-error-message.js.map +1 -1
- package/dist/lib/fetch/fetch-file.d.ts.map +1 -1
- package/dist/lib/fetch/fetch-file.js.map +1 -1
- package/dist/lib/fetch/read-array-buffer.d.ts.map +1 -1
- package/dist/lib/fetch/read-array-buffer.js.map +1 -1
- package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
- package/dist/lib/filesystems/browser-filesystem.js.map +1 -1
- package/dist/lib/filesystems/read-array-buffer.d.ts.map +1 -1
- package/dist/lib/filesystems/read-array-buffer.js.map +1 -1
- package/dist/lib/init.d.ts.map +1 -1
- package/dist/lib/init.js +1 -1
- package/dist/lib/init.js.map +1 -1
- package/dist/lib/loader-utils/check-errors.d.ts.map +1 -1
- package/dist/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-data.js.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
- package/dist/lib/loader-utils/loggers.js.map +1 -1
- package/dist/lib/loader-utils/normalize-loader.d.ts.map +1 -1
- package/dist/lib/loader-utils/normalize-loader.js.map +1 -1
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/lib/progress/fetch-progress.d.ts.map +1 -1
- package/dist/lib/progress/fetch-progress.js.map +1 -1
- package/dist/lib/utils/log.d.ts.map +1 -1
- package/dist/lib/utils/log.js.map +1 -1
- package/dist/lib/utils/mime-type-utils.d.ts.map +1 -1
- package/dist/lib/utils/mime-type-utils.js.map +1 -1
- package/dist/lib/utils/resource-utils.d.ts.map +1 -1
- package/dist/lib/utils/resource-utils.js.map +1 -1
- package/dist/lib/utils/response-utils.d.ts.map +1 -1
- package/dist/lib/utils/response-utils.js.map +1 -1
- package/dist/lib/utils/url-utils.d.ts.map +1 -1
- package/dist/lib/utils/url-utils.js.map +1 -1
- package/dist/null-loader.d.ts.map +1 -1
- package/dist/null-loader.js +1 -1
- package/dist/null-loader.js.map +1 -1
- package/dist/null-worker-node.js +1 -1
- package/dist/null-worker.js +1 -1
- package/dist/workers/null-worker-node.js.map +1 -1
- package/dist/workers/null-worker.js.map +1 -1
- package/package.json +4 -4
- package/src/core-addons/write-file-browser.ts +2 -1
- package/src/index.ts +2 -1
- package/src/iterators/batch-iterators/timed-batch-iterator.ts +2 -1
- package/src/iterators/make-iterator/make-array-buffer-iterator.ts +2 -1
- package/src/iterators/make-iterator/make-blob-iterator.ts +2 -1
- package/src/iterators/make-iterator/make-iterator.ts +2 -1
- package/src/iterators/make-iterator/make-stream-iterator.ts +2 -1
- package/src/iterators/make-iterator/make-string-iterator.ts +2 -1
- package/src/iterators/make-stream/make-stream.ts +2 -1
- package/src/javascript-utils/is-type.ts +2 -1
- package/src/lib/api/encode-table.ts +2 -1
- package/src/lib/api/encode.ts +64 -55
- package/src/lib/api/load-in-batches.ts +2 -1
- package/src/lib/api/load.ts +2 -1
- package/src/lib/api/loader-options.ts +2 -1
- package/src/lib/api/parse-in-batches.ts +3 -1
- package/src/lib/api/parse-sync.ts +2 -1
- package/src/lib/api/parse.ts +2 -1
- package/src/lib/api/register-loaders.ts +2 -1
- package/src/lib/api/select-loader.ts +2 -1
- package/src/lib/common.ts +2 -1
- package/src/lib/fetch/fetch-error-message.ts +2 -1
- package/src/lib/fetch/fetch-file.ts +2 -1
- package/src/lib/fetch/read-array-buffer.ts +2 -1
- package/src/lib/filesystems/browser-filesystem.ts +2 -1
- package/src/lib/filesystems/read-array-buffer.ts +2 -1
- package/src/lib/init.ts +2 -1
- package/src/lib/loader-utils/check-errors.ts +2 -1
- package/src/lib/loader-utils/get-data.ts +2 -1
- package/src/lib/loader-utils/get-fetch-function.ts +2 -1
- package/src/lib/loader-utils/loader-context.ts +2 -1
- package/src/lib/loader-utils/loggers.ts +2 -1
- package/src/lib/loader-utils/normalize-loader.ts +2 -1
- package/src/lib/loader-utils/option-defaults.ts +2 -1
- package/src/lib/loader-utils/option-utils.ts +2 -1
- package/src/lib/progress/fetch-progress.ts +2 -1
- package/src/lib/utils/log.ts +2 -1
- package/src/lib/utils/mime-type-utils.ts +2 -1
- package/src/lib/utils/resource-utils.ts +2 -1
- package/src/lib/utils/response-utils.ts +2 -1
- package/src/lib/utils/url-utils.ts +2 -1
- package/src/null-loader.ts +2 -1
- package/src/workers/null-worker-node.ts +2 -1
- package/src/workers/null-worker.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file-browser.js","names":[],"sources":["../../src/core-addons/write-file-browser.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"write-file-browser.js","names":[],"sources":["../../src/core-addons/write-file-browser.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// A browser implementation of the Node.js `fs` module's `fs.writeFile` method.\n// NOTE: WAS COMMENTED OUT TO GET NODE 8 TESTS RUNNING\n\n/*\n/* global global *\n/* global Blob *\nimport {isBrowser} from '@loaders.gl/core';\n\n// TODO hack - trick filesaver.js to skip loading under node\nconst savedNavigatorExists = 'navigator' in global;\nconst savedNavigator = globalThis.navigator;\nif (!isBrowser) {\n globalThis.navigator = {userAgent: 'MSIE 9.'};\n}\n\n// Need to use `require` to ensure our modification of global code above happens first\nconst saveAs = require('filesaver.js');\n\nif (!isBrowser) {\n if (savedNavigatorExists) {\n globalThis.navigator = savedNavigator;\n } else {\n delete globalThis.navigator;\n }\n}\n// END hack\n\n/**\n * File system write function for the browser, similar to Node's fs.writeFile\n *\n * Saves a file by downloading it with the given file name.\n *\n * @param {String} file - file name\n * @param {String|Blob} data - data to be written to file\n * @param {String|Object} options -\n * @param {Function} callback - Standard node (err, data) callback\n * @return {Promise} - promise, can be used instead of callback\n *\nasync export function writeFile(file, data, options, callback = () => {}) {\n // options is optional\n if (callback === undefined && typeof options === 'function') {\n options = undefined;\n callback = options;\n }\n if (typeof data === 'string') {\n data = new Blob(data);\n }\n return new Promise((resolve, reject) => {\n let result;\n try {\n result = saveAs(data, file, options);\n } catch (error) {\n reject(error);\n return callback(error, null);\n }\n resolve();\n return callback(null, result);\n });\n}\n*/\n"],"mappings":""}
|
package/dist/dist.dev.js
CHANGED
|
@@ -110,13 +110,16 @@ var __exports__ = (() => {
|
|
|
110
110
|
function mergeLoaderOptions(baseOptions, newOptions) {
|
|
111
111
|
return mergeOptionsRecursively(baseOptions || {}, newOptions);
|
|
112
112
|
}
|
|
113
|
-
function mergeOptionsRecursively(baseOptions, newOptions) {
|
|
113
|
+
function mergeOptionsRecursively(baseOptions, newOptions, level = 0) {
|
|
114
|
+
if (level > 3) {
|
|
115
|
+
return newOptions;
|
|
116
|
+
}
|
|
114
117
|
const options = {
|
|
115
118
|
...baseOptions
|
|
116
119
|
};
|
|
117
120
|
for (const [key, newValue] of Object.entries(newOptions)) {
|
|
118
121
|
if (newValue && typeof newValue === "object" && !Array.isArray(newValue)) {
|
|
119
|
-
options[key] = mergeOptionsRecursively(options[key] || {}, newOptions[key]);
|
|
122
|
+
options[key] = mergeOptionsRecursively(options[key] || {}, newOptions[key], level + 1);
|
|
120
123
|
} else {
|
|
121
124
|
options[key] = newOptions[key];
|
|
122
125
|
}
|
|
@@ -129,11 +132,11 @@ var __exports__ = (() => {
|
|
|
129
132
|
function getVersion() {
|
|
130
133
|
if (!globalThis._loadersgl_?.version) {
|
|
131
134
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
132
|
-
if (
|
|
135
|
+
if (false) {
|
|
133
136
|
console.warn("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
134
137
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
135
138
|
} else {
|
|
136
|
-
globalThis._loadersgl_.version =
|
|
139
|
+
globalThis._loadersgl_.version = "4.1.0-alpha.4";
|
|
137
140
|
}
|
|
138
141
|
}
|
|
139
142
|
return globalThis._loadersgl_.version;
|
|
@@ -1226,7 +1229,7 @@ var __exports__ = (() => {
|
|
|
1226
1229
|
}
|
|
1227
1230
|
|
|
1228
1231
|
// ../loader-utils/src/json-loader.ts
|
|
1229
|
-
var VERSION2 =
|
|
1232
|
+
var VERSION2 = true ? "4.1.0-alpha.4" : "latest";
|
|
1230
1233
|
var JSONLoader = {
|
|
1231
1234
|
name: "JSON",
|
|
1232
1235
|
id: "json",
|
|
@@ -1467,6 +1470,12 @@ var __exports__ = (() => {
|
|
|
1467
1470
|
async stat() {
|
|
1468
1471
|
throw NOT_IMPLEMENTED;
|
|
1469
1472
|
}
|
|
1473
|
+
async truncate(length) {
|
|
1474
|
+
throw NOT_IMPLEMENTED;
|
|
1475
|
+
}
|
|
1476
|
+
async append(data) {
|
|
1477
|
+
throw NOT_IMPLEMENTED;
|
|
1478
|
+
}
|
|
1470
1479
|
async close() {
|
|
1471
1480
|
}
|
|
1472
1481
|
};
|
|
@@ -3073,6 +3082,7 @@ var __exports__ = (() => {
|
|
|
3073
3082
|
return outputIterator;
|
|
3074
3083
|
}
|
|
3075
3084
|
const metadataBatch = {
|
|
3085
|
+
shape: "metadata",
|
|
3076
3086
|
batchType: "metadata",
|
|
3077
3087
|
metadata: {
|
|
3078
3088
|
_loader: loader,
|
|
@@ -3223,55 +3233,38 @@ var __exports__ = (() => {
|
|
|
3223
3233
|
...globalOptions,
|
|
3224
3234
|
...options
|
|
3225
3235
|
};
|
|
3236
|
+
if (writer.encodeURLtoURL) {
|
|
3237
|
+
return encodeWithCommandLineTool(writer, data, options);
|
|
3238
|
+
}
|
|
3226
3239
|
if (canEncodeWithWorker(writer, options)) {
|
|
3227
3240
|
return await processOnWorker(writer, data, options);
|
|
3228
3241
|
}
|
|
3229
|
-
|
|
3230
|
-
return await writer.encode(data, options);
|
|
3231
|
-
}
|
|
3232
|
-
if (writer.encodeSync) {
|
|
3233
|
-
return writer.encodeSync(data, options);
|
|
3234
|
-
}
|
|
3235
|
-
if (writer.encodeText) {
|
|
3236
|
-
return new TextEncoder().encode(await writer.encodeText(data, options));
|
|
3237
|
-
}
|
|
3238
|
-
if (writer.encodeInBatches) {
|
|
3239
|
-
const batches = encodeInBatches(data, writer, options);
|
|
3240
|
-
const chunks = [];
|
|
3241
|
-
for await (const batch of batches) {
|
|
3242
|
-
chunks.push(batch);
|
|
3243
|
-
}
|
|
3244
|
-
return concatenateArrayBuffers(...chunks);
|
|
3245
|
-
}
|
|
3246
|
-
if (!isBrowser && writer.encodeURLtoURL) {
|
|
3247
|
-
const tmpInputFilename = getTemporaryFilename("input");
|
|
3248
|
-
const file = new NodeFileFacade(tmpInputFilename, "w");
|
|
3249
|
-
await file.write(data);
|
|
3250
|
-
const tmpOutputFilename = getTemporaryFilename("output");
|
|
3251
|
-
const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
|
|
3252
|
-
const response = await fetchFile(outputFilename);
|
|
3253
|
-
return response.arrayBuffer();
|
|
3254
|
-
}
|
|
3255
|
-
throw new Error("Writer could not encode data");
|
|
3242
|
+
return await writer.encode(data, options);
|
|
3256
3243
|
}
|
|
3257
3244
|
function encodeSync(data, writer, options) {
|
|
3258
3245
|
if (writer.encodeSync) {
|
|
3259
3246
|
return writer.encodeSync(data, options);
|
|
3260
3247
|
}
|
|
3261
|
-
|
|
3248
|
+
if (writer.encodeTextSync) {
|
|
3249
|
+
return new TextEncoder().encode(writer.encodeTextSync(data, options));
|
|
3250
|
+
}
|
|
3251
|
+
throw new Error(`Writer ${writer.name} could not synchronously encode data`);
|
|
3262
3252
|
}
|
|
3263
3253
|
async function encodeText(data, writer, options) {
|
|
3264
|
-
if (writer.
|
|
3254
|
+
if (writer.encodeText) {
|
|
3265
3255
|
return await writer.encodeText(data, options);
|
|
3266
3256
|
}
|
|
3257
|
+
if (writer.encodeTextSync) {
|
|
3258
|
+
return writer.encodeTextSync(data, options);
|
|
3259
|
+
}
|
|
3267
3260
|
if (writer.text) {
|
|
3268
|
-
const arrayBuffer = await encode(data,
|
|
3261
|
+
const arrayBuffer = await writer.encode(data, options);
|
|
3269
3262
|
return new TextDecoder().decode(arrayBuffer);
|
|
3270
3263
|
}
|
|
3271
3264
|
throw new Error(`Writer ${writer.name} could not encode data as text`);
|
|
3272
3265
|
}
|
|
3273
3266
|
function encodeTextSync(data, writer, options) {
|
|
3274
|
-
if (writer.
|
|
3267
|
+
if (writer.encodeTextSync) {
|
|
3275
3268
|
return writer.encodeTextSync(data, options);
|
|
3276
3269
|
}
|
|
3277
3270
|
if (writer.text && writer.encodeSync) {
|
|
@@ -3285,7 +3278,7 @@ var __exports__ = (() => {
|
|
|
3285
3278
|
const dataIterator = getIterator2(data);
|
|
3286
3279
|
return writer.encodeInBatches(dataIterator, options);
|
|
3287
3280
|
}
|
|
3288
|
-
throw new Error(
|
|
3281
|
+
throw new Error(`Writer ${writer.name} could not encode in batches`);
|
|
3289
3282
|
}
|
|
3290
3283
|
async function encodeURLtoURL(inputUrl, outputUrl, writer, options) {
|
|
3291
3284
|
inputUrl = resolvePath(inputUrl);
|
|
@@ -3296,6 +3289,18 @@ var __exports__ = (() => {
|
|
|
3296
3289
|
const outputFilename = await writer.encodeURLtoURL(inputUrl, outputUrl, options);
|
|
3297
3290
|
return outputFilename;
|
|
3298
3291
|
}
|
|
3292
|
+
async function encodeWithCommandLineTool(writer, data, options) {
|
|
3293
|
+
if (isBrowser) {
|
|
3294
|
+
throw new Error(`Writer ${writer.name} not supported in browser`);
|
|
3295
|
+
}
|
|
3296
|
+
const tmpInputFilename = getTemporaryFilename("input");
|
|
3297
|
+
const file = new NodeFileFacade(tmpInputFilename, "w");
|
|
3298
|
+
await file.write(data);
|
|
3299
|
+
const tmpOutputFilename = getTemporaryFilename("output");
|
|
3300
|
+
const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
|
|
3301
|
+
const response = await fetchFile(outputFilename);
|
|
3302
|
+
return response.arrayBuffer();
|
|
3303
|
+
}
|
|
3299
3304
|
function getIterator2(data) {
|
|
3300
3305
|
const dataIterator = [{
|
|
3301
3306
|
...data,
|
|
@@ -3341,7 +3346,7 @@ var __exports__ = (() => {
|
|
|
3341
3346
|
}
|
|
3342
3347
|
|
|
3343
3348
|
// src/null-loader.ts
|
|
3344
|
-
var VERSION4 =
|
|
3349
|
+
var VERSION4 = true ? "4.1.0-alpha.4" : "latest";
|
|
3345
3350
|
var NullWorkerLoader = {
|
|
3346
3351
|
name: "Null loader",
|
|
3347
3352
|
id: "null",
|
package/dist/index.cjs
CHANGED
|
@@ -20,16 +20,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
JSONLoader: () =>
|
|
23
|
+
JSONLoader: () => import_loader_utils17.JSONLoader,
|
|
24
24
|
NullLoader: () => NullLoader,
|
|
25
25
|
NullWorkerLoader: () => NullWorkerLoader,
|
|
26
|
-
RequestScheduler: () =>
|
|
26
|
+
RequestScheduler: () => import_loader_utils16.RequestScheduler,
|
|
27
27
|
_BrowserFileSystem: () => BrowserFileSystem,
|
|
28
28
|
_fetchProgress: () => fetchProgress,
|
|
29
29
|
_unregisterLoaders: () => _unregisterLoaders,
|
|
30
|
-
assert: () =>
|
|
31
|
-
concatenateArrayBuffersAsync: () =>
|
|
32
|
-
document: () =>
|
|
30
|
+
assert: () => import_loader_utils19.assert,
|
|
31
|
+
concatenateArrayBuffersAsync: () => import_loader_utils20.concatenateArrayBuffersAsync,
|
|
32
|
+
document: () => import_loader_utils18.document,
|
|
33
33
|
encode: () => encode,
|
|
34
34
|
encodeInBatches: () => encodeInBatches,
|
|
35
35
|
encodeSync: () => encodeSync,
|
|
@@ -40,40 +40,40 @@ __export(src_exports, {
|
|
|
40
40
|
encodeTextSync: () => encodeTextSync,
|
|
41
41
|
encodeURLtoURL: () => encodeURLtoURL,
|
|
42
42
|
fetchFile: () => fetchFile,
|
|
43
|
-
forEach: () =>
|
|
43
|
+
forEach: () => import_loader_utils20.forEach,
|
|
44
44
|
getLoaderOptions: () => getGlobalLoaderOptions,
|
|
45
|
-
getPathPrefix: () =>
|
|
46
|
-
global: () =>
|
|
45
|
+
getPathPrefix: () => import_loader_utils15.getPathPrefix,
|
|
46
|
+
global: () => import_loader_utils18.global,
|
|
47
47
|
isAsyncIterable: () => isAsyncIterable,
|
|
48
|
-
isBrowser: () =>
|
|
48
|
+
isBrowser: () => import_loader_utils18.isBrowser,
|
|
49
49
|
isIterable: () => isIterable,
|
|
50
50
|
isIterator: () => isIterator,
|
|
51
51
|
isPromise: () => isPromise,
|
|
52
52
|
isPureObject: () => isPureObject,
|
|
53
53
|
isReadableStream: () => isReadableStream,
|
|
54
54
|
isResponse: () => isResponse,
|
|
55
|
-
isWorker: () =>
|
|
55
|
+
isWorker: () => import_loader_utils18.isWorker,
|
|
56
56
|
isWritableStream: () => isWritableStream,
|
|
57
57
|
load: () => load,
|
|
58
58
|
loadInBatches: () => loadInBatches,
|
|
59
59
|
makeIterator: () => makeIterator,
|
|
60
|
-
makeLineIterator: () =>
|
|
61
|
-
makeNumberedLineIterator: () =>
|
|
60
|
+
makeLineIterator: () => import_loader_utils21.makeLineIterator,
|
|
61
|
+
makeNumberedLineIterator: () => import_loader_utils21.makeNumberedLineIterator,
|
|
62
62
|
makeStream: () => makeStream,
|
|
63
|
-
makeTextDecoderIterator: () =>
|
|
64
|
-
makeTextEncoderIterator: () =>
|
|
63
|
+
makeTextDecoderIterator: () => import_loader_utils21.makeTextDecoderIterator,
|
|
64
|
+
makeTextEncoderIterator: () => import_loader_utils21.makeTextEncoderIterator,
|
|
65
65
|
parse: () => parse,
|
|
66
66
|
parseInBatches: () => parseInBatches,
|
|
67
67
|
parseSync: () => parseSync,
|
|
68
68
|
readArrayBuffer: () => readArrayBuffer,
|
|
69
69
|
registerLoaders: () => registerLoaders,
|
|
70
|
-
resolvePath: () =>
|
|
70
|
+
resolvePath: () => import_loader_utils15.resolvePath,
|
|
71
71
|
selectLoader: () => selectLoader,
|
|
72
72
|
selectLoaderSync: () => selectLoaderSync,
|
|
73
|
-
self: () =>
|
|
73
|
+
self: () => import_loader_utils18.self,
|
|
74
74
|
setLoaderOptions: () => setGlobalOptions,
|
|
75
|
-
setPathPrefix: () =>
|
|
76
|
-
window: () =>
|
|
75
|
+
setPathPrefix: () => import_loader_utils15.setPathPrefix,
|
|
76
|
+
window: () => import_loader_utils18.window
|
|
77
77
|
});
|
|
78
78
|
module.exports = __toCommonJS(src_exports);
|
|
79
79
|
|
|
@@ -1109,6 +1109,7 @@ async function parseWithLoaderInBatches(loader, data, options, context) {
|
|
|
1109
1109
|
return outputIterator;
|
|
1110
1110
|
}
|
|
1111
1111
|
const metadataBatch = {
|
|
1112
|
+
shape: "metadata",
|
|
1112
1113
|
batchType: "metadata",
|
|
1113
1114
|
metadata: {
|
|
1114
1115
|
_loader: loader,
|
|
@@ -1257,66 +1258,43 @@ function getIterator(data) {
|
|
|
1257
1258
|
|
|
1258
1259
|
// src/lib/api/encode.ts
|
|
1259
1260
|
var import_loader_utils12 = require("@loaders.gl/loader-utils");
|
|
1260
|
-
var import_loader_utils13 = require("@loaders.gl/loader-utils");
|
|
1261
1261
|
var import_worker_utils2 = require("@loaders.gl/worker-utils");
|
|
1262
|
-
var
|
|
1262
|
+
var import_loader_utils13 = require("@loaders.gl/loader-utils");
|
|
1263
1263
|
async function encode(data, writer, options) {
|
|
1264
1264
|
const globalOptions = getGlobalLoaderOptions();
|
|
1265
1265
|
options = { ...globalOptions, ...options };
|
|
1266
|
+
if (writer.encodeURLtoURL) {
|
|
1267
|
+
return encodeWithCommandLineTool(writer, data, options);
|
|
1268
|
+
}
|
|
1266
1269
|
if ((0, import_loader_utils12.canEncodeWithWorker)(writer, options)) {
|
|
1267
1270
|
return await (0, import_worker_utils2.processOnWorker)(writer, data, options);
|
|
1268
1271
|
}
|
|
1269
|
-
|
|
1270
|
-
return await writer.encode(data, options);
|
|
1271
|
-
}
|
|
1272
|
-
if (writer.encodeSync) {
|
|
1273
|
-
return writer.encodeSync(data, options);
|
|
1274
|
-
}
|
|
1275
|
-
if (writer.encodeText) {
|
|
1276
|
-
return new TextEncoder().encode(await writer.encodeText(data, options));
|
|
1277
|
-
}
|
|
1278
|
-
if (writer.encodeInBatches) {
|
|
1279
|
-
const batches = encodeInBatches(data, writer, options);
|
|
1280
|
-
const chunks = [];
|
|
1281
|
-
for await (const batch of batches) {
|
|
1282
|
-
chunks.push(batch);
|
|
1283
|
-
}
|
|
1284
|
-
return (0, import_loader_utils13.concatenateArrayBuffers)(...chunks);
|
|
1285
|
-
}
|
|
1286
|
-
if (!import_loader_utils14.isBrowser && writer.encodeURLtoURL) {
|
|
1287
|
-
const tmpInputFilename = getTemporaryFilename("input");
|
|
1288
|
-
const file = new import_loader_utils13.NodeFile(tmpInputFilename, "w");
|
|
1289
|
-
await file.write(data);
|
|
1290
|
-
const tmpOutputFilename = getTemporaryFilename("output");
|
|
1291
|
-
const outputFilename = await encodeURLtoURL(
|
|
1292
|
-
tmpInputFilename,
|
|
1293
|
-
tmpOutputFilename,
|
|
1294
|
-
writer,
|
|
1295
|
-
options
|
|
1296
|
-
);
|
|
1297
|
-
const response = await fetchFile(outputFilename);
|
|
1298
|
-
return response.arrayBuffer();
|
|
1299
|
-
}
|
|
1300
|
-
throw new Error("Writer could not encode data");
|
|
1272
|
+
return await writer.encode(data, options);
|
|
1301
1273
|
}
|
|
1302
1274
|
function encodeSync(data, writer, options) {
|
|
1303
1275
|
if (writer.encodeSync) {
|
|
1304
1276
|
return writer.encodeSync(data, options);
|
|
1305
1277
|
}
|
|
1306
|
-
|
|
1278
|
+
if (writer.encodeTextSync) {
|
|
1279
|
+
return new TextEncoder().encode(writer.encodeTextSync(data, options));
|
|
1280
|
+
}
|
|
1281
|
+
throw new Error(`Writer ${writer.name} could not synchronously encode data`);
|
|
1307
1282
|
}
|
|
1308
1283
|
async function encodeText(data, writer, options) {
|
|
1309
|
-
if (writer.
|
|
1284
|
+
if (writer.encodeText) {
|
|
1310
1285
|
return await writer.encodeText(data, options);
|
|
1311
1286
|
}
|
|
1287
|
+
if (writer.encodeTextSync) {
|
|
1288
|
+
return writer.encodeTextSync(data, options);
|
|
1289
|
+
}
|
|
1312
1290
|
if (writer.text) {
|
|
1313
|
-
const arrayBuffer = await encode(data,
|
|
1291
|
+
const arrayBuffer = await writer.encode(data, options);
|
|
1314
1292
|
return new TextDecoder().decode(arrayBuffer);
|
|
1315
1293
|
}
|
|
1316
1294
|
throw new Error(`Writer ${writer.name} could not encode data as text`);
|
|
1317
1295
|
}
|
|
1318
1296
|
function encodeTextSync(data, writer, options) {
|
|
1319
|
-
if (writer.
|
|
1297
|
+
if (writer.encodeTextSync) {
|
|
1320
1298
|
return writer.encodeTextSync(data, options);
|
|
1321
1299
|
}
|
|
1322
1300
|
if (writer.text && writer.encodeSync) {
|
|
@@ -1330,17 +1308,29 @@ function encodeInBatches(data, writer, options) {
|
|
|
1330
1308
|
const dataIterator = getIterator2(data);
|
|
1331
1309
|
return writer.encodeInBatches(dataIterator, options);
|
|
1332
1310
|
}
|
|
1333
|
-
throw new Error(
|
|
1311
|
+
throw new Error(`Writer ${writer.name} could not encode in batches`);
|
|
1334
1312
|
}
|
|
1335
1313
|
async function encodeURLtoURL(inputUrl, outputUrl, writer, options) {
|
|
1336
|
-
inputUrl = (0,
|
|
1337
|
-
outputUrl = (0,
|
|
1338
|
-
if (
|
|
1314
|
+
inputUrl = (0, import_loader_utils12.resolvePath)(inputUrl);
|
|
1315
|
+
outputUrl = (0, import_loader_utils12.resolvePath)(outputUrl);
|
|
1316
|
+
if (import_loader_utils13.isBrowser || !writer.encodeURLtoURL) {
|
|
1339
1317
|
throw new Error();
|
|
1340
1318
|
}
|
|
1341
1319
|
const outputFilename = await writer.encodeURLtoURL(inputUrl, outputUrl, options);
|
|
1342
1320
|
return outputFilename;
|
|
1343
1321
|
}
|
|
1322
|
+
async function encodeWithCommandLineTool(writer, data, options) {
|
|
1323
|
+
if (import_loader_utils13.isBrowser) {
|
|
1324
|
+
throw new Error(`Writer ${writer.name} not supported in browser`);
|
|
1325
|
+
}
|
|
1326
|
+
const tmpInputFilename = getTemporaryFilename("input");
|
|
1327
|
+
const file = new import_loader_utils12.NodeFile(tmpInputFilename, "w");
|
|
1328
|
+
await file.write(data);
|
|
1329
|
+
const tmpOutputFilename = getTemporaryFilename("output");
|
|
1330
|
+
const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
|
|
1331
|
+
const response = await fetchFile(outputFilename);
|
|
1332
|
+
return response.arrayBuffer();
|
|
1333
|
+
}
|
|
1344
1334
|
function getIterator2(data) {
|
|
1345
1335
|
const dataIterator = [{ ...data, start: 0, end: data.length }];
|
|
1346
1336
|
return dataIterator;
|
|
@@ -1350,8 +1340,8 @@ function getTemporaryFilename(filename) {
|
|
|
1350
1340
|
}
|
|
1351
1341
|
|
|
1352
1342
|
// src/index.ts
|
|
1343
|
+
var import_loader_utils15 = require("@loaders.gl/loader-utils");
|
|
1353
1344
|
var import_loader_utils16 = require("@loaders.gl/loader-utils");
|
|
1354
|
-
var import_loader_utils17 = require("@loaders.gl/loader-utils");
|
|
1355
1345
|
|
|
1356
1346
|
// src/iterators/make-stream/make-stream.ts
|
|
1357
1347
|
function makeStream(source, options) {
|
|
@@ -1431,7 +1421,7 @@ function parseSync2(arrayBuffer, options, context) {
|
|
|
1431
1421
|
}
|
|
1432
1422
|
|
|
1433
1423
|
// src/index.ts
|
|
1434
|
-
var
|
|
1424
|
+
var import_loader_utils17 = require("@loaders.gl/loader-utils");
|
|
1435
1425
|
|
|
1436
1426
|
// src/lib/progress/fetch-progress.ts
|
|
1437
1427
|
async function fetchProgress(response, onProgress, onDone = () => {
|
|
@@ -1481,7 +1471,7 @@ async function read(controller, reader, loadedBytes, totalBytes, onProgress, onD
|
|
|
1481
1471
|
}
|
|
1482
1472
|
|
|
1483
1473
|
// src/lib/filesystems/browser-filesystem.ts
|
|
1484
|
-
var
|
|
1474
|
+
var import_loader_utils14 = require("@loaders.gl/loader-utils");
|
|
1485
1475
|
var BrowserFileSystem = class {
|
|
1486
1476
|
/**
|
|
1487
1477
|
* A FileSystem API wrapper around a list of browser 'File' objects
|
|
@@ -1562,7 +1552,7 @@ var BrowserFileSystem = class {
|
|
|
1562
1552
|
// implements IRandomAccessFileSystem
|
|
1563
1553
|
// RANDOM ACCESS
|
|
1564
1554
|
async openReadableFile(pathname, flags) {
|
|
1565
|
-
return new
|
|
1555
|
+
return new import_loader_utils14.BlobFile(this.files[pathname]);
|
|
1566
1556
|
}
|
|
1567
1557
|
// PRIVATE
|
|
1568
1558
|
// Supports case independent paths, and file usage tracking
|
|
@@ -1576,7 +1566,7 @@ var BrowserFileSystem = class {
|
|
|
1576
1566
|
};
|
|
1577
1567
|
|
|
1578
1568
|
// src/index.ts
|
|
1569
|
+
var import_loader_utils18 = require("@loaders.gl/loader-utils");
|
|
1579
1570
|
var import_loader_utils19 = require("@loaders.gl/loader-utils");
|
|
1580
1571
|
var import_loader_utils20 = require("@loaders.gl/loader-utils");
|
|
1581
1572
|
var import_loader_utils21 = require("@loaders.gl/loader-utils");
|
|
1582
|
-
var import_loader_utils22 = require("@loaders.gl/loader-utils");
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAC,iBAAiB,IAAI,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAG7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAM9D,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["fetchFile","readArrayBuffer","setLoaderOptions","getLoaderOptions","registerLoaders","selectLoader","selectLoaderSync","parse","parseSync","parseInBatches","load","loadInBatches","encodeTable","encodeTableAsText","encodeTableInBatches","encode","encodeSync","encodeInBatches","encodeURLtoURL","encodeText","encodeTextSync","setPathPrefix","getPathPrefix","resolvePath","RequestScheduler","makeIterator","makeStream","NullWorkerLoader","NullLoader","JSONLoader","fetchProgress","_fetchProgress","BrowserFileSystem","_BrowserFileSystem","_unregisterLoaders","isBrowser","isWorker","self","window","global","document","assert","forEach","concatenateArrayBuffersAsync","makeTextDecoderIterator","makeTextEncoderIterator","makeLineIterator","makeNumberedLineIterator","isPureObject","isPromise","isIterable","isAsyncIterable","isIterator","isResponse","isReadableStream","isWritableStream"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"index.js","names":["fetchFile","readArrayBuffer","setLoaderOptions","getLoaderOptions","registerLoaders","selectLoader","selectLoaderSync","parse","parseSync","parseInBatches","load","loadInBatches","encodeTable","encodeTableAsText","encodeTableInBatches","encode","encodeSync","encodeInBatches","encodeURLtoURL","encodeText","encodeTextSync","setPathPrefix","getPathPrefix","resolvePath","RequestScheduler","makeIterator","makeStream","NullWorkerLoader","NullLoader","JSONLoader","fetchProgress","_fetchProgress","BrowserFileSystem","_BrowserFileSystem","_unregisterLoaders","isBrowser","isWorker","self","window","global","document","assert","forEach","concatenateArrayBuffersAsync","makeTextDecoderIterator","makeTextEncoderIterator","makeLineIterator","makeNumberedLineIterator","isPureObject","isPromise","isIterable","isAsyncIterable","isIterator","isResponse","isReadableStream","isWritableStream"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n ReadableFile,\n WritableFile,\n Stat,\n FileSystem,\n RandomAccessFileSystem\n} from '@loaders.gl/loader-utils';\n\n// FILE READING AND WRITING\nexport {fetchFile} from './lib/fetch/fetch-file';\n\nexport {readArrayBuffer} from './lib/fetch/read-array-buffer';\n// export {readFileSync} from './lib/fetch/read-file';\n// export {writeFile, writeFileSync} from './lib/fetch/write-file';\n\n// CONFIGURATION\nexport {setLoaderOptions, getLoaderOptions} from './lib/api/loader-options';\nexport {registerLoaders} from './lib/api/register-loaders';\nexport {selectLoader, selectLoaderSync} from './lib/api/select-loader';\n\n// LOADING (READING + PARSING)\nexport {parse} from './lib/api/parse';\nexport {parseSync} from './lib/api/parse-sync';\nexport {parseInBatches} from './lib/api/parse-in-batches';\n\nexport {load} from './lib/api/load';\nexport {loadInBatches} from './lib/api/load-in-batches';\n\n// ENCODING (ENCODING AND WRITING)\nexport {encodeTable, encodeTableAsText, encodeTableInBatches} from './lib/api/encode-table';\nexport {encode, encodeSync, encodeInBatches, encodeURLtoURL} from './lib/api/encode';\nexport {encodeText, encodeTextSync} from './lib/api/encode';\n\n// CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)\nexport {setPathPrefix, getPathPrefix, resolvePath} from '@loaders.gl/loader-utils';\nexport {RequestScheduler} from '@loaders.gl/loader-utils';\n\n// ITERATOR UTILS\nexport {makeIterator} from './iterators/make-iterator/make-iterator';\nexport {makeStream} from './iterators/make-stream/make-stream';\n\n// CORE LOADERS\nexport {NullWorkerLoader, NullLoader} from './null-loader';\nexport {JSONLoader} from '@loaders.gl/loader-utils';\n\n// EXPERIMENTAL\nexport {fetchProgress as _fetchProgress} from './lib/progress/fetch-progress';\nexport {BrowserFileSystem as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';\n\n// FOR TESTING\nexport {_unregisterLoaders} from './lib/api/register-loaders';\n\n//\n// TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?\n//\n\nexport {isBrowser, isWorker, self, window, global, document} from '@loaders.gl/loader-utils';\nexport {assert} from '@loaders.gl/loader-utils';\nexport {forEach, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\nexport {\n makeTextDecoderIterator,\n makeTextEncoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from '@loaders.gl/loader-utils';\n\n// \"JAVASCRIPT\" UTILS - move to loader-utils?\nexport {\n isPureObject,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isReadableStream,\n isWritableStream\n} from './javascript-utils/is-type';\n"],"mappings":"SAuBQA,SAAS;AAAA,SAETC,eAAe;AAAA,SAKfC,gBAAgB,EAAEC,gBAAgB;AAAA,SAClCC,eAAe;AAAA,SACfC,YAAY,EAAEC,gBAAgB;AAAA,SAG9BC,KAAK;AAAA,SACLC,SAAS;AAAA,SACTC,cAAc;AAAA,SAEdC,IAAI;AAAA,SACJC,aAAa;AAAA,SAGbC,WAAW,EAAEC,iBAAiB,EAAEC,oBAAoB;AAAA,SACpDC,MAAM,EAAEC,UAAU,EAAEC,eAAe,EAAEC,cAAc;AAAA,SACnDC,UAAU,EAAEC,cAAc;AAGlC,SAAQC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAO,0BAA0B;AAClF,SAAQC,gBAAgB,QAAO,0BAA0B;AAAC,SAGlDC,YAAY;AAAA,SACZC,UAAU;AAAA,SAGVC,gBAAgB,EAAEC,UAAU;AACpC,SAAQC,UAAU,QAAO,0BAA0B;AAAC,SAG5CC,aAAa,IAAIC,cAAc;AAAA,SAC/BC,iBAAiB,IAAIC,kBAAkB;AAAA,SAGvCC,kBAAkB;AAM1B,SAAQC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,QAAO,0BAA0B;AAC5F,SAAQC,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,OAAO,EAAEC,4BAA4B,QAAO,0BAA0B;AAE9E,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,QACnB,0BAA0B;AAAC,SAIhCC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-batch-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timed-batch-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAuB,kBAAkB,CAAC,KAAK,EAC7C,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,KAAK,EAAE,CAAC,CAexB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-batch-iterator.js","names":["timedBatchIterator","batchIterator","timeout","start","Date","now","batches","batch","push"],"sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"timed-batch-iterator.js","names":["timedBatchIterator","batchIterator","timeout","start","Date","now","batches","batch","push"],"sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * \"Debounces\" batches and returns them in groups\n */\nexport async function* timedBatchIterator<Batch>(\n batchIterator: AsyncIterable<Batch>,\n timeout: number\n): AsyncIterable<Batch[]> {\n let start = Date.now();\n let batches: Batch[] = [];\n for await (const batch of batchIterator) {\n batches.push(batch);\n if (Date.now() - start > timeout) {\n yield batches;\n start = Date.now();\n batches = [];\n }\n }\n\n if (batches) {\n yield batches;\n }\n}\n"],"mappings":"AAOA,OAAO,gBAAgBA,kBAAkBA,CACvCC,aAAmC,EACnCC,OAAe,EACS;EACxB,IAAIC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACtB,IAAIC,OAAgB,GAAG,EAAE;EACzB,WAAW,MAAMC,KAAK,IAAIN,aAAa,EAAE;IACvCK,OAAO,CAACE,IAAI,CAACD,KAAK,CAAC;IACnB,IAAIH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,GAAGD,OAAO,EAAE;MAChC,MAAMI,OAAO;MACbH,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAClBC,OAAO,GAAG,EAAE;IACd;EACF;EAEA,IAAIA,OAAO,EAAE;IACX,MAAMA,OAAO;EACf;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-array-buffer-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make-array-buffer-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,uBAAuB,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CAAC,WAAW,CAAC,CAmBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-array-buffer-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeArrayBufferIterator","arrayBuffer","options","arguments","length","undefined","chunkSize","byteOffset","byteLength","chunkByteLength","Math","min","chunk","ArrayBuffer","sourceArray","Uint8Array","chunkArray","set"],"sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-array-buffer-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeArrayBufferIterator","arrayBuffer","options","arguments","length","undefined","chunkSize","byteOffset","byteLength","chunkByteLength","Math","min","chunk","ArrayBuffer","sourceArray","Uint8Array","chunkArray","set"],"sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big ArrayBuffer into chunks and yields them one-by-one\n * @param blob ArrayBuffer to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeArrayBufferIterator(\n arrayBuffer: ArrayBuffer,\n options: IteratorOptions = {}\n): Iterable<ArrayBuffer> {\n const {chunkSize = DEFAULT_CHUNK_SIZE} = options;\n\n let byteOffset = 0;\n\n while (byteOffset < arrayBuffer.byteLength) {\n // Create a chunk of the right size\n const chunkByteLength = Math.min(arrayBuffer.byteLength - byteOffset, chunkSize);\n const chunk = new ArrayBuffer(chunkByteLength);\n\n // Copy data from the big chunk\n const sourceArray = new Uint8Array(arrayBuffer, byteOffset, chunkByteLength);\n const chunkArray = new Uint8Array(chunk);\n chunkArray.set(sourceArray);\n\n // yield the chunk\n byteOffset += chunkByteLength;\n yield chunk;\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,SAAUC,uBAAuBA,CACtCC,WAAwB;EAAA,IACxBC,OAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,oBACN;IACvB,MAAM;MAACG,SAAS,GAAGP;IAAkB,CAAC,GAAGG,OAAO;IAEhD,IAAIK,UAAU,GAAG,CAAC;IAElB,OAAOA,UAAU,GAAGN,WAAW,CAACO,UAAU,EAAE;MAE1C,MAAMC,eAAe,GAAGC,IAAI,CAACC,GAAG,CAACV,WAAW,CAACO,UAAU,GAAGD,UAAU,EAAED,SAAS,CAAC;MAChF,MAAMM,KAAK,GAAG,IAAIC,WAAW,CAACJ,eAAe,CAAC;MAG9C,MAAMK,WAAW,GAAG,IAAIC,UAAU,CAACd,WAAW,EAAEM,UAAU,EAAEE,eAAe,CAAC;MAC5E,MAAMO,UAAU,GAAG,IAAID,UAAU,CAACH,KAAK,CAAC;MACxCI,UAAU,CAACC,GAAG,CAACH,WAAW,CAAC;MAG3BP,UAAU,IAAIE,eAAe;MAC7B,MAAMG,KAAK;IACb;EACF,CAAC;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-blob-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make-blob-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAuB,gBAAgB,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,CAY5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-blob-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeBlobIterator","blob","options","chunkSize","offset","size","end","chunk","slice","arrayBuffer"],"sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-blob-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeBlobIterator","blob","options","chunkSize","offset","size","end","chunk","slice","arrayBuffer"],"sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 1024 * 1024; // 1MB — biggest value that keeps UI responsive\n\n/**\n * Returns an iterator that breaks a big Blob into chunks and yields them one-by-one\n * @param blob Blob or File object\n * @param options\n * @param options.chunkSize\n */\nexport async function* makeBlobIterator(\n blob: Blob,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n while (offset < blob.size) {\n const end = offset + chunkSize;\n\n const chunk = await blob.slice(offset, end).arrayBuffer();\n\n offset = end;\n yield chunk;\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,IAAI,GAAG,IAAI;AAQtC,OAAO,gBAAgBC,gBAAgBA,CACrCC,IAAU,EACVC,OAAyB,EACG;EAC5B,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,OAAOA,MAAM,GAAGH,IAAI,CAACI,IAAI,EAAE;IACzB,MAAMC,GAAG,GAAGF,MAAM,GAAGD,SAAS;IAE9B,MAAMI,KAAK,GAAG,MAAMN,IAAI,CAACO,KAAK,CAACJ,MAAM,EAAEE,GAAG,CAAC,CAACG,WAAW,CAAC,CAAC;IAEzDL,MAAM,GAAGE,GAAG;IACZ,MAAMC,KAAK;EACb;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"make-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAKnC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAIlE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,EAC1E,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAmBpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-iterator.js","names":["makeStringIterator","makeArrayBufferIterator","makeBlobIterator","makeStreamIterator","isBlob","isReadableStream","isResponse","makeIterator","data","options","ArrayBuffer","response","body","Error"],"sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-iterator.js","names":["makeStringIterator","makeArrayBufferIterator","makeBlobIterator","makeStreamIterator","isBlob","isReadableStream","isResponse","makeIterator","data","options","ArrayBuffer","response","body","Error"],"sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ReadStream} from 'fs';\n\nimport {makeStringIterator} from './make-string-iterator';\nimport {makeArrayBufferIterator} from './make-array-buffer-iterator';\nimport {makeBlobIterator} from './make-blob-iterator';\nimport type {StreamIteratorOptions} from './make-stream-iterator';\nimport {makeStreamIterator} from './make-stream-iterator';\nimport {isBlob, isReadableStream, isResponse} from '../../javascript-utils/is-type';\n\n/**\n * @param [options.chunkSize]\n */\nexport type IteratorOptions = StreamIteratorOptions & {\n chunkSize?: number;\n};\n\n/**\n * Returns an iterator that breaks its input into chunks and yields them one-by-one.\n * @param data\n * @param options\n * @returns\n * This function can e.g. be used to enable data sources that can only be read atomically\n * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.\n */\nexport function makeIterator(\n data: ArrayBuffer | string | Blob | Response | ReadableStream | ReadStream,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer> {\n if (typeof data === 'string') {\n // Note: Converts string chunks to binary\n return makeStringIterator(data, options);\n }\n if (data instanceof ArrayBuffer) {\n return makeArrayBufferIterator(data, options);\n }\n if (isBlob(data)) {\n return makeBlobIterator(data as Blob, options);\n }\n if (isReadableStream(data)) {\n return makeStreamIterator(data as ReadableStream, options);\n }\n if (isResponse(data)) {\n const response = data as Response;\n return makeStreamIterator(response.body as ReadableStream, options);\n }\n throw new Error('makeIterator');\n}\n"],"mappings":"SAMQA,kBAAkB;AAAA,SAClBC,uBAAuB;AAAA,SACvBC,gBAAgB;AAAA,SAEhBC,kBAAkB;AAAA,SAClBC,MAAM,EAAEC,gBAAgB,EAAEC,UAAU;AAiB5C,OAAO,SAASC,YAAYA,CAC1BC,IAA0E,EAC1EC,OAAyB,EAC2B;EACpD,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAE5B,OAAOR,kBAAkB,CAACQ,IAAI,EAAEC,OAAO,CAAC;EAC1C;EACA,IAAID,IAAI,YAAYE,WAAW,EAAE;IAC/B,OAAOT,uBAAuB,CAACO,IAAI,EAAEC,OAAO,CAAC;EAC/C;EACA,IAAIL,MAAM,CAACI,IAAI,CAAC,EAAE;IAChB,OAAON,gBAAgB,CAACM,IAAI,EAAUC,OAAO,CAAC;EAChD;EACA,IAAIJ,gBAAgB,CAACG,IAAI,CAAC,EAAE;IAC1B,OAAOL,kBAAkB,CAACK,IAAI,EAAoBC,OAAO,CAAC;EAC5D;EACA,IAAIH,UAAU,CAACE,IAAI,CAAC,EAAE;IACpB,MAAMG,QAAQ,GAAGH,IAAgB;IACjC,OAAOL,kBAAkB,CAACQ,QAAQ,CAACC,IAAI,EAAoBH,OAAO,CAAC;EACrE;EACA,MAAM,IAAII,KAAK,CAAC,cAAc,CAAC;AACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stream-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"make-stream-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrC,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,GAAG,QAAQ,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,WAAW,CAAC,CAI5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stream-iterator.js","names":["isBrowser","toArrayBuffer","makeStreamIterator","stream","options","makeBrowserStreamIterator","makeNodeStreamIterator","reader","getReader","nextBatchPromise","currentBatchPromise","read","_streamReadAhead","done","value","error","releaseLock","chunk"],"sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-stream-iterator.js","names":["isBrowser","toArrayBuffer","makeStreamIterator","stream","options","makeBrowserStreamIterator","makeNodeStreamIterator","reader","getReader","nextBatchPromise","currentBatchPromise","read","_streamReadAhead","done","value","error","releaseLock","chunk"],"sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Readable} from 'stream';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator(\n stream: ReadableStream | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n return isBrowser\n ? makeBrowserStreamIterator(stream as ReadableStream, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator(\n stream: ReadableStream,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n\n let nextBatchPromise: Promise<{done?: boolean; value?: Uint8Array}> | undefined;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n // Issue a read for an additional batch, while we await the next batch\n // Idea is to make fetching happen in parallel with processing / parsing\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n }\n // Read from the stream\n // value is a Uint8Array\n const {done, value} = await currentBatchPromise;\n // Exit if we're done\n if (done) {\n return;\n }\n // Else yield the chunk\n yield toArrayBuffer(value);\n }\n } catch (error) {\n // TODO - examples makes it look like this should always be called,\n // but that generates exceptions so only call it if we do not reach the end\n reader.releaseLock();\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // Hacky test for node version to ensure we don't call bad polyfills\n // NODE 10+: stream is an asyncIterator\n for await (const chunk of stream) {\n yield toArrayBuffer(chunk); // Coerce each chunk to ArrayBuffer\n }\n}\n/* TODO - remove NODE < 10\n * @see https://github.com/bustle/streaming-iterables, MIT license\n *\n if (typeof stream[Symbol.asyncIterator] === 'function') {\n return;\n }\n\n // TODO - check if is this ever used in Node 10+?\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const data = stream.read();\n if (data !== null) {\n yield toArrayBuffer(data);\n // eslint-disable-next-line no-continue\n continue;\n }\n if (stream._readableState?.ended) {\n return;\n }\n await onceReadable(stream);\n }\n\nasync function onceReadable(stream: Readable): Promise<any> {\n return new Promise((resolve) => {\n stream.once('readable', resolve);\n });\n}\n */\n"],"mappings":"AAKA,SAAQA,SAAS,EAAEC,aAAa,QAAO,0BAA0B;AAUjE,OAAO,SAASC,kBAAkBA,CAChCC,MAAiC,EACjCC,OAA+B,EACH;EAC5B,OAAOJ,SAAS,GACZK,yBAAyB,CAACF,MAAM,EAAoBC,OAAO,CAAC,GAC5DE,sBAAsB,CAACH,MAAM,EAAcC,OAAO,CAAC;AACzD;AAOA,gBAAgBC,yBAAyBA,CACvCF,MAAsB,EACtBC,OAA+B,EACH;EAU5B,MAAMG,MAAM,GAAGJ,MAAM,CAACK,SAAS,CAAC,CAAC;EAEjC,IAAIC,gBAA2E;EAE/E,IAAI;IAEF,OAAO,IAAI,EAAE;MACX,MAAMC,mBAAmB,GAAGD,gBAAgB,IAAIF,MAAM,CAACI,IAAI,CAAC,CAAC;MAG7D,IAAIP,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,gBAAgB,EAAE;QAC7BH,gBAAgB,GAAGF,MAAM,CAACI,IAAI,CAAC,CAAC;MAClC;MAGA,MAAM;QAACE,IAAI;QAAEC;MAAK,CAAC,GAAG,MAAMJ,mBAAmB;MAE/C,IAAIG,IAAI,EAAE;QACR;MACF;MAEA,MAAMZ,aAAa,CAACa,KAAK,CAAC;IAC5B;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IAGdR,MAAM,CAACS,WAAW,CAAC,CAAC;EACtB;AACF;AAOA,gBAAgBV,sBAAsBA,CACpCH,MAAgB,EAChBC,OAA+B,EACH;EAG5B,WAAW,MAAMa,KAAK,IAAId,MAAM,EAAE;IAChC,MAAMF,aAAa,CAACgB,KAAK,CAAC;EAC5B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-string-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make-string-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAAC,WAAW,CAAC,CAcvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-string-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeStringIterator","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-string-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeStringIterator","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big string into chunks and yields them one-by-one as ArrayBuffers\n * @param blob string to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeStringIterator(\n string: string,\n options?: IteratorOptions\n): Iterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n const textEncoder = new TextEncoder();\n while (offset < string.length) {\n // Create a chunk of the right size\n const chunkLength = Math.min(string.length - offset, chunkSize);\n const chunk = string.slice(offset, offset + chunkLength);\n offset += chunkLength;\n\n // yield an ArrayBuffer chunk\n yield textEncoder.encode(chunk);\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,UAAUC,kBAAkBA,CACjCC,MAAc,EACdC,OAAyB,EACF;EACvB,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,MAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,CAAC;EACrC,OAAOF,MAAM,GAAGH,MAAM,CAACM,MAAM,EAAE;IAE7B,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACT,MAAM,CAACM,MAAM,GAAGH,MAAM,EAAED,SAAS,CAAC;IAC/D,MAAMQ,KAAK,GAAGV,MAAM,CAACW,KAAK,CAACR,MAAM,EAAEA,MAAM,GAAGI,WAAW,CAAC;IACxDJ,MAAM,IAAII,WAAW;IAGrB,MAAMH,WAAW,CAACQ,MAAM,CAACF,KAAK,CAAC;EACjC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stream.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-stream/make-stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make-stream.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-stream/make-stream.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EACpC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,EAC1D,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CA4ChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stream.js","names":["makeStream","source","options","globalThis","loaders","makeNodeStream","iterator","Symbol","asyncIterator","ReadableStream","type","pull","controller","done","value","next","close","enqueue","Uint8Array","error","cancel","_iterator$return","return","call","highWaterMark"],"sources":["../../../src/iterators/make-stream/make-stream.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"make-stream.js","names":["makeStream","source","options","globalThis","loaders","makeNodeStream","iterator","Symbol","asyncIterator","ReadableStream","type","pull","controller","done","value","next","close","enqueue","Uint8Array","error","cancel","_iterator$return","return","call","highWaterMark"],"sources":["../../../src/iterators/make-stream/make-stream.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport type MakeStreamOptions = {\n /** Stream allocates an arrayBuffer. Enables use of a default reader. */\n autoAllocateChunkSize?: number;\n /** Total number of chunks in queue before back pressure is applied */\n highWaterMark?: number;\n};\n\n/**\n * Builds a DOM stream from an iterator\n * This stream is currently used in browsers only,\n * but note that Web stream support is present in Node from Node 16\n * https://nodejs.org/api/webstreams.html#webstreams_web_streams_api\n */\nexport function makeStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: MakeStreamOptions\n): ReadableStream {\n if (globalThis.loaders.makeNodeStream) {\n return globalThis.loaders.makeNodeStream(source, options);\n }\n\n // TODO - add AsyncGenerator to parameter types?\n const iterator = (source as AsyncGenerator<ArrayBuffer>)[Symbol.asyncIterator]\n ? (source as AsyncIterable<ArrayBuffer>)[Symbol.asyncIterator]()\n : (source as Iterable<ArrayBuffer>)[Symbol.iterator]();\n\n return new ReadableStream<Uint8Array>(\n {\n // Create a byte stream (enables `Response(stream).arrayBuffer()`)\n // Only supported on Chrome\n // See: https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController\n // @ts-ignore\n type: 'bytes',\n\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n if (done) {\n controller.close();\n } else {\n // TODO - ignores controller.desiredSize\n // @ts-expect-error Unclear why value is not correctly typed\n controller.enqueue(new Uint8Array(value));\n }\n } catch (error) {\n controller.error(error);\n }\n },\n\n async cancel() {\n await iterator?.return?.();\n }\n },\n // options: QueingStrategy<Uint8Array>\n {\n // This is bytes, not chunks\n highWaterMark: 2 ** 24,\n ...options\n }\n );\n}\n"],"mappings":"AAiBA,OAAO,SAASA,UAAUA,CACxBC,MAA0D,EAC1DC,OAA2B,EACX;EAChB,IAAIC,UAAU,CAACC,OAAO,CAACC,cAAc,EAAE;IACrC,OAAOF,UAAU,CAACC,OAAO,CAACC,cAAc,CAACJ,MAAM,EAAEC,OAAO,CAAC;EAC3D;EAGA,MAAMI,QAAQ,GAAIL,MAAM,CAAiCM,MAAM,CAACC,aAAa,CAAC,GACzEP,MAAM,CAAgCM,MAAM,CAACC,aAAa,CAAC,CAAC,CAAC,GAC7DP,MAAM,CAA2BM,MAAM,CAACD,QAAQ,CAAC,CAAC,CAAC;EAExD,OAAO,IAAIG,cAAc,CACvB;IAKEC,IAAI,EAAE,OAAO;IAEb,MAAMC,IAAIA,CAACC,UAAU,EAAE;MACrB,IAAI;QACF,MAAM;UAACC,IAAI;UAAEC;QAAK,CAAC,GAAG,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAC;QAC3C,IAAIF,IAAI,EAAE;UACRD,UAAU,CAACI,KAAK,CAAC,CAAC;QACpB,CAAC,MAAM;UAGLJ,UAAU,CAACK,OAAO,CAAC,IAAIC,UAAU,CAACJ,KAAK,CAAC,CAAC;QAC3C;MACF,CAAC,CAAC,OAAOK,KAAK,EAAE;QACdP,UAAU,CAACO,KAAK,CAACA,KAAK,CAAC;MACzB;IACF,CAAC;IAED,MAAMC,MAAMA,CAAA,EAAG;MAAA,IAAAC,gBAAA;MACb,OAAMf,QAAQ,aAARA,QAAQ,wBAAAe,gBAAA,GAARf,QAAQ,CAAEgB,MAAM,cAAAD,gBAAA,uBAAhBA,gBAAA,CAAAE,IAAA,CAAAjB,QAAmB,CAAC;IAC5B;EACF,CAAC,EAED;IAEEkB,aAAa,EAAE,CAAC,IAAI,EAAE;IACtB,GAAGtB;EACL,CACF,CAAC;AACH"}
|