@deck.gl/carto 9.0.40 → 9.1.0-beta.3

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 (290) hide show
  1. package/dist/api/basemap.d.ts +2 -1
  2. package/dist/api/basemap.d.ts.map +1 -1
  3. package/dist/api/basemap.js +4 -0
  4. package/dist/api/basemap.js.map +1 -0
  5. package/dist/api/fetch-map.d.ts.map +1 -1
  6. package/dist/api/fetch-map.js +33 -28
  7. package/dist/api/fetch-map.js.map +1 -0
  8. package/dist/api/index.d.ts +1 -4
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/api/index.js +4 -2
  11. package/dist/api/index.js.map +1 -0
  12. package/dist/api/layer-map.d.ts.map +1 -1
  13. package/dist/api/layer-map.js +7 -3
  14. package/dist/api/layer-map.js.map +1 -0
  15. package/dist/api/parse-map.d.ts.map +1 -1
  16. package/dist/api/parse-map.js +4 -0
  17. package/dist/api/parse-map.js.map +1 -0
  18. package/dist/api/types.d.ts +0 -56
  19. package/dist/api/types.d.ts.map +1 -1
  20. package/dist/api/types.js +5 -20
  21. package/dist/api/types.js.map +1 -0
  22. package/dist/basemap.d.ts +2 -1
  23. package/dist/basemap.d.ts.map +1 -1
  24. package/dist/basemap.js +5 -1
  25. package/dist/basemap.js.map +1 -0
  26. package/dist/cartoRasterTile-worker.js +147 -18
  27. package/dist/cartoSpatialTile-worker.js +150 -19
  28. package/dist/cartoVectorTile-worker.js +151 -19
  29. package/dist/constants.d.ts +0 -3
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/constants.js +4 -3
  32. package/dist/constants.js.map +1 -0
  33. package/dist/dist.dev.js +4262 -3235
  34. package/dist/index.cjs +263 -555
  35. package/dist/index.cjs.map +4 -4
  36. package/dist/index.d.ts +20 -21
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +12 -7
  39. package/dist/index.js.map +1 -0
  40. package/dist/layers/cluster-tile-layer.d.ts +1 -1
  41. package/dist/layers/cluster-tile-layer.d.ts.map +1 -1
  42. package/dist/layers/cluster-tile-layer.js +5 -0
  43. package/dist/layers/cluster-tile-layer.js.map +1 -0
  44. package/dist/layers/cluster-utils.d.ts.map +1 -1
  45. package/dist/layers/cluster-utils.js +4 -0
  46. package/dist/layers/cluster-utils.js.map +1 -0
  47. package/dist/layers/h3-tile-layer.d.ts +1 -1
  48. package/dist/layers/h3-tile-layer.d.ts.map +1 -1
  49. package/dist/layers/h3-tile-layer.js +4 -0
  50. package/dist/layers/h3-tile-layer.js.map +1 -0
  51. package/dist/layers/h3-tileset-2d.d.ts.map +1 -1
  52. package/dist/layers/h3-tileset-2d.js +4 -0
  53. package/dist/layers/h3-tileset-2d.js.map +1 -0
  54. package/dist/layers/heatmap-tile-layer.d.ts +1 -1
  55. package/dist/layers/heatmap-tile-layer.d.ts.map +1 -1
  56. package/dist/layers/heatmap-tile-layer.js +24 -7
  57. package/dist/layers/heatmap-tile-layer.js.map +1 -0
  58. package/dist/layers/heatmap.d.ts +3 -3
  59. package/dist/layers/heatmap.d.ts.map +1 -1
  60. package/dist/layers/heatmap.js +70 -36
  61. package/dist/layers/heatmap.js.map +1 -0
  62. package/dist/layers/point-label-layer.d.ts.map +1 -1
  63. package/dist/layers/point-label-layer.js +6 -2
  64. package/dist/layers/point-label-layer.js.map +1 -0
  65. package/dist/layers/post-process-utils.d.ts +1 -1
  66. package/dist/layers/post-process-utils.d.ts.map +1 -1
  67. package/dist/layers/post-process-utils.js +11 -6
  68. package/dist/layers/post-process-utils.js.map +1 -0
  69. package/dist/layers/quadbin-layer.d.ts.map +1 -1
  70. package/dist/layers/quadbin-layer.js +4 -0
  71. package/dist/layers/quadbin-layer.js.map +1 -0
  72. package/dist/layers/quadbin-tile-layer.d.ts +1 -1
  73. package/dist/layers/quadbin-tile-layer.d.ts.map +1 -1
  74. package/dist/layers/quadbin-tile-layer.js +4 -0
  75. package/dist/layers/quadbin-tile-layer.js.map +1 -0
  76. package/dist/layers/quadbin-tileset-2d.d.ts.map +1 -1
  77. package/dist/layers/quadbin-tileset-2d.js +4 -0
  78. package/dist/layers/quadbin-tileset-2d.js.map +1 -0
  79. package/dist/layers/quadbin-utils.d.ts.map +1 -1
  80. package/dist/layers/quadbin-utils.js +4 -0
  81. package/dist/layers/quadbin-utils.js.map +1 -0
  82. package/dist/layers/raster-layer-vertex.glsl.d.ts +1 -1
  83. package/dist/layers/raster-layer-vertex.glsl.d.ts.map +1 -1
  84. package/dist/layers/raster-layer-vertex.glsl.js +21 -25
  85. package/dist/layers/raster-layer-vertex.glsl.js.map +1 -0
  86. package/dist/layers/raster-layer.d.ts +6 -6
  87. package/dist/layers/raster-layer.d.ts.map +1 -1
  88. package/dist/layers/raster-layer.js +7 -1
  89. package/dist/layers/raster-layer.js.map +1 -0
  90. package/dist/layers/raster-tile-layer.d.ts +1 -1
  91. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  92. package/dist/layers/raster-tile-layer.js +4 -0
  93. package/dist/layers/raster-tile-layer.js.map +1 -0
  94. package/dist/layers/schema/carto-properties-tile-loader.d.ts.map +1 -1
  95. package/dist/layers/schema/carto-properties-tile-loader.js +4 -0
  96. package/dist/layers/schema/carto-properties-tile-loader.js.map +1 -0
  97. package/dist/layers/schema/carto-properties-tile.d.ts.map +1 -1
  98. package/dist/layers/schema/carto-properties-tile.js +4 -0
  99. package/dist/layers/schema/carto-properties-tile.js.map +1 -0
  100. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  101. package/dist/layers/schema/carto-raster-tile-loader.js +6 -1
  102. package/dist/layers/schema/carto-raster-tile-loader.js.map +1 -0
  103. package/dist/layers/schema/carto-raster-tile.d.ts.map +1 -1
  104. package/dist/layers/schema/carto-raster-tile.js +4 -0
  105. package/dist/layers/schema/carto-raster-tile.js.map +1 -0
  106. package/dist/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  107. package/dist/layers/schema/carto-spatial-tile-loader.js +5 -1
  108. package/dist/layers/schema/carto-spatial-tile-loader.js.map +1 -0
  109. package/dist/layers/schema/carto-spatial-tile.d.ts.map +1 -1
  110. package/dist/layers/schema/carto-spatial-tile.js +4 -0
  111. package/dist/layers/schema/carto-spatial-tile.js.map +1 -0
  112. package/dist/layers/schema/carto-tile.d.ts.map +1 -1
  113. package/dist/layers/schema/carto-tile.js +4 -0
  114. package/dist/layers/schema/carto-tile.js.map +1 -0
  115. package/dist/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  116. package/dist/layers/schema/carto-vector-tile-loader.js +5 -1
  117. package/dist/layers/schema/carto-vector-tile-loader.js.map +1 -0
  118. package/dist/layers/schema/fast-pbf.d.ts.map +1 -1
  119. package/dist/layers/schema/fast-pbf.js +4 -0
  120. package/dist/layers/schema/fast-pbf.js.map +1 -0
  121. package/dist/layers/schema/spatialjson-utils.d.ts.map +1 -1
  122. package/dist/layers/schema/spatialjson-utils.js +4 -0
  123. package/dist/layers/schema/spatialjson-utils.js.map +1 -0
  124. package/dist/layers/schema/tile-loader-utils.d.ts.map +1 -1
  125. package/dist/layers/schema/tile-loader-utils.js +4 -0
  126. package/dist/layers/schema/tile-loader-utils.js.map +1 -0
  127. package/dist/layers/spatial-index-tile-layer.d.ts.map +1 -1
  128. package/dist/layers/spatial-index-tile-layer.js +4 -0
  129. package/dist/layers/spatial-index-tile-layer.js.map +1 -0
  130. package/dist/layers/utils.d.ts +2 -2
  131. package/dist/layers/utils.d.ts.map +1 -1
  132. package/dist/layers/utils.js +4 -0
  133. package/dist/layers/utils.js.map +1 -0
  134. package/dist/layers/vector-tile-layer.d.ts +1 -1
  135. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  136. package/dist/layers/vector-tile-layer.js +4 -0
  137. package/dist/layers/vector-tile-layer.js.map +1 -0
  138. package/dist/style/color-bins-style.d.ts.map +1 -1
  139. package/dist/style/color-bins-style.js +4 -0
  140. package/dist/style/color-bins-style.js.map +1 -0
  141. package/dist/style/color-categories-style.d.ts.map +1 -1
  142. package/dist/style/color-categories-style.js +4 -0
  143. package/dist/style/color-categories-style.js.map +1 -0
  144. package/dist/style/color-continuous-style.d.ts.map +1 -1
  145. package/dist/style/color-continuous-style.js +4 -0
  146. package/dist/style/color-continuous-style.js.map +1 -0
  147. package/dist/style/palette.d.ts.map +1 -1
  148. package/dist/style/palette.js +4 -0
  149. package/dist/style/palette.js.map +1 -0
  150. package/dist/style/utils.d.ts.map +1 -1
  151. package/dist/style/utils.js +4 -0
  152. package/dist/style/utils.js.map +1 -0
  153. package/dist/utils.d.ts.map +1 -1
  154. package/dist/utils.js +4 -0
  155. package/dist/utils.js.map +1 -0
  156. package/dist/workers/cartoRasterTile.js +4 -0
  157. package/dist/workers/cartoRasterTile.js.map +1 -0
  158. package/dist/workers/cartoSpatialTile.js +4 -0
  159. package/dist/workers/cartoSpatialTile.js.map +1 -0
  160. package/dist/workers/cartoVectorTile.js +4 -0
  161. package/dist/workers/cartoVectorTile.js.map +1 -0
  162. package/dist.min.js +113 -73
  163. package/package.json +13 -11
  164. package/src/api/basemap.ts +6 -1
  165. package/src/api/fetch-map.ts +56 -61
  166. package/src/api/index.ts +5 -13
  167. package/src/api/layer-map.ts +7 -3
  168. package/src/api/parse-map.ts +4 -0
  169. package/src/api/types.ts +4 -75
  170. package/src/basemap.ts +6 -2
  171. package/src/constants.ts +4 -4
  172. package/src/index.ts +19 -18
  173. package/src/layers/cluster-tile-layer.ts +6 -1
  174. package/src/layers/cluster-utils.ts +4 -0
  175. package/src/layers/h3-tile-layer.ts +5 -1
  176. package/src/layers/h3-tileset-2d.ts +4 -0
  177. package/src/layers/heatmap-tile-layer.ts +29 -8
  178. package/src/layers/heatmap.ts +8 -2
  179. package/src/layers/point-label-layer.ts +6 -2
  180. package/src/layers/post-process-utils.ts +11 -6
  181. package/src/layers/quadbin-layer.ts +4 -0
  182. package/src/layers/quadbin-tile-layer.ts +5 -1
  183. package/src/layers/quadbin-tileset-2d.ts +4 -0
  184. package/src/layers/quadbin-utils.ts +4 -0
  185. package/src/layers/raster-layer-vertex.glsl.ts +21 -27
  186. package/src/layers/raster-layer.ts +7 -1
  187. package/src/layers/raster-tile-layer.ts +6 -2
  188. package/src/layers/schema/carto-properties-tile-loader.ts +4 -0
  189. package/src/layers/schema/carto-properties-tile.ts +4 -0
  190. package/src/layers/schema/carto-raster-tile-loader.ts +7 -1
  191. package/src/layers/schema/carto-raster-tile.ts +4 -0
  192. package/src/layers/schema/carto-spatial-tile-loader.ts +4 -0
  193. package/src/layers/schema/carto-spatial-tile.ts +4 -0
  194. package/src/layers/schema/carto-tile.ts +4 -0
  195. package/src/layers/schema/carto-vector-tile-loader.ts +4 -0
  196. package/src/layers/schema/fast-pbf.ts +4 -0
  197. package/src/layers/schema/spatialjson-utils.ts +4 -0
  198. package/src/layers/schema/tile-loader-utils.ts +4 -0
  199. package/src/layers/spatial-index-tile-layer.ts +4 -0
  200. package/src/layers/utils.ts +5 -1
  201. package/src/layers/vector-tile-layer.ts +5 -1
  202. package/src/style/color-bins-style.ts +4 -0
  203. package/src/style/color-categories-style.ts +4 -0
  204. package/src/style/color-continuous-style.ts +4 -0
  205. package/src/style/palette.ts +4 -0
  206. package/src/style/utils.ts +4 -0
  207. package/src/utils.ts +4 -0
  208. package/src/workers/cartoRasterTile.ts +4 -0
  209. package/src/workers/cartoSpatialTile.ts +4 -0
  210. package/src/workers/cartoVectorTile.ts +4 -0
  211. package/dist/api/carto-api-error.d.ts +0 -19
  212. package/dist/api/carto-api-error.d.ts.map +0 -1
  213. package/dist/api/carto-api-error.js +0 -48
  214. package/dist/api/common.d.ts +0 -5
  215. package/dist/api/common.d.ts.map +0 -1
  216. package/dist/api/common.js +0 -5
  217. package/dist/api/endpoints.d.ts +0 -23
  218. package/dist/api/endpoints.d.ts.map +0 -1
  219. package/dist/api/endpoints.js +0 -22
  220. package/dist/api/query.d.ts +0 -4
  221. package/dist/api/query.d.ts.map +0 -1
  222. package/dist/api/query.js +0 -26
  223. package/dist/api/request-with-parameters.d.ts +0 -9
  224. package/dist/api/request-with-parameters.d.ts.map +0 -1
  225. package/dist/api/request-with-parameters.js +0 -86
  226. package/dist/sources/base-source.d.ts +0 -5
  227. package/dist/sources/base-source.d.ts.map +0 -1
  228. package/dist/sources/base-source.js +0 -60
  229. package/dist/sources/boundary-query-source.d.ts +0 -10
  230. package/dist/sources/boundary-query-source.d.ts.map +0 -1
  231. package/dist/sources/boundary-query-source.js +0 -18
  232. package/dist/sources/boundary-table-source.d.ts +0 -8
  233. package/dist/sources/boundary-table-source.d.ts.map +0 -1
  234. package/dist/sources/boundary-table-source.js +0 -15
  235. package/dist/sources/h3-query-source.d.ts +0 -4
  236. package/dist/sources/h3-query-source.d.ts.map +0 -1
  237. package/dist/sources/h3-query-source.js +0 -22
  238. package/dist/sources/h3-table-source.d.ts +0 -4
  239. package/dist/sources/h3-table-source.d.ts.map +0 -1
  240. package/dist/sources/h3-table-source.js +0 -19
  241. package/dist/sources/h3-tileset-source.d.ts +0 -4
  242. package/dist/sources/h3-tileset-source.d.ts.map +0 -1
  243. package/dist/sources/h3-tileset-source.js +0 -6
  244. package/dist/sources/index.d.ts +0 -28
  245. package/dist/sources/index.d.ts.map +0 -1
  246. package/dist/sources/index.js +0 -13
  247. package/dist/sources/quadbin-query-source.d.ts +0 -4
  248. package/dist/sources/quadbin-query-source.d.ts.map +0 -1
  249. package/dist/sources/quadbin-query-source.js +0 -22
  250. package/dist/sources/quadbin-table-source.d.ts +0 -4
  251. package/dist/sources/quadbin-table-source.d.ts.map +0 -1
  252. package/dist/sources/quadbin-table-source.js +0 -19
  253. package/dist/sources/quadbin-tileset-source.d.ts +0 -4
  254. package/dist/sources/quadbin-tileset-source.d.ts.map +0 -1
  255. package/dist/sources/quadbin-tileset-source.js +0 -6
  256. package/dist/sources/raster-source.d.ts +0 -4
  257. package/dist/sources/raster-source.d.ts.map +0 -1
  258. package/dist/sources/raster-source.js +0 -9
  259. package/dist/sources/types.d.ts +0 -219
  260. package/dist/sources/types.d.ts.map +0 -1
  261. package/dist/sources/types.js +0 -1
  262. package/dist/sources/vector-query-source.d.ts +0 -4
  263. package/dist/sources/vector-query-source.d.ts.map +0 -1
  264. package/dist/sources/vector-query-source.js +0 -22
  265. package/dist/sources/vector-table-source.d.ts +0 -4
  266. package/dist/sources/vector-table-source.d.ts.map +0 -1
  267. package/dist/sources/vector-table-source.js +0 -19
  268. package/dist/sources/vector-tileset-source.d.ts +0 -4
  269. package/dist/sources/vector-tileset-source.d.ts.map +0 -1
  270. package/dist/sources/vector-tileset-source.js +0 -6
  271. package/src/api/carto-api-error.ts +0 -68
  272. package/src/api/common.ts +0 -6
  273. package/src/api/endpoints.ts +0 -69
  274. package/src/api/query.ts +0 -42
  275. package/src/api/request-with-parameters.ts +0 -117
  276. package/src/sources/base-source.ts +0 -79
  277. package/src/sources/boundary-query-source.ts +0 -39
  278. package/src/sources/boundary-table-source.ts +0 -33
  279. package/src/sources/h3-query-source.ts +0 -55
  280. package/src/sources/h3-table-source.ts +0 -51
  281. package/src/sources/h3-tileset-source.ts +0 -14
  282. package/src/sources/index.ts +0 -45
  283. package/src/sources/quadbin-query-source.ts +0 -56
  284. package/src/sources/quadbin-table-source.ts +0 -52
  285. package/src/sources/quadbin-tileset-source.ts +0 -14
  286. package/src/sources/raster-source.ts +0 -17
  287. package/src/sources/types.ts +0 -231
  288. package/src/sources/vector-query-source.ts +0 -57
  289. package/src/sources/vector-table-source.ts +0 -51
  290. package/src/sources/vector-tileset-source.ts +0 -14
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "CARTO official integration with Deck.gl. Build geospatial applications using CARTO and Deck.gl.",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "version": "9.0.40",
6
+ "version": "9.1.0-beta.3",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -42,14 +42,15 @@
42
42
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
43
43
  },
