@deck.gl/carto 8.7.0-beta.5 → 8.7.0-beta.6

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.
Files changed (97) hide show
  1. package/dist/dist.dev.js +379 -326
  2. package/dist/es5/api/index.js.map +1 -1
  3. package/dist/es5/api/layer-map.js +8 -8
  4. package/dist/es5/api/layer-map.js.map +1 -1
  5. package/dist/es5/api/maps-api-common.js +15 -1
  6. package/dist/es5/api/maps-api-common.js.map +1 -1
  7. package/dist/es5/api/maps-client.js +15 -18
  8. package/dist/es5/api/maps-client.js.map +1 -1
  9. package/dist/es5/api/maps-v3-client.js +234 -176
  10. package/dist/es5/api/maps-v3-client.js.map +1 -1
  11. package/dist/es5/api/parseMap.js +5 -8
  12. package/dist/es5/api/parseMap.js.map +1 -1
  13. package/dist/es5/basemap.js +7 -7
  14. package/dist/es5/basemap.js.map +1 -1
  15. package/dist/es5/config.js.map +1 -1
  16. package/dist/es5/index.js +4 -4
  17. package/dist/es5/index.js.map +1 -1
  18. package/dist/es5/layers/carto-layer.js +2 -2
  19. package/dist/es5/layers/carto-layer.js.map +1 -1
  20. package/dist/es5/layers/{carto-dynamic-tile-layer.js → carto-tile-layer.js} +23 -23
  21. package/dist/es5/layers/carto-tile-layer.js.map +1 -0
  22. package/dist/es5/layers/schema/{carto-dynamic-tile.js → carto-tile.js} +1 -1
  23. package/dist/es5/layers/schema/carto-tile.js.map +1 -0
  24. package/dist/es5/style/color-bins-style.js +1 -1
  25. package/dist/es5/style/color-bins-style.js.map +1 -1
  26. package/dist/es5/style/color-categories-style.js +1 -1
  27. package/dist/es5/style/color-categories-style.js.map +1 -1
  28. package/dist/es5/style/color-continuous-style.js +1 -1
  29. package/dist/es5/style/color-continuous-style.js.map +1 -1
  30. package/dist/es5/style/palette.js +1 -6
  31. package/dist/es5/style/palette.js.map +1 -1
  32. package/dist/es5/style/utils.js +2 -6
  33. package/dist/es5/style/utils.js.map +1 -1
  34. package/dist/es5/utils.js +13 -0
  35. package/dist/es5/utils.js.map +1 -0
  36. package/dist/esm/api/index.js.map +1 -1
  37. package/dist/esm/api/layer-map.js +5 -4
  38. package/dist/esm/api/layer-map.js.map +1 -1
  39. package/dist/esm/api/maps-api-common.js +14 -0
  40. package/dist/esm/api/maps-api-common.js.map +1 -1
  41. package/dist/esm/api/maps-client.js +6 -10
  42. package/dist/esm/api/maps-client.js.map +1 -1
  43. package/dist/esm/api/maps-v3-client.js +68 -37
  44. package/dist/esm/api/maps-v3-client.js.map +1 -1
  45. package/dist/esm/api/parseMap.js +4 -3
  46. package/dist/esm/api/parseMap.js.map +1 -1
  47. package/dist/esm/basemap.js +7 -7
  48. package/dist/esm/basemap.js.map +1 -1
  49. package/dist/esm/config.js.map +1 -1
  50. package/dist/esm/index.js +2 -2
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/layers/carto-layer.js +2 -2
  53. package/dist/esm/layers/carto-layer.js.map +1 -1
  54. package/dist/esm/layers/{carto-dynamic-tile-layer.js → carto-tile-layer.js} +15 -15
  55. package/dist/esm/layers/carto-tile-layer.js.map +1 -0
  56. package/dist/esm/layers/schema/{carto-dynamic-tile.js → carto-tile.js} +1 -1
  57. package/dist/esm/layers/schema/carto-tile.js.map +1 -0
  58. package/dist/esm/style/color-bins-style.js +1 -1
  59. package/dist/esm/style/color-bins-style.js.map +1 -1
  60. package/dist/esm/style/color-categories-style.js +1 -1
  61. package/dist/esm/style/color-categories-style.js.map +1 -1
  62. package/dist/esm/style/color-continuous-style.js +1 -1
  63. package/dist/esm/style/color-continuous-style.js.map +1 -1
  64. package/dist/esm/style/palette.js +1 -6
  65. package/dist/esm/style/palette.js.map +1 -1
  66. package/dist/esm/style/utils.js +2 -6
  67. package/dist/esm/style/utils.js.map +1 -1
  68. package/dist/esm/utils.js +5 -0
  69. package/dist/esm/utils.js.map +1 -0
  70. package/dist.min.js +2 -2
  71. package/package.json +8 -2
  72. package/src/api/{index.js → index.ts} +0 -0
  73. package/src/api/{layer-map.js → layer-map.ts} +25 -14
  74. package/src/api/maps-api-common.ts +76 -0
  75. package/src/api/{maps-client.js → maps-client.ts} +55 -20
  76. package/src/api/{maps-v3-client.js → maps-v3-client.ts} +143 -56
  77. package/src/api/{parseMap.js → parseMap.ts} +7 -6
  78. package/src/basemap.ts +10 -0
  79. package/src/{config.js → config.ts} +22 -6
  80. package/src/{index.js → index.ts} +2 -2
  81. package/src/layers/carto-layer.js +2 -2
  82. package/src/layers/{carto-dynamic-tile-layer.js → carto-tile-layer.js} +13 -13
  83. package/src/layers/schema/{carto-dynamic-tile.js → carto-tile.js} +0 -0
  84. package/src/style/color-bins-style.ts +26 -0
  85. package/src/style/{color-categories-style.js → color-categories-style.ts} +10 -4
  86. package/src/style/color-continuous-style.ts +25 -0
  87. package/src/style/{palette.js → palette.ts} +18 -15
  88. package/src/style/{utils.js → utils.ts} +7 -10
  89. package/src/utils.ts +5 -0
  90. package/dist/es5/layers/carto-dynamic-tile-layer.js.map +0 -1
  91. package/dist/es5/layers/schema/carto-dynamic-tile.js.map +0 -1
  92. package/dist/esm/layers/carto-dynamic-tile-layer.js.map +0 -1
  93. package/dist/esm/layers/schema/carto-dynamic-tile.js.map +0 -1
  94. package/src/api/maps-api-common.js +0 -41
  95. package/src/basemap.js +0 -10
  96. package/src/style/color-bins-style.js +0 -21
  97. package/src/style/color-continuous-style.js +0 -20
package/dist/dist.dev.js CHANGED
@@ -52870,7 +52870,7 @@ attribute float instanceOffsets;
52870
52870
  /*! no static exports found */
