@deck.gl/carto 9.1.0-beta.1 → 9.1.0

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 (127) hide show
  1. package/dist/api/basemap.js +1 -0
  2. package/dist/api/basemap.js.map +1 -0
  3. package/dist/api/fetch-map.d.ts.map +1 -1
  4. package/dist/api/fetch-map.js +30 -23
  5. package/dist/api/fetch-map.js.map +1 -0
  6. package/dist/api/index.js +1 -0
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/api/layer-map.js +2 -1
  9. package/dist/api/layer-map.js.map +1 -0
  10. package/dist/api/parse-map.js +1 -0
  11. package/dist/api/parse-map.js.map +1 -0
  12. package/dist/api/types.js +1 -0
  13. package/dist/api/types.js.map +1 -0
  14. package/dist/basemap.js +1 -0
  15. package/dist/basemap.js.map +1 -0
  16. package/dist/cartoRasterTile-worker.js +4492 -6
  17. package/dist/cartoSpatialTile-worker.js +4484 -3
  18. package/dist/cartoVectorTile-worker.js +4484 -3
  19. package/dist/constants.js +1 -0
  20. package/dist/constants.js.map +1 -0
  21. package/dist/dist.dev.js +5321 -529
  22. package/dist/index.cjs +126 -60
  23. package/dist/index.cjs.map +4 -4
  24. package/dist/index.d.ts +18 -19
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +8 -6
  27. package/dist/index.js.map +1 -0
  28. package/dist/layers/cluster-tile-layer.js +1 -0
  29. package/dist/layers/cluster-tile-layer.js.map +1 -0
  30. package/dist/layers/cluster-utils.js +1 -0
  31. package/dist/layers/cluster-utils.js.map +1 -0
  32. package/dist/layers/h3-tile-layer.js +1 -0
  33. package/dist/layers/h3-tile-layer.js.map +1 -0
  34. package/dist/layers/h3-tileset-2d.js +1 -0
  35. package/dist/layers/h3-tileset-2d.js.map +1 -0
  36. package/dist/layers/heatmap-tile-layer.js +1 -0
  37. package/dist/layers/heatmap-tile-layer.js.map +1 -0
  38. package/dist/layers/heatmap.js +1 -0
  39. package/dist/layers/heatmap.js.map +1 -0
  40. package/dist/layers/point-label-layer.js +1 -0
  41. package/dist/layers/point-label-layer.js.map +1 -0
  42. package/dist/layers/post-process-utils.d.ts +14 -9
  43. package/dist/layers/post-process-utils.d.ts.map +1 -1
  44. package/dist/layers/post-process-utils.js +25 -0
  45. package/dist/layers/post-process-utils.js.map +1 -0
  46. package/dist/layers/quadbin-layer.js +1 -0
  47. package/dist/layers/quadbin-layer.js.map +1 -0
  48. package/dist/layers/quadbin-tile-layer.js +1 -0
  49. package/dist/layers/quadbin-tile-layer.js.map +1 -0
  50. package/dist/layers/quadbin-tileset-2d.js +1 -0
  51. package/dist/layers/quadbin-tileset-2d.js.map +1 -0
  52. package/dist/layers/quadbin-utils.js +1 -0
  53. package/dist/layers/quadbin-utils.js.map +1 -0
  54. package/dist/layers/raster-layer-vertex.glsl.d.ts +1 -1
  55. package/dist/layers/raster-layer-vertex.glsl.d.ts.map +1 -1
  56. package/dist/layers/raster-layer-vertex.glsl.js +8 -7
  57. package/dist/layers/raster-layer-vertex.glsl.js.map +1 -0
  58. package/dist/layers/raster-layer.d.ts.map +1 -1
  59. package/dist/layers/raster-layer.js +15 -2
  60. package/dist/layers/raster-layer.js.map +1 -0
  61. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  62. package/dist/layers/raster-tile-layer.js +18 -3
  63. package/dist/layers/raster-tile-layer.js.map +1 -0
  64. package/dist/layers/schema/carto-properties-tile-loader.js +2 -1
  65. package/dist/layers/schema/carto-properties-tile-loader.js.map +1 -0
  66. package/dist/layers/schema/carto-properties-tile.js +1 -0
  67. package/dist/layers/schema/carto-properties-tile.js.map +1 -0
  68. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  69. package/dist/layers/schema/carto-raster-tile-loader.js +9 -3
  70. package/dist/layers/schema/carto-raster-tile-loader.js.map +1 -0
  71. package/dist/layers/schema/carto-raster-tile.d.ts +1 -0
  72. package/dist/layers/schema/carto-raster-tile.d.ts.map +1 -1
  73. package/dist/layers/schema/carto-raster-tile.js +3 -1
  74. package/dist/layers/schema/carto-raster-tile.js.map +1 -0
  75. package/dist/layers/schema/carto-spatial-tile-loader.js +2 -1
  76. package/dist/layers/schema/carto-spatial-tile-loader.js.map +1 -0
  77. package/dist/layers/schema/carto-spatial-tile.js +1 -0
  78. package/dist/layers/schema/carto-spatial-tile.js.map +1 -0
  79. package/dist/layers/schema/carto-tile.js +1 -0
  80. package/dist/layers/schema/carto-tile.js.map +1 -0
  81. package/dist/layers/schema/carto-vector-tile-loader.js +2 -1
  82. package/dist/layers/schema/carto-vector-tile-loader.js.map +1 -0
  83. package/dist/layers/schema/fast-pbf.d.ts +5 -1
  84. package/dist/layers/schema/fast-pbf.d.ts.map +1 -1
  85. package/dist/layers/schema/fast-pbf.js +12 -2
  86. package/dist/layers/schema/fast-pbf.js.map +1 -0
  87. package/dist/layers/schema/spatialjson-utils.js +1 -0
  88. package/dist/layers/schema/spatialjson-utils.js.map +1 -0
  89. package/dist/layers/schema/tile-loader-utils.js +1 -0
  90. package/dist/layers/schema/tile-loader-utils.js.map +1 -0
  91. package/dist/layers/spatial-index-tile-layer.js +1 -0
  92. package/dist/layers/spatial-index-tile-layer.js.map +1 -0
  93. package/dist/layers/utils.js +1 -0
  94. package/dist/layers/utils.js.map +1 -0
  95. package/dist/layers/vector-tile-layer.js +1 -0
  96. package/dist/layers/vector-tile-layer.js.map +1 -0
  97. package/dist/style/color-bins-style.js +1 -0
  98. package/dist/style/color-bins-style.js.map +1 -0
  99. package/dist/style/color-categories-style.js +1 -0
  100. package/dist/style/color-categories-style.js.map +1 -0
  101. package/dist/style/color-continuous-style.js +1 -0
  102. package/dist/style/color-continuous-style.js.map +1 -0
  103. package/dist/style/palette.js +1 -0
  104. package/dist/style/palette.js.map +1 -0
  105. package/dist/style/utils.js +1 -0
  106. package/dist/style/utils.js.map +1 -0
  107. package/dist/utils.js +1 -0
  108. package/dist/utils.js.map +1 -0
  109. package/dist/workers/cartoRasterTile.js +1 -0
  110. package/dist/workers/cartoRasterTile.js.map +1 -0
  111. package/dist/workers/cartoSpatialTile.js +1 -0
  112. package/dist/workers/cartoSpatialTile.js.map +1 -0
  113. package/dist/workers/cartoVectorTile.js +1 -0
  114. package/dist/workers/cartoVectorTile.js.map +1 -0
  115. package/dist.min.js +22 -19
  116. package/package.json +11 -11
  117. package/src/api/fetch-map.ts +42 -55
  118. package/src/api/layer-map.ts +1 -1
  119. package/src/index.ts +12 -9
  120. package/src/layers/post-process-utils.ts +30 -1
  121. package/src/layers/raster-layer-vertex.glsl.ts +10 -8
  122. package/src/layers/raster-layer.ts +15 -2
  123. package/src/layers/raster-tile-layer.ts +26 -4
  124. package/src/layers/schema/carto-properties-tile-loader.ts +1 -1
  125. package/src/layers/schema/carto-raster-tile-loader.ts +9 -2
  126. package/src/layers/schema/carto-raster-tile.ts +3 -1
  127. package/src/layers/schema/fast-pbf.ts +17 -2
