@deck.gl/carto 9.0.0-beta.8 → 9.0.0-beta.9

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 (75) hide show
  1. package/dist/api/common.d.ts +1 -1
  2. package/dist/api/common.js +1 -1
  3. package/dist/api/fetch-map.d.ts.map +1 -1
  4. package/dist/api/fetch-map.js +8 -3
  5. package/dist/api/request-with-parameters.d.ts.map +1 -1
  6. package/dist/api/request-with-parameters.js +7 -3
  7. package/dist/cartoRasterTile-worker.js +5 -8
  8. package/dist/cartoSpatialTile-worker.js +1 -1
  9. package/dist/cartoVectorTile-worker.js +1 -1
  10. package/dist/constants.d.ts +5 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +4 -0
  13. package/dist/dist.dev.js +83 -46
  14. package/dist/index.cjs +70 -43
  15. package/dist/index.cjs.map +4 -4
  16. package/dist/layers/h3-tile-layer.d.ts.map +1 -1
  17. package/dist/layers/h3-tile-layer.js +3 -1
  18. package/dist/layers/quadbin-tile-layer.d.ts.map +1 -1
  19. package/dist/layers/quadbin-tile-layer.js +3 -1
  20. package/dist/layers/raster-layer.d.ts.map +1 -1
  21. package/dist/layers/raster-layer.js +5 -6
  22. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  23. package/dist/layers/raster-tile-layer.js +3 -1
  24. package/dist/layers/schema/carto-raster-tile-loader.d.ts +2 -2
  25. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  26. package/dist/layers/schema/carto-raster-tile-loader.js +3 -4
  27. package/dist/layers/schema/carto-raster-tile.d.ts.map +1 -1
  28. package/dist/layers/schema/carto-raster-tile.js +2 -4
  29. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  30. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  31. package/dist/layers/spatial-index-tile-layer.d.ts.map +1 -1
  32. package/dist/layers/spatial-index-tile-layer.js +4 -1
  33. package/dist/layers/vector-tile-layer.d.ts +4 -4
  34. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  35. package/dist/layers/vector-tile-layer.js +3 -1
  36. package/dist/sources/h3-query-source.d.ts.map +1 -1
  37. package/dist/sources/h3-query-source.js +2 -1
  38. package/dist/sources/h3-table-source.d.ts.map +1 -1
  39. package/dist/sources/h3-table-source.js +2 -4
  40. package/dist/sources/quadbin-query-source.d.ts.map +1 -1
  41. package/dist/sources/quadbin-query-source.js +2 -1
  42. package/dist/sources/quadbin-table-source.d.ts.map +1 -1
  43. package/dist/sources/quadbin-table-source.js +2 -4
  44. package/dist/sources/types.d.ts +38 -6
  45. package/dist/sources/types.d.ts.map +1 -1
  46. package/dist/sources/vector-query-source.d.ts +2 -4
  47. package/dist/sources/vector-query-source.d.ts.map +1 -1
  48. package/dist/sources/vector-query-source.js +8 -2
  49. package/dist/sources/vector-table-source.d.ts +2 -2
  50. package/dist/sources/vector-table-source.d.ts.map +1 -1
  51. package/dist/sources/vector-table-source.js +8 -2
  52. package/dist/utils.d.ts.map +1 -1
  53. package/dist/utils.js +5 -1
  54. package/dist.min.js +7 -7
  55. package/package.json +4 -4
  56. package/src/api/common.ts +1 -1
  57. package/src/api/fetch-map.ts +8 -3
  58. package/src/api/request-with-parameters.ts +16 -5
  59. package/src/constants.ts +5 -0
  60. package/src/layers/h3-tile-layer.ts +3 -1
  61. package/src/layers/quadbin-tile-layer.ts +3 -1
  62. package/src/layers/raster-layer.ts +7 -12
  63. package/src/layers/raster-tile-layer.ts +3 -1
  64. package/src/layers/schema/carto-raster-tile-loader.ts +5 -5
  65. package/src/layers/schema/carto-raster-tile.ts +3 -4
  66. package/src/layers/spatial-index-tile-layer.ts +4 -1
  67. package/src/layers/vector-tile-layer.ts +10 -6
  68. package/src/sources/h3-query-source.ts +2 -1
  69. package/src/sources/h3-table-source.ts +2 -6
  70. package/src/sources/quadbin-query-source.ts +2 -1
  71. package/src/sources/quadbin-table-source.ts +2 -6
  72. package/src/sources/types.ts +41 -6
  73. package/src/sources/vector-query-source.ts +22 -6
  74. package/src/sources/vector-table-source.ts +21 -3
  75. package/src/utils.ts +5 -1
