@deck.gl/carto 8.8.0-alpha.4 → 8.8.0-alpha.5

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 CHANGED
@@ -45656,7 +45656,7 @@ __webpack_require__.r(__webpack_exports__);
45656
45656
  /* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_4__);
45657
45657
  /* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/aggregation-layers */ "@deck.gl/core");
45658
45658
  /* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__);
45659
- /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
45659
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
45660
45660
  /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
45661
45661
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
45662
45662
 
@@ -47197,7 +47197,7 @@ __webpack_require__.r(__webpack_exports__);
47197
47197
  /* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.ts");
47198
47198
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
47199
47199
 
47200
- /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
47200
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
47201
47201
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoTileLayer", function() { return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
47202
47202
 
47203
47203
  /* harmony import */ var _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layers/h3-tile-layer */ "./src/layers/h3-tile-layer.js");
@@ -47262,7 +47262,7 @@ __webpack_require__.r(__webpack_exports__);
47262
47262
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
47263
47263
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
47264
47264
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
47265
- /* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.js");
47265
+ /* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
47266
47266
  /* harmony import */ var _h3_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./h3-tile-layer */ "./src/layers/h3-tile-layer.js");
47267
47267
  /* harmony import */ var _quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.js");
47268
47268
  /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
@@ -47521,9 +47521,9 @@ _defineProperty(CartoLayer, "defaultProps", defaultProps);
47521
47521
 
47522
47522
  /***/ }),
47523
47523
 
47524
- /***/ "./src/layers/carto-tile-layer.js":
47524
+ /***/ "./src/layers/carto-tile-layer.ts":
47525
47525
  /*!****************************************!*\
47526
- !*** ./src/layers/carto-tile-layer.js ***!
47526
+ !*** ./src/layers/carto-tile-layer.ts ***!
47527
47527
  \****************************************/
47528
47528
  /*! exports provided: default */
47529
47529
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -47536,8 +47536,10 @@ __webpack_require__.r(__webpack_exports__);
47536
47536
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
47537
47537
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
47538
47538
  /* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
47539
- /* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.js");
47539
+ /* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.ts");
47540
47540
  /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
47541
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
47542
+
47541
47543
  /* global TextDecoder */
47542
47544
 
47543
47545
 
@@ -47554,7 +47556,7 @@ function parseJSON(arrayBuffer) {
47554
47556
 
47555
47557
  function parsePbf(buffer) {
47556
47558
  const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
47557
- const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["Tile"].read(pbf);
47559
+ const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["TileReader"].read(pbf);
47558
47560
  return tile;
47559
47561
  }
47560
47562
 
@@ -47595,13 +47597,15 @@ function parseCartoTile(arrayBuffer, options) {
47595
47597
  polygons: { ...polygons,
47596
47598
  properties: unpackProperties(polygons.properties)
47597
47599
  }
47598
- };
47600
+ }; // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this
47601
+
47599
47602
  return data;
47600
47603
  }
47601
47604
 
47602
47605
  const defaultTileFormat = _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__["TILE_FORMATS"].BINARY;
47603
47606
  const CartoTileLoader = {
47604
47607
  name: 'CARTO Tile',
47608
+ version: '1',
47605
47609
  id: 'cartoTile',
47606
47610
  module: 'carto',
47607
47611
  extensions: ['pbf'],
@@ -47620,6 +47624,8 @@ const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"]
47620
47624
  formatTiles: defaultTileFormat,
47621
47625
  loaders: [CartoTileLoader]
47622
47626
  };
47627
+ /** All properties supported by CartoTileLayer. */
47628
+
47623
47629
  class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
47624
47630
  getTileData(tile) {
47625
47631
  const url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
@@ -47660,25 +47666,27 @@ class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLaye
47660
47666
  return null;
47661
47667
  }
47662
47668
 
47663
- props.autoHighlight = false;
47669
+ const tileBbox = props.tile.bbox;
47664
47670
  const {
47665
- bbox: {
47666
- west,
47667
- south,
47668
- east,
47669
- north
47670
- }
47671
- } = props.tile;
47672
- props.extensions = [new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["ClipExtension"](), ...(props.extensions || [])];
47673
- props.clipBounds = [west, south, east, north];
47674
- const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"]({ ...props
47675
- });
47671
+ west,
47672
+ south,
47673
+ east,
47674
+ north
47675
+ } = tileBbox;
47676
+ const subLayerProps = { ...props,
47677
+ autoHighlight: false,
47678
+ extensions: [new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["ClipExtension"](), ...(props.extensions || [])],
47679
+ clipBounds: [west, south, east, north]
47680
+ };
47681
+ const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"](subLayerProps);
47676
47682
  return subLayer;