52871
52871
  /***/ (function(module, exports, __webpack_require__) {
52872
52872
 
52873
- const CartoUtils = __webpack_require__(/*! ./src */ "./src/index.js");
52873
+ const CartoUtils = __webpack_require__(/*! ./src */ "./src/index.ts");
52874
52874
 
52875
52875
  const deck = globalThis.deck || {}; // Check if peer dependencies are included
52876
52876
 
@@ -52884,16 +52884,16 @@ module.exports = Object.assign(deck, {
52884
52884
 
52885
52885
  /***/ }),
52886
52886
 
52887
- /***/ "./src/api/index.js":
52887
+ /***/ "./src/api/index.ts":
52888
52888
  /*!**************************!*\
52889
- !*** ./src/api/index.js ***!
52889
+ !*** ./src/api/index.ts ***!
52890
52890
  \**************************/
52891
52891
  /*! exports provided: FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, getDataV2, CONNECTIONS, fetchLayerData, fetchMap, getData, mapInstantiation */
52892
52892
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
52893
52893
 
52894
52894
  "use strict";
52895
52895
  __webpack_require__.r(__webpack_exports__);
52896
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
52896
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
52897
52897
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["FORMATS"]; });
52898
52898
 
52899
52899
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["TILE_FORMATS"]; });
@@ -52902,12 +52902,12 @@ __webpack_require__.r(__webpack_exports__);
52902
52902
 
52903
52903
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["API_VERSIONS"]; });
52904
52904
 
52905
- /* harmony import */ var _maps_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-client */ "./src/api/maps-client.js");
52905
+ /* harmony import */ var _maps_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-client */ "./src/api/maps-client.ts");
52906
52906
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_1__["getDataV2"]; });
52907
52907
 
52908
52908
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_1__["CONNECTIONS"]; });
52909
52909
 
52910
- /* harmony import */ var _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maps-v3-client */ "./src/api/maps-v3-client.js");
52910
+ /* harmony import */ var _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maps-v3-client */ "./src/api/maps-v3-client.ts");
52911
52911
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__["fetchLayerData"]; });
52912
52912
 
52913
52913
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__["fetchMap"]; });
@@ -52922,9 +52922,9 @@ __webpack_require__.r(__webpack_exports__);
52922
52922
 
52923
52923
  /***/ }),
52924
52924
 
52925
- /***/ "./src/api/layer-map.js":
52925
+ /***/ "./src/api/layer-map.ts":
52926
52926
  /*!******************************!*\
52927
- !*** ./src/api/layer-map.js ***!
52927
+ !*** ./src/api/layer-map.ts ***!
52928
52928
  \******************************/
52929
52929
  /*! exports provided: getLayer, getColorAccessor, getSizeAccessor, getTextAccessor, getTextPixelOffsetAccessor, _domainFromValues */
52930
52930
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -52943,9 +52943,12 @@ __webpack_require__.r(__webpack_exports__);
52943
52943
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-format */ "../../node_modules/d3-format/src/index.js");
52944
52944
  /* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment-timezone */ "../../node_modules/moment-timezone/index.js");
52945
52945
  /* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_4__);
52946
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
52947
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_5__);
52948
- /* harmony import */ var _deck_gl_carto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @deck.gl/carto */ "./src/index.js");
52946
+ /* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/geo-layers */ "@deck.gl/core");
52947
+ /* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__);
52948
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
52949
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
52950
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
52951
+
52949
52952
 
52950
52953
 
52951
52954
 
@@ -52963,8 +52966,8 @@ const SCALE_FUNCS = {
52963
52966
  quantile: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleQuantile"],
52964
52967
  quantize: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleQuantize"],
52965
52968
  sqrt: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleSqrt"]
52966
- }; // Kepler -> Deck.gl
52967
-
52969
+ };
52970
+ // Kepler -> Deck.gl
52968
52971
  const sharedPropMap = {
52969
52972
  color: 'getFillColor',
52970
52973
  isVisible: 'visible',
@@ -53013,7 +53016,7 @@ function getLayer(type, config, dataset) {
53013
53016
  const hexagonId = config.columns?.hex_id;
53014
53017
  const layer = {
53015
53018
  point: {
53016
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53019
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53017
53020
  propMap: mergePropMaps(sharedPropMap, {
53018
53021
  visConfig: {
53019
53022
  outline: 'stroked'
@@ -53022,14 +53025,14 @@ function getLayer(type, config, dataset) {
53022
53025
  defaultProps
53023
53026
  },
53024
53027
  geojson: {
53025
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53028
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53026
53029
  propMap: sharedPropMap,
53027
53030
  defaultProps: { ...defaultProps,
53028
53031
  lineWidthScale: 2
53029
53032
  }
53030
53033
  },
53031
53034
  hexagonId: {
53032
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["H3HexagonLayer"],
53035
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["H3HexagonLayer"],
53033
53036
  propMap: mergePropMaps(sharedPropMap, {
53034
53037
  visConfig: {
53035
53038
  coverage: 'coverage',
@@ -53041,7 +53044,7 @@ function getLayer(type, config, dataset) {
53041
53044
  }
53042
53045
  }
53043
53046
  }[type];
53044
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["log"].assert(layer, `Unsupported layer type: ${type}`);
53047
+ Object(_utils__WEBPACK_IMPORTED_MODULE_8__["assert"])(layer, `Unsupported layer type: ${type}`);
53045
53048
  return layer;
53046
53049
  }
53047
53050
 
@@ -53053,9 +53056,9 @@ function getTileLayer(dataset) {
53053
53056
  } = dataset;
53054
53057
  /* global URL */
53055
53058
 
53056
- const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') || _deck_gl_carto__WEBPACK_IMPORTED_MODULE_6__["TILE_FORMATS"].MVT;
53059
+ const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') || _maps_api_common__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"].MVT;
53057
53060
  return {
53058
- Layer: formatTiles === _deck_gl_carto__WEBPACK_IMPORTED_MODULE_6__["TILE_FORMATS"].MVT ? _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["MVTLayer"] : _deck_gl_carto__WEBPACK_IMPORTED_MODULE_6__["_CartoDynamicTileLayer"],
53061
+ Layer: formatTiles === _maps_api_common__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"].MVT ? _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["MVTLayer"] : _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__["default"],
53059
53062
  propMap: sharedPropMap,
53060
53063
  defaultProps: { ...defaultProps,
53061
53064
  pointRadiusScale: 0.3,
@@ -53202,11 +53205,11 @@ function getTextPixelOffsetAccessor({
53202
53205
 
53203
53206
  /***/ }),
53204
53207
 
53205
- /***/ "./src/api/maps-api-common.js":
53208
+ /***/ "./src/api/maps-api-common.ts":
53206
53209
  /*!************************************!*\
53207
- !*** ./src/api/maps-api-common.js ***!
53210
+ !*** ./src/api/maps-api-common.ts ***!
53208
53211
  \************************************/
53209
- /*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, TILE_FORMATS, encodeParameter */
53212
+ /*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, TILE_FORMATS, SchemaFieldType, encodeParameter */
53210
53213
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
53211
53214
 
53212
53215
  "use strict";
@@ -53218,6 +53221,7 @@ __webpack_require__.r(__webpack_exports__);
53218
53221
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return MAP_TYPES; });
53219
53222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return FORMATS; });
53220
53223
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return TILE_FORMATS; });
53224
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SchemaFieldType", function() { return SchemaFieldType; });
53221
53225
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeParameter", function() { return encodeParameter; });
53222
53226
  const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
53223
53227
  const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
