@loaders.gl/core 4.4.2 → 5.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +583 -162
- package/dist/dist.min.js +4 -3
- package/dist/index.cjs +499 -148
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js +1 -1
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
- package/dist/lib/api/core-api.d.ts +6 -0
- package/dist/lib/api/core-api.d.ts.map +1 -0
- package/dist/lib/api/core-api.js +23 -0
- package/dist/lib/api/core-api.js.map +1 -0
- package/dist/lib/api/create-data-source.d.ts +2 -2
- package/dist/lib/api/create-data-source.d.ts.map +1 -1
- package/dist/lib/api/create-data-source.js +15 -14
- package/dist/lib/api/create-data-source.js.map +1 -1
- package/dist/lib/api/load-in-batches.d.ts +4 -4
- package/dist/lib/api/load-in-batches.d.ts.map +1 -1
- package/dist/lib/api/load-in-batches.js +1 -1
- package/dist/lib/api/load-in-batches.js.map +1 -1
- package/dist/lib/api/load-loader.d.ts +8 -0
- package/dist/lib/api/load-loader.d.ts.map +1 -0
- package/dist/lib/api/load-loader.js +116 -0
- package/dist/lib/api/load-loader.js.map +1 -0
- package/dist/lib/api/load.d.ts +2 -2
- package/dist/lib/api/load.d.ts.map +1 -1
- package/dist/lib/api/load.js +52 -3
- package/dist/lib/api/load.js.map +1 -1
- package/dist/lib/api/parse-file.d.ts +15 -0
- package/dist/lib/api/parse-file.d.ts.map +1 -0
- package/dist/lib/api/parse-file.js +70 -0
- package/dist/lib/api/parse-file.js.map +1 -0
- package/dist/lib/api/parse-in-batches.d.ts +2 -2
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +6 -4
- package/dist/lib/api/parse-in-batches.js.map +1 -1
- package/dist/lib/api/parse-sync.d.ts +2 -2
- package/dist/lib/api/parse-sync.d.ts.map +1 -1
- package/dist/lib/api/parse-sync.js +10 -1
- package/dist/lib/api/parse-sync.js.map +1 -1
- package/dist/lib/api/parse.d.ts +2 -2
- package/dist/lib/api/parse.d.ts.map +1 -1
- package/dist/lib/api/parse.js +25 -16
- package/dist/lib/api/parse.js.map +1 -1
- package/dist/lib/api/preload.d.ts +11 -0
- package/dist/lib/api/preload.d.ts.map +1 -0
- package/dist/lib/api/preload.js +14 -0
- package/dist/lib/api/preload.js.map +1 -0
- package/dist/lib/api/register-loaders.js +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 +48 -5
- package/dist/lib/api/select-loader.js.map +1 -1
- package/dist/lib/api/select-source.d.ts +3 -3
- package/dist/lib/api/select-source.d.ts.map +1 -1
- package/dist/lib/api/select-source.js +2 -5
- package/dist/lib/api/select-source.js.map +1 -1
- package/dist/lib/fetch/fetch-error-message.js +1 -1
- package/dist/lib/fetch/fetch-error-message.js.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.js +1 -1
- package/dist/lib/loader-utils/check-errors.js.map +1 -1
- package/dist/lib/loader-utils/get-data.d.ts +4 -0
- package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-data.js +26 -0
- package/dist/lib/loader-utils/get-data.js.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.js +1 -1
- package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
- 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 +3 -1
- package/dist/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/lib/loader-utils/loggers.d.ts +19 -0
- package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
- package/dist/lib/loader-utils/loggers.js +28 -2
- package/dist/lib/loader-utils/loggers.js.map +1 -1
- package/dist/lib/loader-utils/option-defaults.d.ts +1 -0
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js +2 -0
- 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 +50 -2
- package/dist/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/lib/utils/response-utils.js +3 -3
- package/dist/lib/utils/response-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 +199 -36
- package/dist/null-worker.js +199 -36
- package/package.json +6 -6
- package/src/index.ts +10 -1
- package/src/iterators/make-iterator/make-stream-iterator.ts +1 -1
- package/src/lib/api/core-api.ts +25 -0
- package/src/lib/api/create-data-source.ts +24 -24
- package/src/lib/api/load-in-batches.ts +16 -11
- package/src/lib/api/load-loader.ts +163 -0
- package/src/lib/api/load.ts +78 -5
- package/src/lib/api/parse-file.ts +143 -0
- package/src/lib/api/parse-in-batches.ts +13 -5
- package/src/lib/api/parse-sync.ts +27 -2
- package/src/lib/api/parse.ts +44 -18
- package/src/lib/api/preload.ts +31 -0
- package/src/lib/api/register-loaders.ts +1 -1
- package/src/lib/api/select-loader.ts +57 -5
- package/src/lib/api/select-source.ts +7 -10
- package/src/lib/fetch/fetch-error-message.ts +1 -1
- package/src/lib/loader-utils/check-errors.ts +1 -1
- package/src/lib/loader-utils/get-data.ts +36 -0
- package/src/lib/loader-utils/get-fetch-function.ts +3 -2
- package/src/lib/loader-utils/loader-context.ts +5 -2
- package/src/lib/loader-utils/loggers.ts +28 -2
- package/src/lib/loader-utils/option-defaults.ts +2 -0
- package/src/lib/loader-utils/option-utils.ts +59 -2
- package/src/lib/utils/response-utils.ts +3 -3
- package/src/null-loader.ts +3 -3
|
@@ -29,10 +29,12 @@ const CORE_LOADER_OPTION_KEYS = [
|
|
|
29
29
|
'maxConcurrency',
|
|
30
30
|
'maxMobileConcurrency',
|
|
31
31
|
'reuseWorkers',
|
|
32
|
+
'workerTransferBufferCopy',
|
|
32
33
|
'_nodeWorkers',
|
|
33
34
|
'_workerType',
|
|
34
35
|
'limit',
|
|
35
36
|
'_limitMB',
|
|
37
|
+
'shape',
|
|
36
38
|
'batchSize',
|
|
37
39
|
'batchDebounceMs',
|
|
38
40
|
'metadata',
|
|
@@ -235,6 +237,7 @@ function normalizeOptionsInternal(
|
|
|
235
237
|
|
|
236
238
|
const userOptions = normalizeLoaderOptions(options);
|
|
237
239
|
mergeNestedFields(mergedOptions, userOptions);
|
|
240
|
+
applyCoreShapeDefault(mergedOptions, userOptions, loader);
|
|
238
241
|
|
|
239
242
|
addUrlOptions(mergedOptions, url);
|
|
240
243
|
addDeprecatedTopLevelOptions(mergedOptions);
|
|
@@ -242,7 +245,50 @@ function normalizeOptionsInternal(
|
|
|
242
245
|
return mergedOptions;
|
|
243
246
|
}
|
|
244
247
|
|
|
245
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Applies `options.core.shape` to a loader's scoped `shape` option when that loader declares
|
|
250
|
+
* shape support and neither global nor user-supplied loader-scoped options override it.
|
|
251
|
+
* @param mergedOptions fully merged options object being normalized
|
|
252
|
+
* @param userOptions normalized user-supplied options
|
|
253
|
+
* @param loader selected loader
|
|
254
|
+
*/
|
|
255
|
+
function applyCoreShapeDefault(
|
|
256
|
+
mergedOptions: LoaderOptions,
|
|
257
|
+
userOptions: LoaderOptions,
|
|
258
|
+
loader: Loader
|
|
259
|
+
): void {
|
|
260
|
+
const coreShape = mergedOptions.core?.shape;
|
|
261
|
+
if (coreShape === undefined) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const loaderScopedDefaults = loader.options?.[loader.id];
|
|
266
|
+
if (!isPureObject(loaderScopedDefaults) || !('shape' in loaderScopedDefaults)) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
const globalLoaderScopedOptions = getGlobalLoaderOptions()[loader.id];
|
|
271
|
+
if (isPureObject(globalLoaderScopedOptions) && 'shape' in globalLoaderScopedOptions) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
const userLoaderScopedOptions = userOptions[loader.id];
|
|
276
|
+
if (isPureObject(userLoaderScopedOptions) && 'shape' in userLoaderScopedOptions) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
const loaderScopedOptions = mergedOptions[loader.id];
|
|
281
|
+
mergedOptions[loader.id] = {
|
|
282
|
+
...(isPureObject(loaderScopedOptions) ? loaderScopedOptions : {}),
|
|
283
|
+
shape: coreShape
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Merges one level of nested option objects into the target options record.
|
|
289
|
+
* @param mergedOptions target options object to mutate
|
|
290
|
+
* @param options source options object
|
|
291
|
+
*/
|
|
246
292
|
function mergeNestedFields(mergedOptions: LoaderOptions, options: LoaderOptions): void {
|
|
247
293
|
for (const key in options) {
|
|
248
294
|
// Check for nested options
|
|
@@ -288,6 +334,11 @@ function cloneLoaderOptions(options: LoaderOptions): LoaderOptions {
|
|
|
288
334
|
return clonedOptions;
|
|
289
335
|
}
|
|
290
336
|
|
|
337
|
+
/**
|
|
338
|
+
* Moves deprecated top-level core option aliases into `options.core` without overwriting
|
|
339
|
+
* explicitly provided `options.core` values.
|
|
340
|
+
* @param options loader options to normalize in place
|
|
341
|
+
*/
|
|
291
342
|
function moveDeprecatedTopLevelOptionsToCore(options: LoaderOptions): void {
|
|
292
343
|
if (options.baseUri !== undefined) {
|
|
293
344
|
options.core ||= {};
|
|
@@ -298,7 +349,8 @@ function moveDeprecatedTopLevelOptionsToCore(options: LoaderOptions): void {
|
|
|
298
349
|
|
|
299
350
|
for (const key of CORE_LOADER_OPTION_KEYS) {
|
|
300
351
|
if ((options as Record<string, unknown>)[key] !== undefined) {
|
|
301
|
-
|
|
352
|
+
options.core ||= {};
|
|
353
|
+
const coreOptions = options.core;
|
|
302
354
|
const coreRecord = coreOptions as Record<string, unknown>;
|
|
303
355
|
// Treat deprecated top-level core options as aliases to `options.core`, but never override an explicitly
|
|
304
356
|
// provided `options.core` value.
|
|
@@ -318,6 +370,11 @@ function moveDeprecatedTopLevelOptionsToCore(options: LoaderOptions): void {
|
|
|
318
370
|
}
|
|
319
371
|
}
|
|
320
372
|
|
|
373
|
+
/**
|
|
374
|
+
* Rehydrates deprecated top-level aliases from `options.core` for compatibility with older
|
|
375
|
+
* call sites that still read normalized options from the top level.
|
|
376
|
+
* @param options normalized loader options to mutate in place
|
|
377
|
+
*/
|
|
321
378
|
function addDeprecatedTopLevelOptions(options: LoaderOptions): void {
|
|
322
379
|
const coreOptions = options.core as Record<string, unknown> | undefined;
|
|
323
380
|
if (!coreOptions) {
|
|
@@ -97,7 +97,7 @@ async function getResponseError(response: Response): Promise<Error> {
|
|
|
97
97
|
!response.bodyUsed && contentType?.includes('application/json')
|
|
98
98
|
? await response.json()
|
|
99
99
|
: await response.text();
|
|
100
|
-
} catch (
|
|
100
|
+
} catch (_error) {
|
|
101
101
|
// eslint forbids return in a finally statement, so we just catch here
|
|
102
102
|
}
|
|
103
103
|
return new FetchError(message, info);
|
|
@@ -112,9 +112,9 @@ async function getInitialDataUrl(
|
|
|
112
112
|
}
|
|
113
113
|
if (resource instanceof Blob) {
|
|
114
114
|
const blobSlice = resource.slice(0, 5);
|
|
115
|
-
return await new Promise(
|
|
115
|
+
return await new Promise(resolve => {
|
|
116
116
|
const reader = new FileReader();
|
|
117
|
-
reader.onload =
|
|
117
|
+
reader.onload = event => resolve(event?.target?.result as string);
|
|
118
118
|
reader.readAsDataURL(blobSlice);
|
|
119
119
|
});
|
|
120
120
|
}
|
package/src/null-loader.ts
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
+
import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
6
|
+
import {LoaderContext} from '@loaders.gl/loader-utils';
|
|
7
|
+
|
|
5
8
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
9
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
10
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
8
11
|
|
|
9
|
-
import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
10
|
-
import {LoaderContext} from '@loaders.gl/loader-utils';
|
|
11
|
-
|
|
12
12
|
export type NullLoaderOptions = LoaderOptions & {
|
|
13
13
|
null?: {};
|
|
14
14
|
};
|