44
44
  "dependencies": {
45
+ "@carto/api-client": "^0.4.4",
45
46
  "@loaders.gl/gis": "^4.2.0",
46
47
  "@loaders.gl/loader-utils": "^4.2.0",
47
48
  "@loaders.gl/mvt": "^4.2.0",
48
49
  "@loaders.gl/schema": "^4.2.0",
49
50
  "@loaders.gl/tiles": "^4.2.0",
50
- "@luma.gl/core": "~9.0.27",
51
- "@luma.gl/shadertools": "~9.0.27",
52
- "@math.gl/web-mercator": "^4.0.0",
51
+ "@luma.gl/core": "^9.1.0-beta.16",
52
+ "@luma.gl/shadertools": "^9.1.0-beta.16",
53
+ "@math.gl/web-mercator": "^4.1.0",
53
54
  "@types/d3-array": "^3.0.2",
54
55
  "@types/d3-color": "^1.4.2",
55
56
  "@types/d3-scale": "^3.0.0",
@@ -65,12 +66,13 @@
65
66
  "quadbin": "^0.2.0"
66
67
  },
67
68
  "peerDependencies": {
68
- "@deck.gl/aggregation-layers": "^9.0.0",
69
- "@deck.gl/core": "^9.0.0",
70
- "@deck.gl/extensions": "^9.0.0",
71
- "@deck.gl/geo-layers": "^9.0.0",
72
- "@deck.gl/layers": "^9.0.0",
73
- "@loaders.gl/core": "^4.2.0"
69
+ "@deck.gl/aggregation-layers": "^9.1.0-beta",
70
+ "@deck.gl/core": "^9.1.0-beta",
71
+ "@deck.gl/extensions": "^9.1.0-beta",
72
+ "@deck.gl/geo-layers": "^9.1.0-beta",
73
+ "@deck.gl/layers": "^9.1.0-beta",
74
+ "@loaders.gl/core": "^4.2.0",
75
+ "@luma.gl/core": "^9.1.0-beta"
74
76
  },