@@ -53234,33 +53238,46 @@ const MAP_TYPES = {
53234
53238
  QUERY: 'query',
53235
53239
  TABLE: 'table',
53236
53240
  TILESET: 'tileset'
53237
- }; // AVAILABLE FORMATS
53238
-
53241
+ };
53242
+ // AVAILABLE FORMATS
53239
53243
  const FORMATS = {
53240
53244
  GEOJSON: 'geojson',
53241
53245
  NDJSON: 'ndjson',
53242
53246
  TILEJSON: 'tilejson',
53243
53247
  JSON: 'json'
53244
- }; // AVAILABLE FORMATS FOR TILES
53245
-
53248
+ };
53249
+ // AVAILABLE FORMATS FOR TILES
53246
53250
  const TILE_FORMATS = {
53247
53251
  MVT: 'mvt',
53248
53252
  GEOJSON: 'geojson',
53249
53253
  BINARY: 'binary'
53250
53254
  };
53255
+ let SchemaFieldType;
53256
+
53257
+ (function (SchemaFieldType) {
53258
+ SchemaFieldType["Number"] = "number";
53259
+ SchemaFieldType["Bigint"] = "bigint";
53260
+ SchemaFieldType["String"] = "string";
53261
+ SchemaFieldType["Geometry"] = "geometry";
53262
+ SchemaFieldType["Timestamp"] = "timestamp";
53263
+ SchemaFieldType["Object"] = "object";
53264
+ SchemaFieldType["Boolean"] = "boolean";
53265
+ SchemaFieldType["Variant"] = "variant";
53266
+ SchemaFieldType["Unknown"] = "unknown";
53267
+ })(SchemaFieldType || (SchemaFieldType = {}));
53268
+
53251
53269
  /**
53252
53270
  * Simple encode parameter
53253
53271
  */
53254
-
53255
53272
  function encodeParameter(name, value) {
53256
53273
  return `${name}=${encodeURIComponent(value)}`;
53257
53274
  }
53258
53275
 
53259
53276
  /***/ }),
53260
53277
 
53261
- /***/ "./src/api/maps-client.js":
53278
+ /***/ "./src/api/maps-client.ts":
53262
53279
  /*!********************************!*\
53263
- !*** ./src/api/maps-client.js ***!
53280
+ !*** ./src/api/maps-client.ts ***!
53264
53281
  \********************************/
53265
53282
  /*! exports provided: CONNECTIONS, getDataV2 */
53266
53283
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53269,8 +53286,8 @@ function encodeParameter(name, value) {
53269
53286
  __webpack_require__.r(__webpack_exports__);
53270
53287
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return CONNECTIONS; });
53271
53288
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return getDataV2; });
53272
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.js");
53273
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
53289
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.ts");
53290
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
53274
53291
  /**
53275
53292
  * Maps API Client for Maps API v1 and Maps API v2
53276
53293
  */
@@ -53292,20 +53309,16 @@ async function getDataV2({
53292
53309
  credentials
53293
53310
  }) {
53294
53311
  const defaultCredentials = Object(_config__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"])();
53295
- const apiVersion = credentials && credentials.apiVersion || defaultCredentials.apiVersion; // Only pick up default credentials if they have been defined for
53312
+ const apiVersion = credentials?.apiVersion || defaultCredentials.apiVersion; // Only pick up default credentials if they have been defined for
53296
53313
  // correct API version
53297
53314
 
53298
- const localCreds = { ..._config__WEBPACK_IMPORTED_MODULE_0__["defaultClassicCredentials"],
53315
+ const localCreds = { ...(apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3 ? _config__WEBPACK_IMPORTED_MODULE_0__["defaultCloudNativeCredentials"] : _config__WEBPACK_IMPORTED_MODULE_0__["defaultClassicCredentials"]),
53316
+ mapsUrl: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["DEFAULT_MAPS_URL_FORMAT"][apiVersion],
53299
53317
  ...(defaultCredentials.apiVersion === apiVersion && defaultCredentials),
53300
53318
  ...credentials
53301
53319
  };
53302
-
53303
- if (!localCreds.mapsUrl) {
53304
- localCreds.mapsUrl = _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["DEFAULT_MAPS_URL_FORMAT"][apiVersion];
53305
- }
53306
-
53307
53320
  let url;
53308
- const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
53321
+ const connection = type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].TILESET ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
53309
53322
 
53310
53323
  switch (apiVersion) {
53311
53324
  case _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V1:
@@ -53350,8 +53363,6 @@ async function request({
53350
53363
 
53351
53364
  try {
53352
53365
  /* global fetch */
53353
-
53354
- /* eslint no-undef: "error" */
53355
53366
  response = await fetch(url, {
53356
53367
  headers: {
53357
53368
  Accept: 'application/json'
@@ -53398,7 +53409,7 @@ function dealWithError({
53398
53409
 
53399
53410
  function initURLParameters(credentials) {
53400
53411
  const encodedApiKey = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('api_key', credentials.apiKey);
53401
- const encodedClient = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('client', `deck-gl-carto`);
53412
+ const encodedClient = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('client', 'deck-gl-carto');
53402
53413
  return [encodedApiKey, encodedClient];
53403
53414
  }
53404
53415
  /**
@@ -53447,6 +53458,7 @@ function createMapConfig(sql) {
53447
53458
  type: 'mapnik',
53448
53459
  options: {
53449
53460
  sql,
53461
+ // eslint-disable-next-line camelcase
53450
53462
  vector_extent: TILE_EXTENT
53451
53463
  }
53452
53464
  }]
@@ -53455,9 +53467,9 @@ function createMapConfig(sql) {
53455
53467
 
53456
53468
  /***/ }),
53457
53469
 
53458
- /***/ "./src/api/maps-v3-client.js":
53470
+ /***/ "./src/api/maps-v3-client.ts":
53459
53471
  /*!***********************************!*\
53460
- !*** ./src/api/maps-v3-client.js ***!
53472
+ !*** ./src/api/maps-v3-client.ts ***!
53461
53473
  \***********************************/
53462
53474
  /*! exports provided: mapInstantiation, fetchLayerData, getData, fetchMap */
53463
53475
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53468,11 +53480,12 @@ __webpack_require__.r(__webpack_exports__);
53468
53480
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return fetchLayerData; });
53469
53481
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return getData; });
53470
53482
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return fetchMap; });
53471
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.js");
53472
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
53473
- /* harmony import */ var _parseMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parseMap */ "./src/api/parseMap.js");
53483
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.ts");
53484
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
53485
+ /* harmony import */ var _parseMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parseMap */ "./src/api/parseMap.ts");
53474
53486
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
53475
53487
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_3__);
53488
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
53476
53489
  /**
53477
53490
  * Maps API Client for Carto 3
53478
53491
  */
@@ -53480,20 +53493,19 @@ __webpack_require__.r(__webpack_exports__);
53480
53493
 
53481
53494
 
53482
53495
 
53496
+
53483
53497
  const MAX_GET_LENGTH = 2048;
53484
53498
  const DEFAULT_CLIENT = 'deck-gl-carto';
53499
+
53485
53500
  /**
53486
53501
  * Request against Maps API
53487
53502
  */
