@luma.gl/core 9.0.0-alpha.9 → 9.0.0-beta.2
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/LICENSE +3 -1
- package/README.md +4 -4
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts +52 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts.map +1 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.js +130 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.js.map +1 -0
- package/dist/adapter/canvas-context.d.ts +109 -0
- package/dist/adapter/canvas-context.d.ts.map +1 -0
- package/dist/adapter/canvas-context.js +254 -0
- package/dist/adapter/canvas-context.js.map +1 -0
- package/dist/adapter/device.d.ts +219 -0
- package/dist/adapter/device.d.ts.map +1 -0
- package/dist/adapter/device.js +99 -0
- package/dist/adapter/device.js.map +1 -0
- package/dist/adapter/resources/buffer.d.ts +56 -0
- package/dist/adapter/resources/buffer.d.ts.map +1 -0
- package/dist/adapter/resources/buffer.js +62 -0
- package/dist/adapter/resources/buffer.js.map +1 -0
- package/dist/adapter/resources/command-buffer.d.ts +12 -0
- package/dist/adapter/resources/command-buffer.d.ts.map +1 -0
- package/dist/adapter/resources/command-buffer.js +15 -0
- package/dist/adapter/resources/command-buffer.js.map +1 -0
- package/dist/adapter/resources/command-encoder.d.ts +113 -0
- package/dist/adapter/resources/command-encoder.d.ts.map +1 -0
- package/dist/adapter/resources/command-encoder.js +19 -0
- package/dist/adapter/resources/command-encoder.js.map +1 -0
- package/dist/adapter/resources/compute-pass.d.ts +31 -0
- package/dist/adapter/resources/compute-pass.d.ts.map +1 -0
- package/dist/adapter/resources/compute-pass.js +15 -0
- package/dist/adapter/resources/compute-pass.js.map +1 -0
- package/dist/adapter/resources/compute-pipeline.d.ts +24 -0
- package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/compute-pipeline.js +20 -0
- package/dist/adapter/resources/compute-pipeline.js.map +1 -0
- package/dist/adapter/resources/external-texture.d.ts +12 -0
- package/dist/adapter/resources/external-texture.d.ts.map +1 -0
- package/dist/adapter/resources/external-texture.js +17 -0
- package/dist/adapter/resources/external-texture.js.map +1 -0
- package/dist/adapter/resources/framebuffer.d.ts +50 -0
- package/dist/adapter/resources/framebuffer.d.ts.map +1 -0
- package/dist/adapter/resources/framebuffer.js +102 -0
- package/dist/adapter/resources/framebuffer.js.map +1 -0
- package/dist/adapter/resources/render-pass.d.ts +51 -0
- package/dist/adapter/resources/render-pass.d.ts.map +1 -0
- package/dist/adapter/resources/render-pass.js +23 -0
- package/dist/adapter/resources/render-pass.js.map +1 -0
- package/dist/adapter/resources/render-pipeline.d.ts +89 -0
- package/dist/adapter/resources/render-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/render-pipeline.js +36 -0
- package/dist/adapter/resources/render-pipeline.js.map +1 -0
- package/dist/adapter/resources/resource.d.ts +73 -0
- package/dist/adapter/resources/resource.d.ts.map +1 -0
- package/dist/adapter/resources/resource.js +101 -0
- package/dist/adapter/resources/resource.js.map +1 -0
- package/dist/adapter/resources/sampler.d.ts +42 -0
- package/dist/adapter/resources/sampler.d.ts.map +1 -0
- package/dist/adapter/resources/sampler.js +26 -0
- package/dist/adapter/resources/sampler.js.map +1 -0
- package/dist/adapter/resources/shader.d.ts +45 -0
- package/dist/adapter/resources/shader.d.ts.map +1 -0
- package/dist/adapter/resources/shader.js +90 -0
- package/dist/adapter/resources/shader.js.map +1 -0
- package/dist/adapter/resources/texture.d.ts +90 -0
- package/dist/adapter/resources/texture.d.ts.map +1 -0
- package/dist/adapter/resources/texture.js +45 -0
- package/dist/adapter/resources/texture.js.map +1 -0
- package/dist/adapter/resources/transform-feedback.d.ts +30 -0
- package/dist/adapter/resources/transform-feedback.d.ts.map +1 -0
- package/dist/adapter/resources/transform-feedback.js +17 -0
- package/dist/adapter/resources/transform-feedback.js.map +1 -0
- package/dist/adapter/resources/vertex-array.d.ts +40 -0
- package/dist/adapter/resources/vertex-array.d.ts.map +1 -0
- package/dist/adapter/resources/vertex-array.js +24 -0
- package/dist/adapter/resources/vertex-array.js.map +1 -0
- package/dist/adapter/type-utils/decode-attribute-type.d.ts +20 -0
- package/dist/adapter/type-utils/decode-attribute-type.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-attribute-type.js +60 -0
- package/dist/adapter/type-utils/decode-attribute-type.js.map +1 -0
- package/dist/adapter/type-utils/decode-data-type.d.ts +16 -0
- package/dist/adapter/type-utils/decode-data-type.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-data-type.js +43 -0
- package/dist/adapter/type-utils/decode-data-type.js.map +1 -0
- package/dist/adapter/type-utils/decode-shader-types.d.ts +9 -0
- package/dist/adapter/type-utils/decode-shader-types.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-shader-types.js +103 -0
- package/dist/adapter/type-utils/decode-shader-types.js.map +1 -0
- package/dist/adapter/type-utils/decode-texture-format.d.ts +19 -0
- package/dist/adapter/type-utils/decode-texture-format.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-texture-format.js +101 -0
- package/dist/adapter/type-utils/decode-texture-format.js.map +1 -0
- package/dist/adapter/type-utils/decode-vertex-format.d.ts +22 -0
- package/dist/adapter/type-utils/decode-vertex-format.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-vertex-format.js +25 -0
- package/dist/adapter/type-utils/decode-vertex-format.js.map +1 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts +10 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts.map +1 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.js +76 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.js.map +1 -0
- package/dist/adapter/type-utils/wgsl-utils.d.ts +4 -0
- package/dist/adapter/type-utils/wgsl-utils.d.ts.map +1 -0
- package/dist/adapter/type-utils/wgsl-utils.js +15 -0
- package/dist/adapter/type-utils/wgsl-utils.js.map +1 -0
- package/dist/adapter/types/accessor.d.ts +23 -0
- package/dist/adapter/types/accessor.d.ts.map +1 -0
- package/dist/adapter/types/accessor.js +2 -0
- package/dist/adapter/types/accessor.js.map +1 -0
- package/dist/adapter/types/buffer-layout.d.ts +59 -0
- package/dist/adapter/types/buffer-layout.d.ts.map +1 -0
- package/dist/adapter/types/buffer-layout.js +2 -0
- package/dist/adapter/types/buffer-layout.js.map +1 -0
- package/dist/adapter/types/parameters.d.ts +97 -0
- package/dist/adapter/types/parameters.d.ts.map +1 -0
- package/dist/adapter/types/parameters.js +28 -0
- package/dist/adapter/types/parameters.js.map +1 -0
- package/dist/adapter/types/shader-layout.d.ts +145 -0
- package/dist/adapter/types/shader-layout.d.ts.map +1 -0
- package/dist/adapter/types/shader-layout.js +2 -0
- package/dist/adapter/types/shader-layout.js.map +1 -0
- package/dist/adapter/types/shader-types.d.ts +21 -0
- package/dist/adapter/types/shader-types.d.ts.map +1 -0
- package/dist/adapter/types/shader-types.js +2 -0
- package/dist/adapter/types/shader-types.js.map +1 -0
- package/dist/adapter/types/texture-formats.d.ts +12 -0
- package/dist/adapter/types/texture-formats.d.ts.map +1 -0
- package/dist/adapter/types/texture-formats.js +2 -0
- package/dist/adapter/types/texture-formats.js.map +1 -0
- package/dist/adapter/types/types.d.ts +90 -0
- package/dist/adapter/types/types.d.ts.map +1 -0
- package/dist/adapter/types/types.js +2 -0
- package/dist/adapter/types/types.js.map +1 -0
- package/dist/adapter/types/vertex-formats.d.ts +14 -0
- package/dist/adapter/types/vertex-formats.d.ts.map +1 -0
- package/dist/adapter/types/vertex-formats.js +2 -0
- package/dist/adapter/types/vertex-formats.js.map +1 -0
- package/dist/dist.dev.js +2976 -0
- package/dist/index.cjs +2445 -0
- package/dist/index.d.ts +81 -128
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -18
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +24 -0
- package/dist/init.js.map +1 -0
- package/dist/lib/compiler-log/compiler-message.d.ts +8 -0
- package/dist/lib/compiler-log/compiler-message.d.ts.map +1 -0
- package/dist/lib/compiler-log/compiler-message.js +2 -0
- package/dist/lib/compiler-log/compiler-message.js.map +1 -0
- package/dist/lib/compiler-log/format-compiler-log.d.ts +8 -0
- package/dist/lib/compiler-log/format-compiler-log.d.ts.map +1 -0
- package/dist/lib/compiler-log/format-compiler-log.js +64 -0
- package/dist/lib/compiler-log/format-compiler-log.js.map +1 -0
- package/dist/lib/compiler-log/get-shader-info.d.ts +9 -0
- package/dist/lib/compiler-log/get-shader-info.d.ts.map +1 -0
- package/dist/lib/compiler-log/get-shader-info.js +25 -0
- package/dist/lib/compiler-log/get-shader-info.js.map +1 -0
- package/dist/lib/luma.d.ts +22 -0
- package/dist/lib/luma.d.ts.map +1 -0
- package/dist/lib/luma.js +63 -0
- package/dist/lib/luma.js.map +1 -0
- package/dist/lib/uniforms/uniform-block.d.ts +29 -0
- package/dist/lib/uniforms/uniform-block.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-block.js +48 -0
- package/dist/lib/uniforms/uniform-block.js.map +1 -0
- package/dist/lib/uniforms/uniform-buffer-layout.d.ts +27 -0
- package/dist/lib/uniforms/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-buffer-layout.js +76 -0
- package/dist/lib/uniforms/uniform-buffer-layout.js.map +1 -0
- package/dist/lib/uniforms/uniform-store.d.ts +62 -0
- package/dist/lib/uniforms/uniform-store.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-store.js +89 -0
- package/dist/lib/uniforms/uniform-store.js.map +1 -0
- package/dist/lib/uniforms/uniform.d.ts +10 -0
- package/dist/lib/uniforms/uniform.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform.js +20 -0
- package/dist/lib/uniforms/uniform.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/array-equal.d.ts +5 -0
- package/dist/utils/array-equal.d.ts.map +1 -0
- package/dist/utils/array-equal.js +28 -0
- package/dist/utils/array-equal.js.map +1 -0
- package/dist/utils/array-utils-flat.d.ts +10 -0
- package/dist/utils/array-utils-flat.d.ts.map +1 -0
- package/dist/utils/array-utils-flat.js +36 -0
- package/dist/utils/array-utils-flat.js.map +1 -0
- package/dist/utils/assert.d.ts +2 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/cast.d.ts +3 -0
- package/dist/utils/cast.d.ts.map +1 -0
- package/dist/utils/cast.js +4 -0
- package/dist/utils/cast.js.map +1 -0
- package/dist/utils/check-props.d.ts +7 -0
- package/dist/utils/check-props.d.ts.map +1 -0
- package/dist/utils/check-props.js +32 -0
- package/dist/utils/check-props.js.map +1 -0
- package/dist/utils/deep-equal.d.ts +9 -0
- package/dist/utils/deep-equal.d.ts.map +1 -0
- package/dist/utils/deep-equal.js +40 -0
- package/dist/utils/deep-equal.js.map +1 -0
- package/dist/utils/format-value.d.ts +7 -0
- package/dist/utils/format-value.d.ts.map +1 -0
- package/dist/utils/format-value.js +42 -0
- package/dist/utils/format-value.js.map +1 -0
- package/dist/utils/is-array.d.ts +16 -0
- package/dist/utils/is-array.d.ts.map +1 -0
- package/dist/utils/is-array.js +10 -0
- package/dist/utils/is-array.js.map +1 -0
- package/dist/utils/load-file.d.ts +35 -0
- package/dist/utils/load-file.d.ts.map +1 -0
- package/dist/utils/load-file.js +48 -0
- package/dist/utils/load-file.js.map +1 -0
- package/dist/utils/log.d.ts +4 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/log.js +5 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/random.d.ts +5 -0
- package/dist/utils/random.d.ts.map +1 -0
- package/dist/utils/random.js +14 -0
- package/dist/utils/random.js.map +1 -0
- package/dist/utils/request-animation-frame.d.ts +3 -0
- package/dist/utils/request-animation-frame.d.ts.map +1 -0
- package/dist/utils/request-animation-frame.js +7 -0
- package/dist/utils/request-animation-frame.js.map +1 -0
- package/dist/utils/stats-manager.d.ts +12 -0
- package/dist/utils/stats-manager.d.ts.map +1 -0
- package/dist/utils/stats-manager.js +19 -0
- package/dist/utils/stats-manager.js.map +1 -0
- package/dist/utils/stub-methods.d.ts +2 -0
- package/dist/utils/stub-methods.d.ts.map +1 -0
- package/dist/utils/stub-methods.js +16 -0
- package/dist/utils/stub-methods.js.map +1 -0
- package/dist/utils/utils.d.ts +15 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +19 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist.min.js +33 -0
- package/package.json +17 -12
- package/src/adapter/attribute-utils/get-attribute-from-layouts.ts +259 -0
- package/src/adapter/canvas-context.ts +433 -0
- package/src/adapter/device.ts +435 -0
- package/src/adapter/resources/buffer.ts +106 -0
- package/src/adapter/resources/command-buffer.ts +38 -0
- package/src/adapter/resources/command-encoder.ts +172 -0
- package/src/adapter/resources/compute-pass.ts +52 -0
- package/src/adapter/resources/compute-pipeline.ts +39 -0
- package/src/adapter/resources/external-texture.ts +20 -0
- package/src/adapter/resources/framebuffer.ts +230 -0
- package/src/adapter/resources/render-pass.ts +117 -0
- package/src/adapter/resources/render-pipeline.ts +133 -0
- package/src/adapter/resources/resource.ts +176 -0
- package/src/adapter/resources/sampler.ts +69 -0
- package/src/adapter/resources/shader.ts +143 -0
- package/src/adapter/resources/texture.ts +140 -0
- package/src/adapter/resources/transform-feedback.ts +45 -0
- package/src/adapter/resources/vertex-array.ts +65 -0
- package/src/adapter/type-utils/decode-attribute-type.ts +82 -0
- package/src/adapter/type-utils/decode-data-type.ts +62 -0
- package/src/adapter/type-utils/decode-shader-types.ts +48 -0
- package/src/adapter/type-utils/decode-texture-format.ts +190 -0
- package/src/adapter/type-utils/decode-vertex-format.ts +49 -0
- package/src/adapter/type-utils/vertex-format-from-attribute.ts +103 -0
- package/src/adapter/type-utils/wgsl-utils.ts +18 -0
- package/src/adapter/types/accessor.ts +34 -0
- package/src/adapter/types/buffer-layout.ts +62 -0
- package/src/adapter/types/parameters.ts +250 -0
- package/src/adapter/types/shader-layout.ts +193 -0
- package/src/adapter/types/shader-types.ts +77 -0
- package/src/adapter/types/texture-formats.ts +168 -0
- package/src/adapter/types/types.ts +109 -0
- package/src/adapter/types/vertex-formats.ts +91 -0
- package/src/index.ts +160 -92
- package/src/init.ts +47 -0
- package/src/lib/compiler-log/compiler-message.ts +10 -0
- package/src/lib/compiler-log/format-compiler-log.ts +113 -0
- package/src/lib/compiler-log/get-shader-info.ts +41 -0
- package/src/lib/luma.ts +84 -0
- package/src/lib/uniforms/uniform-block.ts +80 -0
- package/src/lib/uniforms/uniform-buffer-layout.ts +109 -0
- package/src/lib/uniforms/uniform-store.ts +173 -0
- package/src/lib/uniforms/uniform.ts +25 -0
- package/src/types.ts +33 -0
- package/src/utils/array-equal.ts +33 -0
- package/src/utils/array-utils-flat.ts +43 -0
- package/src/utils/assert.ts +7 -0
- package/src/utils/cast.ts +4 -0
- package/src/utils/check-props.ts +74 -0
- package/src/utils/deep-equal.ts +47 -0
- package/src/utils/format-value.ts +40 -0
- package/src/utils/is-array.ts +24 -0
- package/src/utils/load-file.ts +89 -0
- package/src/utils/log.ts +4 -0
- package/src/utils/random.ts +17 -0
- package/src/utils/request-animation-frame.ts +15 -0
- package/src/utils/stats-manager.ts +23 -0
- package/src/utils/stub-methods.ts +20 -0
- package/src/utils/utils.ts +36 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/src/bundle.ts +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-flat.d.ts","sourceRoot":"","sources":["../../src/utils/array-utils-flat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAItD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAKrE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAGrE;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,WAAW,CAsB1H"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
let arrayBuffer;
|
|
2
|
+
export function getScratchArrayBuffer(byteLength) {
|
|
3
|
+
if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {
|
|
4
|
+
arrayBuffer = new ArrayBuffer(byteLength);
|
|
5
|
+
}
|
|
6
|
+
return arrayBuffer;
|
|
7
|
+
}
|
|
8
|
+
export function getScratchArray(Type, length) {
|
|
9
|
+
const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);
|
|
10
|
+
return new Type(scratchArrayBuffer, 0, length);
|
|
11
|
+
}
|
|
12
|
+
export function fillArray(options) {
|
|
13
|
+
const {
|
|
14
|
+
target,
|
|
15
|
+
source,
|
|
16
|
+
start = 0,
|
|
17
|
+
count = 1
|
|
18
|
+
} = options;
|
|
19
|
+
const length = source.length;
|
|
20
|
+
const total = count * length;
|
|
21
|
+
let copied = 0;
|
|
22
|
+
for (let i = start; copied < length; copied++) {
|
|
23
|
+
target[i++] = source[copied];
|
|
24
|
+
}
|
|
25
|
+
while (copied < total) {
|
|
26
|
+
if (copied < total - copied) {
|
|
27
|
+
target.copyWithin(start + copied, start, start + copied);
|
|
28
|
+
copied *= 2;
|
|
29
|
+
} else {
|
|
30
|
+
target.copyWithin(start + copied, start, start + total - copied);
|
|
31
|
+
copied = total;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return options.target;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=array-utils-flat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-flat.js","names":["arrayBuffer","getScratchArrayBuffer","byteLength","ArrayBuffer","getScratchArray","Type","length","scratchArrayBuffer","BYTES_PER_ELEMENT","fillArray","options","target","source","start","count","total","copied","i","copyWithin"],"sources":["../../src/utils/array-utils-flat.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {TypedArray, NumberArray} from '../types';\n\nlet arrayBuffer: ArrayBuffer;\n\nexport function getScratchArrayBuffer(byteLength: number): ArrayBuffer {\n if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {\n arrayBuffer = new ArrayBuffer(byteLength);\n }\n return arrayBuffer;\n}\n\nexport function getScratchArray(Type: any, length: number): TypedArray {\n const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);\n return new Type(scratchArrayBuffer, 0, length); // arrayBuffer, byteOffset, length (in elements)\n}\n\n// Uses copyWithin to significantly speed up typed array value filling\nexport function fillArray(options: {target: NumberArray, source: NumberArray, start?: number, count?: number}): NumberArray {\n const {target, source, start = 0, count = 1} = options;\n const length = source.length;\n const total = count * length;\n let copied = 0;\n for (let i = start; copied < length; copied++) {\n target[i++] = source[copied] ;\n }\n\n while (copied < total) {\n // If we have copied less than half, copy everything we got\n // else copy remaining in one operation\n if (copied < total - copied) {\n target.copyWithin(start + copied, start, start + copied);\n copied *= 2;\n } else {\n target.copyWithin(start + copied, start, start + total - copied);\n copied = total;\n }\n }\n\n return options.target;\n}\n"],"mappings":"AAKA,IAAIA,WAAwB;AAE5B,OAAO,SAASC,qBAAqBA,CAACC,UAAkB,EAAe;EACrE,IAAI,CAACF,WAAW,IAAIA,WAAW,CAACE,UAAU,GAAGA,UAAU,EAAE;IACvDF,WAAW,GAAG,IAAIG,WAAW,CAACD,UAAU,CAAC;EAC3C;EACA,OAAOF,WAAW;AACpB;AAEA,OAAO,SAASI,eAAeA,CAACC,IAAS,EAAEC,MAAc,EAAc;EACrE,MAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,IAAI,CAACG,iBAAiB,GAAGF,MAAM,CAAC;EACjF,OAAO,IAAID,IAAI,CAACE,kBAAkB,EAAE,CAAC,EAAED,MAAM,CAAC;AAChD;AAGA,OAAO,SAASG,SAASA,CAACC,OAAmF,EAAe;EAC1H,MAAM;IAACC,MAAM;IAAEC,MAAM;IAAEC,KAAK,GAAG,CAAC;IAAEC,KAAK,GAAG;EAAC,CAAC,GAAGJ,OAAO;EACtD,MAAMJ,MAAM,GAAGM,MAAM,CAACN,MAAM;EAC5B,MAAMS,KAAK,GAAGD,KAAK,GAAGR,MAAM;EAC5B,IAAIU,MAAM,GAAG,CAAC;EACd,KAAK,IAAIC,CAAC,GAAGJ,KAAK,EAAEG,MAAM,GAAGV,MAAM,EAAEU,MAAM,EAAE,EAAE;IAC7CL,MAAM,CAACM,CAAC,EAAE,CAAC,GAAGL,MAAM,CAACI,MAAM,CAAC;EAC9B;EAEA,OAAOA,MAAM,GAAGD,KAAK,EAAE;IAGrB,IAAIC,MAAM,GAAGD,KAAK,GAAGC,MAAM,EAAE;MAC3BL,MAAM,CAACO,UAAU,CAACL,KAAK,GAAGG,MAAM,EAAEH,KAAK,EAAEA,KAAK,GAAGG,MAAM,CAAC;MACxDA,MAAM,IAAI,CAAC;IACb,CAAC,MAAM;MACLL,MAAM,CAACO,UAAU,CAACL,KAAK,GAAGG,MAAM,EAAEH,KAAK,EAAEA,KAAK,GAAGE,KAAK,GAAGC,MAAM,CAAC;MAChEA,MAAM,GAAGD,KAAK;IAChB;EACF;EAEA,OAAOL,OAAO,CAACC,MAAM;AACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAIzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","names":["assert","condition","message","Error"],"sources":["../../src/utils/assert.ts"],"sourcesContent":["// Recommendation is to ignore message but current test suite checks agains the\n// message so keep it for now.\nexport function assert(condition: unknown, message?: string): void | never {\n if (!condition) {\n throw new Error(message || 'luma.gl: assertion failed.');\n }\n}\n"],"mappings":"AAEA,OAAO,SAASA,MAAMA,CAACC,SAAkB,EAAEC,OAAgB,EAAgB;EACzE,IAAI,CAACD,SAAS,EAAE;IACd,MAAM,IAAIE,KAAK,CAACD,OAAO,IAAI,4BAA4B,CAAC;EAC1D;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/utils/cast.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAEjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cast.js","names":["cast","value"],"sources":["../../src/utils/cast.ts"],"sourcesContent":["/** Helper for type downcasts, e.g. Buffer -> WebGPUBuffer */\nexport function cast<T>(value: any) {\n return value as T;\n}\n"],"mappings":"AACA,OAAO,SAASA,IAAIA,CAAIC,KAAU,EAAE;EAClC,OAAOA,KAAK;AACd"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type PropChecks = {
|
|
2
|
+
removedProps?: Record<string, any>;
|
|
3
|
+
replacedProps?: Record<string, string>;
|
|
4
|
+
deprecatedProps?: Record<string, string>;
|
|
5
|
+
};
|
|
6
|
+
export declare function checkProps(className: string, props: Record<string, any>, propChecks: PropChecks): Record<string, unknown>;
|
|
7
|
+
//# sourceMappingURL=check-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-props.d.ts","sourceRoot":"","sources":["../../src/utils/check-props.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmCzH"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { log } from "./log.js";
|
|
2
|
+
export function checkProps(className, props, propChecks) {
|
|
3
|
+
const {
|
|
4
|
+
removedProps = {},
|
|
5
|
+
deprecatedProps = {},
|
|
6
|
+
replacedProps = {}
|
|
7
|
+
} = propChecks;
|
|
8
|
+
for (const propName in removedProps) {
|
|
9
|
+
if (propName in props) {
|
|
10
|
+
const replacementProp = removedProps[propName];
|
|
11
|
+
const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';
|
|
12
|
+
log.removed(`${className}.${propName}`, replacement)();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
for (const propName in deprecatedProps) {
|
|
16
|
+
if (propName in props) {
|
|
17
|
+
const replacementProp = deprecatedProps[propName];
|
|
18
|
+
log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
let newProps = null;
|
|
22
|
+
for (const [propName, replacementProp] of Object.entries(replacedProps)) {
|
|
23
|
+
if (propName in props) {
|
|
24
|
+
log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();
|
|
25
|
+
newProps = newProps || Object.assign({}, props);
|
|
26
|
+
newProps[replacementProp] = props[propName];
|
|
27
|
+
delete newProps[propName];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return newProps || props;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=check-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-props.js","names":["log","checkProps","className","props","propChecks","removedProps","deprecatedProps","replacedProps","propName","replacementProp","replacement","removed","deprecated","newProps","Object","entries","assign"],"sources":["../../src/utils/check-props.ts"],"sourcesContent":["import {log} from './log';\n\n/* Use as\nimport {checkProps} from '../util/check-props;'\n\nconst PROP_CHECKS = {\n // Removed props no longer supported, print error and link to upgrade guide\n removedProps: {\n },\n // Deprecated props\n deprecatedProps: {\n offset: 'accessor',\n stride: 'accessor',\n type: 'accessor',\n size: 'accessor',\n divisor: 'accessor',\n normalized: 'accessor',\n integer: 'accessor'\n },\n // Deprecated props that can be autosubstituted, print warning and return updated props object\n replacedProps: {\n bytes: 'byteLength'\n }\n}\n\nclass Buffer {\n setProps(props) {\n checkProps('Buffer', props, PROP_CHECKS);\n }\n}\n*/\n\nexport type PropChecks = {\n removedProps?: Record<string, any>;\n replacedProps?: Record<string, string>;\n deprecatedProps?: Record<string, string>;\n};\n\nexport function checkProps(className: string, props: Record<string, any>, propChecks: PropChecks): Record<string, unknown> {\n const {removedProps = {}, deprecatedProps = {}, replacedProps = {}} = propChecks;\n\n // removedProps: Removed props no longer supported\n // print error and link to upgrade guide\n for (const propName in removedProps) {\n if (propName in props) {\n const replacementProp = removedProps[propName];\n const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';\n log.removed(`${className}.${propName}`, replacement)();\n }\n }\n\n // deprecatedProps: Deprecated props that can not be autosubstituted\n // print warning and rely on caller to substitute\n for (const propName in deprecatedProps) {\n if (propName in props) {\n const replacementProp = deprecatedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n }\n }\n\n // replacedProps: Deprecated props that can be autosubstituted\n // print warning and return updated props object\n let newProps = null;\n for (const [propName, replacementProp] of Object.entries(replacedProps)) {\n if (propName in props) {\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n newProps = newProps || Object.assign({}, props);\n newProps[replacementProp] = props[propName];\n delete newProps[propName];\n }\n }\n\n return newProps || props;\n}\n"],"mappings":"SAAQA,GAAG;AAsCX,OAAO,SAASC,UAAUA,CAACC,SAAiB,EAAEC,KAA0B,EAAEC,UAAsB,EAA2B;EACzH,MAAM;IAACC,YAAY,GAAG,CAAC,CAAC;IAAEC,eAAe,GAAG,CAAC,CAAC;IAAEC,aAAa,GAAG,CAAC;EAAC,CAAC,GAAGH,UAAU;EAIhF,KAAK,MAAMI,QAAQ,IAAIH,YAAY,EAAE;IACnC,IAAIG,QAAQ,IAAIL,KAAK,EAAE;MACrB,MAAMM,eAAe,GAAGJ,YAAY,CAACG,QAAQ,CAAC;MAC9C,MAAME,WAAW,GAAGD,eAAe,GAAI,GAAEP,SAAU,IAAGG,YAAY,CAACG,QAAQ,CAAE,EAAC,GAAG,KAAK;MACtFR,GAAG,CAACW,OAAO,CAAE,GAAET,SAAU,IAAGM,QAAS,EAAC,EAAEE,WAAW,CAAC,CAAC,CAAC;IACxD;EACF;EAIA,KAAK,MAAMF,QAAQ,IAAIF,eAAe,EAAE;IACtC,IAAIE,QAAQ,IAAIL,KAAK,EAAE;MACrB,MAAMM,eAAe,GAAGH,eAAe,CAACE,QAAQ,CAAC;MACjDR,GAAG,CAACY,UAAU,CAAE,GAAEV,SAAU,IAAGM,QAAS,EAAC,EAAG,GAAEN,SAAU,IAAGO,eAAgB,EAAC,CAAC,CAAC,CAAC;IACjF;EACF;EAIA,IAAII,QAAQ,GAAG,IAAI;EACnB,KAAK,MAAM,CAACL,QAAQ,EAAEC,eAAe,CAAC,IAAIK,MAAM,CAACC,OAAO,CAACR,aAAa,CAAC,EAAE;IACvE,IAAIC,QAAQ,IAAIL,KAAK,EAAE;MACrBH,GAAG,CAACY,UAAU,CAAE,GAAEV,SAAU,IAAGM,QAAS,EAAC,EAAG,GAAEN,SAAU,IAAGO,eAAgB,EAAC,CAAC,CAAC,CAAC;MAC/EI,QAAQ,GAAGA,QAAQ,IAAIC,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAEb,KAAK,CAAC;MAC/CU,QAAQ,CAACJ,eAAe,CAAC,GAAGN,KAAK,CAACK,QAAQ,CAAC;MAC3C,OAAOK,QAAQ,CAACL,QAAQ,CAAC;IAC3B;EACF;EAEA,OAAOK,QAAQ,IAAIV,KAAK;AAC1B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fast partial deep equal for prop.
|
|
3
|
+
*
|
|
4
|
+
* @param a Prop
|
|
5
|
+
* @param b Prop to compare against `a`
|
|
6
|
+
* @param depth Depth to which to recurse in nested Objects/Arrays. Use 0 (default) for shallow comparison, -1 for infinite depth
|
|
7
|
+
*/
|
|
8
|
+
export declare function deepEqual(a: any, b: any, depth: number): boolean;
|
|
9
|
+
//# sourceMappingURL=deep-equal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAsChE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export function deepEqual(a, b, depth) {
|
|
2
|
+
if (a === b) {
|
|
3
|
+
return true;
|
|
4
|
+
}
|
|
5
|
+
if (!depth || !a || !b) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (Array.isArray(a)) {
|
|
9
|
+
if (!Array.isArray(b) || a.length !== b.length) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
for (let i = 0; i < a.length; i++) {
|
|
13
|
+
if (!deepEqual(a[i], b[i], depth - 1)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(b)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (typeof a === 'object' && typeof b === 'object') {
|
|
23
|
+
const aKeys = Object.keys(a);
|
|
24
|
+
const bKeys = Object.keys(b);
|
|
25
|
+
if (aKeys.length !== bKeys.length) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
for (const key of aKeys) {
|
|
29
|
+
if (!b.hasOwnProperty(key)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (!deepEqual(a[key], b[key], depth - 1)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=deep-equal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-equal.js","names":["deepEqual","a","b","depth","Array","isArray","length","i","aKeys","Object","keys","bKeys","key","hasOwnProperty"],"sources":["../../src/utils/deep-equal.ts"],"sourcesContent":["/**\n * Fast partial deep equal for prop.\n *\n * @param a Prop\n * @param b Prop to compare against `a`\n * @param depth Depth to which to recurse in nested Objects/Arrays. Use 0 (default) for shallow comparison, -1 for infinite depth\n */\n/* eslint-disable complexity */\nexport function deepEqual(a: any, b: any, depth: number): boolean {\n if (a === b) {\n return true;\n }\n if (!depth || !a || !b) {\n return false;\n }\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], depth - 1)) {\n return false;\n }\n }\n return true;\n }\n if (Array.isArray(b)) {\n return false;\n }\n if (typeof a === 'object' && typeof b === 'object') {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n for (const key of aKeys) {\n if (!b.hasOwnProperty(key)) {\n return false;\n }\n if (!deepEqual(a[key], b[key], depth - 1)) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n"],"mappings":"AAQA,OAAO,SAASA,SAASA,CAACC,CAAM,EAAEC,CAAM,EAAEC,KAAa,EAAW;EAChE,IAAIF,CAAC,KAAKC,CAAC,EAAE;IACX,OAAO,IAAI;EACb;EACA,IAAI,CAACC,KAAK,IAAI,CAACF,CAAC,IAAI,CAACC,CAAC,EAAE;IACtB,OAAO,KAAK;EACd;EACA,IAAIE,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,EAAE;IACpB,IAAI,CAACG,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IAAID,CAAC,CAACK,MAAM,KAAKJ,CAAC,CAACI,MAAM,EAAE;MAC9C,OAAO,KAAK;IACd;IACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,CAAC,CAACK,MAAM,EAAEC,CAAC,EAAE,EAAE;MACjC,IAAI,CAACP,SAAS,CAACC,CAAC,CAACM,CAAC,CAAC,EAAEL,CAAC,CAACK,CAAC,CAAC,EAAEJ,KAAK,GAAG,CAAC,CAAC,EAAE;QACrC,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb;EACA,IAAIC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,EAAE;IACpB,OAAO,KAAK;EACd;EACA,IAAI,OAAOD,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAE;IAClD,MAAMM,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACT,CAAC,CAAC;IAC5B,MAAMU,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACR,CAAC,CAAC;IAC5B,IAAIM,KAAK,CAACF,MAAM,KAAKK,KAAK,CAACL,MAAM,EAAE;MACjC,OAAO,KAAK;IACd;IACA,KAAK,MAAMM,GAAG,IAAIJ,KAAK,EAAE;MACvB,IAAI,CAACN,CAAC,CAACW,cAAc,CAACD,GAAG,CAAC,EAAE;QAC1B,OAAO,KAAK;MACd;MACA,IAAI,CAACZ,SAAS,CAACC,CAAC,CAACW,GAAG,CAAC,EAAEV,CAAC,CAACU,GAAG,CAAC,EAAET,KAAK,GAAG,CAAC,CAAC,EAAE;QACzC,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NumberArray } from '../types';
|
|
2
|
+
/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */
|
|
3
|
+
export declare function formatValue(v: number | NumberArray | unknown, opts?: {
|
|
4
|
+
isInteger?: boolean;
|
|
5
|
+
size?: number;
|
|
6
|
+
}): string;
|
|
7
|
+
//# sourceMappingURL=format-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-value.d.ts","sourceRoot":"","sources":["../../src/utils/format-value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAgB1C,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,EAAE,IAAI,GAAE;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,MAAM,CAqBtH"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
function formatArrayValue(v) {
|
|
2
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3
|
+
const {
|
|
4
|
+
maxElts = 16,
|
|
5
|
+
size = 1
|
|
6
|
+
} = opts;
|
|
7
|
+
let string = '[';
|
|
8
|
+
for (let i = 0; i < v.length && i < maxElts; ++i) {
|
|
9
|
+
if (i > 0) {
|
|
10
|
+
string += `,${i % size === 0 ? ' ' : ''}`;
|
|
11
|
+
}
|
|
12
|
+
string += formatValue(v[i], opts);
|
|
13
|
+
}
|
|
14
|
+
const terminator = v.length > maxElts ? '...' : ']';
|
|
15
|
+
return `${string}${terminator}`;
|
|
16
|
+
}
|
|
17
|
+
export function formatValue(v) {
|
|
18
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
19
|
+
const EPSILON = 1e-16;
|
|
20
|
+
const {
|
|
21
|
+
isInteger = false
|
|
22
|
+
} = opts;
|
|
23
|
+
if (Array.isArray(v) || ArrayBuffer.isView(v)) {
|
|
24
|
+
return formatArrayValue(v, opts);
|
|
25
|
+
}
|
|
26
|
+
if (typeof v !== 'number') {
|
|
27
|
+
return String(v);
|
|
28
|
+
}
|
|
29
|
+
if (Math.abs(v) < EPSILON) {
|
|
30
|
+
return isInteger ? '0' : '0.';
|
|
31
|
+
}
|
|
32
|
+
if (isInteger) {
|
|
33
|
+
return v.toFixed(0);
|
|
34
|
+
}
|
|
35
|
+
if (Math.abs(v) > 100 && Math.abs(v) < 10000) {
|
|
36
|
+
return v.toFixed(0);
|
|
37
|
+
}
|
|
38
|
+
const string = v.toPrecision(2);
|
|
39
|
+
const decimal = string.indexOf('.0');
|
|
40
|
+
return decimal === string.length - 2 ? string.slice(0, -1) : string;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=format-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-value.js","names":["formatArrayValue","v","opts","arguments","length","undefined","maxElts","size","string","i","formatValue","terminator","EPSILON","isInteger","Array","isArray","ArrayBuffer","isView","String","Math","abs","toFixed","toPrecision","decimal","indexOf","slice"],"sources":["../../src/utils/format-value.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type {NumberArray} from '../types';\n\n/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */\nfunction formatArrayValue(v: NumberArray, opts: {maxElts?: number, size?: number} = {}): string {\n const {maxElts = 16, size = 1} = opts;\n let string = '[';\n for (let i = 0; i < v.length && i < maxElts; ++i) {\n if (i > 0) {\n string += `,${i % size === 0 ? ' ' : ''}`;\n }\n string += formatValue(v[i], opts);\n }\n const terminator = v.length > maxElts ? '...' : ']';\n return `${string}${terminator}`;\n}\n\n/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */\nexport function formatValue(v: number | NumberArray | unknown, opts: {isInteger?: boolean, size?: number} = {}): string {\n const EPSILON = 1e-16;\n const {isInteger = false} = opts;\n if (Array.isArray(v) || ArrayBuffer.isView(v)) {\n return formatArrayValue(v as NumberArray, opts);\n }\n if (typeof v !== 'number') {\n return String(v);\n }\n if (Math.abs(v) < EPSILON) {\n return isInteger ? '0' : '0.';\n }\n if (isInteger) {\n return v.toFixed(0);\n }\n if (Math.abs(v) > 100 && Math.abs(v) < 10000) {\n return v.toFixed(0);\n }\n const string = v.toPrecision(2);\n const decimal = string.indexOf('.0');\n return decimal === string.length - 2 ? string.slice(0, -1) : string;\n}\n"],"mappings":"AAIA,SAASA,gBAAgBA,CAACC,CAAc,EAAwD;EAAA,IAAtDC,IAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpF,MAAM;IAACG,OAAO,GAAG,EAAE;IAAEC,IAAI,GAAG;EAAC,CAAC,GAAGL,IAAI;EACrC,IAAIM,MAAM,GAAG,GAAG;EAChB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,CAAC,CAACG,MAAM,IAAIK,CAAC,GAAGH,OAAO,EAAE,EAAEG,CAAC,EAAE;IAChD,IAAIA,CAAC,GAAG,CAAC,EAAE;MACTD,MAAM,IAAK,IAAGC,CAAC,GAAGF,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAG,EAAC;IAC3C;IACAC,MAAM,IAAIE,WAAW,CAACT,CAAC,CAACQ,CAAC,CAAC,EAAEP,IAAI,CAAC;EACnC;EACA,MAAMS,UAAU,GAAGV,CAAC,CAACG,MAAM,GAAGE,OAAO,GAAG,KAAK,GAAG,GAAG;EACnD,OAAQ,GAAEE,MAAO,GAAEG,UAAW,EAAC;AACjC;AAGA,OAAO,SAASD,WAAWA,CAACT,CAAiC,EAA2D;EAAA,IAAzDC,IAA0C,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC5G,MAAMS,OAAO,GAAG,KAAK;EACrB,MAAM;IAACC,SAAS,GAAG;EAAK,CAAC,GAAGX,IAAI;EAChC,IAAIY,KAAK,CAACC,OAAO,CAACd,CAAC,CAAC,IAAIe,WAAW,CAACC,MAAM,CAAChB,CAAC,CAAC,EAAE;IAC7C,OAAOD,gBAAgB,CAACC,CAAC,EAAiBC,IAAI,CAAC;EACjD;EACA,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE;IACzB,OAAOiB,MAAM,CAACjB,CAAC,CAAC;EAClB;EACA,IAAIkB,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAGW,OAAO,EAAE;IACzB,OAAOC,SAAS,GAAG,GAAG,GAAG,IAAI;EAC/B;EACA,IAAIA,SAAS,EAAE;IACb,OAAOZ,CAAC,CAACoB,OAAO,CAAC,CAAC,CAAC;EACrB;EACA,IAAIF,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAG,GAAG,IAAIkB,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAG,KAAK,EAAE;IAC5C,OAAOA,CAAC,CAACoB,OAAO,CAAC,CAAC,CAAC;EACrB;EACA,MAAMb,MAAM,GAAGP,CAAC,CAACqB,WAAW,CAAC,CAAC,CAAC;EAC/B,MAAMC,OAAO,GAAGf,MAAM,CAACgB,OAAO,CAAC,IAAI,CAAC;EACpC,OAAOD,OAAO,KAAKf,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACiB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGjB,MAAM;AACrE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TypedArray, NumberArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Check is an array is a typed array
|
|
4
|
+
* @param value value to be tested
|
|
5
|
+
* @returns input as TypedArray, or null
|
|
6
|
+
* @todo this should be provided by @math.gl/types
|
|
7
|
+
*/
|
|
8
|
+
export declare function isTypedArray(value: unknown): TypedArray | null;
|
|
9
|
+
/**
|
|
10
|
+
* Check is an array is a numeric array (typed array or array of numbers)
|
|
11
|
+
* @param value value to be tested
|
|
12
|
+
* @returns input as NumberArray, or null
|
|
13
|
+
* @todo this should be provided by @math.gl/types
|
|
14
|
+
*/
|
|
15
|
+
export declare function isNumberArray(value: unknown): NumberArray | null;
|
|
16
|
+
//# sourceMappingURL=is-array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-array.d.ts","sourceRoot":"","sources":["../../src/utils/is-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAKhE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function isTypedArray(value) {
|
|
2
|
+
return ArrayBuffer.isView(value) && !(value instanceof DataView) ? value : null;
|
|
3
|
+
}
|
|
4
|
+
export function isNumberArray(value) {
|
|
5
|
+
if (Array.isArray(value)) {
|
|
6
|
+
return value.length === 0 || typeof value[0] === 'number' ? value : null;
|
|
7
|
+
}
|
|
8
|
+
return isTypedArray(value);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=is-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-array.js","names":["isTypedArray","value","ArrayBuffer","isView","DataView","isNumberArray","Array","isArray","length"],"sources":["../../src/utils/is-array.ts"],"sourcesContent":["import {TypedArray, NumberArray} from '../types';\n\n/**\n * Check is an array is a typed array\n * @param value value to be tested\n * @returns input as TypedArray, or null\n * @todo this should be provided by @math.gl/types\n */\nexport function isTypedArray(value: unknown): TypedArray | null {\n return ArrayBuffer.isView(value) && !(value instanceof DataView) ? (value as TypedArray) : null;\n}\n\n/**\n * Check is an array is a numeric array (typed array or array of numbers)\n * @param value value to be tested\n * @returns input as NumberArray, or null\n * @todo this should be provided by @math.gl/types\n */\nexport function isNumberArray(value: unknown): NumberArray | null {\n if (Array.isArray(value)) {\n return value.length === 0 || typeof value[0] === 'number' ? (value as number[]) : null;\n }\n return isTypedArray(value);\n}\n"],"mappings":"AAQA,OAAO,SAASA,YAAYA,CAACC,KAAc,EAAqB;EAC9D,OAAOC,WAAW,CAACC,MAAM,CAACF,KAAK,CAAC,IAAI,EAAEA,KAAK,YAAYG,QAAQ,CAAC,GAAIH,KAAK,GAAkB,IAAI;AACjG;AAQA,OAAO,SAASI,aAAaA,CAACJ,KAAc,EAAsB;EAChE,IAAIK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACO,MAAM,KAAK,CAAC,IAAI,OAAOP,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAIA,KAAK,GAAgB,IAAI;EACxF;EACA,OAAOD,YAAY,CAACC,KAAK,CAAC;AAC5B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set a relative path prefix
|
|
3
|
+
*/
|
|
4
|
+
export declare function setPathPrefix(prefix: string): void;
|
|
5
|
+
/**
|
|
6
|
+
* Reads raw file data. Respects setPathPrefix.
|
|
7
|
+
*/
|
|
8
|
+
export declare function loadFile(url: string, options?: {
|
|
9
|
+
dataType?: 'text' | 'arrayBuffer';
|
|
10
|
+
} & RequestInit): Promise<any>;
|
|
11
|
+
/**
|
|
12
|
+
* Loads ImageBitmap asynchronously. Respects setPathPrefix.
|
|
13
|
+
* image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'
|
|
14
|
+
* @returns a promise tracking the load
|
|
15
|
+
*/
|
|
16
|
+
export declare function loadImageBitmap(url: string, opts?: {
|
|
17
|
+
crossOrigin?: string;
|
|
18
|
+
}): Promise<ImageBitmap>;
|
|
19
|
+
/**
|
|
20
|
+
* Loads image asynchronously. Respects setPathPrefix.
|
|
21
|
+
* image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'
|
|
22
|
+
* @returns a promise tracking the load
|
|
23
|
+
* @deprecated Use `loadImageBitmap()` unless you are supporting old versions of Safari.
|
|
24
|
+
*/
|
|
25
|
+
export declare function loadImage(url: string, opts?: {
|
|
26
|
+
crossOrigin?: string;
|
|
27
|
+
}): Promise<HTMLImageElement>;
|
|
28
|
+
/**
|
|
29
|
+
* Load a script (identified by an url). When the url returns, the
|
|
30
|
+
* content of this file is added into a new script element, attached to the DOM (body element)
|
|
31
|
+
* @param scriptUrl defines the url of the script to laod
|
|
32
|
+
* @param scriptId defines the id of the script element
|
|
33
|
+
*/
|
|
34
|
+
export declare function loadScript(scriptUrl: string, scriptId?: string): Promise<Event>;
|
|
35
|
+
//# sourceMappingURL=load-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-file.d.ts","sourceRoot":"","sources":["../../src/utils/load-file.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,QAE3C;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAAC,GAAG,WAAW,GAC1D,OAAO,CAAC,GAAG,CAAC,CAKd;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAY3B;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAkBrF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
let pathPrefix = '';
|
|
2
|
+
export function setPathPrefix(prefix) {
|
|
3
|
+
pathPrefix = prefix;
|
|
4
|
+
}
|
|
5
|
+
export async function loadFile(url, options) {
|
|
6
|
+
url = url.startsWith('http') ? url : pathPrefix + url;
|
|
7
|
+
const dataType = (options === null || options === void 0 ? void 0 : options.dataType) || 'text';
|
|
8
|
+
const response = await fetch(url, options);
|
|
9
|
+
return await response[dataType]();
|
|
10
|
+
}
|
|
11
|
+
export async function loadImageBitmap(url, opts) {
|
|
12
|
+
const image = new Image();
|
|
13
|
+
image.crossOrigin = (opts === null || opts === void 0 ? void 0 : opts.crossOrigin) || 'anonymous';
|
|
14
|
+
image.src = url.startsWith('http') ? url : pathPrefix + url;
|
|
15
|
+
await image.decode();
|
|
16
|
+
return await createImageBitmap(image);
|
|
17
|
+
}
|
|
18
|
+
export async function loadImage(url, opts) {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
try {
|
|
21
|
+
const image = new Image();
|
|
22
|
+
image.onload = () => resolve(image);
|
|
23
|
+
image.onerror = () => reject(new Error(`Could not load image ${url}.`));
|
|
24
|
+
image.crossOrigin = (opts === null || opts === void 0 ? void 0 : opts.crossOrigin) || 'anonymous';
|
|
25
|
+
image.src = url.startsWith('http') ? url : pathPrefix + url;
|
|
26
|
+
} catch (error) {
|
|
27
|
+
reject(error);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export async function loadScript(scriptUrl, scriptId) {
|
|
32
|
+
const head = document.getElementsByTagName('head')[0];
|
|
33
|
+
if (!head) {
|
|
34
|
+
throw new Error('loadScript');
|
|
35
|
+
}
|
|
36
|
+
const script = document.createElement('script');
|
|
37
|
+
script.setAttribute('type', 'text/javascript');
|
|
38
|
+
script.setAttribute('src', scriptUrl);
|
|
39
|
+
if (scriptId) {
|
|
40
|
+
script.id = scriptId;
|
|
41
|
+
}
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
script.onload = resolve;
|
|
44
|
+
script.onerror = error => reject(new Error(`Unable to load script '${scriptUrl}': ${error}`));
|
|
45
|
+
head.appendChild(script);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=load-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-file.js","names":["pathPrefix","setPathPrefix","prefix","loadFile","url","options","startsWith","dataType","response","fetch","loadImageBitmap","opts","image","Image","crossOrigin","src","decode","createImageBitmap","loadImage","Promise","resolve","reject","onload","onerror","Error","error","loadScript","scriptUrl","scriptId","head","document","getElementsByTagName","script","createElement","setAttribute","id","appendChild"],"sources":["../../src/utils/load-file.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nlet pathPrefix = '';\n\n/**\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix: string) {\n pathPrefix = prefix;\n}\n\n/**\n * Reads raw file data. Respects setPathPrefix.\n */\nexport async function loadFile(\n url: string,\n options?: {dataType?: 'text' | 'arrayBuffer'} & RequestInit\n): Promise<any> {\n url = url.startsWith('http') ? url : pathPrefix + url;\n const dataType = options?.dataType || 'text';\n const response = await fetch(url, options);\n return await response[dataType]();\n}\n\n/**\n * Loads ImageBitmap asynchronously. Respects setPathPrefix.\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * @returns a promise tracking the load\n */\nexport async function loadImageBitmap(\n url: string,\n opts?: {crossOrigin?: string}\n): Promise<ImageBitmap> {\n const image = new Image();\n image.crossOrigin = opts?.crossOrigin || 'anonymous';\n image.src = url.startsWith('http') ? url : pathPrefix + url;\n await image.decode();\n return await createImageBitmap(image);\n}\n\n/**\n * Loads image asynchronously. Respects setPathPrefix.\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * @returns a promise tracking the load\n * @deprecated Use `loadImageBitmap()` unless you are supporting old versions of Safari.\n */\nexport async function loadImage(\n url: string,\n opts?: {crossOrigin?: string}\n): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = opts?.crossOrigin || 'anonymous';\n image.src = url.startsWith('http') ? url : pathPrefix + url;\n } catch (error) {\n reject(error);\n }\n });\n}\n\n/**\n * Load a script (identified by an url). When the url returns, the\n * content of this file is added into a new script element, attached to the DOM (body element)\n * @param scriptUrl defines the url of the script to laod\n * @param scriptId defines the id of the script element\n */\nexport async function loadScript(scriptUrl: string, scriptId?: string): Promise<Event> {\n const head = document.getElementsByTagName('head')[0];\n if (!head) {\n throw new Error('loadScript');\n }\n\n const script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('src', scriptUrl);\n if (scriptId) {\n script.id = scriptId;\n }\n\n return new Promise((resolve, reject) => {\n script.onload = resolve;\n script.onerror = (error) => reject(new Error(`Unable to load script '${scriptUrl}': ${error as string}`));\n head.appendChild(script);\n });\n}\n"],"mappings":"AAGA,IAAIA,UAAU,GAAG,EAAE;AAKnB,OAAO,SAASC,aAAaA,CAACC,MAAc,EAAE;EAC5CF,UAAU,GAAGE,MAAM;AACrB;AAKA,OAAO,eAAeC,QAAQA,CAC5BC,GAAW,EACXC,OAA2D,EAC7C;EACdD,GAAG,GAAGA,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;EACrD,MAAMG,QAAQ,GAAG,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,QAAQ,KAAI,MAAM;EAC5C,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACL,GAAG,EAAEC,OAAO,CAAC;EAC1C,OAAO,MAAMG,QAAQ,CAACD,QAAQ,CAAC,CAAC,CAAC;AACnC;AAOA,OAAO,eAAeG,eAAeA,CACnCN,GAAW,EACXO,IAA6B,EACP;EACtB,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;EACzBD,KAAK,CAACE,WAAW,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,KAAI,WAAW;EACpDF,KAAK,CAACG,GAAG,GAAGX,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;EAC3D,MAAMQ,KAAK,CAACI,MAAM,CAAC,CAAC;EACpB,OAAO,MAAMC,iBAAiB,CAACL,KAAK,CAAC;AACvC;AAQA,OAAO,eAAeM,SAASA,CAC7Bd,GAAW,EACXO,IAA6B,EACF;EAC3B,OAAO,IAAIQ,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACF,MAAMT,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;MACzBD,KAAK,CAACU,MAAM,GAAG,MAAMF,OAAO,CAACR,KAAK,CAAC;MACnCA,KAAK,CAACW,OAAO,GAAG,MAAMF,MAAM,CAAC,IAAIG,KAAK,CAAE,wBAAuBpB,GAAI,GAAE,CAAC,CAAC;MACvEQ,KAAK,CAACE,WAAW,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,KAAI,WAAW;MACpDF,KAAK,CAACG,GAAG,GAAGX,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;IAC7D,CAAC,CAAC,OAAOqB,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;IACf;EACF,CAAC,CAAC;AACJ;AAQA,OAAO,eAAeC,UAAUA,CAACC,SAAiB,EAAEC,QAAiB,EAAkB;EACrF,MAAMC,IAAI,GAAGC,QAAQ,CAACC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAI,CAACF,IAAI,EAAE;IACT,MAAM,IAAIL,KAAK,CAAC,YAAY,CAAC;EAC/B;EAEA,MAAMQ,MAAM,GAAGF,QAAQ,CAACG,aAAa,CAAC,QAAQ,CAAC;EAC/CD,MAAM,CAACE,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC;EAC9CF,MAAM,CAACE,YAAY,CAAC,KAAK,EAAEP,SAAS,CAAC;EACrC,IAAIC,QAAQ,EAAE;IACZI,MAAM,CAACG,EAAE,GAAGP,QAAQ;EACtB;EAEA,OAAO,IAAIT,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCW,MAAM,CAACV,MAAM,GAAGF,OAAO;IACvBY,MAAM,CAACT,OAAO,GAAIE,KAAK,IAAKJ,MAAM,CAAC,IAAIG,KAAK,CAAE,0BAAyBG,SAAU,MAAKF,KAAgB,EAAC,CAAC,CAAC;IACzGI,IAAI,CAACO,WAAW,CAACJ,MAAM,CAAC;EAC1B,CAAC,CAAC;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,0BAA0B;AAC1B,eAAO,MAAM,GAAG,EAAE,GAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","names":["Log","log","id"],"sources":["../../src/utils/log.ts"],"sourcesContent":["import {Log} from '@probe.gl/log';\n\n/** Global log instance */\nexport const log: Log = new Log({id: 'luma.gl'});\n"],"mappings":"AAAA,SAAQA,GAAG,QAAO,eAAe;AAGjC,OAAO,MAAMC,GAAQ,GAAG,IAAID,GAAG,CAAC;EAACE,EAAE,EAAE;AAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,wBAAgB,yBAAyB,IAAI,MAAM,MAAM,CAQxD;AAMD,oDAAoD;AACpD,eAAO,MAAM,MAAM,QAfgC,MAeF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function makeRandomNumberGenerator() {
|
|
2
|
+
let s = 1;
|
|
3
|
+
let c = 1;
|
|
4
|
+
return () => {
|
|
5
|
+
s = Math.sin(c * 17.23);
|
|
6
|
+
c = Math.cos(s * 27.92);
|
|
7
|
+
return fract(Math.abs(s * c) * 1432.71);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function fract(n) {
|
|
11
|
+
return n - Math.floor(n);
|
|
12
|
+
}
|
|
13
|
+
export const random = makeRandomNumberGenerator();
|
|
14
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","names":["makeRandomNumberGenerator","s","c","Math","sin","cos","fract","abs","n","floor","random"],"sources":["../../src/utils/random.ts"],"sourcesContent":["/** Creates a deterministic pseudorandom number generator */\nexport function makeRandomNumberGenerator(): () => number {\n let s = 1;\n let c = 1;\n return () => {\n s = Math.sin(c * 17.23);\n c = Math.cos(s * 27.92);\n return fract(Math.abs(s * c) * 1432.71);\n };\n}\n\nfunction fract(n: number): number {\n return n - Math.floor(n);\n}\n\n/** Generates a deterministic pseudorandom number */\nexport const random = makeRandomNumberGenerator();\n"],"mappings":"AACA,OAAO,SAASA,yBAAyBA,CAAA,EAAiB;EACxD,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,OAAO,MAAM;IACXD,CAAC,GAAGE,IAAI,CAACC,GAAG,CAACF,CAAC,GAAG,KAAK,CAAC;IACvBA,CAAC,GAAGC,IAAI,CAACE,GAAG,CAACJ,CAAC,GAAG,KAAK,CAAC;IACvB,OAAOK,KAAK,CAACH,IAAI,CAACI,GAAG,CAACN,CAAC,GAAGC,CAAC,CAAC,GAAG,OAAO,CAAC;EACzC,CAAC;AACH;AAEA,SAASI,KAAKA,CAACE,CAAS,EAAU;EAChC,OAAOA,CAAC,GAAGL,IAAI,CAACM,KAAK,CAACD,CAAC,CAAC;AAC1B;AAGA,OAAO,MAAME,MAAM,GAAGV,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-animation-frame.d.ts","sourceRoot":"","sources":["../../src/utils/request-animation-frame.ts"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,GAAG,CAIzE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAIvD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function requestAnimationFrame(callback) {
|
|
2
|
+
return typeof window !== 'undefined' && window.requestAnimationFrame ? window.requestAnimationFrame(callback) : setTimeout(callback, 1000 / 60);
|
|
3
|
+
}
|
|
4
|
+
export function cancelAnimationFrame(timerId) {
|
|
5
|
+
return typeof window !== 'undefined' && window.cancelAnimationFrame ? window.cancelAnimationFrame(timerId) : clearTimeout(timerId);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=request-animation-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-animation-frame.js","names":["requestAnimationFrame","callback","window","setTimeout","cancelAnimationFrame","timerId","clearTimeout"],"sources":["../../src/utils/request-animation-frame.ts"],"sourcesContent":["// Node.js polyfills for requestAnimationFrame and cancelAnimationFrame\n/* global window, setTimeout, clearTimeout */\n\n// / <reference types=\"@types/node\" />\nexport function requestAnimationFrame(callback: (time?: any) => void): any {\n return typeof window !== 'undefined' && window.requestAnimationFrame\n ? window.requestAnimationFrame(callback)\n : setTimeout(callback, 1000 / 60);\n}\n\nexport function cancelAnimationFrame(timerId: any): void {\n return typeof window !== 'undefined' && window.cancelAnimationFrame\n ? window.cancelAnimationFrame(timerId)\n : clearTimeout(timerId);\n}\n"],"mappings":"AAIA,OAAO,SAASA,qBAAqBA,CAACC,QAA8B,EAAO;EACzE,OAAO,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACF,qBAAqB,GAChEE,MAAM,CAACF,qBAAqB,CAACC,QAAQ,CAAC,GACtCE,UAAU,CAACF,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC;AACrC;AAEA,OAAO,SAASG,oBAAoBA,CAACC,OAAY,EAAQ;EACvD,OAAO,OAAOH,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACE,oBAAoB,GAC/DF,MAAM,CAACE,oBAAoB,CAACC,OAAO,CAAC,GACpCC,YAAY,CAACD,OAAO,CAAC;AAC3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Stats } from '@probe.gl/stats';
|
|
2
|
+
/**
|
|
3
|
+
* Helper class managing a collection of probe.gl stats objects
|
|
4
|
+
*/
|
|
5
|
+
export declare class StatsManager {
|
|
6
|
+
stats: Map<any, any>;
|
|
7
|
+
getStats(name: string): Stats;
|
|
8
|
+
get(name: string): Stats;
|
|
9
|
+
}
|
|
10
|
+
/** Global stats for all luma.gl devices */
|
|
11
|
+
export declare const lumaStats: StatsManager;
|
|
12
|
+
//# sourceMappingURL=stats-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-manager.d.ts","sourceRoot":"","sources":["../../src/utils/stats-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC;;GAEG;AACH,qBAAa,YAAY;IACvB,KAAK,gBAAa;IAElB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAI7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;CAOzB;AAED,2CAA2C;AAC3C,eAAO,MAAM,SAAS,EAAE,YAAiC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Stats } from '@probe.gl/stats';
|
|
2
|
+
export class StatsManager {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.stats = new Map();
|
|
5
|
+
}
|
|
6
|
+
getStats(name) {
|
|
7
|
+
return this.get(name);
|
|
8
|
+
}
|
|
9
|
+
get(name) {
|
|
10
|
+
if (!this.stats.has(name)) {
|
|
11
|
+
this.stats.set(name, new Stats({
|
|
12
|
+
id: name
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
return this.stats.get(name);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const lumaStats = new StatsManager();
|
|
19
|
+
//# sourceMappingURL=stats-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-manager.js","names":["Stats","StatsManager","constructor","stats","Map","getStats","name","get","has","set","id","lumaStats"],"sources":["../../src/utils/stats-manager.ts"],"sourcesContent":["import {Stats} from '@probe.gl/stats';\n\n/** \n * Helper class managing a collection of probe.gl stats objects \n */\nexport class StatsManager {\n stats = new Map();\n\n getStats(name: string): Stats {\n return this.get(name);\n }\n\n get(name: string): Stats {\n if (!this.stats.has(name)) {\n this.stats.set(name, new Stats({id: name}));\n }\n\n return this.stats.get(name);\n }\n}\n\n/** Global stats for all luma.gl devices */\nexport const lumaStats: StatsManager = new StatsManager();\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,iBAAiB;AAKrC,OAAO,MAAMC,YAAY,CAAC;EAAAC,YAAA;IAAA,KACxBC,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC;EAAA;EAEjBC,QAAQA,CAACC,IAAY,EAAS;IAC5B,OAAO,IAAI,CAACC,GAAG,CAACD,IAAI,CAAC;EACvB;EAEAC,GAAGA,CAACD,IAAY,EAAS;IACvB,IAAI,CAAC,IAAI,CAACH,KAAK,CAACK,GAAG,CAACF,IAAI,CAAC,EAAE;MACzB,IAAI,CAACH,KAAK,CAACM,GAAG,CAACH,IAAI,EAAE,IAAIN,KAAK,CAAC;QAACU,EAAE,EAAEJ;MAAI,CAAC,CAAC,CAAC;IAC7C;IAEA,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACD,IAAI,CAAC;EAC7B;AACF;AAGA,OAAO,MAAMK,SAAuB,GAAG,IAAIV,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-methods.d.ts","sourceRoot":"","sources":["../../src/utils/stub-methods.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAgB1G"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { log } from "./log.js";
|
|
2
|
+
export function stubRemovedMethods(instance, className, version, methodNames) {
|
|
3
|
+
const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \
|
|
4
|
+
https://luma.gl/docs/upgrade-guide`;
|
|
5
|
+
const prototype = Object.getPrototypeOf(instance);
|
|
6
|
+
methodNames.forEach(methodName => {
|
|
7
|
+
if (prototype.methodName) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
prototype[methodName] = () => {
|
|
11
|
+
log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();
|
|
12
|
+
throw new Error(methodName);
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=stub-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-methods.js","names":["log","stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","removed","Error"],"sources":["../../src/utils/stub-methods.ts"],"sourcesContent":["import {log} from './log';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance: any, className: string, version: string, methodNames: string[]) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach((methodName: string): void => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"mappings":"SAAQA,GAAG;AAGX,OAAO,SAASC,kBAAkBA,CAACC,QAAa,EAAEC,SAAiB,EAAEC,OAAe,EAAEC,WAAqB,EAAE;EAC3G,MAAMC,cAAc,GAAI,eAAcF,OAAQ;AAChD,mCAAmC;EAEjC,MAAMG,SAAS,GAAGC,MAAM,CAACC,cAAc,CAACP,QAAQ,CAAC;EAEjDG,WAAW,CAACK,OAAO,CAAEC,UAAkB,IAAW;IAChD,IAAIJ,SAAS,CAACI,UAAU,EAAE;MACxB;IACF;IAEAJ,SAAS,CAACI,UAAU,CAAC,GAAG,MAAM;MAC5BX,GAAG,CAACY,OAAO,CAAE,0BAAyBT,SAAU,IAAGQ,UAAW,IAAG,EAAEL,cAAc,CAAC,CAAC,CAAC;MACpF,MAAM,IAAIO,KAAK,CAACF,UAAU,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a UID.
|
|
3
|
+
* @param id= - Identifier base name
|
|
4
|
+
* @return uid
|
|
5
|
+
**/
|
|
6
|
+
export declare function uid(id?: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Verifies if a given number is power of two or not.
|
|
9
|
+
* @param n - The number to check.
|
|
10
|
+
* @return Returns true if the given number is power of 2, false otherwise.
|
|
11
|
+
**/
|
|
12
|
+
export declare function isPowerOfTwo(n: number): boolean;
|
|
13
|
+
/** Returns true if given object is empty, false otherwise. */
|
|
14
|
+
export declare function isObjectEmpty(obj: object): boolean;
|
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAKA;;;;IAII;AACJ,wBAAgB,GAAG,CAAC,EAAE,GAAE,MAAa,GAAG,MAAM,CAI7C;AAED;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASlD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const uidCounters = {};
|
|
2
|
+
export function uid() {
|
|
3
|
+
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id';
|
|
4
|
+
uidCounters[id] = uidCounters[id] || 1;
|
|
5
|
+
const count = uidCounters[id]++;
|
|
6
|
+
return `${id}-${count}`;
|
|
7
|
+
}
|
|
8
|
+
export function isPowerOfTwo(n) {
|
|
9
|
+
return n > 0 && (n & n - 1) === 0;
|
|
10
|
+
}
|
|
11
|
+
export function isObjectEmpty(obj) {
|
|
12
|
+
let isEmpty = true;
|
|
13
|
+
for (const key in obj) {
|
|
14
|
+
isEmpty = false;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
return isEmpty;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|