75
- "gitHead": "fe6e4763b3dcd5b602291e7732e9d30b0a4eaec1"
77
+ "gitHead": "6625885881202cb753b64c6f2b8ee6f323092075"
76
78
  }
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {MapViewState} from '@deck.gl/core';
2
6
  import {
3
7
  GOOGLE_BASEMAPS,
@@ -7,7 +11,8 @@ import {
7
11
  getStyleUrl,
8
12
  someLayerGroupsDisabled
9
13
  } from '../basemap';
10
- import {APIErrorContext, Basemap, KeplerMapConfig, MapLibreBasemapProps} from './types';
14
+ import {Basemap, KeplerMapConfig, MapLibreBasemapProps} from './types';
15
+ import {APIErrorContext} from '@carto/api-client';
11
16
 
12
17
  const CUSTOM_STYLE_ID_PREFIX = 'custom:';
13
18
  const DEFAULT_CARTO_STYLE = 'positron';
@@ -1,23 +1,32 @@
1
- /* eslint-disable camelcase */
2
- import {CartoAPIError} from './carto-api-error';
3
- import {DEFAULT_API_BASE_URL, DEFAULT_CLIENT, DEFAULT_MAX_LENGTH_URL} from './common';
4
- import {buildPublicMapUrl, buildStatsUrl} from './endpoints';
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
5
  import {
6
+ DEFAULT_API_BASE_URL,
7
+ APIErrorContext,
8
+ CartoAPIError,
6
9
  GeojsonResult,
7
10
  JsonResult,
8
11
  TilejsonResult,
12
+ Format,
13
+ MapType,
14
+ QueryParameters,
15
+ SourceOptions,
16
+ buildPublicMapUrl,
17
+ buildStatsUrl,
9
18
  h3QuerySource,
10
19
  h3TableSource,
11
20
  quadbinQuerySource,
12
21
  quadbinTableSource,
13
22
  vectorQuerySource,
14
23
  vectorTableSource,
15
- vectorTilesetSource
16
- } from '../sources/index';
24
+ vectorTilesetSource,
25
+ requestWithParameters
26
+ } from '@carto/api-client';
17
27
  import {ParseMapResult, parseMap} from './parse-map';