47677
47683
  }
47678
47684
 
47679
47685
  }
47680
- CartoTileLayer.layerName = 'CartoTileLayer';
47681
- CartoTileLayer.defaultProps = defaultProps;
47686
+
47687
+ _defineProperty(CartoTileLayer, "layerName", 'CartoTileLayer');
47688
+
47689
+ _defineProperty(CartoTileLayer, "defaultProps", defaultProps);
47682
47690
 
47683
47691
  /***/ }),
47684
47692
 
@@ -47752,7 +47760,7 @@ class H3TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeL
47752
47760
  } = this.state;
47753
47761
  const maxZoom = parseInt(tileJSON.maxresolution);
47754
47762
  return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
47755
- id: 'h3-tile-layer',
47763
+ id: `h3-tile-layer-${this.props.id}`,
47756
47764
  data,
47757
47765
  getHexagon: d => d.id,
47758
47766
  TilesetClass: _h3_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
@@ -47976,7 +47984,7 @@ class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Compo
47976
47984
  } = this.state;
47977
47985
  const maxZoom = parseInt(tileJSON.maxresolution);
47978
47986
  return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
47979
- id: 'quadkey-tile-layer',
47987
+ id: `quadkey-tile-layer-${this.props.id}`,
47980
47988
  data,
47981
47989
  getQuadkey: d => d.id,
47982
47990
  TilesetClass: _quadkey_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
@@ -48053,219 +48061,202 @@ class QuadkeyTileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__[
48053
48061
 
48054
48062
  /***/ }),
48055
48063
 
48056
- /***/ "./src/layers/schema/carto-tile.js":
48064
+ /***/ "./src/layers/schema/carto-tile.ts":
48057
48065
  /*!*****************************************!*\
48058
- !*** ./src/layers/schema/carto-tile.js ***!
48066
+ !*** ./src/layers/schema/carto-tile.ts ***!
48059
48067
  \*****************************************/
48060
- /*! exports provided: Tile */
48068
+ /*! exports provided: TileReader */
48061
48069
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
48062
48070
 
48063
48071
  "use strict";
48064
48072
  __webpack_require__.r(__webpack_exports__);
48065
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tile", function() { return Tile; });
48073
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TileReader", function() { return TileReader; });
48066
48074
  // KeyValueObject ========================================
48067
- const KeyValueObject = {};
48068
-
48069
- KeyValueObject.read = function (pbf, end) {
48070
- return pbf.readFields(KeyValueObject._readField, {
48071
- key: '',
48072
- value: ''
48073
- }, end);
48074
- };
48075
-
48076
- KeyValueObject._readField = function (tag, obj, pbf) {
48077
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
48078
- }; // Properties ========================================
48079
-
48080
-
48081
- const Properties = {};
48082
-
48083
- Properties.read = function (pbf, end) {
48084
- return pbf.readFields(Properties._readField, {
48085
- data: []
48086
- }, end);
48087
- };
48088
-
48089
- Properties._readField = function (tag, obj, pbf) {
48090
- if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
48091
- }; // Doubles ========================================
48092
-
48075
+ class KeyValueObjectReader {
48076
+ static read(pbf, end) {
48077
+ return pbf.readFields(KeyValueObjectReader._readField, {
48078
+ key: '',
48079
+ value: ''
48080
+ }, end);
48081
+ }
48093
48082
 
48094
- const Doubles = {};
48083
+ static _readField(tag, obj, pbf) {
48084
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
48085
+ }
48095
48086
 
48096
- Doubles.read = function (pbf, end) {
48097
- // TODO perhaps we can do better and directly map from the source
48098
- // ArrayBuffer using ArrayBuffer.slice()
48099
- const {
48100
- value,
48101
- size
48102
- } = pbf.readFields(Doubles._readField, {
48103
- value: [],
48104
- size: 0
48105
- }, end);
48106
- return {
48107
- value: new Float32Array(value),
48108
- size
48109
- };
48110
- };
48087
+ } // Properties ========================================
48111
48088
 
48112
- Doubles._readField = function (tag, obj, pbf) {
48113
- if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
48114
- }; // Ints ========================================
48115
48089
 