package/dist/index.cjs CHANGED
@@ -33,15 +33,16 @@ __export(dist_exports, {
33
33
  BASEMAP: () => basemap_default,
34
34
  CARTO_LAYERS: () => CARTO_LAYERS,
35
35
  CARTO_SOURCES: () => CARTO_SOURCES,
36
+ CartoAPIError: () => import_api_client4.CartoAPIError,
36
37
  ClusterTileLayer: () => cluster_tile_layer_default,
37
38
  H3TileLayer: () => h3_tile_layer_default,
38
39
  HeatmapTileLayer: () => heatmap_tile_layer_default,
40
+ PointLabelLayer: () => point_label_layer_default,
39
41
  QuadbinTileLayer: () => quadbin_tile_layer_default,
40
42
  RasterTileLayer: () => raster_tile_layer_default,
41
- SOURCE_DEFAULTS: () => import_api_client3.SOURCE_DEFAULTS,
43
+ SOURCE_DEFAULTS: () => import_api_client4.SOURCE_DEFAULTS,
42
44
  VectorTileLayer: () => vector_tile_layer_default,
43
45
  _GOOGLE_BASEMAPS: () => GOOGLE_BASEMAPS,
44
- _PointLabelLayer: () => point_label_layer_default,
45
46
  _QuadbinLayer: () => quadbin_layer_default,
46
47
  _RasterLayer: () => raster_layer_default,
47
48
  _STYLE_LAYER_GROUPS: () => STYLE_LAYER_GROUPS,
@@ -49,23 +50,24 @@ __export(dist_exports, {
49
50
  _applyLayerGroupFilters: () => applyLayerGroupFilters,
50
51
  _fetchStyle: () => fetchStyle,
51
52
  _getStyleUrl: () => getStyleUrl,
52
- boundaryQuerySource: () => import_api_client3.boundaryQuerySource,
53
- boundaryTableSource: () => import_api_client3.boundaryTableSource,
53
+ boundaryQuerySource: () => import_api_client4.boundaryQuerySource,
54
+ boundaryTableSource: () => import_api_client4.boundaryTableSource,
54
55
  colorBins: () => colorBins,
55
56
  colorCategories: () => colorCategories,
56
57
  colorContinuous: () => colorContinuous,
57
58
  fetchBasemapProps: () => fetchBasemapProps,
58
59
  fetchMap: () => fetchMap,
59
- h3QuerySource: () => import_api_client3.h3QuerySource,
60
- h3TableSource: () => import_api_client3.h3TableSource,
61
- h3TilesetSource: () => import_api_client3.h3TilesetSource,
62
- quadbinQuerySource: () => import_api_client3.quadbinQuerySource,
63
- quadbinTableSource: () => import_api_client3.quadbinTableSource,
64
- quadbinTilesetSource: () => import_api_client3.quadbinTilesetSource,
65
- rasterSource: () => import_api_client3.rasterSource,
66
- vectorQuerySource: () => import_api_client3.vectorQuerySource,
67
- vectorTableSource: () => import_api_client3.vectorTableSource,
68
- vectorTilesetSource: () => import_api_client3.vectorTilesetSource
60
+ h3QuerySource: () => import_api_client4.h3QuerySource,
61
+ h3TableSource: () => import_api_client4.h3TableSource,
62
+ h3TilesetSource: () => import_api_client4.h3TilesetSource,
63
+ quadbinQuerySource: () => import_api_client4.quadbinQuerySource,
64
+ quadbinTableSource: () => import_api_client4.quadbinTableSource,
65
+ quadbinTilesetSource: () => import_api_client4.quadbinTilesetSource,
66
+ query: () => import_api_client4.query,
67
+ rasterSource: () => import_api_client4.rasterSource,
68
+ vectorQuerySource: () => import_api_client4.vectorQuerySource,
69
+ vectorTableSource: () => import_api_client4.vectorTableSource,
70
+ vectorTilesetSource: () => import_api_client4.vectorTilesetSource
69
71
  });
70
72
  module.exports = __toCommonJS(dist_exports);
71
73
 
@@ -251,9 +253,17 @@ function getQuadbinPolygon(quadbin, coverage = 1) {
251
253
  }
252
254
 
253
255
  // dist/layers/schema/fast-pbf.js
254
- function readPackedTypedArray(TypedArray, pbf, obj) {
256
+ var import_compression = require("@loaders.gl/compression");
257
+ function readPackedTypedArray(TypedArray, pbf, obj, options) {
255
258
  const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
256
- obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
259
+ const data = pbf.buf.buffer.slice(pbf.pos, end);
260
+ if ((options == null ? void 0 : options.compression) === "gzip") {
261
+ const compression = new import_compression.GZipCompression();
262
+ const decompressedData = compression.decompressSync(data);
263
+ obj.value = new TypedArray(decompressedData);
264
+ } else {
265
+ obj.value = new TypedArray(data);
266
+ }
257
267
  pbf.pos = end;
258
268
  return obj.value;
259
269
  }
@@ -553,7 +563,7 @@ function binaryToSpatialjson(binary) {
553
563
  }
554
564
 
555
565
  // dist/layers/schema/carto-spatial-tile-loader.js
556
- var VERSION = true ? "9.1.0-beta.1" : "latest";
566
+ var VERSION = true ? "9.1.0" : "latest";
557
567
  var id = "cartoSpatialTile";
558
568
  var DEFAULT_OPTIONS = {
559
569
  cartoSpatialTile: {
@@ -914,7 +924,8 @@ var BandReader = class {
914
924
  throw Error(`Invalid data type: ${obj.type}`);
915
925
  }
916
926
  obj.data = {};
917
- readPackedTypedArray(TypedArray, pbf, obj.data);
927
+ const { compression } = TileReader3;
928
+ readPackedTypedArray(TypedArray, pbf, obj.data, { compression });
918
929
  }
919
930
  }
920
931
  };
@@ -931,10 +942,11 @@ var TileReader3 = class {
931
942
  };
932
943
 
933
944
  // dist/layers/schema/carto-raster-tile-loader.js
934
- var VERSION2 = true ? "9.1.0-beta.1" : "latest";
945
+ var VERSION2 = true ? "9.1.0" : "latest";
935
946
  var id2 = "cartoRasterTile";
936
947
  var DEFAULT_OPTIONS2 = {
937
948
  cartoRasterTile: {
949
+ metadata: null,
938
950
  workerUrl: getWorkerUrl(id2, VERSION2)
939
951
  }
940
952
  };
@@ -952,9 +964,13 @@ var CartoRasterTileLoader = {
952
964
  options: DEFAULT_OPTIONS2
953
965
  };
954
966
  function parseCartoRasterTile(arrayBuffer, options) {
955
- if (!arrayBuffer)
967
+ var _a;
968
+ const metadata = (_a = options == null ? void 0 : options.cartoRasterTile) == null ? void 0 : _a.metadata;
969
+ if (!arrayBuffer || !metadata)
956
970
  return null;
957
- const { bands, blockSize } = parsePbf(arrayBuffer, TileReader3);
971
+ TileReader3.compression = metadata.compression;
972
+ const out = parsePbf(arrayBuffer, TileReader3);
973
+ const { bands, blockSize } = out;
958
974
  const numericProps = {};
959
975
  for (let i = 0; i < bands.length; i++) {
960
976
  const { name, data } = bands[i];
@@ -1249,7 +1265,8 @@ function RTTModifier(BaseLayer) {
1249
1265
  postProcessLayer.disableRTT();
1250
1266
  }
1251
1267
  }
1252
- }, _a.layerName = `RTT-${BaseLayer.layerName}`, _a;
1268
+ }, // @ts-expect-error typescript doesn't see static property
1269
+ _a.layerName = `RTT-${BaseLayer.layerName}`, _a;
1253
1270
  }