@@ -1,6 +1,6 @@
1
1
  export declare const DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
2
2
  export declare const DEFAULT_CLIENT = "deck-gl-carto";
3
- export declare const V3_MINOR_VERSION = "3.3";
3
+ export declare const V3_MINOR_VERSION = "3.4";
4
4
  export declare const MAX_GET_LENGTH = 8192;
5
5
  export declare const DEFAULT_PARAMETERS: {
6
6
  v: string;
@@ -1,6 +1,6 @@
1
1
  export const DEFAULT_API_BASE_URL = 'https://gcp-us-east1.api.carto.com';
2
2
  export const DEFAULT_CLIENT = 'deck-gl-carto';
3
- export const V3_MINOR_VERSION = '3.3';
3
+ export const V3_MINOR_VERSION = '3.4';
4
4
  export const MAX_GET_LENGTH = 8192;
5
5
  export const DEFAULT_PARAMETERS = {
6
6
  v: V3_MINOR_VERSION
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-map.d.ts","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"AAyMA,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,CAAC;AAGF,wBAAsB,QAAQ,CAAC,EAC7B,UAAiC,EACjC,UAAU,EACV,QAAyB,EACzB,OAAY,EACZ,WAAW,EACX,SAAS,EACV,EAAE,eAAe;4BAmBY,IAAI;;;;;;;;;;GAuDjC"}
1
+ {"version":3,"file":"fetch-map.d.ts","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"AA8MA,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,CAAC;AAGF,wBAAsB,QAAQ,CAAC,EAC7B,UAAiC,EACjC,UAAU,EACV,QAAyB,EACzB,OAAY,EACZ,WAAW,EACX,SAAS,EACV,EAAE,eAAe;4BAmBY,IAAI;;;;;;;;;;GAuDjC"}
@@ -36,13 +36,18 @@ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, head
36
36
  dataset.data = await vectorTableSource({ ...options, columns, tableName: source });
37
37
  }
38
38
  else if (type === 'query') {
39
- dataset.data = await vectorQuerySource({ ...options, sqlQuery: source, queryParameters });
39
+ dataset.data = await vectorQuerySource({
40
+ ...options,
41
+ columns,
42
+ sqlQuery: source,
43
+ queryParameters
44
+ });
40
45
  }
41
46
  }