48090
+ class PropertiesReader {
48091
+ static read(pbf, end) {
48092
+ return pbf.readFields(PropertiesReader._readField, {
48093
+ data: []
48094
+ }, end);
48095
+ }
48116
48096
 
48117
- const Ints = {};
48097
+ static _readField(tag, obj, pbf) {
48098
+ if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
48099
+ }
48118
48100
 
48119
- Ints.read = function (pbf, end) {
48120
- const {
48121
- value,
48122
- size
48123
- } = pbf.readFields(Ints._readField, {
48124
- value: [],
48125
- size: 0
48126
- }, end);
48127
- return {
48128
- value: new Uint32Array(value),
48129
- size
48130
- };
48131
- };
48101
+ } // Doubles ========================================
48132
48102
 
48133
- Ints._readField = function (tag, obj, pbf) {
48134
- if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
48135
- }; // NumericProp ========================================
48136
48103
 
48104
+ class DoublesReader {
48105
+ static read(pbf, end) {
48106
+ // TODO perhaps we can do better and directly map from the source
48107
+ // ArrayBuffer using ArrayBuffer.slice()
48108
+ const {
48109
+ value,
48110
+ size
48111
+ } = pbf.readFields(DoublesReader._readField, {
48112
+ value: [],
48113
+ size: 0
48114
+ }, end);
48115
+ return {
48116
+ value: new Float32Array(value),
48117
+ size
48118
+ };
48119
+ }
48137
48120
 
48138
- const NumericProp = {};
48121
+ static _readField(tag, obj, pbf) {
48122
+ if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
48123
+ }
48139
48124
 
48140
- NumericProp.read = function (pbf, end) {
48141
- return pbf.readFields(NumericProp._readField, {
48142
- value: []
48143
- }, end);
48144
- };
48125
+ } // Ints ========================================
48145
48126
 
48146
- NumericProp._readField = function (tag, obj, pbf) {
48147
- if (tag === 1) pbf.readPackedDouble(obj.value);
48148
- }; // NumericPropKeyValue ========================================
48149
48127
 
48128
+ class IntsReader {
48129
+ static read(pbf, end) {
48130
+ const {
48131
+ value,
48132
+ size
48133
+ } = pbf.readFields(IntsReader._readField, {
48134
+ value: [],
48135
+ size: 0
48136
+ }, end);
48137
+ return {
48138
+ value: new Uint32Array(value),
48139
+ size
48140
+ };
48141
+ }
48150
48142
 
48151
- const NumericPropKeyValue = {};
48143
+ static _readField(tag, obj, pbf) {
48144
+ if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
48145
+ }
48152
48146
 
48153
- NumericPropKeyValue.read = function (pbf, end) {
48154
- return pbf.readFields(NumericPropKeyValue._readField, {
48155
- key: '',
48156
- value: null
48157
- }, end);
48158
- };
48147
+ } // NumericProp ========================================
48159
48148
 
48160
- NumericPropKeyValue._readField = function (tag, obj, pbf) {
48161
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
48162
- }; // NumericProp._FieldEntry1 ========================================
48163
48149
 
48150
+ class NumericPropReader {
48151
+ static read(pbf, end) {
48152
+ return pbf.readFields(NumericPropReader._readField, {
48153
+ value: []
48154
+ }, end);
48155
+ }
48164
48156
 
48165
- NumericProp._FieldEntry1 = {};
48157
+ static _readField(tag, obj, pbf) {
48158
+ if (tag === 1) pbf.readPackedDouble(obj.value);
48159
+ }
48166
48160
 
48167
- NumericProp._FieldEntry1.read = function (pbf, end) {
48168
- return pbf.readFields(NumericProp._FieldEntry1._readField, {
48169
- key: '',
48170
- value: 0
48171
- }, end);
48172
- };
48161
+ } // NumericPropKeyValue ========================================
48173
48162
 
48174
- NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
48175
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
48176
- }; // StringProp ========================================
48177
48163
 
48164
+ class NumericPropKeyValueReader {
48165
+ static read(pbf, end) {
48166
+ return pbf.readFields(NumericPropKeyValueReader._readField, {
48167
+ key: '',
48168
+ value: null
48169
+ }, end);
48170
+ }
48178
48171
 
48179
- const StringProp = {};
48172
+ static _readField(tag, obj, pbf) {
48173
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
48174
+ }
48180
48175
 
48181
- StringProp.read = function (pbf, end) {
48182
- return pbf.readFields(StringProp._readField, {
48183
- value: []
48184
- }, end);
48185
- };
48176
+ } // Points ========================================
48186
48177
 