1254
1271
  function PostProcessModifier(BaseLayer, effect) {
1255
1272
  var _a;
@@ -1320,8 +1337,28 @@ function PostProcessModifier(BaseLayer, effect) {
1320
1337
  });
1321
1338
  this.internalState.renderInProgress = false;
1322
1339
  }
1340
+ _finalize() {
1341
+ this.internalState.renderBuffers.forEach((fbo) => {
1342
+ fbo.destroy();
1343
+ });
1344
+ this.internalState.renderBuffers = null;
1345
+ this.internalState.postProcess.cleanup();
1346
+ }
1323
1347
  }, _a.layerName = `PostProcess${BaseLayer.layerName}`, _a;
1324
1348
  }
1349
+ var fs2 = (
1350
+ /* glsl */
1351
+ `vec4 copy_filterColor_ext(vec4 color, vec2 texSize, vec2 texCoord) {
1352
+ return color;
1353
+ }
1354
+ `
1355
+ );
1356
+ var copy = {
1357
+ name: "copy",
1358
+ fs: fs2,
1359
+ getUniforms: () => ({}),
1360
+ passes: [{ filter: true }]
1361
+ };
1325
1362
 
1326
1363
  // dist/layers/quadbin-tile-layer.js
1327
1364
  var import_core10 = require("@deck.gl/core");
