@deck.gl/carto 8.9.6 → 8.9.8
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 +774 -114
- package/dist/es5/api/layer-map.js +9 -15
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +2 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +17 -6
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +1 -1
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +1 -1
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +2 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +2 -1
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-utils.js +14 -4
- package/dist/es5/layers/quadbin-utils.js.map +1 -1
- package/dist/es5/layers/raster-layer-vertex.glsl.js +9 -0
- package/dist/es5/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/es5/layers/raster-layer.js +176 -0
- package/dist/es5/layers/raster-layer.js.map +1 -0
- package/dist/es5/layers/raster-tile-layer.js +114 -0
- package/dist/es5/layers/raster-tile-layer.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +80 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile.js +87 -0
- package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/es5/layers/schema/carto-spatial-tile.js +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +2 -2
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/fast-pbf.js +3 -11
- package/dist/es5/layers/schema/fast-pbf.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +3 -41
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/es5/utils.js +18 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +9 -21
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +2 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +9 -1
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +1 -1
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +1 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +2 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +2 -1
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-utils.js +7 -4
- package/dist/esm/layers/quadbin-utils.js.map +1 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js +2 -0
- package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/esm/layers/raster-layer.js +111 -0
- package/dist/esm/layers/raster-layer.js.map +1 -0
- package/dist/esm/layers/raster-tile-layer.js +67 -0
- package/dist/esm/layers/raster-tile-layer.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +46 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile.js +51 -0
- package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/esm/layers/schema/carto-spatial-tile.js +2 -2
- package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +3 -3
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/fast-pbf.js +2 -8
- package/dist/esm/layers/schema/fast-pbf.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +3 -41
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/utils.js +20 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist.min.js +100 -23
- package/package.json +3 -3
- package/src/api/layer-map.ts +12 -19
- package/src/api/maps-api-common.ts +2 -1
- package/src/api/maps-v3-client.ts +6 -1
- package/src/api/parseMap.ts +1 -1
- package/src/index.ts +1 -0
- package/src/layers/carto-layer.ts +1 -1
- package/src/layers/h3-tile-layer.ts +2 -3
- package/src/layers/quadbin-tile-layer.ts +2 -3
- package/src/layers/quadbin-utils.ts +9 -5
- package/src/layers/raster-layer-vertex.glsl.ts +98 -0
- package/src/layers/raster-layer.ts +146 -0
- package/src/layers/raster-tile-layer.ts +63 -0
- package/src/layers/schema/carto-raster-tile-loader.ts +42 -0
- package/src/layers/schema/carto-raster-tile.ts +46 -0
- package/src/layers/schema/carto-spatial-tile.ts +2 -2
- package/src/layers/schema/carto-tile.ts +3 -3
- package/src/layers/schema/fast-pbf.ts +3 -9
- package/src/layers/spatial-index-tile-layer.ts +3 -38
- package/src/utils.ts +22 -0
- package/typed/api/layer-map.d.ts +2 -1
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +1 -0
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +1 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-utils.d.ts +1 -0
- package/typed/layers/quadbin-utils.d.ts.map +1 -1
- package/typed/layers/raster-layer-vertex.glsl.d.ts +3 -0
- package/typed/layers/raster-layer-vertex.glsl.d.ts.map +1 -0
- package/typed/layers/raster-layer.d.ts +19 -0
- package/typed/layers/raster-layer.d.ts.map +1 -0
- package/typed/layers/raster-tile-layer.d.ts +24 -0
- package/typed/layers/raster-tile-layer.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts +13 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile.d.ts +9 -0
- package/typed/layers/schema/carto-raster-tile.d.ts.map +1 -0
- package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
- package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
- package/typed/layers/schema/fast-pbf.d.ts +1 -2
- package/typed/layers/schema/fast-pbf.d.ts.map +1 -1
- package/typed/layers/spatial-index-tile-layer.d.ts +1 -2
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/utils.d.ts +5 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["readPackedTypedArray","NumericPropKeyValueReader","PropertiesReader","IndicesReader","read","pbf","end","readFields","_readField","value","tag","obj","BigUint64Array","CellsReader","indices","properties","numericProps","readVarint","pos","push","entry","key","TileReader","scheme","cells"],"mappings":"AAAA,SAAQA,oBAAR,QAAmC,YAAnC;AAEA,SAAqBC,yBAArB,EAAgDC,gBAAhD,QAAuE,cAAvE;AAIA,OAAO,MAAMC,aAAN,CAAoB;AACd,SAAJC,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA6B;AACtC,WAAOD,GAAG,CAACE,UAAJ,CAAeJ,aAAa,CAACK,UAA7B,EAAyC;AAACC,MAAAA,KAAK,EAAE;AAAR,KAAzC,EAAsDH,GAAtD,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAA+BN,GAA/B,EAAoC;AACnD,QAAIK,GAAG,KAAK,CAAZ,EAAeV,oBAAoB,CAACY,cAAD,EAAiBP,GAAjB,EAAsBM,GAAtB,CAApB;AAChB;;AANwB;;AAiB3B,MAAME,WAAN,CAAkB;AACL,SAAJT,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA2B;AACpC,WAAOD,GAAG,CAACE,UAAJ,CACLM,WAAW,CAACL,UADP,EAEL;AAACM,MAAAA,OAAO,EAAE,IAAV;AAAgBC,MAAAA,UAAU,EAAE,EAA5B;AAAgCC,MAAAA,YAAY,EAAE;AAA9C,KAFK,EAGLV,GAHK,CAAP;AAKD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAsCN,GAAtC,EAA2C;AAC1D,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,OAAJ,GAAcX,aAAa,CAACC,IAAd,CAAmBC,GAAnB,EAAwBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA/C,CAAd,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACI,UAAJ,CAAeI,IAAf,CAAoBjB,gBAAgB,CAACE,IAAjB,CAAsBC,GAAtB,EAA2BA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMU,KAAK,GAAGnB,yBAAyB,CAACG,IAA1B,CAA+BC,GAA/B,EAAoCA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA3D,CAAd;AACAP,MAAAA,GAAG,CAACK,YAAJ,CAAiBI,KAAK,CAACC,GAAvB,IAA8BD,KAAK,CAACX,KAApC;AACD;AACF;;AAfe;;AA0BlB,OAAO,MAAMa,UAAN,CAAiB;AACX,SAAJlB,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA0B;AACnC,WAAOD,GAAG,CAACE,UAAJ,CAAee,UAAU,CAACd,UAA1B,EAAsC;AAACe,MAAAA,MAAM,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAtC,EAAgElB,GAAhE,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAqCN,GAArC,EAA0C;AACzD,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACY,MAAJ,GAAalB,GAAG,CAACY,UAAJ,EAAb,CAAf,KACK,IAAIP,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACa,KAAJ,GAAYX,WAAW,CAACT,IAAZ,CAAiBC,GAAjB,EAAsBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA7C,CAAZ;AACrB;;AAPqB","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\nimport {Indices, IndexScheme} from './spatialjson-utils';\nimport {NumericProp, NumericPropKeyValueReader, PropertiesReader} from './carto-tile';\n\n// Indices =====================================\n\nexport class IndicesReader {\n static read(pbf, end?: number): Indices {\n return pbf.readFields(IndicesReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(BigUint64Array, pbf, obj);\n }\n}\n\n// Cells =========================================\n\ninterface Cells {\n indices: Indices;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass CellsReader {\n static read(pbf, end?: number): Cells {\n return pbf.readFields(\n CellsReader._readField,\n {indices: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Cells, pbf) {\n if (tag === 1) obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 3) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\n// TODO this type is very similar to SpatialBinary, should align\nexport interface Tile {\n scheme: IndexScheme;\n cells: Cells;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {scheme: 0, cells: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.scheme = pbf.readVarint();\n else if (tag === 2) obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-spatial-tile.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readPackedTypedArray } from './fast-pbf';
|
|
2
2
|
|
|
3
3
|
class KeyValueObjectReader {
|
|
4
4
|
static read(pbf, end) {
|
|
@@ -47,7 +47,7 @@ class DoublesReader {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
static _readField(tag, obj, pbf) {
|
|
50
|
-
if (tag === 1)
|
|
50
|
+
if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
}
|
|
@@ -94,7 +94,7 @@ class NumericPropReader {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
static _readField(tag, obj, pbf) {
|
|
97
|
-
if (tag === 1)
|
|
97
|
+
if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["readPackedDouble","KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","readVarint","pos","DoublesReader","size","Float32Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedDouble} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["readPackedTypedArray","KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","readVarint","pos","DoublesReader","size","Float32Array","Float64Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function readPackedTypedArray(TypedArray, pbf, obj) {
|
|
2
2
|
const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
3
|
-
obj.value = new
|
|
4
|
-
pbf.pos = end;
|
|
5
|
-
return obj.value;
|
|
6
|
-
}
|
|
7
|
-
export function readPackedFixed64(pbf, obj) {
|
|
8
|
-
const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
9
|
-
obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));
|
|
3
|
+
obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
|
|
10
4
|
pbf.pos = end;
|
|
11
5
|
return obj.value;
|
|
12
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["readPackedTypedArray","TypedArray","pbf","obj","end","type","readVarint","pos","value","buf","buffer","slice"],"mappings":"AACA,OAAO,SAASA,oBAAT,CAA8BC,UAA9B,EAA0CC,GAA1C,EAA+CC,GAA/C,EAAoD;AACzD,QAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIP,UAAJ,CAAeC,GAAG,CAACO,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBT,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAf,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading function for binary data\nexport function readPackedTypedArray(TypedArray, pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import { registerLoaders } from '@loaders.gl/core';
|
|
3
|
+
import CartoRasterTileLoader from './schema/carto-raster-tile-loader';
|
|
3
4
|
import CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';
|
|
4
|
-
registerLoaders([CartoSpatialTileLoader]);
|
|
5
|
-
import { TileLayer
|
|
6
|
-
import { TILE_FORMATS } from '../api/maps-api-common';
|
|
5
|
+
registerLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);
|
|
6
|
+
import { TileLayer } from '@deck.gl/geo-layers';
|
|
7
7
|
|
|
8
8
|
function isFeatureIdDefined(value) {
|
|
9
9
|
return value !== undefined && value !== null && value !== '';
|
|
@@ -13,44 +13,6 @@ const defaultProps = {
|
|
|
13
13
|
aggregationResLevel: 4
|
|
14
14
|
};
|
|
15
15
|
export default class SpatialIndexTileLayer extends TileLayer {
|
|
16
|
-
getTileData(tile) {
|
|
17
|
-
const {
|
|
18
|
-
data,
|
|
19
|
-
getTileData,
|
|
20
|
-
fetch
|
|
21
|
-
} = this.props;
|
|
22
|
-
const {
|
|
23
|
-
signal
|
|
24
|
-
} = tile;
|
|
25
|
-
tile.url = typeof data === 'string' || Array.isArray(data) ? _getURLFromTemplate(data, tile) : null;
|
|
26
|
-
|
|
27
|
-
if (!tile.url) {
|
|
28
|
-
return Promise.reject('Invalid URL');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (getTileData) {
|
|
32
|
-
return getTileData(tile);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
let loadOptions = this.getLoadOptions();
|
|
36
|
-
const {
|
|
37
|
-
formatTiles
|
|
38
|
-
} = this.props;
|
|
39
|
-
|
|
40
|
-
if (formatTiles === TILE_FORMATS.BINARY) {
|
|
41
|
-
loadOptions = { ...loadOptions,
|
|
42
|
-
mimeType: 'application/vnd.carto-spatial-tile'
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return fetch(tile.url, {
|
|
47
|
-
propName: 'data',
|
|
48
|
-
layer: this,
|
|
49
|
-
loadOptions,
|
|
50
|
-
signal
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
16
|
updateState(params) {
|
|
55
17
|
const {
|
|
56
18
|
props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["registerLoaders","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["registerLoaders","CartoRasterTileLoader","CartoSpatialTileLoader","TileLayer","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","updateState","params","props","oldProps","setState","tileset","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","getSubLayerPropsByTile","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoRasterTileLoader from './schema/carto-raster-tile-loader';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {TileLayer, _Tile2DHeader as Tile2DHeader} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps<DataT> &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps<DataT = any> = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps<DataT>>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -2,4 +2,24 @@ import { log } from '@deck.gl/core';
|
|
|
2
2
|
export function assert(condition, message) {
|
|
3
3
|
log.assert(condition, message);
|
|
4
4
|
}
|
|
5
|
+
export function createBinaryProxy(data, index) {
|
|
6
|
+
const {
|
|
7
|
+
properties,
|
|
8
|
+
numericProps
|
|
9
|
+
} = data;
|
|
10
|
+
return new Proxy(properties[index] || {}, {
|
|
11
|
+
get(target, property, receiver) {
|
|
12
|
+
if (property in numericProps) {
|
|
13
|
+
return numericProps[property].value[index];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return target[property];
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
has(target, property) {
|
|
20
|
+
return property in numericProps || property in target;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
});
|
|
24
|
+
}
|
|
5
25
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AAGA,OAAO,SAASC,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EH,EAAAA,GAAG,CAACC,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;AAID,OAAO,SAASC,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAA6BH,IAAnC;AACA,SAAO,IAAII,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,QAAnB,EAA6B;AAC9B,UAAID,QAAQ,IAAIJ,YAAhB,EAA8B;AAC5B,eAAOA,YAAY,CAACI,QAAD,CAAZ,CAAiCE,KAAjC,CAAuCR,KAAvC,CAAP;AACD;;AACD,aAAOK,MAAM,CAACC,QAAD,CAAb;AACD,KANuC;;AAQxCG,IAAAA,GAAG,CAACJ,MAAD,EAASC,QAAT,EAAmB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;;AAVuC,GAAnC,CAAP;AAYD","sourcesContent":["import {log} from '@deck.gl/core';\nimport type {Properties, NumericProps} from './layers/schema/spatialjson-utils';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n\n// Returns a Proxy object that allows accessing binary data\n// as if it were JSON properties\nexport function createBinaryProxy(\n data: {numericProps: NumericProps; properties: Properties[]},\n index: number\n) {\n const {properties, numericProps} = data;\n return new Proxy(properties[index] || {}, {\n get(target, property, receiver) {\n if (property in numericProps) {\n return numericProps[property as string].value[index];\n }\n return target[property as string];\n },\n\n has(target, property) {\n return property in numericProps || property in target;\n }\n });\n}\n"],"file":"utils.js"}
|