48187
- StringProp._readField = function (tag, obj, pbf) {
48188
- if (tag === 1) obj.value.push(pbf.readString());
48189
- }; // Points ========================================
48190
48178
 
48179
+ class PointsReader {
48180
+ static read(pbf, end) {
48181
+ return pbf.readFields(PointsReader._readField, {
48182
+ positions: null,
48183
+ globalFeatureIds: null,
48184
+ featureIds: null,
48185
+ properties: [],
48186
+ numericProps: {}
48187
+ }, end);
48188
+ }
48191
48189
 
48192
- const Points = {};
48190
+ static _readField(tag, obj, pbf) {
48191
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
48192
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
48193
+ obj.numericProps[entry.key] = entry.value;
48194
+ }
48195
+ }
48193
48196
 
48194
- Points.read = function (pbf, end) {
48195
- return pbf.readFields(Points._readField, {
48196
- positions: null,
48197
- globalFeatureIds: null,
48198
- featureIds: null,
48199
- properties: [],
48200
- numericProps: {}
48201
- }, end);
48202
- };
48197
+ }
48203
48198
 
48204
- Points._readField = function (tag, obj, pbf) {
48205
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
48206
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
48207
- obj.numericProps[entry.key] = entry.value;
48199
+ // Lines ========================================
48200
+ class LinesReader {
48201
+ static read(pbf, end) {
48202
+ return pbf.readFields(LinesReader._readField, {
48203
+ positions: null,
48204
+ pathIndices: null,
48205
+ globalFeatureIds: null,
48206
+ featureIds: null,
48207
+ properties: [],
48208
+ numericProps: {}
48209
+ }, end);
48208
48210
  }
48209
- }; // Lines ========================================
48210
48211
 
48212
+ static _readField(tag, obj, pbf) {
48213
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
48214
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
48215
+ obj.numericProps[entry.key] = entry.value;
48216
+ }
48217
+ }
48211
48218
 
48212
- const Lines = {};
48219
+ } // Polygons ========================================
48213
48220
 
48214
- Lines.read = function (pbf, end) {
48215
- return pbf.readFields(Lines._readField, {
48216
- positions: null,
48217
- pathIndices: null,
48218
- globalFeatureIds: null,
48219
- featureIds: null,
48220
- properties: [],
48221
- numericProps: {}
48222
- }, end);
48223
- };
48224
48221
 
48225
- Lines._readField = function (tag, obj, pbf) {
48226
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
48227
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
48228
- obj.numericProps[entry.key] = entry.value;
48222
+ class PolygonsReader {
48223
+ static read(pbf, end) {
48224
+ return pbf.readFields(PolygonsReader._readField, {
48225
+ positions: null,
48226
+ polygonIndices: null,
48227
+ globalFeatureIds: null,
48228
+ featureIds: null,
48229
+ primitivePolygonIndices: null,
48230
+ triangles: null,
48231
+ properties: [],
48232
+ numericProps: {}
48233
+ }, end);
48229
48234
  }
48230
- }; // Polygons ========================================
48231
48235
 
48236
+ static _readField(tag, obj, pbf) {
48237
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
48238
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
48239
+ obj.numericProps[entry.key] = entry.value;
48240
+ }
48241
+ }
48232
48242
 
48233
- const Polygons = {};
48243
+ } // Tile ========================================
48234
48244
 
48235
- Polygons.read = function (pbf, end) {
48236
- return pbf.readFields(Polygons._readField, {
48237
- positions: null,
48238
- polygonIndices: null,
48239
- globalFeatureIds: null,
48240
- featureIds: null,
48241
- primitivePolygonIndices: null,
48242
- triangles: null,
48243
- properties: [],
48244
- numericProps: {}
48245
- }, end);
48246
- };
48247
48245
 