53488
-
53489
53503
  async function request({
53490
53504
  method,
53491
53505
  url,
53492
- format,
53493
53506
  accessToken,
53494
53507
  body
53495
53508
  }) {
53496
- let response;
53497
53509
  const headers = {
53498
53510
  Accept: 'application/json'
53499
53511
  };
@@ -53508,9 +53520,7 @@ async function request({
53508
53520
 
53509
53521
  try {
53510
53522
  /* global fetch */
53511
-
53512
- /* eslint no-undef: "error" */
53513
- response = await fetch(url, {
53523
+ return await fetch(url, {
53514
53524
  method,
53515
53525
  headers,
53516
53526
  body
@@ -53518,11 +53528,20 @@ async function request({
53518
53528
  } catch (error) {
53519
53529
  throw new Error(`Failed to connect to Maps API: ${error}`);
53520
53530
  }
53531
+ }
53521
53532
 
53522
- if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON) {
53523
- return response;
53524
- }
53525
-
53533
+ async function requestJson({
53534
+ method,
53535
+ url,
53536
+ accessToken,
53537
+ body
53538
+ }) {
53539
+ const response = await request({
53540
+ method,
53541
+ url,
53542
+ accessToken,
53543
+ body
53544
+ });
53526
53545
  const json = await response.json();
53527
53546
 
53528
53547
  if (!response.ok) {
@@ -53532,7 +53551,32 @@ async function request({
53532
53551
  });
53533
53552
  }
53534
53553
 
53535
- return json.rows ? json.rows : json;
53554
+ return json;
53555
+ }
53556
+
53557
+ async function requestData({
53558
+ method,
53559
+ url,
53560
+ accessToken,
53561
+ format,
53562
+ body
53563
+ }) {
53564
+ if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON) {
53565
+ return request({
53566
+ method,
53567
+ url,
53568
+ accessToken,
53569
+ body
53570
+ });
53571
+ }
53572
+
53573
+ const data = await requestJson({
53574
+ method,
53575
+ url,
53576
+ accessToken,
53577
+ body
53578
+ });
53579
+ return data.rows ? data.rows : data;
53536
53580
  }
53537
53581
  /**
53538
53582
  * Display proper message from Maps API error
@@ -53555,11 +53599,10 @@ function dealWithError({
53555
53599
  throw new Error(error);
53556
53600
  }
53557
53601
  }
53602
+
53558
53603
  /**
53559
53604
  * Build a URL with all required parameters
53560
53605
  */
53561
-
53562
-
53563
53606
  function getParameters({
53564
53607
  type,
53565
53608
  source,
@@ -53612,7 +53655,6 @@ async function mapInstantiation({
53612
53655
  const {
53613
53656
  accessToken
53614
53657
  } = credentials;
53615
- const format = 'json';
53616
53658
 
53617
53659
  if (url.length > MAX_GET_LENGTH && type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].QUERY) {
53618
53660
  // need to be a POST request
@@ -53620,18 +53662,16 @@ async function mapInstantiation({
53620
53662
  q: source,
53621
53663
  client: clientId || DEFAULT_CLIENT
53622
53664
  });
53623
- return await request({
53665
+ return await requestJson({
53624
53666
  method: 'POST',
53625
53667
  url: baseUrl,
53626
- format,
53627
53668
  accessToken,
53628
53669
  body
53629
53670
  });
53630
53671
  }
53631
53672
 
53632
- return await request({
53673
+ return await requestJson({
53633
53674
  url,
53634
- format,
53635
53675
  accessToken
53636
53676
  });
53637
53677
  }
@@ -53650,14 +53690,14 @@ function checkFetchLayerDataParameters({
53650
53690
  type,
53651
53691
  source,
53652
53692
  connection,
53653
- localCreds
53693
+ credentials
53654
53694
  }) {
53655
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(connection, 'Must define connection');
53656
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(type, 'Must define a type');
53657
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(source, 'Must define a source');
53658
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53659
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
53660
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.accessToken, 'Must define an accessToken');
53695
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(connection, 'Must define connection');
53696
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(type, 'Must define a type');
53697
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(source, 'Must define a source');
53698
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53699
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.apiBaseUrl, 'Must define apiBaseUrl');
53700
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.accessToken, 'Must define an accessToken');
53661
53701
  }
53662
53702
 
53663
53703
  async function fetchLayerData({
@@ -53689,7 +53729,7 @@ async function fetchLayerData({
53689
53729
  schema,
53690
53730
  clientId
53691
53731
  });
53692
- const data = await request({
53732
+ const data = await requestData({
53693
53733
  url,
53694
53734
  format: mapFormat,
53695
53735
  accessToken
@@ -53727,7 +53767,7 @@ async function _fetchDataUrl({
53727
53767
  type,
53728
53768
  source,
53729
53769
  connection,
53730
- localCreds
53770
+ credentials: localCreds
53731
53771
  });
53732
53772
 
53733
53773
  if (!localCreds.mapsUrl) {
@@ -53744,13 +53784,13 @@ async function _fetchDataUrl({
53744
53784
  schema,
53745
53785
  clientId
53746
53786
  });
53747
- let url;
53787
+ let url = null;
53748
53788
  let mapFormat;
53749
53789
 
53750
53790
  if (format) {
53751
53791
  mapFormat = format;
53752
53792
  url = getUrlFromMetadata(metadata, format);
53753
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(url, `Format ${format} not available`);
53793
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(url, `Format ${format} not available`);
53754
53794
  } else {
53755
53795
  // guess map format
53756
53796
  const prioritizedFormats = [_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].GEOJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].JSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].TILEJSON];
@@ -53763,6 +53803,8 @@ async function _fetchDataUrl({
53763
53803
  break;
53764
53804
  }
53765
53805
  }
53806
+
53807
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(url && mapFormat, 'Unsupported data formats received from backend.');
53766
53808
  }
53767
53809
 
53768
53810
  const {
@@ -53822,7 +53864,7 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
53822
53864
  clientId
53823
53865
  }); // Extract the last time the data changed
53824
53866
 
53825
- const cache = parseInt(new URL(url).searchParams.get('cache'), 10);
53867
+ const cache = parseInt(new URL(url).searchParams.get('cache') || '', 10);
53826
53868
 
53827
53869
  if (cache && dataset.cache === cache) {
53828
53870
  return false;
@@ -53830,12 +53872,11 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
53830
53872
 
53831
53873
  dataset.cache = cache; // Only fetch if the data has changed
53832
53874
 
53833
- const data = await request({
53875
+ dataset.data = await requestData({
53834
53876
  url,
53835
53877
  format: mapFormat,
53836
53878
  accessToken
53837
53879
  });
53838
- dataset.data = data;
53839
53880
  return true;
53840
53881
  }
53841
53882
 
@@ -53861,22 +53902,22 @@ async function fetchMap({
53861
53902
  const {
53862
53903
  accessToken
53863
53904
  } = localCreds;
53864
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(cartoMapId, `Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})`);
53865
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53866
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
53905
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
53906
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53907
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
53867
53908
 
53868
53909
  if (!localCreds.mapsUrl) {
53869
53910
  localCreds.mapsUrl = Object(_config__WEBPACK_IMPORTED_MODULE_0__["buildMapsUrlFromBase"])(localCreds.apiBaseUrl);
53870
53911
  }
53871
53912
 
53872
53913
  if (autoRefresh || onNewData) {
53873
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(onNewData, 'Must define `onNewData` when using autoRefresh');
53874
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(typeof onNewData === 'function', '`onNewData` must be a function');
53875
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(autoRefresh > 0, '`autoRefresh` must be a positive number');
53914
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(onNewData, 'Must define `onNewData` when using autoRefresh');
53915
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(typeof onNewData === 'function', '`onNewData` must be a function');
53916
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(typeof autoRefresh === 'number' && autoRefresh > 0, '`autoRefresh` must be a positive number');
53876
53917
  }
53877
53918
 
53878
53919
  const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;
53879
- const map = await request({
53920
+ const map = await requestJson({
53880
53921
  url,
53881
53922
  accessToken
53882
53923
  }); // Periodically check if the data has changed. Note that this
@@ -53885,10 +53926,11 @@ async function fetchMap({
53885
53926
  let stopAutoRefresh;
53886
53927
 
53887
53928
  if (autoRefresh) {
53929
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
53888
53930
  const intervalId = setInterval(async () => {
53889
- const changed = await fillInMapDatasets(map, clientId, credentials);
53931
+ const changed = await fillInMapDatasets(map, clientId, localCreds);
53890
53932
 
53891
- if (changed.some(v => v === true)) {
53933
+ if (onNewData && changed.some(v => v === true)) {
53892
53934
  onNewData(Object(_parseMap__WEBPACK_IMPORTED_MODULE_2__["parseMap"])(map));
53893
53935
  }
53894
53936
  }, autoRefresh * 1000);
@@ -53899,7 +53941,7 @@ async function fetchMap({
53899
53941
  } // Mutates map.datasets so that dataset.data contains data
53900
53942
 
53901
53943
 
53902
- await fillInMapDatasets(map, clientId, credentials);
53944
+ await fillInMapDatasets(map, clientId, localCreds);
53903
53945
  return { ...Object(_parseMap__WEBPACK_IMPORTED_MODULE_2__["parseMap"])(map),
53904
53946
  ...{
53905
53947
  stopAutoRefresh
@@ -53909,9 +53951,9 @@ async function fetchMap({
53909
53951
 
53910
53952
  /***/ }),
53911
53953
 
53912
- /***/ "./src/api/parseMap.js":
53954
+ /***/ "./src/api/parseMap.ts":
53913
53955
  /*!*****************************!*\
53914
- !*** ./src/api/parseMap.js ***!
53956
+ !*** ./src/api/parseMap.ts ***!
53915
53957
  \*****************************/
53916
53958
  /*! exports provided: parseMap */
53917
53959
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53920,9 +53962,11 @@ async function fetchMap({
53920
53962
  __webpack_require__.r(__webpack_exports__);
53921
53963
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseMap", function() { return parseMap; });
53922
53964
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
53923
- /* harmony import */ var _layer_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layer-map */ "./src/api/layer-map.js");
53965
+ /* harmony import */ var _layer_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layer-map */ "./src/api/layer-map.ts");
53924
53966
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
53925
53967
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
53968
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
53969
+
53926
53970
 
53927
53971
 
53928
53972
 
@@ -53931,7 +53975,7 @@ function parseMap(json) {
53931
53975
  keplerMapConfig,
53932
53976
  datasets
53933
53977
  } = json;
53934
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');
53978
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(keplerMapConfig.version === 'v1', 'Only support Kepler v1');
53935
53979
  const {
53936
53980
  mapState,
53937
53981
  mapStyle
@@ -53960,11 +54004,11 @@ function parseMap(json) {
53960
54004
  dataId
53961
54005
  } = config;
53962
54006
  const dataset = datasets.find(d => d.id === dataId);
53963
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(dataset, `No dataset matching dataId: ${dataId}`);
54007
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(dataset, `No dataset matching dataId: ${dataId}`);
53964
54008
  const {
53965
54009
  data
53966
54010
  } = dataset;
53967
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(data, `No data loaded for dataId: ${dataId}`);
54011
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(data, `No data loaded for dataId: ${dataId}`);
53968
54012
  const {
53969
54013
  Layer,
53970
54014
  propMap,
@@ -54133,30 +54177,30 @@ function createChannelProps(visualChannels, type, config, data) {
54133
54177
 
54134
54178
  /***/ }),
54135
54179
 
54136
- /***/ "./src/basemap.js":
54180
+ /***/ "./src/basemap.ts":
54137
54181
  /*!************************!*\
54138
- !*** ./src/basemap.js ***!
54182
+ !*** ./src/basemap.ts ***!
54139
54183
  \************************/
54140
54184
  /*! exports provided: default */
54141
54185
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
54142
54186
 
54143
54187
  "use strict";
54144
54188
  __webpack_require__.r(__webpack_exports__);
54145
- const base_url = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
54189
+ const baseUrl = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
54146
54190
  /* harmony default export */ __webpack_exports__["default"] = ({
54147
- VOYAGER: base_url.replace('{basemap}', 'voyager'),
54148
- POSITRON: base_url.replace('{basemap}', 'positron'),
54149
- DARK_MATTER: base_url.replace('{basemap}', 'dark-matter'),
54150
- VOYAGER_NOLABELS: base_url.replace('{basemap}', 'voyager-nolabels'),
54151
- POSITRON_NOLABELS: base_url.replace('{basemap}', 'positron-nolabels'),
54152
- DARK_MATTER_NOLABELS: base_url.replace('{basemap}', 'dark-matter-nolabels')
54191
+ VOYAGER: baseUrl.replace('{basemap}', 'voyager'),
54192
+ POSITRON: baseUrl.replace('{basemap}', 'positron'),
54193
+ DARK_MATTER: baseUrl.replace('{basemap}', 'dark-matter'),
54194
+ VOYAGER_NOLABELS: baseUrl.replace('{basemap}', 'voyager-nolabels'),
54195
+ POSITRON_NOLABELS: baseUrl.replace('{basemap}', 'positron-nolabels'),
54196
+ DARK_MATTER_NOLABELS: baseUrl.replace('{basemap}', 'dark-matter-nolabels')
54153
54197
  });
54154
54198
 
54155
54199
  /***/ }),
54156
54200
 
54157
- /***/ "./src/config.js":
54201
+ /***/ "./src/config.ts":
54158
54202
  /*!***********************!*\
54159
- !*** ./src/config.js ***!
54203
+ !*** ./src/config.ts ***!
54160
54204
  \***********************/
54161
54205
  /*! exports provided: defaultClassicCredentials, defaultCloudNativeCredentials, setDefaultCredentials, getDefaultCredentials, buildMapsUrlFromBase */
54162
54206
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -54168,7 +54212,7 @@ __webpack_require__.r(__webpack_exports__);
54168
54212
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return setDefaultCredentials; });
54169
54213
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return getDefaultCredentials; });
54170
54214
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildMapsUrlFromBase", function() { return buildMapsUrlFromBase; });
54171
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/maps-api-common */ "./src/api/maps-api-common.js");
54215
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/maps-api-common */ "./src/api/maps-api-common.ts");
54172
54216
 
54173
54217
  const defaultClassicCredentials = {
54174
54218
  apiKey: 'default_public',
@@ -54223,39 +54267,39 @@ function buildMapsUrlFromBase(apiBaseUrl) {
54223
54267
 
54224
54268
  /***/ }),
54225
54269
 
54226
- /***/ "./src/index.js":
54270
+ /***/ "./src/index.ts":
54227
54271
  /*!**********************!*\
54228
- !*** ./src/index.js ***!
54272
+ !*** ./src/index.ts ***!
54229
54273
  \**********************/
54230
- /*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoDynamicTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
54274
+ /*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
54231
54275
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
54232
54276
 
54233
54277
  "use strict";
54234
54278
  __webpack_require__.r(__webpack_exports__);
54235
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config.js */ "./src/config.js");
54236
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return _config_js__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"]; });
54279
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ "./src/config.ts");
54280
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return _config__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"]; });
54237
54281
 
54238
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return _config_js__WEBPACK_IMPORTED_MODULE_0__["setDefaultCredentials"]; });
54282
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return _config__WEBPACK_IMPORTED_MODULE_0__["setDefaultCredentials"]; });
54239
54283
 
54240
54284
  /* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.js");
54241
54285
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
54242
54286
 
54243
- /* harmony import */ var _layers_carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-dynamic-tile-layer */ "./src/layers/carto-dynamic-tile-layer.js");
54244
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoDynamicTileLayer", function() { return _layers_carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
54287
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
54288
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoTileLayer", function() { return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
54245
54289
 
54246
- /* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basemap */ "./src/basemap.js");
54290
+ /* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basemap */ "./src/basemap.ts");
54247
54291
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BASEMAP", function() { return _basemap__WEBPACK_IMPORTED_MODULE_3__["default"]; });
54248
54292
 
54249
- /* harmony import */ var _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style/color-bins-style */ "./src/style/color-bins-style.js");
54293
+ /* harmony import */ var _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style/color-bins-style */ "./src/style/color-bins-style.ts");
54250
54294
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorBins", function() { return _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__["default"]; });
54251
54295
 
54252
- /* harmony import */ var _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style/color-categories-style */ "./src/style/color-categories-style.js");
54296
+ /* harmony import */ var _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style/color-categories-style */ "./src/style/color-categories-style.ts");
54253
54297
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorCategories", function() { return _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__["default"]; });
54254
54298
 
54255
- /* harmony import */ var _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style/color-continuous-style */ "./src/style/color-continuous-style.js");
54299
+ /* harmony import */ var _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style/color-continuous-style */ "./src/style/color-continuous-style.ts");
54256
54300
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorContinuous", function() { return _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__["default"]; });
54257
54301
 
54258
- /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./api */ "./src/api/index.js");
54302
+ /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./api */ "./src/api/index.ts");
54259
54303
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["FORMATS"]; });
54260
54304
 