18
- import {requestWithParameters} from './request-with-parameters';
19
28
  import {assert} from '../utils';
20
- import type {APIErrorContext, Basemap, Format, MapType, QueryParameters} from './types';
29
+ import type {Basemap} from './types';
21
30
  import {fetchBasemapProps} from './basemap';
22
31
 
23
32
  type Dataset = {
@@ -37,14 +46,7 @@ type Dataset = {
37
46
 
38
47
  /* global clearInterval, setInterval, URL */
39
48
  /* eslint-disable complexity, max-statements, max-params */
40
- async function _fetchMapDataset(
41
- dataset: Dataset,
42
- accessToken: string,
43
- apiBaseUrl: string,
44
- clientId?: string,
45
- headers?: Record<string, string>,
46
- maxLengthURL = DEFAULT_MAX_LENGTH_URL
47
- ) {
49
+ async function _fetchMapDataset(dataset: Dataset, context: _FetchMapContext) {
48
50
  const {
49
51
  aggregationExp,
50
52
  aggregationResLevel,
@@ -58,16 +60,12 @@ async function _fetchMapDataset(
58
60
  } = dataset;
59
61
 
60
62
  const cache: {value?: number} = {};
61
- const globalOptions: any = {
62
- accessToken,
63
- apiBaseUrl,
63
+ const globalOptions = {
64
+ ...context,
64
65
  cache,
65
- clientId,
66
66
  connectionName,
67
- format,
68
- headers,
69
- maxLengthURL
70
- };
67
+ format
68
+ } as SourceOptions;
71
69
 
72
70
  if (type === 'tileset') {
73
71
  // TODO do we want a generic tilesetSource?
@@ -112,14 +110,9 @@ async function _fetchMapDataset(
112
110
  return cacheChanged;
113
111
  }
114
112
 
115
- async function _fetchTilestats(
116
- attribute: string,
117
- dataset: Dataset,
118
- accessToken: string,
119
- apiBaseUrl: string,
120
- maxLengthURL = DEFAULT_MAX_LENGTH_URL
121
- ) {
113
+ async function _fetchTilestats(attribute: string, dataset: Dataset, context: _FetchMapContext) {
122
114
  const {connectionName, data, id, source, type, queryParameters} = dataset;
115
+ const {apiBaseUrl} = context;
123
116
  const errorContext: APIErrorContext = {
124
117
  requestType: 'Tile stats',
125
118
  connection: connectionName,
@@ -132,7 +125,7 @@ async function _fetchTilestats(
132
125
 
133
126
  const baseUrl = buildStatsUrl({attribute, apiBaseUrl, ...dataset});
134
127
  const client = new URLSearchParams(data.tiles[0]).get('client');
135
- const headers = {Authorization: `Bearer ${accessToken}`};
128
+ const headers = {Authorization: `Bearer ${context.accessToken}`};
136
129
  const parameters: Record<string, string> = {};
137
130
  if (client) {
138
131
  parameters.client = client;
@@ -148,7 +141,7 @@ async function _fetchTilestats(
148
141
  headers,
149
142
  parameters,
150
143
  errorContext,
151
- maxLengthURL
144
+ maxLengthURL: context.maxLengthURL
152
145
  });
153
146
 
154
147
  // Replace tilestats for attribute with value from API
@@ -158,23 +151,14 @@ async function _fetchTilestats(
158
151
  return true;
159
152
  }
160
153
 
161
- async function fillInMapDatasets(
162
- {datasets, token}: {datasets: Dataset[]; token: string},
163
- clientId: string,
164
- apiBaseUrl: string,
165
- headers?: Record<string, string>,
166
- maxLengthURL = DEFAULT_MAX_LENGTH_URL
167
- ) {
168
- const promises = datasets.map(dataset =>
169
- _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers, maxLengthURL)
170
- );
154
+ async function fillInMapDatasets({datasets}: {datasets: Dataset[]}, context: _FetchMapContext) {
155
+ const promises = datasets.map(dataset => _fetchMapDataset(dataset, context));
171
156
  return await Promise.all(promises);
172
157
  }
173
158
 
174
159
  async function fillInTileStats(
175
- {datasets, keplerMapConfig, token}: {datasets: Dataset[]; keplerMapConfig: any; token: string},
176
- apiBaseUrl: string,
177
- maxLengthURL = DEFAULT_MAX_LENGTH_URL
160
+ {datasets, keplerMapConfig}: {datasets: Dataset[]; keplerMapConfig: any},
161
+ context: _FetchMapContext
178
162
  ) {
179
163
  const attributes: {attribute: string; dataset: any}[] = [];
180
164
  const {layers} = keplerMapConfig.config.visState;
@@ -203,7 +187,7 @@ async function fillInTileStats(
203
187
  }
204
188
 
205
189
  const promises = filteredAttributes.map(({attribute, dataset}) =>
206
- _fetchTilestats(attribute, dataset, token, apiBaseUrl, maxLengthURL)
190
+ _fetchTilestats(attribute, dataset, context)
207
191
  );
208
192
  return await Promise.all(promises);
209
193
  }
@@ -252,6 +236,14 @@ export type FetchMapOptions = {
252
236
  maxLengthURL?: number;
253
237
  };
254
238
 
239
+ /**
240
+ * Context reused while fetching and updating a map with fetchMap().
241
+ */
242
+ type _FetchMapContext = {apiBaseUrl: string} & Pick<
243
+ FetchMapOptions,
244
+ 'accessToken' | 'clientId' | 'headers' | 'maxLengthURL'
245
+ >;
246
+
255
247
  export type FetchMapResult = ParseMapResult & {
256
248
  /**
257
249
  * Basemap properties.
@@ -265,14 +257,13 @@ export async function fetchMap({
265
257
  accessToken,
266
258
  apiBaseUrl = DEFAULT_API_BASE_URL,
267
259
  cartoMapId,
268
- clientId = DEFAULT_CLIENT,
269
- headers = {},
260
+ clientId,
261
+ headers,
270
262
  autoRefresh,
271
263
  onNewData,
272
- maxLengthURL = DEFAULT_MAX_LENGTH_URL
264
+ maxLengthURL
273
265
  }: FetchMapOptions): Promise<FetchMapResult> {
274
266
  assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
275
- assert(apiBaseUrl, 'Must define apiBaseUrl');
276
267
 
277
268
  if (accessToken) {
278
269
  headers = {Authorization: `Bearer ${accessToken}`, ...headers};
@@ -290,6 +281,13 @@ export async function fetchMap({
290
281
  const baseUrl = buildPublicMapUrl({apiBaseUrl, cartoMapId});
291
282
  const errorContext: APIErrorContext = {requestType: 'Public map', mapId: cartoMapId};
292
283
  const map = await requestWithParameters({baseUrl, headers, errorContext, maxLengthURL});
284
+ const context: _FetchMapContext = {
285
+ accessToken: map.token || accessToken,
286
+ apiBaseUrl,
287
+ clientId,
288
+ headers,
289
+ maxLengthURL
290
+ };
293
291
 
294
292
  // Periodically check if the data has changed. Note that this
295
293
  // will not update when a map is published.
@@ -297,16 +295,13 @@ export async function fetchMap({
297
295
  if (autoRefresh) {
298
296
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
299
297
  const intervalId = setInterval(async () => {
300
- const changed = await fillInMapDatasets(
301
- map,
302
- clientId,
303
- apiBaseUrl,
304
- {
298
+ const changed = await fillInMapDatasets(map, {
299
+ ...context,
300
+ headers: {
305
301
  ...headers,
306
302
  'If-Modified-Since': new Date().toUTCString()
307
- },
308
- maxLengthURL
309
- );
303
+ }
304
+ });
310
305
  if (onNewData && changed.some(v => v === true)) {
311
306
  onNewData(parseMap(map));
312
307
  }
@@ -335,11 +330,11 @@ export async function fetchMap({
335
330
  fetchBasemapProps({config: map.keplerMapConfig.config, errorContext}),
336
331
 
337
332
  // Mutates map.datasets so that dataset.data contains data
338
- fillInMapDatasets(map, clientId, apiBaseUrl, headers, maxLengthURL)
333
+ fillInMapDatasets(map, context)
339
334
  ]);
340
335
 
341
336
  // Mutates attributes in visualChannels to contain tile stats
342
- await fillInTileStats(map, apiBaseUrl, maxLengthURL);
337
+ await fillInTileStats(map, context);
343
338
 
344
339
  const out = {...parseMap(map), basemap, ...{stopAutoRefresh}};
345
340
 
package/src/api/index.ts CHANGED
@@ -1,15 +1,7 @@
1
- export {CartoAPIError} from './carto-api-error';
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
2
5
  export {fetchMap} from './fetch-map';
3
6
  export type {FetchMapOptions, FetchMapResult} from './fetch-map';
4
- export type {
5
- APIErrorContext,
6
- Format,
7
- MapType,
8
- RequestType,
9
- QueryParameters,
10
- Basemap,
11
- MapLibreBasemap,
12
- GoogleBasemap
13
- } from './types';
14
- export {query} from './query';
15
- export type {QueryOptions} from './query';
7
+ export type {Basemap, MapLibreBasemap, GoogleBasemap} from './types';
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {deviation, extent, groupSort, median, variance} from 'd3-array';
2
6
  import {rgb} from 'd3-color';
3
7
  import {
@@ -14,7 +18,7 @@ import {format as d3Format} from 'd3-format';
14
18
  import moment from 'moment-timezone';
15
19
 
16
20
  import {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';
17
- import {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';
21
+ import {GridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';
18
22
  import {GeoJsonLayer} from '@deck.gl/layers';
19
23
  import {H3HexagonLayer} from '@deck.gl/geo-layers';
20
24
 
@@ -193,7 +197,7 @@ export function getLayer(
193
197
  Layer: GeoJsonLayer,
194
198
  propMap: {
195
199
  columns: {
196
- altitude: x => ({parameters: {depthTest: Boolean(x)}})
200
+ altitude: x => ({parameters: {depthWriteEnabled: Boolean(x)}})
197
201
  },
198
202
  visConfig: {outline: 'stroked'}
199
203
  }
@@ -202,7 +206,7 @@ export function getLayer(
202
206
  Layer: GeoJsonLayer
203
207
  },
204
208
  grid: {
205
- Layer: CPUGridLayer,
209
+ Layer: GridLayer,
206
210
  propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},
207
211
  defaultProps: {getPosition}
208
212
  },
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {ColorParameters} from '@luma.gl/core';
2
6
  import {Layer, log} from '@deck.gl/core';
3
7
  import {
package/src/api/types.ts CHANGED
@@ -1,86 +1,15 @@
1
- import {SCALE_TYPE} from './layer-map';
2
-
3
- export type Format = 'json' | 'geojson' | 'tilejson';
4
- export type MapType = 'boundary' | 'query' | 'table' | 'tileset' | 'raster';
5
- export type RequestType =
6
- | 'Map data'
7
- | 'Map instantiation'
8
- | 'Public map'
9
- | 'Tile stats'
10
- | 'SQL'
11
- | 'Basemap style';
12
-
13
- export type APIErrorContext = {
14
- requestType: RequestType;
15
- mapId?: string;
16
- connection?: string;
17
- source?: string;
18
- type?: MapType;
19
- };
20
-
21
- export enum SchemaFieldType {
22
- Number = 'number',
23
- Bigint = 'bigint',
24
- String = 'string',
25
- Geometry = 'geometry',
26
- Timestamp = 'timestamp',
27
- Object = 'object',
28
- Boolean = 'boolean',
29
- Variant = 'variant',
30
- Unknown = 'unknown'
31
- }
32
- export interface SchemaField {
33
- name: string;
34
- type: SchemaFieldType; // Field type in the CARTO stack, common for all providers
35
- }
36
-
37
- export interface MapInstantiation extends MapInstantiationFormats {
38
- nrows: number;
39
- size?: number;
40
- schema: SchemaField[];
41
- }
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
42
4
 
43
- type MapInstantiationFormats = Record<
44
- Format,
45
- {
46
- url: string[];
47
- error?: any;
48
- }
49
- >;
50
-
51
- export type QueryParameterValue = string | number | boolean | Array<QueryParameterValue> | object;
52
-
53
- export type NamedQueryParameter = Record<string, QueryParameterValue>;
54
-
55
- export type PositionalQueryParameter = QueryParameterValue[];
5
+ import {SCALE_TYPE} from './layer-map';
56
6
 
57
- export type QueryParameters = NamedQueryParameter | PositionalQueryParameter;
58
7
  export type VisualChannelField = {
59
8
  name: string;
60
9
  type: string;
61
10
  colorColumn?: string;
62
11
  };
63
12
 
64
- export interface Filters {
65
- [column: string]: Filter;
66
- }
67
-
68
- interface Filter {
69
- [FilterTypes.In]?: number[];
70
- [FilterTypes.Between]?: number[][];
71
- [FilterTypes.ClosedOpen]?: number[][];
72
- [FilterTypes.Time]?: number[][];
73
- [FilterTypes.StringSearch]?: string[];
74
- }
75
-
76
- export enum FilterTypes {
77
- In = 'in',
78
- Between = 'between', // [a, b] both are included
79
- ClosedOpen = 'closed_open', // [a, b) a is included, b is not
80
- Time = 'time',
81
- StringSearch = 'stringSearch'
82
- }
83
-
84
13
  export type VisualChannels = {
85
14
  colorField?: VisualChannelField;
86
15
  colorScale?: SCALE_TYPE;
package/src/basemap.ts CHANGED
@@ -1,5 +1,9 @@
1
- import {CartoAPIError} from './api/carto-api-error';
2
- import {APIErrorContext, GoogleBasemapProps} from './api/types';
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {CartoAPIError, APIErrorContext} from '@carto/api-client';
6
+ import {GoogleBasemapProps} from './api/types';
3
7
 
4
8
  const cartoStyleUrlTemplate = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
5
9
 
package/src/constants.ts CHANGED
@@ -1,5 +1,5 @@
1
- export const DEFAULT_TILE_SIZE = 512;
2
- export const DEFAULT_TILE_RESOLUTION = 0.5;
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
3
4
 
4
- export const DEFAULT_AGGREGATION_RES_LEVEL_H3 = 4;
5
- export const DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN = 6;
5
+ export const DEFAULT_TILE_SIZE = 512;
package/src/index.ts CHANGED
@@ -1,8 +1,12 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  // CARTO Layers
2
6
  import {default as ClusterTileLayer} from './layers/cluster-tile-layer';
3
7
  import {default as H3TileLayer} from './layers/h3-tile-layer';
4
8
  import {default as HeatmapTileLayer} from './layers/heatmap-tile-layer';
5
- import {default as _PointLabelLayer} from './layers/point-label-layer';
9
+ import {default as PointLabelLayer} from './layers/point-label-layer';
6
10
  import {default as QuadbinTileLayer} from './layers/quadbin-tile-layer';
7
11
  import {default as RasterTileLayer} from './layers/raster-tile-layer';
8
12
  import {default as VectorTileLayer} from './layers/vector-tile-layer';
@@ -12,7 +16,7 @@ const CARTO_LAYERS = {
12
16
  ClusterTileLayer,
13
17
  H3TileLayer,
14
18
  HeatmapTileLayer,
15
- _PointLabelLayer,
19
+ PointLabelLayer,
16
20
  QuadbinTileLayer,
17
21
  RasterTileLayer,
18
22
  VectorTileLayer
@@ -22,7 +26,7 @@ export {
22
26
  ClusterTileLayer,
23
27
  H3TileLayer,
24
28
  HeatmapTileLayer,
25
- _PointLabelLayer,
29
+ PointLabelLayer,
26
30
  QuadbinTileLayer,
27
31
  RasterTileLayer,
28
32
  VectorTileLayer
@@ -57,22 +61,18 @@ export {
57
61
  export {default as colorBins} from './style/color-bins-style';
58
62
  export {default as colorCategories} from './style/color-categories-style';
59
63
  export {default as colorContinuous} from './style/color-continuous-style';
60
- export {CartoAPIError, fetchMap, query} from './api/index';
64
+ export {fetchMap} from './api/index';
61
65
  export {fetchBasemapProps} from './api/basemap';
62
66
  export type {
63
- APIErrorContext,
64
67
  FetchMapOptions,
65
68
  FetchMapResult,
66
- Format,
67
- MapType,
68
- RequestType,
69
- QueryParameters,
70
- QueryOptions,
71
69
  Basemap as _Basemap,
72
70
  MapLibreBasemap as _MapLibreBasemap,
73
71
  GoogleBasemap as _GoogleBasemap
74
72
  } from './api/index';
75
73
 
74
+ // TODO(v10): Consider removing re-exports from '@carto/api-client' below.
75
+
76
76
  import {
77
77
  boundaryQuerySource,
78
78
  boundaryTableSource,
@@ -85,11 +85,10 @@ import {
85
85
  quadbinTilesetSource,
86
86
  vectorQuerySource,
87
87
  vectorTableSource,
88
- vectorTilesetSource,
89
- SOURCE_DEFAULTS
90
- } from './sources/index';
88
+ vectorTilesetSource
89
+ } from '@carto/api-client';
91
90
 
92
- const CARTO_SOURCES = {
91
+ export const CARTO_SOURCES = {
93
92
  boundaryQuerySource,
94
93
  boundaryTableSource,
95
94
  h3QuerySource,
@@ -117,9 +116,10 @@ export {
117
116
  vectorQuerySource,
118
117
  vectorTableSource,
119
118
  vectorTilesetSource,
120
- CARTO_SOURCES,
119
+ query,
120
+ CartoAPIError,
121
121
  SOURCE_DEFAULTS
122
- };
122
+ } from '@carto/api-client';
123
123
 
124
124
  export type {
125
125
  GeojsonResult,
@@ -140,5 +140,6 @@ export type {
140
140
  QuadbinTilesetSourceOptions,
141
141
  VectorQuerySourceOptions,
142
142
  VectorTableSourceOptions,
143
- VectorTilesetSourceOptions
144
- } from './sources/index';
143
+ VectorTilesetSourceOptions,
144
+ QueryParameters
145
+ } from '@carto/api-client';
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {GeoJsonLayer, GeoJsonLayerProps} from '@deck.gl/layers';
2
6
  import {
3
7
  TileLayer,
@@ -35,7 +39,7 @@ import QuadbinTileset2D from './quadbin-tileset-2d';
35
39
  import {getQuadbinPolygon} from './quadbin-utils';
36
40
  import CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';
37
41
  import {injectAccessToken, TilejsonPropType} from './utils';
38
- import type {TilejsonResult} from '../sources/types';
42
+ import type {TilejsonResult} from '@carto/api-client';
39
43
 
40
44
  registerLoaders([CartoSpatialTileLoader]);
41
45
 
@@ -114,6 +118,7 @@ class ClusterGeoJsonLayer<
114
118
  this.state.aggregationCache = new WeakMap();
115
119
  }
116
120
 
121
+ // eslint-disable-next-line max-statements
117
122
  renderLayers(): Layer | null | LayersList {
118
123
  const visibleTiles = this.state.tileset?.tiles.filter((tile: Tile2DHeader) => {
119
124
  return tile.isLoaded && tile.content && this.state.tileset!.isTileVisible(tile);
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {cellToParent} from 'quadbin';
2
6
  import {_Tile2DHeader as Tile2DHeader} from '@deck.gl/geo-layers';
3
7
  import {Accessor, log} from '@deck.gl/core';
@@ -1,8 +1,12 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps} from '@deck.gl/core';
2
6
  import {H3HexagonLayer, H3HexagonLayerProps} from '@deck.gl/geo-layers';
3
7
  import H3Tileset2D, {getHexagonResolution} from './h3-tileset-2d';
4
8
  import SpatialIndexTileLayer, {SpatialIndexTileLayerProps} from './spatial-index-tile-layer';
5
- import type {TilejsonResult} from '../sources/types';
9
+ import type {TilejsonResult} from '@carto/api-client';
6
10
  import {injectAccessToken, TilejsonPropType} from './utils';
7
11
  import {DEFAULT_TILE_SIZE} from '../constants';
8
12
 
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import {_Tileset2D as Tileset2D, GeoBoundingBox} from '@deck.gl/geo-layers';
2
6
  import {
3
7
  polygonToCells,