48248
- Polygons._readField = function (tag, obj, pbf) {
48249
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
48250
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
48251
- obj.numericProps[entry.key] = entry.value;
48246
+ class TileReader {
48247
+ static read(pbf, end) {
48248
+ return pbf.readFields(TileReader._readField, {
48249
+ points: null,
48250
+ lines: null,
48251
+ polygons: null
48252
+ }, end);
48252
48253
  }
48253
- }; // Tile ========================================
48254
-
48255
48254
 
48256
- const Tile = {};
48257
-
48258
- Tile.read = function (pbf, end) {
48259
- return pbf.readFields(Tile._readField, {
48260
- points: null,
48261
- lines: null,
48262
- polygons: null
48263
- }, end);
48264
- };
48255
+ static _readField(tag, obj, pbf) {
48256
+ if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);
48257
+ }
48265
48258
 
48266
- Tile._readField = function (tag, obj, pbf) {
48267
- if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
48268
- };
48259
+ }
48269
48260
 
48270
48261
  /***/ }),
48271
48262
 
@@ -56,7 +56,7 @@ function parseJSON(arrayBuffer) {
56
56
  function parsePbf(buffer) {
57
57
  var pbf = new _pbf.default(buffer);
58
58
 
59
- var tile = _cartoTile.Tile.read(pbf);
59
+ var tile = _cartoTile.TileReader.read(pbf);
60
60
 
61
61
  return tile;
62
62
  }
@@ -102,6 +102,7 @@ function parseCartoTile(arrayBuffer, options) {
102
102
  var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
103
103
  var CartoTileLoader = {
104
104
  name: 'CARTO Tile',
105
+ version: '1',
105
106
  id: 'cartoTile',
106
107
  module: 'carto',
107
108
  extensions: ['pbf'],
@@ -193,15 +194,19 @@ var CartoTileLayer = function (_MVTLayer) {
193
194
  return null;
194
195
  }
195
196
 
196
- props.autoHighlight = false;
197
- var _props$tile$bbox = props.tile.bbox,
198
- west = _props$tile$bbox.west,
199
- south = _props$tile$bbox.south,
200
- east = _props$tile$bbox.east,
201
- north = _props$tile$bbox.north;
202
- props.extensions = [new _extensions.ClipExtension()].concat((0, _toConsumableArray2.default)(props.extensions || []));
203
- props.clipBounds = [west, south, east, north];
204
- var subLayer = new _layers.GeoJsonLayer(_objectSpread({}, props));
197
+ var tileBbox = props.tile.bbox;
198
+ var west = tileBbox.west,
199
+ south = tileBbox.south,
200
+ east = tileBbox.east,
201
+ north = tileBbox.north;
202
+
203
+ var subLayerProps = _objectSpread(_objectSpread({}, props), {}, {
204
+ autoHighlight: false,
205
+ extensions: [new _extensions.ClipExtension()].concat((0, _toConsumableArray2.default)(props.extensions || [])),
206
+ clipBounds: [west, south, east, north]
207
+ });
208
+
209
+ var subLayer = new _layers.GeoJsonLayer(subLayerProps);
205
210
  return subLayer;
206
211
  }
207
212
  }]);
@@ -209,6 +214,6 @@ var CartoTileLayer = function (_MVTLayer) {
209
214
  }(_geoLayers.MVTLayer);
210
215
 
211
216
  exports.default = CartoTileLayer;