@@ -1770,15 +1807,15 @@ out vec4 vColor;
1770
1807
  out vec4 position_commonspace;
1771
1808
  #endif
1772
1809
  void main(void) {
1773
- vec2 common_position = column.offset.xy;
1810
+ vec2 tileOrigin = column.offset.xy;
1774
1811
  float scale = column.widthScale;
1775
1812
  int yIndex = - (gl_InstanceID / BLOCK_WIDTH);
1776
1813
  int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);
1777
- common_position += scale * vec2(float(xIndex), float(yIndex - 1));
1814
+ vec2 cellCenter = scale * vec2(float(xIndex) + 0.5, float(yIndex) - 0.5);
1778
1815
  vec4 color = column.isStroke ? instanceLineColors : instanceFillColors;
1779
1816
  float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);
1780
1817
  float cellWidth = column.coverage * scale;
1781
- geometry.position = vec4(common_position, 0.0, 1.0);
1818
+ geometry.position = vec4(tileOrigin + cellCenter, 0.0, 1.0);
1782
1819
  if (project.projectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {
1783
1820
  geometry.position.xyz -= project.commonOrigin;
1784
1821
  }
@@ -1795,10 +1832,10 @@ strokeOffsetRatio -= halfOffset;
1795
1832
  }
1796
1833
  }