42
47
  else if (spatialDataType === 'h3') {
43
48
  const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
44
49
  if (type === 'table') {
45
- dataset.data = await h3TableSource({ ...options, columns, tableName: source });
50
+ dataset.data = await h3TableSource({ ...options, tableName: source });
46
51
  }
47
52
  else if (type === 'query') {
48
53
  dataset.data = await h3QuerySource({ ...options, sqlQuery: source, queryParameters });
@@ -51,7 +56,7 @@ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, head
51
56
  else if (spatialDataType === 'quadbin') {
52
57
  const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
53
58
  if (type === 'table') {
54
- dataset.data = await quadbinTableSource({ ...options, columns, tableName: source });
59
+ dataset.data = await quadbinTableSource({ ...options, tableName: source });
55
60
  }
56
61
  else if (type === 'query') {
57
62
  dataset.data = await quadbinQuerySource({ ...options, sqlQuery: source, queryParameters });
@@ -1 +1 @@
1
- {"version":3,"file":"request-with-parameters.d.ts","sourceRoot":"","sources":["../../src/api/request-with-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAU7C,wBAAsB,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,EACnD,WAAW,EACX,OAAO,EACP,UAAU,EACV,OAAO,EAAE,aAAa,EACtB,YAAY,EACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,OAAO,CAAC,CAAC,CAAC,CA2Cb"}
1
+ {"version":3,"file":"request-with-parameters.d.ts","sourceRoot":"","sources":["../../src/api/request-with-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAU7C,wBAAsB,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,EACnD,WAAW,EACX,OAAO,EACP,UAAU,EACV,OAAO,EAAE,aAAa,EACtB,YAAY,EACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,OAAO,CAAC,CAAC,CAAC,CA4Cb"}
@@ -8,14 +8,13 @@ function encodeParameter(name, value) {
8
8
  }
9
9
  const REQUEST_CACHE = new Map();
10
10
  export async function requestWithParameters({ accessToken, baseUrl, parameters, headers: customHeaders, errorContext }) {
11
- const key = JSON.stringify({ baseUrl, parameters, customHeaders });
11
+ const key = createCacheKey(baseUrl, parameters || {}, customHeaders || {});
12
12
  if (REQUEST_CACHE.has(key)) {
13
13
  return REQUEST_CACHE.get(key);
14
14
  }
15
15
  let url = baseUrl;
16
16
  if (parameters) {
17
- const allParameters = { ...DEFAULT_PARAMETERS, ...parameters };
18
- const encodedParameters = Object.entries(allParameters).map(([key, value]) => {
17
+ const encodedParameters = Object.entries({ ...DEFAULT_PARAMETERS, ...parameters }).map(([key, value]) => {
19
18
  return encodeParameter(key, value);
20
19
  });
21
20
  url += `?${encodedParameters.join('&')}`;
@@ -51,3 +50,8 @@ export async function requestWithParameters({ accessToken, baseUrl, parameters,
51
50
  throw new CartoAPIError(error, errorContext);
52
51
  }
53
52
  }
53
+ function createCacheKey(baseUrl, parameters, headers) {
54
+ const parameterEntries = Object.entries(parameters).sort(([a], [b]) => (a > b ? 1 : -1));
55
+ const headerEntries = Object.entries(headers).sort(([a], [b]) => (a > b ? 1 : -1));
56
+ return JSON.stringify({ baseUrl, parameters: parameterEntries, headers: headerEntries });
57
+ }
@@ -982,14 +982,12 @@
982
982
  };
983
983
  var TileReader = class {
984
984
  static read(pbf, end) {
985
- return pbf.readFields(TileReader._readField, { blockWidth: 0, blockHeight: 0, bands: [] }, end);
985
+ return pbf.readFields(TileReader._readField, { blockSize: 0, bands: [] }, end);
986
986
  }
987
987
  static _readField(tag, obj, pbf) {
988
988
  if (tag === 1)
989
- obj.blockWidth = pbf.readVarint();
989
+ obj.blockSize = pbf.readVarint();
990
990
  else if (tag === 2)
991
- obj.blockHeight = pbf.readVarint();
992
- else if (tag === 3)
993
991
  obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
994
992
  }
995
993
  };
@@ -1008,7 +1006,7 @@
1008
1006
  }
1009
1007
 
1010
1008
  // src/layers/schema/carto-raster-tile-loader.ts
1011
- var VERSION = true ? "9.0.0-beta.8" : "latest";
1009
+ var VERSION = true ? "9.0.0-beta.9" : "latest";
1012
1010
  var id = "cartoRasterTile";
1013
1011
  var DEFAULT_OPTIONS = {
1014
1012
  cartoRasterTile: {
@@ -1031,14 +1029,13 @@
1031
1029
  function parseCartoRasterTile(arrayBuffer, options) {
1032
1030
  if (!arrayBuffer)
1033
1031
  return null;
1034
- const tile = parsePbf(arrayBuffer, TileReader);
1035
- const { bands, blockHeight, blockWidth } = tile;
1032
+ const { bands, blockSize } = parsePbf(arrayBuffer, TileReader);
1036
1033
  const numericProps = {};
1037
1034
  for (let i = 0; i < bands.length; i++) {
1038
1035
  const { name, data } = bands[i];
1039
1036
  numericProps[name] = data;
1040
1037
  }
1041
- return { blockWidth, blockHeight, cells: { numericProps, properties: [] } };
1038
+ return { blockSize, cells: { numericProps, properties: [] } };
1042
1039
  }
1043
1040
  var carto_raster_tile_loader_default = CartoRasterTileLoader;
1044
1041
 
@@ -1395,7 +1395,7 @@
1395
1395
  }
1396
1396
 
1397
1397
  // src/layers/schema/carto-spatial-tile-loader.ts
1398
- var VERSION = true ? "9.0.0-beta.8" : "latest";
1398
+ var VERSION = true ? "9.0.0-beta.9" : "latest";
1399
1399
  var id = "cartoSpatialTile";
1400
1400
  var DEFAULT_OPTIONS = {
1401
1401
  cartoSpatialTile: {
@@ -1623,7 +1623,7 @@
1623
1623
  }
1624
1624
 
1625
1625
  // src/layers/schema/carto-vector-tile-loader.ts
1626
- var VERSION = true ? "9.0.0-beta.8" : "latest";
1626
+ var VERSION = true ? "9.0.0-beta.9" : "latest";
1627
1627
  var id = "cartoVectorTile";
1628
1628
  var DEFAULT_OPTIONS = {
1629
1629
  cartoVectorTile: {
@@ -0,0 +1,5 @@
1
+ export declare const DEFAULT_TILE_SIZE = 512;
2
+ export declare const DEFAULT_TILE_RESOLUTION = 0.5;
3
+ export declare const DEFAULT_AGGREGATION_RES_LEVEL_H3 = 4;
4
+ export declare const DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN = 6;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,qCAAqC,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const DEFAULT_TILE_SIZE = 512;
2
+ export const DEFAULT_TILE_RESOLUTION = 0.5;
3
+ export const DEFAULT_AGGREGATION_RES_LEVEL_H3 = 4;
4
+ export const DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN = 6;
package/dist/dist.dev.js CHANGED
@@ -9267,14 +9267,12 @@ var __exports__ = (() => {
9267
9267
  };
9268
9268
  var TileReader = class {
9269
9269
  static read(pbf, end) {
9270
- return pbf.readFields(TileReader._readField, { blockWidth: 0, blockHeight: 0, bands: [] }, end);
9270
+ return pbf.readFields(TileReader._readField, { blockSize: 0, bands: [] }, end);
9271
9271
  }
9272
9272
  static _readField(tag, obj, pbf) {
9273
9273
  if (tag === 1)
9274
- obj.blockWidth = pbf.readVarint();
9274
+ obj.blockSize = pbf.readVarint();
9275
9275
  else if (tag === 2)
9276
- obj.blockHeight = pbf.readVarint();
9277
- else if (tag === 3)
9278
9276
  obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
9279
9277
  }
9280
9278
  };
@@ -9322,7 +9320,11 @@ var __exports__ = (() => {
9322
9320
  }
9323
9321
  return unknown;
9324
9322
  };
9325
- scale.copy = () => scaleIdentity().unknown(unknown);
9323
+ scale.copy = () => {
9324
+ const scaleCopy = scaleIdentity();
9325
+ scaleCopy.unknown(unknown);
9326
+ return scaleCopy;
9327
+ };
9326
9328
  return scale;
9327
9329
  }
9328
9330
 
@@ -9350,14 +9352,13 @@ var __exports__ = (() => {
9350
9352
  function parseCartoRasterTile(arrayBuffer, options) {
9351
9353
  if (!arrayBuffer)
9352
9354
  return null;
9353
- const tile = parsePbf(arrayBuffer, TileReader);
9354
- const { bands, blockHeight, blockWidth } = tile;
9355
+ const { bands, blockSize } = parsePbf(arrayBuffer, TileReader);
9355
9356
  const numericProps = {};
9356
9357
  for (let i = 0; i < bands.length; i++) {
9357
9358
  const { name, data } = bands[i];
9358
9359
  numericProps[name] = data;
9359
9360
  }
9360
- return { blockWidth, blockHeight, cells: { numericProps, properties: [] } };
9361
+ return { blockSize, cells: { numericProps, properties: [] } };
9361
9362
  }
9362
9363
  var carto_raster_tile_loader_default = CartoRasterTileLoader;
9363
9364
 
@@ -9710,11 +9711,21 @@ var __exports__ = (() => {
9710
9711
 
9711
9712
  // src/layers/spatial-index-tile-layer.ts
9712
9713
  var import_geo_layers2 = __toESM(require_geo_layers(), 1);
9714
+
9715
+ // src/constants.ts
9716
+ var DEFAULT_TILE_SIZE = 512;
9717
+ var DEFAULT_TILE_RESOLUTION = 0.5;
9718
+ var DEFAULT_AGGREGATION_RES_LEVEL_H3 = 4;
9719
+ var DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN = 6;
9720
+
9721
+ // src/layers/spatial-index-tile-layer.ts
9713
9722
  (0, import_core2.registerLoaders)([carto_raster_tile_loader_default, carto_spatial_tile_loader_default]);
9714
9723
  function isFeatureIdDefined(value) {
9715
9724
  return value !== void 0 && value !== null && value !== "";
9716
9725
  }
9717
- var defaultProps = {};
9726
+ var defaultProps = {
9727
+ tileSize: DEFAULT_TILE_SIZE
9728
+ };
9718
9729
  var SpatialIndexTileLayer = class extends import_geo_layers2.TileLayer {
9719
9730
  _updateAutoHighlight(info) {
9720
9731
  const { hoveredFeatureId } = this.state;
@@ -9843,7 +9854,8 @@ var __exports__ = (() => {
9843
9854
  });
9844
9855
  };
9845
9856
  var defaultProps2 = {
9846
- data: TilejsonPropType
9857
+ data: TilejsonPropType,
9858
+ tileSize: DEFAULT_TILE_SIZE
9847
9859
  };
9848
9860
  var H3TileLayer = class extends import_core5.CompositeLayer {
9849
9861
  initializeState() {
@@ -10154,7 +10166,8 @@ var __exports__ = (() => {
10154
10166
  });
10155
10167
  };
10156
10168
  var defaultProps5 = {
10157
- data: TilejsonPropType
10169
+ data: TilejsonPropType,
10170
+ tileSize: DEFAULT_TILE_SIZE
10158
10171
  };
10159
10172
  var QuadbinTileLayer = class extends import_core7.CompositeLayer {
10160
10173
  getLoadOptions() {
@@ -10306,7 +10319,7 @@ void main(void) {
10306
10319
  getShaders() {
10307
10320
  const shaders = super.getShaders();
10308
10321
  const data = this.props.data;
10309
- const BLOCK_WIDTH = data.blockWidth || Math.sqrt(data.length);
10322
+ const BLOCK_WIDTH = data.data.blockSize ?? Math.sqrt(data.length);
10310
10323
  return { ...shaders, defines: { ...shaders.defines, BLOCK_WIDTH }, vs: raster_layer_vertex_glsl_default };
10311
10324
  }
10312
10325
  initializeState() {
@@ -10348,13 +10361,9 @@ void main(void) {
10348
10361
  } = this.props;
10349
10362
  if (!data || !tileIndex)
10350
10363
  return null;
10351
- const { blockWidth, blockHeight } = data;
10352
- assert(
10353
- blockWidth === blockHeight,
10354
- `blockWidth (${blockWidth}) must equal blockHeight (${blockHeight})`
10355
- );
10364
+ const blockSize = data.blockSize ?? 0;
10356
10365
  const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
10357
- const offset = [xOffset, yOffset, scale / blockWidth];
10366
+ const offset = [xOffset, yOffset, scale / blockSize];
10358
10367
  const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
10359
10368
  return new CellLayer(
10360
10369
  this.props,
@@ -10369,7 +10378,7 @@ void main(void) {
10369
10378
  {
10370
10379
  data: {
10371
10380
  data,
10372
- length: blockWidth * blockHeight
10381
+ length: blockSize * blockSize
10373
10382
  },
10374
10383
  offset
10375
10384
  }
@@ -10398,7 +10407,8 @@ void main(void) {
10398
10407
  return new RasterLayer(props, { tileIndex });
10399
10408
  };
10400
10409
  var defaultProps7 = {
10401
- data: TilejsonPropType
10410
+ data: TilejsonPropType,
10411
+ tileSize: DEFAULT_TILE_SIZE
10402
10412
  };
10403
10413
  var RasterTileLayer = class extends import_core9.CompositeLayer {
10404
10414
  getLoadOptions() {
@@ -10701,7 +10711,8 @@ void main(void) {
10701
10711
  var defaultProps8 = {
10702
10712
  ...import_geo_layers6.MVTLayer.defaultProps,
10703
10713
  data: TilejsonPropType,
10704
- dataComparator: TilejsonPropType.equal
10714
+ dataComparator: TilejsonPropType.equal,
10715
+ tileSize: DEFAULT_TILE_SIZE
10705
10716
  };
10706
10717
  var VectorTileLayer = class extends import_geo_layers6.MVTLayer {
10707
10718
  constructor(...propObjects) {
@@ -12838,7 +12849,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12838
12849
  // src/api/common.ts
12839
12850
  var DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
12840
12851
  var DEFAULT_CLIENT = "deck-gl-carto";
12841
- var V3_MINOR_VERSION = "3.3";
12852
+ var V3_MINOR_VERSION = "3.4";
12842
12853
  var MAX_GET_LENGTH = 8192;
12843
12854
  var DEFAULT_PARAMETERS = {
12844
12855
  v: V3_MINOR_VERSION
@@ -12899,16 +12910,17 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12899
12910
  headers: customHeaders,
12900
12911
  errorContext
12901
12912
  }) {
12902
- const key = JSON.stringify({ baseUrl: baseUrl2, parameters, customHeaders });
12913
+ const key = createCacheKey(baseUrl2, parameters || {}, customHeaders || {});
12903
12914
  if (REQUEST_CACHE.has(key)) {
12904
12915
  return REQUEST_CACHE.get(key);
12905
12916
  }
12906
12917
  let url = baseUrl2;
12907
12918
  if (parameters) {
12908
- const allParameters = { ...DEFAULT_PARAMETERS, ...parameters };
12909
- const encodedParameters = Object.entries(allParameters).map(([key2, value]) => {
12910
- return encodeParameter(key2, value);
12911
- });
12919
+ const encodedParameters = Object.entries({ ...DEFAULT_PARAMETERS, ...parameters }).map(
12920
+ ([key2, value]) => {
12921
+ return encodeParameter(key2, value);
12922
+ }
12923
+ );
12912
12924
  url += `?${encodedParameters.join("&")}`;
12913
12925
  }
12914
12926
  const headers = { ...DEFAULT_HEADERS, ...customHeaders };
@@ -12938,6 +12950,11 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12938
12950
  throw new CartoAPIError(error, errorContext);
12939
12951
  }
12940
12952
  }
12953
+ function createCacheKey(baseUrl2, parameters, headers) {
12954
+ const parameterEntries = Object.entries(parameters).sort(([a], [b]) => a > b ? 1 : -1);
12955
+ const headerEntries = Object.entries(headers).sort(([a], [b]) => a > b ? 1 : -1);
12956
+ return JSON.stringify({ baseUrl: baseUrl2, parameters: parameterEntries, headers: headerEntries });
12957
+ }
12941
12958
 
12942
12959
  // src/sources/base-source.ts
12943
12960
  var SOURCE_DEFAULTS = {
@@ -13038,7 +13055,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13038
13055
  var h3QuerySource = async function(options) {
13039
13056
  const {
13040
13057
  aggregationExp,
13041
- aggregationResLevel = 4,
13058
+ aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3,
13042
13059
  sqlQuery,
13043
13060
  spatialDataColumn = "h3",
13044
13061
  queryParameters
@@ -13062,8 +13079,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13062
13079
  var h3TableSource = async function(options) {
13063
13080
  const {
13064
13081
  aggregationExp,
13065
- aggregationResLevel = 4,
13066
- columns,
13082
+ aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3,
13067
13083
  spatialDataColumn = "h3",
13068
13084
  tableName
13069
13085
  } = options;
@@ -13076,9 +13092,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13076
13092
  if (aggregationResLevel) {
13077
13093
  urlParameters.aggregationResLevel = String(aggregationResLevel);
13078
13094
  }
13079
- if (columns) {
13080
- urlParameters.columns = columns.join(",");
13081
- }
13082
13095
  return baseSource("table", options, urlParameters);
13083
13096
  };
13084
13097
 
@@ -13100,7 +13113,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13100
13113
  var quadbinQuerySource = async function(options) {
13101
13114
  const {
13102
13115
  aggregationExp,
13103
- aggregationResLevel = 6,
13116
+ aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN,
13104
13117
  sqlQuery,
13105
13118
  spatialDataColumn = "quadbin",
13106
13119
  queryParameters
@@ -13124,8 +13137,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13124
13137
  var quadbinTableSource = async function(options) {
13125
13138
  const {
13126
13139
  aggregationExp,
13127
- aggregationResLevel = 6,
13128
- columns,
13140
+ aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN,
13129
13141
  spatialDataColumn = "quadbin",
13130
13142
  tableName
13131
13143
  } = options;
@@ -13138,9 +13150,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13138
13150
  if (aggregationResLevel) {
13139
13151
  urlParameters.aggregationResLevel = String(aggregationResLevel);
13140
13152
  }
13141
- if (columns) {
13142
- urlParameters.columns = columns.join(",");
13143
- }
13144
13153
  return baseSource("table", options, urlParameters);
13145
13154
  };
13146
13155
 
@@ -13153,8 +13162,20 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13153
13162
 
13154
13163
  // src/sources/vector-query-source.ts
13155
13164
  var vectorQuerySource = async function(options) {
13156
- const { columns, filters, spatialDataColumn = "geom", sqlQuery, queryParameters } = options;
13157
- const urlParameters = { spatialDataColumn, spatialDataType: "geo", q: sqlQuery };
13165
+ const {
13166
+ columns,
13167
+ filters,
13168
+ spatialDataColumn = "geom",
13169
+ sqlQuery,
13170
+ tileResolution = DEFAULT_TILE_RESOLUTION,
13171
+ queryParameters
13172
+ } = options;
13173
+ const urlParameters = {
13174
+ spatialDataColumn,
13175
+ spatialDataType: "geo",
13176
+ tileResolution: tileResolution.toString(),
13177
+ q: sqlQuery
13178
+ };
13158
13179
  if (columns) {
13159
13180
  urlParameters.columns = columns.join(",");
13160
13181
  }
@@ -13169,8 +13190,19 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13169
13190
 
13170
13191
  // src/sources/vector-table-source.ts
13171
13192
  var vectorTableSource = async function(options) {
13172
- const { columns, filters, spatialDataColumn = "geom", tableName } = options;
13173
- const urlParameters = { name: tableName, spatialDataColumn, spatialDataType: "geo" };
13193
+ const {
13194
+ columns,
13195
+ filters,
13196
+ spatialDataColumn = "geom",
13197
+ tableName,
13198
+ tileResolution = DEFAULT_TILE_RESOLUTION
13199
+ } = options;
13200
+ const urlParameters = {
13201
+ name: tableName,
13202
+ spatialDataColumn,
13203
+ spatialDataType: "geo",
13204
+ tileResolution: tileResolution.toString()
13205
+ };
13174
13206
  if (columns) {
13175
13207
  urlParameters.columns = columns.join(",");
13176
13208
  }
@@ -14493,19 +14525,24 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
14493
14525
  if (type === "table") {
14494
14526
  dataset.data = await vectorTableSource({ ...options, columns, tableName: source });
14495
14527
  } else if (type === "query") {
14496
- dataset.data = await vectorQuerySource({ ...options, sqlQuery: source, queryParameters });
14528
+ dataset.data = await vectorQuerySource({
14529
+ ...options,
14530
+ columns,
14531
+ sqlQuery: source,
14532
+ queryParameters
14533
+ });
14497
14534
  }
14498
14535
  } else if (spatialDataType === "h3") {
14499
14536
  const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
14500
14537
  if (type === "table") {
14501
- dataset.data = await h3TableSource({ ...options, columns, tableName: source });
14538
+ dataset.data = await h3TableSource({ ...options, tableName: source });
14502
14539
  } else if (type === "query") {
14503
14540
  dataset.data = await h3QuerySource({ ...options, sqlQuery: source, queryParameters });
14504
14541
  }
14505
14542
  } else if (spatialDataType === "quadbin") {
14506
14543
  const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
14507
14544
  if (type === "table") {
14508
- dataset.data = await quadbinTableSource({ ...options, columns, tableName: source });
14545
+ dataset.data = await quadbinTableSource({ ...options, tableName: source });
14509
14546
  } else if (type === "query") {
14510
14547
  dataset.data = await quadbinQuerySource({ ...options, sqlQuery: source, queryParameters });
14511
14548
  }