212
- CartoTileLayer.layerName = 'CartoTileLayer';
213
- CartoTileLayer.defaultProps = defaultProps;
217
+ (0, _defineProperty2.default)(CartoTileLayer, "layerName", 'CartoTileLayer');
218
+ (0, _defineProperty2.default)(CartoTileLayer, "defaultProps", defaultProps);
214
219
  //# sourceMappingURL=carto-tile-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/carto-tile-layer.js"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","Protobuf","tile","Tile","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoTile","options","formatTiles","cartoTile","TILE_FORMATS","GEOJSON","features","points","lines","polygons","defaultTileFormat","BINARY","CartoTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","defaultProps","MVTLayer","loaders","CartoTileLayer","url","state","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","Object","values","includes","propName","layer","autoHighlight","bbox","west","south","east","north","ClipExtension","clipBounds","subLayer","GeoJsonLayer","layerName"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport Protobuf from 'pbf';\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer, _getURLFromTemplate} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Tile} from './schema/carto-tile';\nimport {TILE_FORMATS} from '../api/maps-api-common';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer) {\n const pbf = new Protobuf(buffer);\n const tile = Tile.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;\n if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);\n\n const tile = parsePbf(arrayBuffer);\n\n const {points, lines, polygons} = tile;\n const data = {\n points: {...points, properties: unpackProperties(points.properties)},\n lines: {...lines, properties: unpackProperties(lines.properties)},\n polygons: {...polygons, properties: unpackProperties(polygons.properties)}\n };\n\n return data;\n}\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst CartoTileLoader = {\n name: 'CARTO Tile',\n id: 'cartoTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),\n parseSync: parseCartoTile,\n options: {\n cartoTile: {\n formatTiles: defaultTileFormat\n }\n }\n};\n\nconst defaultProps = {\n ...MVTLayer.defaultProps,\n formatTiles: defaultTileFormat,\n loaders: [CartoTileLoader]\n};\n\nexport default class CartoTileLayer extends MVTLayer {\n getTileData(tile) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n Object.values(TILE_FORMATS).includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`\n );\n loadOptions.cartoTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(props) {\n if (props.data === null) {\n return null;\n }\n\n props.autoHighlight = false;\n\n const {\n bbox: {west, south, east, north}\n } = props.tile;\n props.extensions = [new ClipExtension(), ...(props.extensions || [])];\n props.clipBounds = [west, south, east, north];\n\n const subLayer = new GeoJsonLayer({\n ...props\n });\n return subLayer;\n }\n}\n\nCartoTileLayer.layerName = 'CartoTileLayer';\nCartoTileLayer.defaultProps = defaultProps;\n"],"file":"carto-tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/carto-tile-layer.ts"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","Protobuf","tile","TileReader","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoTile","options","formatTiles","cartoTile","TILE_FORMATS","GEOJSON","features","points","lines","polygons","defaultTileFormat","BINARY","CartoTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parseSync","defaultProps","MVTLayer","loaders","CartoTileLayer","url","state","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","Object","values","includes","propName","layer","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","ClipExtension","clipBounds","subLayer","GeoJsonLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAQA;;AACA;;AACA;;AACA;;;;;;;;;;AAKA,SAASA,SAAT,CAAmBC,WAAnB,EAAkD;AAChD,SAAOC,IAAI,CAACC,KAAL,CAAW,IAAIC,WAAJ,GAAkBC,MAAlB,CAAyBJ,WAAzB,CAAX,CAAP;AACD;;AAED,SAASK,QAAT,CAAkBC,MAAlB,EAA6C;AAC3C,MAAMC,GAAG,GAAG,IAAIC,YAAJ,CAAaF,MAAb,CAAZ;;AACA,MAAMG,IAAI,GAAGC,sBAAWC,IAAX,CAAgBJ,GAAhB,CAAb;;AACA,SAAOE,IAAP;AACD;;AAED,SAASG,gBAAT,CAA0BC,UAA1B,EAAoD;AAClD,MAAI,CAACA,UAAD,IAAe,CAACA,UAAU,CAACC,MAA/B,EAAuC;AACrC,WAAO,EAAP;AACD;;AACD,SAAOD,UAAU,CAACE,GAAX,CAAe,UAAAC,IAAI,EAAI;AAC5B,QAAMC,aAAsC,GAAG,EAA/C;AACAD,IAAAA,IAAI,CAACE,IAAL,CAAUC,OAAV,CAAkB,gBAAkB;AAAA,UAAhBC,GAAgB,QAAhBA,GAAgB;AAAA,UAAXC,KAAW,QAAXA,KAAW;AAClCJ,MAAAA,aAAa,CAACG,GAAD,CAAb,GAAqBC,KAArB;AACD,KAFD;AAGA,WAAOJ,aAAP;AACD,GANM,CAAP;AAOD;;AAED,SAASK,cAAT,CAAwBtB,WAAxB,EAAkDuB,OAAlD,EAAkG;AAChG,MAAI,CAACvB,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMwB,WAAW,GAAGD,OAAO,IAAIA,OAAO,CAACE,SAAnB,IAAgCF,OAAO,CAACE,SAAR,CAAkBD,WAAtE;AACA,MAAIA,WAAW,KAAKE,4BAAaC,OAAjC,EAA0C,OAAO,0BAAgB5B,SAAS,CAACC,WAAD,CAAT,CAAuB4B,QAAvC,CAAP;AAE1C,MAAMnB,IAAI,GAAGJ,QAAQ,CAACL,WAAD,CAArB;AAEA,MAAO6B,MAAP,GAAkCpB,IAAlC,CAAOoB,MAAP;AAAA,MAAeC,KAAf,GAAkCrB,IAAlC,CAAeqB,KAAf;AAAA,MAAsBC,QAAtB,GAAkCtB,IAAlC,CAAsBsB,QAAtB;AACA,MAAMb,IAAI,GAAG;AACXW,IAAAA,MAAM,kCAAMA,MAAN;AAAchB,MAAAA,UAAU,EAAED,gBAAgB,CAACiB,MAAM,CAAChB,UAAR;AAA1C,MADK;AAEXiB,IAAAA,KAAK,kCAAMA,KAAN;AAAajB,MAAAA,UAAU,EAAED,gBAAgB,CAACkB,KAAK,CAACjB,UAAP;AAAzC,MAFM;AAGXkB,IAAAA,QAAQ,kCAAMA,QAAN;AAAgBlB,MAAAA,UAAU,EAAED,gBAAgB,CAACmB,QAAQ,CAAClB,UAAV;AAA5C;AAHG,GAAb;AAOA,SAAOK,IAAP;AACD;;AAED,IAAMc,iBAAiB,GAAGN,4BAAaO,MAAvC;AAEA,IAAMC,eAAiC,GAAG;AACxCC,EAAAA,IAAI,EAAE,YADkC;AAExCC,EAAAA,OAAO,EAAE,GAF+B;AAGxCC,EAAAA,EAAE,EAAE,WAHoC;AAIxCC,EAAAA,MAAM,EAAE,OAJgC;AAKxCC,EAAAA,UAAU,EAAE,CAAC,KAAD,CAL4B;AAMxCC,EAAAA,SAAS,EAAE,CAAC,wBAAD,CAN6B;AAOxCC,EAAAA,QAAQ,EAAE,UAP8B;AAQxCC,EAAAA,MAAM,EAAE,KARgC;AASxCxC,EAAAA,KAAK;AAAA,2EAAE,iBAAOF,WAAP,EAAoBuB,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgCD,cAAc,CAACtB,WAAD,EAAcuB,OAAd,CAA9C;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KATmC;AAUxCoB,EAAAA,SAAS,EAAErB,cAV6B;AAWxCC,EAAAA,OAAO,EAAE;AACPE,IAAAA,SAAS,EAAE;AACTD,MAAAA,WAAW,EAAEQ;AADJ;AADJ;AAX+B,CAA1C;;AAkBA,IAAMY,YAAY,mCACbC,oBAASD,YADI;AAEhBpB,EAAAA,WAAW,EAAEQ,iBAFG;AAGhBc,EAAAA,OAAO,EAAE,CAACZ,eAAD;AAHO,EAAlB;;IAqBqBa,c;;;;;;;;;;;;WAOnB,qBAAYtC,IAAZ,EAAiC;AAC/B,UAAMuC,GAAG,GAAG,oCAAoB,KAAKC,KAAL,CAAW/B,IAA/B,EAAqCT,IAArC,CAAZ;;AACA,UAAI,CAACuC,GAAL,EAAU;AACR,eAAOE,OAAO,CAACC,MAAR,CAAe,aAAf,CAAP;AACD;;AAED,UAAIC,WAAW,GAAG,KAAKC,cAAL,EAAlB;AACA,wBAA6B,KAAKC,KAAlC;AAAA,UAAOC,KAAP,eAAOA,KAAP;AAAA,UAAc/B,WAAd,eAAcA,WAAd;AACA,UAAOgC,MAAP,GAAiB/C,IAAjB,CAAO+C,MAAP;AAEAJ,MAAAA,WAAW,mCACNA,WADM;AAETK,QAAAA,QAAQ,EAAE;AAFD,QAAX;;AAKA,UAAIjC,WAAJ,EAAiB;AACfkC,kBAAIC,MAAJ,CACEC,MAAM,CAACC,MAAP,CAAcnC,2BAAd,EAA4BoC,QAA5B,CAAqCtC,WAArC,CADF,2CAEoCA,WAFpC;;AAIA4B,QAAAA,WAAW,CAAC3B,SAAZ,GAAwB;AAACD,UAAAA,WAAW,EAAXA;AAAD,SAAxB;AACD;;AAED,aAAO+B,KAAK,CAACP,GAAD,EAAM;AAACe,QAAAA,QAAQ,EAAE,MAAX;AAAmBC,QAAAA,KAAK,EAAE,IAA1B;AAAgCZ,QAAAA,WAAW,EAAXA,WAAhC;AAA6CI,QAAAA,MAAM,EAANA;AAA7C,OAAN,CAAZ;AACD;;;WAED,yBACEF,KADF,EAOuB;AACrB,UAAIA,KAAK,CAACpC,IAAN,KAAe,IAAnB,EAAyB;AACvB,eAAO,IAAP;AACD;;AAED,UAAM+C,QAAQ,GAAGX,KAAK,CAAC7C,IAAN,CAAWyD,IAA5B;AACA,UAAOC,IAAP,GAAmCF,QAAnC,CAAOE,IAAP;AAAA,UAAaC,KAAb,GAAmCH,QAAnC,CAAaG,KAAb;AAAA,UAAoBC,IAApB,GAAmCJ,QAAnC,CAAoBI,IAApB;AAAA,UAA0BC,KAA1B,GAAmCL,QAAnC,CAA0BK,KAA1B;;AAEA,UAAMC,aAAa,mCACdjB,KADc;AAEjBkB,QAAAA,aAAa,EAAE,KAFE;AAGjBjC,QAAAA,UAAU,GAAG,IAAIkC,yBAAJ,EAAH,0CAA4BnB,KAAK,CAACf,UAAN,IAAoB,EAAhD,EAHO;AAIjBmC,QAAAA,UAAU,EAAE,CAACP,IAAD,EAAOC,KAAP,EAAcC,IAAd,EAAoBC,KAApB;AAJK,QAAnB;;AAOA,UAAMK,QAAQ,GAAG,IAAIC,oBAAJ,CAAiBL,aAAjB,CAAjB;AACA,aAAOI,QAAP;AACD;;;EAtDO9B,mB;;;8BAHWE,c,eAIA,gB;8BAJAA,c,kBAKGH,Y","sourcesContent":["/* global TextDecoder */\nimport Protobuf from 'pbf';\nimport {Layer, LayersList, log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Properties, Tile, TileReader} from './schema/carto-tile';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport type {Feature} from 'geojson';\n\nfunction parseJSON(arrayBuffer: ArrayBuffer): any {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer: ArrayBuffer): Tile {\n const pbf = new Protobuf(buffer);\n const tile = TileReader.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties: Properties[]) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord: Record<string, unknown> = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoTile(arrayBuffer: ArrayBuffer, options?: LoaderOptions): BinaryFeatures | null {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;\n if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);\n\n const tile = parsePbf(arrayBuffer);\n\n const {points, lines, polygons} = tile;\n const data = {\n points: {...points, properties: unpackProperties(points.properties)},\n lines: {...lines, properties: unpackProperties(lines.properties)},\n polygons: {...polygons, properties: unpackProperties(polygons.properties)}\n };\n\n // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this\n return data as unknown as BinaryFeatures;\n}\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst CartoTileLoader: LoaderWithParser = {\n name: 'CARTO Tile',\n version: '1',\n id: 'cartoTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),\n parseSync: parseCartoTile,\n options: {\n cartoTile: {\n formatTiles: defaultTileFormat\n }\n }\n};\n\nconst defaultProps = {\n ...MVTLayer.defaultProps,\n formatTiles: defaultTileFormat,\n loaders: [CartoTileLoader]\n};\n\n/** All properties supported by CartoTileLayer. */\nexport type CartoTileLayerProps<DataT extends Feature = Feature> = _CartoTileLayerProps &\n MVTLayerProps<DataT>;\n\n/** Properties added by CartoTileLayer. */\ntype _CartoTileLayerProps = {\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n * */\n formatTiles?: TileFormat;\n};\n\nexport default class CartoTileLayer<\n DataT extends Feature = Feature,\n ExtraProps = {}\n> extends MVTLayer<DataT, Required<_CartoTileLayerProps> & ExtraProps> {\n static layerName = 'CartoTileLayer';\n static defaultProps = defaultProps;\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n Object.values(TILE_FORMATS).includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`\n );\n loadOptions.cartoTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n}\n"],"file":"carto-tile-layer.js"}
@@ -87,7 +87,7 @@ var H3TileLayer = function (_CompositeLayer) {
87
87
  tileJSON = _this$state.tileJSON;
88
88
  var maxZoom = parseInt(tileJSON.maxresolution);
89
89
  return [new _spatialIndexTileLayer.default(this.props, {
90
- id: 'h3-tile-layer',
90
+ id: "h3-tile-layer-".concat(this.props.id),
91
91
  data: data,
92
92
  getHexagon: function getHexagon(d) {
93
93
  return d.id;