54261
54305
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"]; });
@@ -54283,170 +54327,6 @@ __webpack_require__.r(__webpack_exports__);
54283
54327
 
54284
54328
 
54285
54329
 
54286
- /***/ }),
54287
-
54288
- /***/ "./src/layers/carto-dynamic-tile-layer.js":
54289
- /*!************************************************!*\
54290
- !*** ./src/layers/carto-dynamic-tile-layer.js ***!
54291
- \************************************************/
54292
- /*! exports provided: default */
54293
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
54294
-
54295
- "use strict";
54296
- __webpack_require__.r(__webpack_exports__);
54297
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoDynamicTileLayer; });
54298
- /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pbf */ "../../node_modules/pbf/index.js");
54299
- /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pbf__WEBPACK_IMPORTED_MODULE_0__);
54300
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
54301
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
54302
- /* harmony import */ var _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/extensions */ "../extensions/src/index.ts");
54303
- /* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
54304
- /* harmony import */ var _schema_carto_dynamic_tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./schema/carto-dynamic-tile */ "./src/layers/schema/carto-dynamic-tile.js");
54305
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.js");
54306
- /* global TextDecoder */
54307
-
54308
-
54309
-
54310
-
54311
-
54312
-
54313
-
54314
-
54315
-
54316
- function parseJSON(arrayBuffer) {
54317
- return JSON.parse(new TextDecoder().decode(arrayBuffer));
54318
- }
54319
-
54320
- function parsePbf(buffer) {
54321
- const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
54322
- const tile = _schema_carto_dynamic_tile__WEBPACK_IMPORTED_MODULE_4__["Tile"].read(pbf);
54323
- return tile;
54324
- }
54325
-
54326
- function unpackProperties(properties) {
54327
- if (!properties || !properties.length) {
54328
- return [];
54329
- }
54330
-
54331
- return properties.map(item => {
54332
- const currentRecord = {};
54333
- item.data.forEach(({
54334
- key,
54335
- value
54336
- }) => {
54337
- currentRecord[key] = value;
54338
- });
54339
- return currentRecord;
54340
- });
54341
- }
54342
-
54343
- function parseCartoDynamicTile(arrayBuffer, options) {
54344
- if (!arrayBuffer) return null;
54345
- const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
54346
- if (formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON) return Object(_loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__["geojsonToBinary"])(parseJSON(arrayBuffer).features);
54347
- const tile = parsePbf(arrayBuffer);
54348
- const {
54349
- points,
54350
- lines,
54351
- polygons
54352
- } = tile;
54353
- const data = {
54354
- points: { ...points,
54355
- properties: unpackProperties(points.properties)
54356
- },
54357
- lines: { ...lines,
54358
- properties: unpackProperties(lines.properties)
54359
- },
54360
- polygons: { ...polygons,
54361
- properties: unpackProperties(polygons.properties)
54362
- }
54363
- };
54364
- return data;
54365
- }
54366
-
54367
- const CartoDynamicTileLoader = {
54368
- name: 'CARTO Dynamic Tile',
54369
- id: 'cartoDynamicTile',
54370
- module: 'carto',
54371
- extensions: ['pbf'],
54372
- mimeTypes: ['application/x-protobuf'],
54373
- category: 'geometry',
54374
- worker: false,
54375
- parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),
54376
- parseSync: parseCartoDynamicTile,
54377
- options: {
54378
- cartoDynamicTile: {
54379
- // TODO change to BINARY for 8.7 prod release
54380
- formatTiles: _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON
54381
- }
54382
- }
54383
- };
54384
- class CartoDynamicTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
54385
- getTileData(tile) {
54386
- let url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
54387
-
54388
- if (!url) {
54389
- return Promise.reject('Invalid URL');
54390
- }
54391
-
54392
- let loadOptions = this.getLoadOptions();
54393
- const {
54394
- fetch,
54395
- formatTiles
54396
- } = this.props;
54397
- const {
54398
- signal
54399
- } = tile;
54400
- loadOptions = { ...loadOptions,
54401
- mimeType: 'application/x-protobuf'
54402
- };
54403
-
54404
- if (formatTiles) {
54405
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["log"].assert(Object.values(_api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"]).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`); // eslint-disable-next-line no-undef
54406
-
54407
- const newUrl = new URL(url);
54408
- newUrl.searchParams.set('formatTiles', formatTiles);
54409
- url = newUrl.toString();
54410
- loadOptions.cartoDynamicTile = {
54411
- formatTiles
54412
- };
54413
- }
54414
-
54415
- return fetch(url, {
54416
- propName: 'data',
54417
- layer: this,
54418
- loadOptions,
54419
- signal
54420
- });
54421
- }
54422
-
54423
- renderSubLayers(props) {
54424
- if (props.data === null) {
54425
- return null;
54426
- }
54427
-
54428
- props.autoHighlight = false;
54429
- const {
54430
- bbox: {
54431
- west,
54432
- south,
54433
- east,
54434
- north
54435
- }
54436
- } = props.tile;
54437
- props.extensions = [new _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__["ClipExtension"](), ...(props.extensions || [])];
54438
- props.clipBounds = [west, south, east, north];
54439
- const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"]({ ...props
54440
- });
54441
- return subLayer;
54442
- }
54443
-
54444
- }
54445
- CartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';
54446
- CartoDynamicTileLayer.defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"].defaultProps,
54447
- loaders: [CartoDynamicTileLoader]
54448
- };
54449
-
54450
54330
  /***/ }),