1797
1834
  geometry.pickingColor = instancePickingColors;
1798
- vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;
1799
- vec3 pos = vec3(offset, project_size(elevation));
1800
- DECKGL_FILTER_SIZE(pos, geometry);
1801
- geometry.position.xyz += pos;
1835
+ vec2 base = positions.xy * scale * strokeOffsetRatio * column.coverage * shouldRender;
1836
+ vec3 cell = vec3(base, project_size(elevation));
1837
+ DECKGL_FILTER_SIZE(cell, geometry);
1838
+ geometry.position.xyz += cell;
1802
1839
  gl_Position = project_common_position_to_clipspace(geometry.position);
1803
1840
  geometry.normal = project_normal(normals);
1804
1841
  DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
@@ -1829,7 +1866,7 @@ var defaultProps8 = {
1829
1866
  [-0.5, 0.5]
1830
1867
  ]
1831
1868
  };
1832
- var RasterColumnLayer = class extends import_layers4.ColumnLayer {
1869
+ var RasterColumnLayer = class extends RTTModifier(import_layers4.ColumnLayer) {
1833
1870
  getShaders() {
1834
1871
  const shaders = super.getShaders();
1835
1872
  const data = this.props.data;
@@ -1894,7 +1931,17 @@ var RasterLayer = class extends import_core13.CompositeLayer {
1894
1931
  lineWidthScale,
1895
1932
  // Re-use widthScale prop to pass cell scale,
1896
1933
  highlightedObjectIndex,
1897
- highlightColor
1934
+ highlightColor,
1935
+ // RTT requires blending otherwise opacity < 1 blends with black
1936
+ // render target
1937
+ parameters: {
1938
+ blendColorSrcFactor: "one",
1939
+ blendAlphaSrcFactor: "one",
1940
+ blendColorDstFactor: "zero",
1941
+ blendAlphaDstFactor: "zero",
1942
+ blendColorOperation: "add",
1943
+ blendAlphaOperation: "add"
1944
+ }
1898
1945
  });
1899
1946
  }
1900
1947
  getSubLayerAccessor(accessor) {
@@ -1951,8 +1998,17 @@ var renderSubLayers3 = (props) => {
1951
1998
  };
1952
1999
  var defaultProps9 = {
1953
2000
  data: TilejsonPropType,
2001
+ refinementStrategy: "no-overlap",
1954
2002
  tileSize: DEFAULT_TILE_SIZE
1955
2003
  };
2004
+ var PostProcessTileLayer = class extends PostProcessModifier(import_geo_layers7.TileLayer, copy) {
2005
+ filterSubLayer(context) {
2006
+ const { tile } = context.layer.props;
2007
+ if (!tile)
2008
+ return true;
2009
+ return super.filterSubLayer(context);
2010
+ }
2011
+ };
1956
2012
  var RasterTileLayer = class extends import_core14.CompositeLayer {
1957
2013
  getLoadOptions() {
1958
2014
  const loadOptions = super.getLoadOptions() || {};
@@ -1964,8 +2020,8 @@ var RasterTileLayer = class extends import_core14.CompositeLayer {
1964
2020
  const tileJSON = this.props.data;
1965
2021
  if (!tileJSON)
1966
2022
  return null;
1967
- const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
1968
- const SubLayerClass = this.getSubLayerClass("tile", import_geo_layers7.TileLayer);
2023
+ const { tiles: data, minzoom: minZoom, maxzoom: maxZoom, raster_metadata: metadata } = tileJSON;
2024
+ const SubLayerClass = this.getSubLayerClass("tile", PostProcessTileLayer);
1969
2025
  return new SubLayerClass(this.props, {
1970
2026
  id: `raster-tile-layer-${this.props.id}`,
1971
2027
  data,
@@ -1974,7 +2030,10 @@ var RasterTileLayer = class extends import_core14.CompositeLayer {
1974
2030
  renderSubLayers: renderSubLayers3,
1975
2031
  minZoom,
1976
2032
  maxZoom,
1977
- loadOptions: this.getLoadOptions()
2033
+ loadOptions: {
2034
+ cartoRasterTile: { metadata },
2035
+ ...this.getLoadOptions()
2036
+ }
1978
2037
  });
1979
2038
  }
1980
2039
  };
@@ -2009,7 +2068,7 @@ var CartoPropertiesTileLoader = {
2009
2068
  extensions: ["pbf"],
2010
2069
  mimeTypes: ["application/vnd.carto-properties-tile"],
2011
2070
  category: "geometry",
2012
- worker: false,
2071
+ worker: true,
2013
2072
  parse: async (arrayBuffer, options) => parseCartoPropertiesTile(arrayBuffer, options),
2014
2073
  parseSync: parseCartoPropertiesTile,
2015
2074
  options: {}
@@ -2023,7 +2082,7 @@ var carto_properties_tile_loader_default = CartoPropertiesTileLoader;
2023
2082
 
2024
2083
  // dist/layers/schema/carto-vector-tile-loader.js
2025
2084
  var import_earcut = __toESM(require("earcut"), 1);
2026
- var VERSION3 = true ? "9.1.0-beta.1" : "latest";
2085
+ var VERSION3 = true ? "9.1.0" : "latest";
2027
2086
  var id3 = "cartoVectorTile";
2028
2087
  var DEFAULT_OPTIONS3 = {
2029
2088
  cartoVectorTile: {
@@ -2532,7 +2591,7 @@ function getLayer(type, config, dataset) {
2532
2591
  Layer: import_layers6.GeoJsonLayer,
2533
2592
  propMap: {
2534
2593
  columns: {
2535
- altitude: (x) => ({ parameters: { depthTest: Boolean(x) } })
2594
+ altitude: (x) => ({ parameters: { depthWriteEnabled: Boolean(x) } })
2536
2595
  },
2537
2596
  visConfig: { outline: "stroked" }
2538
2597
  }
@@ -3098,18 +3157,14 @@ async function fetchBasemapProps({ config, errorContext, applyLayerFilters = tru
3098
3157
  }
3099
3158
 
3100
3159
  // dist/api/fetch-map.js
3101
- async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, headers, maxLengthURL = import_api_client2.SOURCE_DEFAULTS.maxLengthURL) {
3160
+ async function _fetchMapDataset(dataset, context) {
3102
3161
  const { aggregationExp, aggregationResLevel, connectionName, columns, format, geoColumn, source, type, queryParameters } = dataset;
3103
3162
  const cache = {};
3104
3163
  const globalOptions = {
3105
- accessToken,
3106
- apiBaseUrl,
3164
+ ...context,
3107
3165
  cache,
3108
- clientId,
3109
3166
  connectionName,
3110
- format,
3111
- headers,
3112
- maxLengthURL
3167
+ format
3113
3168
  };
3114
3169
  if (type === "tileset") {
3115
3170
  dataset.data = await (0, import_api_client2.vectorTilesetSource)({ ...globalOptions, tableName: source });
@@ -3150,8 +3205,9 @@ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, head
3150
3205
  }
3151
3206
  return cacheChanged;
3152
3207
  }
3153
- async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl, maxLengthURL = import_api_client2.SOURCE_DEFAULTS.maxLengthURL) {
3208
+ async function _fetchTilestats(attribute, dataset, context) {
3154
3209
  const { connectionName, data, id: id4, source, type, queryParameters } = dataset;
3210
+ const { apiBaseUrl } = context;
3155
3211
  const errorContext = {
3156
3212
  requestType: "Tile stats",
3157
3213
  connection: connectionName,
@@ -3163,7 +3219,7 @@ async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl, maxL
3163
3219
  }
3164
3220
  const baseUrl = (0, import_api_client2.buildStatsUrl)({ attribute, apiBaseUrl, ...dataset });
3165
3221
  const client = new URLSearchParams(data.tiles[0]).get("client");
3166
- const headers = { Authorization: `Bearer ${accessToken}` };
3222
+ const headers = { Authorization: `Bearer ${context.accessToken}` };
3167
3223
  const parameters = {};
3168
3224
  if (client) {
3169
3225
  parameters.client = client;
@@ -3179,18 +3235,18 @@ async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl, maxL
3179
3235
  headers,
3180
3236
  parameters,
3181
3237
  errorContext,
3182
- maxLengthURL
3238
+ maxLengthURL: context.maxLengthURL
3183
3239
  });
3184
3240
  const { attributes } = data.tilestats.layers[0];
3185
3241
  const index = attributes.findIndex((d) => d.attribute === attribute);
3186
3242
  attributes[index] = stats;
3187
3243
  return true;
3188
3244
  }
3189
- async function fillInMapDatasets({ datasets, token }, clientId, apiBaseUrl, headers, maxLengthURL = import_api_client2.SOURCE_DEFAULTS.maxLengthURL) {
3190
- const promises = datasets.map((dataset) => _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers, maxLengthURL));
3245
+ async function fillInMapDatasets({ datasets }, context) {
3246
+ const promises = datasets.map((dataset) => _fetchMapDataset(dataset, context));
3191
3247
  return await Promise.all(promises);
3192
3248
  }
3193
- async function fillInTileStats({ datasets, keplerMapConfig, token }, apiBaseUrl, maxLengthURL = import_api_client2.SOURCE_DEFAULTS.maxLengthURL) {
3249
+ async function fillInTileStats({ datasets, keplerMapConfig }, context) {
3194
3250
  var _a;
3195
3251
  const attributes = [];
3196
3252
  const { layers } = keplerMapConfig.config.visState;
@@ -3211,12 +3267,11 @@ async function fillInTileStats({ datasets, keplerMapConfig, token }, apiBaseUrl,
3211
3267
  filteredAttributes.push(a);
3212
3268
  }
3213
3269
  }
3214
- const promises = filteredAttributes.map(({ attribute, dataset }) => _fetchTilestats(attribute, dataset, token, apiBaseUrl, maxLengthURL));
3270
+ const promises = filteredAttributes.map(({ attribute, dataset }) => _fetchTilestats(attribute, dataset, context));
3215
3271
  return await Promise.all(promises);
3216
3272
  }
3217
- async function fetchMap({ accessToken, apiBaseUrl = import_api_client2.SOURCE_DEFAULTS.apiBaseUrl, cartoMapId, clientId = import_api_client2.SOURCE_DEFAULTS.clientId, headers = {}, autoRefresh, onNewData, maxLengthURL = import_api_client2.SOURCE_DEFAULTS.maxLengthURL }) {
3273
+ async function fetchMap({ accessToken, apiBaseUrl = import_api_client2.DEFAULT_API_BASE_URL, cartoMapId, clientId, headers, autoRefresh, onNewData, maxLengthURL }) {
3218
3274
  assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
3219
- assert(apiBaseUrl, "Must define apiBaseUrl");
3220
3275
  if (accessToken) {
3221
3276
  headers = { Authorization: `Bearer ${accessToken}`, ...headers };
3222
3277
  }
@@ -3228,13 +3283,23 @@ async function fetchMap({ accessToken, apiBaseUrl = import_api_client2.SOURCE_DE
3228
3283
  const baseUrl = (0, import_api_client2.buildPublicMapUrl)({ apiBaseUrl, cartoMapId });
3229
3284
  const errorContext = { requestType: "Public map", mapId: cartoMapId };
3230
3285
  const map = await (0, import_api_client2.requestWithParameters)({ baseUrl, headers, errorContext, maxLengthURL });
3286
+ const context = {
3287
+ accessToken: map.token || accessToken,
3288
+ apiBaseUrl,
3289
+ clientId,
3290
+ headers,
3291
+ maxLengthURL
3292
+ };
3231
3293
  let stopAutoRefresh;
3232
3294
  if (autoRefresh) {
3233
3295
  const intervalId = setInterval(async () => {
3234
- const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, {
3235
- ...headers,
3236
- "If-Modified-Since": new Date().toUTCString()
3237
- }, maxLengthURL);
3296
+ const changed = await fillInMapDatasets(map, {
3297
+ ...context,
3298
+ headers: {
3299
+ ...headers,
3300
+ "If-Modified-Since": new Date().toUTCString()
3301
+ }
3302
+ });
3238
3303
  if (onNewData && changed.some((v) => v === true)) {
3239
3304
  onNewData(parseMap(map));
3240
3305
  }
@@ -3257,9 +3322,9 @@ async function fetchMap({ accessToken, apiBaseUrl = import_api_client2.SOURCE_DE
3257
3322
  const [basemap] = await Promise.all([
3258
3323
  fetchBasemapProps({ config: map.keplerMapConfig.config, errorContext }),
3259
3324
  // Mutates map.datasets so that dataset.data contains data
3260
- fillInMapDatasets(map, clientId, apiBaseUrl, headers, maxLengthURL)
3325
+ fillInMapDatasets(map, context)
3261
3326
  ]);
3262
- await fillInTileStats(map, apiBaseUrl, maxLengthURL);
3327
+ await fillInTileStats(map, context);
3263
3328
  const out = { ...parseMap(map), basemap, ...{ stopAutoRefresh } };
3264
3329
  const textLayers = out.layers.filter((layer) => {
3265
3330
  const pointType = layer.props.pointType || "";
@@ -3274,11 +3339,12 @@ async function fetchMap({ accessToken, apiBaseUrl = import_api_client2.SOURCE_DE
3274
3339
 
3275
3340
  // dist/index.js
3276
3341
  var import_api_client3 = require("@carto/api-client");
3342
+ var import_api_client4 = require("@carto/api-client");
3277
3343
  var CARTO_LAYERS = {
3278
3344
  ClusterTileLayer: cluster_tile_layer_default,
3279
3345
  H3TileLayer: h3_tile_layer_default,
3280
3346
  HeatmapTileLayer: heatmap_tile_layer_default,
3281
- _PointLabelLayer: point_label_layer_default,
3347
+ PointLabelLayer: point_label_layer_default,
3282
3348
  QuadbinTileLayer: quadbin_tile_layer_default,
3283
3349
  RasterTileLayer: raster_tile_layer_default,
3284
3350
  VectorTileLayer: vector_tile_layer_default