54451
54331
 
54452
54332
  /***/ "./src/layers/carto-layer.js":
@@ -54461,10 +54341,10 @@ __webpack_require__.r(__webpack_exports__);
54461
54341
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
54462
54342
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
54463
54343
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
54464
- /* harmony import */ var _carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-dynamic-tile-layer */ "./src/layers/carto-dynamic-tile-layer.js");
54465
- /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ "./src/api/index.js");
54466
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.js");
54467
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.js");
54344
+ /* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.js");
54345
+ /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
54346
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
54347
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.ts");
54468
54348
 
54469
54349
 
54470
54350
 
@@ -54642,7 +54522,7 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
54642
54522
  if (format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON) {
54643
54523
  /* global URL */
54644
54524
  const formatTiles = this.props.formatTiles || new URL(data.tiles[0]).searchParams.get('formatTiles') || _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT;
54645
- return formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT ? _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"] : _carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"];
54525
+ return formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT ? _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"] : _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"];
54646
54526
  } // It's a geojson layer
54647
54527
 
54648
54528
 
@@ -54684,10 +54564,174 @@ CartoLayer.defaultProps = defaultProps;
54684
54564
 
54685
54565
  /***/ }),
54686
54566
 
54687
- /***/ "./src/layers/schema/carto-dynamic-tile.js":
54688
- /*!*************************************************!*\
54689
- !*** ./src/layers/schema/carto-dynamic-tile.js ***!
54690
- \*************************************************/
54567
+ /***/ "./src/layers/carto-tile-layer.js":
54568
+ /*!****************************************!*\
54569
+ !*** ./src/layers/carto-tile-layer.js ***!
54570
+ \****************************************/
54571
+ /*! exports provided: default */
54572
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
54573
+
54574
+ "use strict";
54575
+ __webpack_require__.r(__webpack_exports__);
54576
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoTileLayer; });
54577
+ /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pbf */ "../../node_modules/pbf/index.js");
54578
+ /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pbf__WEBPACK_IMPORTED_MODULE_0__);
54579
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
54580
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
54581
+ /* harmony import */ var _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/extensions */ "../extensions/src/index.ts");
54582
+ /* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
54583
+ /* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.js");
54584
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
54585
+ /* global TextDecoder */
54586
+
54587
+
54588
+
54589
+
54590
+
54591
+
54592
+
54593
+
54594
+
54595
+ function parseJSON(arrayBuffer) {
54596
+ return JSON.parse(new TextDecoder().decode(arrayBuffer));
54597
+ }
54598
+
54599
+ function parsePbf(buffer) {
54600
+ const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
54601
+ const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_4__["Tile"].read(pbf);
54602
+ return tile;
54603
+ }
54604
+
54605
+ function unpackProperties(properties) {
54606
+ if (!properties || !properties.length) {
54607
+ return [];
54608
+ }
54609
+
54610
+ return properties.map(item => {
54611
+ const currentRecord = {};
54612
+ item.data.forEach(({
54613
+ key,
54614
+ value
54615
+ }) => {
54616
+ currentRecord[key] = value;
54617
+ });
54618
+ return currentRecord;
54619
+ });
54620
+ }
54621
+
54622
+ function parseCartoTile(arrayBuffer, options) {
54623
+ if (!arrayBuffer) return null;
54624
+ const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;
54625
+ if (formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON) return Object(_loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__["geojsonToBinary"])(parseJSON(arrayBuffer).features);
54626
+ const tile = parsePbf(arrayBuffer);
54627
+ const {
54628
+ points,
54629
+ lines,
54630
+ polygons
54631
+ } = tile;
54632
+ const data = {
54633
+ points: { ...points,
54634
+ properties: unpackProperties(points.properties)
54635
+ },
54636
+ lines: { ...lines,
54637
+ properties: unpackProperties(lines.properties)
54638
+ },
54639
+ polygons: { ...polygons,
54640
+ properties: unpackProperties(polygons.properties)
54641
+ }
54642
+ };
54643
+ return data;
54644
+ }
54645
+
54646
+ const CartoTileLoader = {
54647
+ name: 'CARTO Tile',
54648
+ id: 'cartoTile',
54649
+ module: 'carto',
54650
+ extensions: ['pbf'],
54651
+ mimeTypes: ['application/x-protobuf'],
54652
+ category: 'geometry',
54653
+ worker: false,
54654
+ parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),
54655
+ parseSync: parseCartoTile,
54656
+ options: {
54657
+ cartoTile: {
54658
+ // TODO change to BINARY for 8.7 prod release
54659
+ formatTiles: _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON
54660
+ }
54661
+ }
54662
+ };
54663
+ class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
54664
+ getTileData(tile) {
54665
+ let url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
54666
+
54667
+ if (!url) {
54668
+ return Promise.reject('Invalid URL');
54669
+ }
54670
+
54671
+ let loadOptions = this.getLoadOptions();
54672
+ const {
54673
+ fetch,
54674
+ formatTiles
54675
+ } = this.props;
54676
+ const {
54677
+ signal
54678
+ } = tile;
54679
+ loadOptions = { ...loadOptions,
54680
+ mimeType: 'application/x-protobuf'
54681
+ };
54682
+
54683
+ if (formatTiles) {
54684
+ _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["log"].assert(Object.values(_api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"]).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`); // eslint-disable-next-line no-undef
54685
+
54686
+ const newUrl = new URL(url);
54687
+ newUrl.searchParams.set('formatTiles', formatTiles);
54688
+ url = newUrl.toString();
54689
+ loadOptions.cartoTile = {
54690
+ formatTiles
54691
+ };
54692
+ }
54693
+
54694
+ return fetch(url, {
54695
+ propName: 'data',
54696
+ layer: this,
54697
+ loadOptions,
54698
+ signal
54699
+ });
54700
+ }
54701
+
54702
+ renderSubLayers(props) {
54703
+ if (props.data === null) {
54704
+ return null;
54705
+ }
54706
+
54707
+ props.autoHighlight = false;
54708
+ const {
54709
+ bbox: {
54710
+ west,
54711
+ south,
54712
+ east,
54713
+ north
54714
+ }
54715
+ } = props.tile;
54716
+ props.extensions = [new _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__["ClipExtension"](), ...(props.extensions || [])];
54717
+ props.clipBounds = [west, south, east, north];
54718
+ const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"]({ ...props
54719
+ });
54720
+ return subLayer;
54721
+ }
54722
+
54723
+ }
54724
+ CartoTileLayer.layerName = 'CartoTileLayer';
54725
+ CartoTileLayer.defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"].defaultProps,
54726
+ loaders: [CartoTileLoader]
54727
+ };
54728
+
54729
+ /***/ }),
54730
+
54731
+ /***/ "./src/layers/schema/carto-tile.js":
54732
+ /*!*****************************************!*\
54733
+ !*** ./src/layers/schema/carto-tile.js ***!
54734
+ \*****************************************/
54691
54735
  /*! exports provided: Tile */
54692
54736
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
54693
54737
 
@@ -54900,9 +54944,9 @@ Tile._readField = function (tag, obj, pbf) {
54900
54944
 
54901
54945
  /***/ }),
54902
54946
 
54903
- /***/ "./src/style/color-bins-style.js":
54947
+ /***/ "./src/style/color-bins-style.ts":
54904
54948
  /*!***************************************!*\
54905
- !*** ./src/style/color-bins-style.js ***!
54949
+ !*** ./src/style/color-bins-style.ts ***!
54906
54950
  \***************************************/
54907
54951
  /*! exports provided: default */
54908
54952
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -54911,8 +54955,8 @@ Tile._readField = function (tag, obj, pbf) {
54911
54955
  __webpack_require__.r(__webpack_exports__);
54912
54956
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorBins; });
54913
54957
  /* harmony import */ var d3_scale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-scale */ "../../node_modules/d3-scale/src/index.js");
54914
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
54915
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
54958
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
54959
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
54916
54960
 
54917
54961
 
54918
54962
 
@@ -54927,15 +54971,15 @@ function colorBins({
54927
54971
  const color = Object(d3_scale__WEBPACK_IMPORTED_MODULE_0__["scaleThreshold"])().domain(domain).range(palette);
54928
54972
  return d => {
54929
54973
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getAttrValue"])(attr, d);
54930
- return Number.isFinite(value) ? color(value) : nullColor;
54974
+ return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
54931
54975
  };
54932
54976
  }
54933
54977
 
54934
54978
  /***/ }),
54935
54979
 
54936
- /***/ "./src/style/color-categories-style.js":
54980
+ /***/ "./src/style/color-categories-style.ts":
54937
54981
  /*!*********************************************!*\
54938
- !*** ./src/style/color-categories-style.js ***!
54982
+ !*** ./src/style/color-categories-style.ts ***!
54939
54983
  \*********************************************/
54940
54984
  /*! exports provided: default */
54941
54985
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -54943,8 +54987,8 @@ function colorBins({
54943
54987
  "use strict";
54944
54988
  __webpack_require__.r(__webpack_exports__);
54945
54989
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorCategories; });
54946
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
54947
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
54990
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
54991
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
54948
54992
 
54949
54993
 
54950
54994
  function colorCategories({
@@ -54964,15 +55008,15 @@ function colorCategories({
54964
55008
 
54965
55009
  return d => {
54966
55010
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_1__["getAttrValue"])(attr, d);
54967
- return Number.isFinite(value) || typeof value === 'string' ? colorsByCategory[value] || othersColor : nullColor;
55011
+ return typeof value === 'number' && Number.isFinite(value) || typeof value === 'string' ? colorsByCategory[value] || othersColor : nullColor;
54968
55012
  };
54969
55013
  }
54970
55014
 
54971
55015
  /***/ }),
54972
55016
 
54973
- /***/ "./src/style/color-continuous-style.js":
55017
+ /***/ "./src/style/color-continuous-style.ts":
54974
55018
  /*!*********************************************!*\
54975
- !*** ./src/style/color-continuous-style.js ***!
55019
+ !*** ./src/style/color-continuous-style.ts ***!
54976
55020
  \*********************************************/
54977
55021
  /*! exports provided: default */
54978
55022
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -54981,8 +55025,8 @@ function colorCategories({
54981
55025
  __webpack_require__.r(__webpack_exports__);
54982
55026
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorContinuous; });
54983
55027
  /* harmony import */ var d3_scale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-scale */ "../../node_modules/d3-scale/src/index.js");
54984
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
54985
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
55028
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
55029
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
54986
55030
 
54987
55031
 
54988
55032
 
@@ -54997,15 +55041,15 @@ function colorContinuous({
54997
55041
  const color = Object(d3_scale__WEBPACK_IMPORTED_MODULE_0__["scaleLinear"])().domain(domain).range(palette);
54998
55042
  return d => {
54999
55043
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getAttrValue"])(attr, d);
55000
- return Number.isFinite(value) ? color(value) : nullColor;
55044
+ return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
55001
55045
  };
55002
55046
  }
55003
55047
 
55004
55048
  /***/ }),
55005
55049
 
55006
- /***/ "./src/style/palette.js":
55050
+ /***/ "./src/style/palette.ts":
55007
55051
  /*!******************************!*\
55008
- !*** ./src/style/palette.js ***!
55052
+ !*** ./src/style/palette.ts ***!
55009
55053
  \******************************/
55010
55054
  /*! exports provided: DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR, default, hexToRgb */
55011
55055
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -55019,7 +55063,7 @@ __webpack_require__.r(__webpack_exports__);
55019
55063
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hexToRgb", function() { return hexToRgb; });
55020
55064
  /* harmony import */ var cartocolor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cartocolor */ "../../node_modules/cartocolor/index.js");
55021
55065
  /* harmony import */ var cartocolor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cartocolor__WEBPACK_IMPORTED_MODULE_0__);
55022
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
55066
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
55023
55067
 
55024
55068
 
55025
55069
  const DEFAULT_PALETTE = 'PurpOr';
@@ -55071,20 +55115,15 @@ function hexToRgb(hex) {
55071
55115
 
55072
55116
 
55073
55117
  result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
55074
-
55075
- if (result) {
55076
- return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), parseInt(result[4], 16)];
55077
- }
55078
-
55079
55118
  Object(_utils__WEBPACK_IMPORTED_MODULE_1__["assert"])(result, `Hexadecimal color "${hex}" was not parsed correctly`);
55080
- return NULL_COLOR;
55119
+ return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), parseInt(result[4], 16)];
55081
55120
  }
55082
55121
 
55083
55122
  /***/ }),
55084
55123
 
55085
- /***/ "./src/style/utils.js":
55124
+ /***/ "./src/style/utils.ts":
55086
55125
  /*!****************************!*\
55087
- !*** ./src/style/utils.js ***!
55126
+ !*** ./src/style/utils.ts ***!
55088
55127
  \****************************/
55089
55128
  /*! exports provided: getAttrValue, assert */
55090
55129
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -55098,16 +55137,11 @@ function getAttrValue(attr, d) {
55098
55137
  assert(typeof d === 'object', 'Expected "data" to be an object');
55099
55138
  assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected "attr" to be a function or string'); // Is function
55100
55139
 
55101
- if (typeof attr === ALLOWED_ATTR_TYPES[0]) {
55140
+ if (typeof attr === 'function') {
55102
55141
  return attr(d);
55103
- } // Is string
55104
-
55105
-
55106
- if (typeof attr === ALLOWED_ATTR_TYPES[1]) {
55107
- return d.properties[attr];
55108
55142
  }
55109
55143
 
55110
- return {};
55144
+ return d.properties[attr];
55111
55145
  }
55112
55146
  function assert(condition, message = '') {
55113
55147
  if (!condition) {
@@ -55117,6 +55151,25 @@ function assert(condition, message = '') {
55117
55151
 
55118
55152
  /***/ }),
55119
55153
 
55154
+ /***/ "./src/utils.ts":
55155
+ /*!**********************!*\
55156
+ !*** ./src/utils.ts ***!
55157
+ \**********************/
55158
+ /*! exports provided: assert */
55159
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
55160
+
55161
+ "use strict";
55162
+ __webpack_require__.r(__webpack_exports__);
55163
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "assert", function() { return assert; });
55164
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
55165
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
55166
+
55167
+ function assert(condition, message) {
55168
+ _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(condition, message);
55169
+ }
55170
+
55171
+ /***/ }),
55172
+
55120
55173
  /***/ "@deck.gl/core":
55121
55174
  /*!***********************!*\
55122
55175
  !*** external "deck" ***!