@deck.gl/carto 9.0.0-alpha.7 → 9.0.0-beta.10

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 (499) hide show
  1. package/{typed → dist}/api/carto-api-error.d.ts +1 -1
  2. package/dist/api/carto-api-error.d.ts.map +1 -0
  3. package/dist/api/carto-api-error.js +47 -0
  4. package/{typed → dist}/api/common.d.ts +1 -2
  5. package/{typed → dist}/api/common.d.ts.map +1 -1
  6. package/dist/{esm/api → api}/common.js +4 -6
  7. package/{typed → dist}/api/endpoints.d.ts +1 -1
  8. package/dist/api/endpoints.d.ts.map +1 -0
  9. package/dist/api/endpoints.js +22 -0
  10. package/{typed → dist}/api/fetch-map.d.ts.map +1 -1
  11. package/dist/api/fetch-map.js +196 -0
  12. package/dist/api/index.d.ts +7 -0
  13. package/dist/api/index.d.ts.map +1 -0
  14. package/dist/api/index.js +3 -0
  15. package/{typed → dist}/api/layer-map.d.ts +6 -6
  16. package/dist/api/layer-map.d.ts.map +1 -0
  17. package/dist/api/layer-map.js +373 -0
  18. package/dist/api/parse-map.js +250 -0
  19. package/{typed → dist}/api/query.d.ts +1 -1
  20. package/dist/api/query.d.ts.map +1 -0
  21. package/dist/api/query.js +24 -0
  22. package/{typed → dist}/api/request-with-parameters.d.ts +1 -1
  23. package/dist/api/request-with-parameters.d.ts.map +1 -0
  24. package/dist/api/request-with-parameters.js +53 -0
  25. package/{typed → dist}/api/types.d.ts +18 -1
  26. package/dist/api/types.d.ts.map +1 -0
  27. package/dist/api/types.js +20 -0
  28. package/dist/basemap.js +9 -0
  29. package/dist/cartoRasterTile-worker.js +6 -9
  30. package/dist/cartoSpatialTile-worker.js +3 -3
  31. package/dist/cartoVectorTile-worker.js +3 -3
  32. package/dist/constants.d.ts +5 -0
  33. package/dist/constants.d.ts.map +1 -0
  34. package/dist/constants.js +4 -0
  35. package/dist/dist.dev.js +1297 -1101
  36. package/dist/index.cjs +2700 -0
  37. package/dist/index.cjs.map +7 -0
  38. package/dist/index.d.ts +37 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +34 -0
  41. package/{typed → dist}/layers/h3-tile-layer.d.ts +2 -2
  42. package/dist/layers/h3-tile-layer.d.ts.map +1 -0
  43. package/dist/layers/h3-tile-layer.js +66 -0
  44. package/dist/layers/h3-tileset-2d.js +99 -0
  45. package/dist/layers/point-label-layer.js +150 -0
  46. package/dist/layers/quadbin-layer.js +21 -0
  47. package/{typed → dist}/layers/quadbin-tile-layer.d.ts +3 -3
  48. package/dist/layers/quadbin-tile-layer.d.ts.map +1 -0
  49. package/dist/layers/quadbin-tile-layer.js +49 -0
  50. package/dist/layers/quadbin-tileset-2d.js +27 -0
  51. package/dist/layers/quadbin-utils.js +21 -0
  52. package/dist/layers/raster-layer-vertex.glsl.d.ts +3 -0
  53. package/dist/layers/raster-layer-vertex.glsl.js +68 -0
  54. package/{typed → dist}/layers/raster-layer.d.ts.map +1 -1
  55. package/dist/layers/raster-layer.js +95 -0
  56. package/{typed → dist}/layers/raster-tile-layer.d.ts +3 -3
  57. package/dist/layers/raster-tile-layer.d.ts.map +1 -0
  58. package/dist/layers/raster-tile-layer.js +45 -0
  59. package/dist/layers/schema/carto-properties-tile-loader.js +21 -0
  60. package/{typed → dist}/layers/schema/carto-properties-tile.d.ts +1 -1
  61. package/dist/layers/schema/carto-properties-tile.d.ts.map +1 -0
  62. package/dist/layers/schema/carto-properties-tile.js +14 -0
  63. package/{typed → dist}/layers/schema/carto-raster-tile-loader.d.ts +3 -3
  64. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
  65. package/dist/layers/schema/carto-raster-tile-loader.js +35 -0
  66. package/{typed → dist}/layers/schema/carto-raster-tile.d.ts.map +1 -1
  67. package/dist/layers/schema/carto-raster-tile.js +44 -0
  68. package/dist/layers/schema/carto-spatial-tile-loader.js +35 -0
  69. package/{typed → dist}/layers/schema/carto-spatial-tile.d.ts +2 -2
  70. package/dist/layers/schema/carto-spatial-tile.d.ts.map +1 -0
  71. package/dist/layers/schema/carto-spatial-tile.js +38 -0
  72. package/dist/layers/schema/carto-tile.js +187 -0
  73. package/dist/layers/schema/carto-vector-tile-loader.js +65 -0
  74. package/dist/layers/schema/fast-pbf.js +7 -0
  75. package/dist/layers/schema/spatialjson-utils.js +15 -0
  76. package/dist/layers/schema/tile-loader-utils.js +6 -0
  77. package/{typed → dist}/layers/spatial-index-tile-layer.d.ts +1 -1
  78. package/{typed → dist}/layers/spatial-index-tile-layer.d.ts.map +1 -1
  79. package/dist/layers/spatial-index-tile-layer.js +67 -0
  80. package/{typed → dist}/layers/utils.d.ts +3 -3
  81. package/dist/layers/utils.d.ts.map +1 -0
  82. package/dist/layers/utils.js +74 -0
  83. package/{typed → dist}/layers/vector-tile-layer.d.ts +6 -5
  84. package/dist/layers/vector-tile-layer.d.ts.map +1 -0
  85. package/dist/layers/vector-tile-layer.js +104 -0
  86. package/{typed → dist}/sources/base-source.d.ts +2 -2
  87. package/dist/sources/base-source.d.ts.map +1 -0
  88. package/dist/sources/base-source.js +53 -0
  89. package/dist/sources/boundary-query-source.d.ts +11 -0
  90. package/dist/sources/boundary-query-source.d.ts.map +1 -0
  91. package/dist/sources/boundary-query-source.js +19 -0
  92. package/{typed → dist}/sources/boundary-table-source.d.ts +2 -2
  93. package/dist/sources/boundary-table-source.d.ts.map +1 -0
  94. package/dist/sources/boundary-table-source.js +16 -0
  95. package/{typed → dist}/sources/h3-query-source.d.ts +1 -1
  96. package/dist/sources/h3-query-source.d.ts.map +1 -0
  97. package/dist/sources/h3-query-source.js +19 -0
  98. package/{typed → dist}/sources/h3-table-source.d.ts +1 -1
  99. package/dist/sources/h3-table-source.d.ts.map +1 -0
  100. package/dist/sources/h3-table-source.js +16 -0
  101. package/{typed → dist}/sources/h3-tileset-source.d.ts +1 -1
  102. package/dist/sources/h3-tileset-source.d.ts.map +1 -0
  103. package/dist/sources/h3-tileset-source.js +6 -0
  104. package/dist/sources/index.d.ts +28 -0
  105. package/dist/sources/index.d.ts.map +1 -0
  106. package/dist/sources/index.js +13 -0
  107. package/{typed → dist}/sources/quadbin-query-source.d.ts +1 -1
  108. package/dist/sources/quadbin-query-source.d.ts.map +1 -0
  109. package/dist/sources/quadbin-query-source.js +19 -0
  110. package/{typed → dist}/sources/quadbin-table-source.d.ts +1 -1
  111. package/dist/sources/quadbin-table-source.d.ts.map +1 -0
  112. package/dist/sources/quadbin-table-source.js +16 -0
  113. package/{typed → dist}/sources/quadbin-tileset-source.d.ts +1 -1
  114. package/{typed → dist}/sources/quadbin-tileset-source.d.ts.map +1 -1
  115. package/dist/sources/quadbin-tileset-source.js +6 -0
  116. package/{typed → dist}/sources/raster-source.d.ts +1 -1
  117. package/dist/sources/raster-source.d.ts.map +1 -0
  118. package/dist/sources/raster-source.js +6 -0
  119. package/{typed → dist}/sources/types.d.ts +45 -7
  120. package/dist/sources/types.d.ts.map +1 -0
  121. package/dist/sources/types.js +1 -0
  122. package/dist/sources/vector-query-source.d.ts +4 -0
  123. package/dist/sources/vector-query-source.d.ts.map +1 -0
  124. package/dist/sources/vector-query-source.js +22 -0
  125. package/dist/sources/vector-table-source.d.ts +4 -0
  126. package/dist/sources/vector-table-source.d.ts.map +1 -0
  127. package/dist/sources/vector-table-source.js +19 -0
  128. package/{typed → dist}/sources/vector-tileset-source.d.ts +1 -1
  129. package/{typed → dist}/sources/vector-tileset-source.d.ts.map +1 -1
  130. package/dist/sources/vector-tileset-source.js +6 -0
  131. package/{typed → dist}/style/color-bins-style.d.ts +2 -2
  132. package/dist/style/color-bins-style.d.ts.map +1 -0
  133. package/dist/style/color-bins-style.js +21 -0
  134. package/{typed → dist}/style/color-categories-style.d.ts +2 -2
  135. package/dist/style/color-categories-style.d.ts.map +1 -0
  136. package/dist/style/color-categories-style.js +25 -0
  137. package/{typed → dist}/style/color-continuous-style.d.ts +2 -2
  138. package/dist/style/color-continuous-style.d.ts.map +1 -0
  139. package/dist/style/color-continuous-style.js +21 -0
  140. package/dist/style/palette.js +62 -0
  141. package/dist/style/utils.js +11 -0
  142. package/{typed → dist}/utils.d.ts +1 -1
  143. package/dist/utils.d.ts.map +1 -0
  144. package/dist/utils.js +45 -0
  145. package/dist/workers/cartoRasterTile.js +3 -0
  146. package/dist/workers/cartoSpatialTile.js +3 -0
  147. package/dist/workers/cartoVectorTile.js +3 -0
  148. package/dist.min.js +49 -93
  149. package/package.json +31 -26
  150. package/src/api/common.ts +1 -2
  151. package/src/api/fetch-map.ts +13 -4
  152. package/src/api/query.ts +1 -1
  153. package/src/api/request-with-parameters.ts +47 -34
  154. package/src/api/types.ts +20 -0
  155. package/src/constants.ts +5 -0
  156. package/src/index.ts +11 -7
  157. package/src/layers/h3-tile-layer.ts +3 -1
  158. package/src/layers/quadbin-tile-layer.ts +3 -1
  159. package/src/layers/raster-layer-vertex.glsl.ts +2 -2
  160. package/src/layers/raster-layer.ts +10 -16
  161. package/src/layers/raster-tile-layer.ts +3 -1
  162. package/src/layers/schema/carto-raster-tile-loader.ts +5 -5
  163. package/src/layers/schema/carto-raster-tile.ts +3 -4
  164. package/src/layers/spatial-index-tile-layer.ts +7 -3
  165. package/src/layers/vector-tile-layer.ts +17 -8
  166. package/src/sources/base-source.ts +4 -3
  167. package/src/sources/boundary-query-source.ts +27 -9
  168. package/src/sources/boundary-table-source.ts +13 -8
  169. package/src/sources/h3-query-source.ts +2 -1
  170. package/src/sources/h3-table-source.ts +2 -6
  171. package/src/sources/index.ts +7 -0
  172. package/src/sources/quadbin-query-source.ts +2 -1
  173. package/src/sources/quadbin-table-source.ts +2 -6
  174. package/src/sources/types.ts +49 -7
  175. package/src/sources/vector-query-source.ts +38 -4
  176. package/src/sources/vector-table-source.ts +32 -4
  177. package/src/utils.ts +5 -1
  178. package/dist/es5/api/carto-api-error.js +0 -83
  179. package/dist/es5/api/carto-api-error.js.map +0 -1
  180. package/dist/es5/api/common.js +0 -25
  181. package/dist/es5/api/common.js.map +0 -1
  182. package/dist/es5/api/endpoints.js +0 -61
  183. package/dist/es5/api/endpoints.js.map +0 -1
  184. package/dist/es5/api/fetch-map.js +0 -566
  185. package/dist/es5/api/fetch-map.js.map +0 -1
  186. package/dist/es5/api/index.js +0 -30
  187. package/dist/es5/api/index.js.map +0 -1
  188. package/dist/es5/api/layer-map.js +0 -634
  189. package/dist/es5/api/layer-map.js.map +0 -1
  190. package/dist/es5/api/parse-map.js +0 -347
  191. package/dist/es5/api/parse-map.js.map +0 -1
  192. package/dist/es5/api/query.js +0 -81
  193. package/dist/es5/api/query.js.map +0 -1
  194. package/dist/es5/api/request-with-parameters.js +0 -150
  195. package/dist/es5/api/request-with-parameters.js.map +0 -1
  196. package/dist/es5/api/types.js +0 -21
  197. package/dist/es5/api/types.js.map +0 -1
  198. package/dist/es5/basemap.js +0 -17
  199. package/dist/es5/basemap.js.map +0 -1
  200. package/dist/es5/index.js +0 -205
  201. package/dist/es5/index.js.map +0 -1
  202. package/dist/es5/layers/h3-tile-layer.js +0 -128
  203. package/dist/es5/layers/h3-tile-layer.js.map +0 -1
  204. package/dist/es5/layers/h3-tileset-2d.js +0 -172
  205. package/dist/es5/layers/h3-tileset-2d.js.map +0 -1
  206. package/dist/es5/layers/point-label-layer.js +0 -263
  207. package/dist/es5/layers/point-label-layer.js.map +0 -1
  208. package/dist/es5/layers/quadbin-layer.js +0 -72
  209. package/dist/es5/layers/quadbin-layer.js.map +0 -1
  210. package/dist/es5/layers/quadbin-tile-layer.js +0 -103
  211. package/dist/es5/layers/quadbin-tile-layer.js.map +0 -1
  212. package/dist/es5/layers/quadbin-tileset-2d.js +0 -76
  213. package/dist/es5/layers/quadbin-tileset-2d.js.map +0 -1
  214. package/dist/es5/layers/quadbin-utils.js +0 -60
  215. package/dist/es5/layers/quadbin-utils.js.map +0 -1
  216. package/dist/es5/layers/raster-layer-vertex.glsl.js +0 -9
  217. package/dist/es5/layers/raster-layer-vertex.glsl.js.map +0 -1
  218. package/dist/es5/layers/raster-layer.js +0 -174
  219. package/dist/es5/layers/raster-layer.js.map +0 -1
  220. package/dist/es5/layers/raster-tile-layer.js +0 -91
  221. package/dist/es5/layers/raster-tile-layer.js.map +0 -1
  222. package/dist/es5/layers/schema/carto-properties-tile-loader.js +0 -60
  223. package/dist/es5/layers/schema/carto-properties-tile-loader.js.map +0 -1
  224. package/dist/es5/layers/schema/carto-properties-tile.js +0 -38
  225. package/dist/es5/layers/schema/carto-properties-tile.js.map +0 -1
  226. package/dist/es5/layers/schema/carto-raster-tile-loader.js +0 -89
  227. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +0 -1
  228. package/dist/es5/layers/schema/carto-raster-tile.js +0 -79
  229. package/dist/es5/layers/schema/carto-raster-tile.js.map +0 -1
  230. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +0 -81
  231. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +0 -1
  232. package/dist/es5/layers/schema/carto-spatial-tile.js +0 -80
  233. package/dist/es5/layers/schema/carto-spatial-tile.js.map +0 -1
  234. package/dist/es5/layers/schema/carto-tile.js +0 -269
  235. package/dist/es5/layers/schema/carto-tile.js.map +0 -1
  236. package/dist/es5/layers/schema/carto-vector-tile-loader.js +0 -120
  237. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +0 -1
  238. package/dist/es5/layers/schema/fast-pbf.js +0 -14
  239. package/dist/es5/layers/schema/fast-pbf.js.map +0 -1
  240. package/dist/es5/layers/schema/spatialjson-utils.js +0 -42
  241. package/dist/es5/layers/schema/spatialjson-utils.js.map +0 -1
  242. package/dist/es5/layers/schema/tile-loader-utils.js +0 -17
  243. package/dist/es5/layers/schema/tile-loader-utils.js.map +0 -1
  244. package/dist/es5/layers/spatial-index-tile-layer.js +0 -126
  245. package/dist/es5/layers/spatial-index-tile-layer.js.map +0 -1
  246. package/dist/es5/layers/utils.js +0 -131
  247. package/dist/es5/layers/utils.js.map +0 -1
  248. package/dist/es5/layers/vector-tile-layer.js +0 -248
  249. package/dist/es5/layers/vector-tile-layer.js.map +0 -1
  250. package/dist/es5/sources/base-source.js +0 -128
  251. package/dist/es5/sources/base-source.js.map +0 -1
  252. package/dist/es5/sources/boundary-query-source.js +0 -51
  253. package/dist/es5/sources/boundary-query-source.js.map +0 -1
  254. package/dist/es5/sources/boundary-table-source.js +0 -51
  255. package/dist/es5/sources/boundary-table-source.js.map +0 -1
  256. package/dist/es5/sources/h3-query-source.js +0 -56
  257. package/dist/es5/sources/h3-query-source.js.map +0 -1
  258. package/dist/es5/sources/h3-table-source.js +0 -56
  259. package/dist/es5/sources/h3-table-source.js.map +0 -1
  260. package/dist/es5/sources/h3-tileset-source.js +0 -43
  261. package/dist/es5/sources/h3-tileset-source.js.map +0 -1
  262. package/dist/es5/sources/index.js +0 -110
  263. package/dist/es5/sources/index.js.map +0 -1
  264. package/dist/es5/sources/quadbin-query-source.js +0 -56
  265. package/dist/es5/sources/quadbin-query-source.js.map +0 -1
  266. package/dist/es5/sources/quadbin-table-source.js +0 -56
  267. package/dist/es5/sources/quadbin-table-source.js.map +0 -1
  268. package/dist/es5/sources/quadbin-tileset-source.js +0 -43
  269. package/dist/es5/sources/quadbin-tileset-source.js.map +0 -1
  270. package/dist/es5/sources/raster-source.js +0 -43
  271. package/dist/es5/sources/raster-source.js.map +0 -1
  272. package/dist/es5/sources/types.js +0 -2
  273. package/dist/es5/sources/types.js.map +0 -1
  274. package/dist/es5/sources/vector-query-source.js +0 -51
  275. package/dist/es5/sources/vector-query-source.js.map +0 -1
  276. package/dist/es5/sources/vector-table-source.js +0 -51
  277. package/dist/es5/sources/vector-table-source.js.map +0 -1
  278. package/dist/es5/sources/vector-tileset-source.js +0 -43
  279. package/dist/es5/sources/vector-tileset-source.js.map +0 -1
  280. package/dist/es5/style/color-bins-style.js +0 -37
  281. package/dist/es5/style/color-bins-style.js.map +0 -1
  282. package/dist/es5/style/color-categories-style.js +0 -65
  283. package/dist/es5/style/color-categories-style.js.map +0 -1
  284. package/dist/es5/style/color-continuous-style.js +0 -37
  285. package/dist/es5/style/color-continuous-style.js.map +0 -1
  286. package/dist/es5/style/palette.js +0 -81
  287. package/dist/es5/style/palette.js.map +0 -1
  288. package/dist/es5/style/utils.js +0 -28
  289. package/dist/es5/style/utils.js.map +0 -1
  290. package/dist/es5/utils.js +0 -65
  291. package/dist/es5/utils.js.map +0 -1
  292. package/dist/es5/workers/cartoRasterTile.js +0 -10
  293. package/dist/es5/workers/cartoRasterTile.js.map +0 -1
  294. package/dist/es5/workers/cartoSpatialTile.js +0 -10
  295. package/dist/es5/workers/cartoSpatialTile.js.map +0 -1
  296. package/dist/es5/workers/cartoVectorTile.js +0 -10
  297. package/dist/es5/workers/cartoVectorTile.js.map +0 -1
  298. package/dist/esm/api/carto-api-error.js +0 -46
  299. package/dist/esm/api/carto-api-error.js.map +0 -1
  300. package/dist/esm/api/common.js.map +0 -1
  301. package/dist/esm/api/endpoints.js +0 -41
  302. package/dist/esm/api/endpoints.js.map +0 -1
  303. package/dist/esm/api/fetch-map.js +0 -298
  304. package/dist/esm/api/fetch-map.js.map +0 -1
  305. package/dist/esm/api/index.js +0 -4
  306. package/dist/esm/api/index.js.map +0 -1
  307. package/dist/esm/api/layer-map.js +0 -520
  308. package/dist/esm/api/layer-map.js.map +0 -1
  309. package/dist/esm/api/parse-map.js +0 -343
  310. package/dist/esm/api/parse-map.js.map +0 -1
  311. package/dist/esm/api/query.js +0 -40
  312. package/dist/esm/api/query.js.map +0 -1
  313. package/dist/esm/api/request-with-parameters.js +0 -82
  314. package/dist/esm/api/request-with-parameters.js.map +0 -1
  315. package/dist/esm/api/types.js +0 -14
  316. package/dist/esm/api/types.js.map +0 -1
  317. package/dist/esm/basemap.js +0 -10
  318. package/dist/esm/basemap.js.map +0 -1
  319. package/dist/esm/index.js +0 -35
  320. package/dist/esm/index.js.map +0 -1
  321. package/dist/esm/layers/h3-tile-layer.js +0 -77
  322. package/dist/esm/layers/h3-tile-layer.js.map +0 -1
  323. package/dist/esm/layers/h3-tileset-2d.js +0 -119
  324. package/dist/esm/layers/h3-tileset-2d.js.map +0 -1
  325. package/dist/esm/layers/point-label-layer.js +0 -194
  326. package/dist/esm/layers/point-label-layer.js.map +0 -1
  327. package/dist/esm/layers/quadbin-layer.js +0 -31
  328. package/dist/esm/layers/quadbin-layer.js.map +0 -1
  329. package/dist/esm/layers/quadbin-tile-layer.js +0 -51
  330. package/dist/esm/layers/quadbin-tile-layer.js.map +0 -1
  331. package/dist/esm/layers/quadbin-tileset-2d.js +0 -39
  332. package/dist/esm/layers/quadbin-tileset-2d.js.map +0 -1
  333. package/dist/esm/layers/quadbin-utils.js +0 -23
  334. package/dist/esm/layers/quadbin-utils.js.map +0 -1
  335. package/dist/esm/layers/raster-layer-vertex.glsl.js +0 -99
  336. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +0 -1
  337. package/dist/esm/layers/raster-layer.js +0 -108
  338. package/dist/esm/layers/raster-layer.js.map +0 -1
  339. package/dist/esm/layers/raster-tile-layer.js +0 -48
  340. package/dist/esm/layers/raster-tile-layer.js.map +0 -1
  341. package/dist/esm/layers/schema/carto-properties-tile-loader.js +0 -23
  342. package/dist/esm/layers/schema/carto-properties-tile-loader.js.map +0 -1
  343. package/dist/esm/layers/schema/carto-properties-tile.js +0 -18
  344. package/dist/esm/layers/schema/carto-properties-tile.js.map +0 -1
  345. package/dist/esm/layers/schema/carto-raster-tile-loader.js +0 -54
  346. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +0 -1
  347. package/dist/esm/layers/schema/carto-raster-tile.js +0 -51
  348. package/dist/esm/layers/schema/carto-raster-tile.js.map +0 -1
  349. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +0 -44
  350. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +0 -1
  351. package/dist/esm/layers/schema/carto-spatial-tile.js +0 -47
  352. package/dist/esm/layers/schema/carto-spatial-tile.js.map +0 -1
  353. package/dist/esm/layers/schema/carto-tile.js +0 -197
  354. package/dist/esm/layers/schema/carto-tile.js.map +0 -1
  355. package/dist/esm/layers/schema/carto-vector-tile-loader.js +0 -82
  356. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +0 -1
  357. package/dist/esm/layers/schema/fast-pbf.js +0 -7
  358. package/dist/esm/layers/schema/fast-pbf.js.map +0 -1
  359. package/dist/esm/layers/schema/spatialjson-utils.js +0 -27
  360. package/dist/esm/layers/schema/spatialjson-utils.js.map +0 -1
  361. package/dist/esm/layers/schema/tile-loader-utils.js +0 -7
  362. package/dist/esm/layers/schema/tile-loader-utils.js.map +0 -1
  363. package/dist/esm/layers/spatial-index-tile-layer.js +0 -86
  364. package/dist/esm/layers/spatial-index-tile-layer.js.map +0 -1
  365. package/dist/esm/layers/utils.js +0 -85
  366. package/dist/esm/layers/utils.js.map +0 -1
  367. package/dist/esm/layers/vector-tile-layer.js +0 -143
  368. package/dist/esm/layers/vector-tile-layer.js.map +0 -1
  369. package/dist/esm/sources/base-source.js +0 -72
  370. package/dist/esm/sources/base-source.js.map +0 -1
  371. package/dist/esm/sources/boundary-query-source.js +0 -21
  372. package/dist/esm/sources/boundary-query-source.js.map +0 -1
  373. package/dist/esm/sources/boundary-table-source.js +0 -21
  374. package/dist/esm/sources/boundary-table-source.js.map +0 -1
  375. package/dist/esm/sources/h3-query-source.js +0 -27
  376. package/dist/esm/sources/h3-query-source.js.map +0 -1
  377. package/dist/esm/sources/h3-table-source.js +0 -27
  378. package/dist/esm/sources/h3-table-source.js.map +0 -1
  379. package/dist/esm/sources/h3-tileset-source.js +0 -11
  380. package/dist/esm/sources/h3-tileset-source.js.map +0 -1
  381. package/dist/esm/sources/index.js +0 -14
  382. package/dist/esm/sources/index.js.map +0 -1
  383. package/dist/esm/sources/quadbin-query-source.js +0 -27
  384. package/dist/esm/sources/quadbin-query-source.js.map +0 -1
  385. package/dist/esm/sources/quadbin-table-source.js +0 -27
  386. package/dist/esm/sources/quadbin-table-source.js.map +0 -1
  387. package/dist/esm/sources/quadbin-tileset-source.js +0 -11
  388. package/dist/esm/sources/quadbin-tileset-source.js.map +0 -1
  389. package/dist/esm/sources/raster-source.js +0 -11
  390. package/dist/esm/sources/raster-source.js.map +0 -1
  391. package/dist/esm/sources/types.js +0 -2
  392. package/dist/esm/sources/types.js.map +0 -1
  393. package/dist/esm/sources/vector-query-source.js +0 -20
  394. package/dist/esm/sources/vector-query-source.js.map +0 -1
  395. package/dist/esm/sources/vector-table-source.js +0 -20
  396. package/dist/esm/sources/vector-table-source.js.map +0 -1
  397. package/dist/esm/sources/vector-tileset-source.js +0 -11
  398. package/dist/esm/sources/vector-tileset-source.js.map +0 -1
  399. package/dist/esm/style/color-bins-style.js +0 -19
  400. package/dist/esm/style/color-bins-style.js.map +0 -1
  401. package/dist/esm/style/color-categories-style.js +0 -24
  402. package/dist/esm/style/color-categories-style.js.map +0 -1
  403. package/dist/esm/style/color-continuous-style.js +0 -19
  404. package/dist/esm/style/color-continuous-style.js.map +0 -1
  405. package/dist/esm/style/palette.js +0 -51
  406. package/dist/esm/style/palette.js.map +0 -1
  407. package/dist/esm/style/utils.js +0 -15
  408. package/dist/esm/style/utils.js.map +0 -1
  409. package/dist/esm/utils.js +0 -51
  410. package/dist/esm/utils.js.map +0 -1
  411. package/dist/esm/workers/cartoRasterTile.js +0 -4
  412. package/dist/esm/workers/cartoRasterTile.js.map +0 -1
  413. package/dist/esm/workers/cartoSpatialTile.js +0 -4
  414. package/dist/esm/workers/cartoSpatialTile.js.map +0 -1
  415. package/dist/esm/workers/cartoVectorTile.js +0 -4
  416. package/dist/esm/workers/cartoVectorTile.js.map +0 -1
  417. package/src/.DS_Store +0 -0
  418. package/typed/api/carto-api-error.d.ts.map +0 -1
  419. package/typed/api/endpoints.d.ts.map +0 -1
  420. package/typed/api/index.d.ts +0 -7
  421. package/typed/api/index.d.ts.map +0 -1
  422. package/typed/api/layer-map.d.ts.map +0 -1
  423. package/typed/api/query.d.ts.map +0 -1
  424. package/typed/api/request-with-parameters.d.ts.map +0 -1
  425. package/typed/api/types.d.ts.map +0 -1
  426. package/typed/index.d.ts +0 -37
  427. package/typed/index.d.ts.map +0 -1
  428. package/typed/layers/h3-tile-layer.d.ts.map +0 -1
  429. package/typed/layers/quadbin-tile-layer.d.ts.map +0 -1
  430. package/typed/layers/raster-layer-vertex.glsl.d.ts +0 -3
  431. package/typed/layers/raster-tile-layer.d.ts.map +0 -1
  432. package/typed/layers/schema/carto-properties-tile.d.ts.map +0 -1
  433. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +0 -1
  434. package/typed/layers/schema/carto-spatial-tile.d.ts.map +0 -1
  435. package/typed/layers/utils.d.ts.map +0 -1
  436. package/typed/layers/vector-tile-layer.d.ts.map +0 -1
  437. package/typed/sources/base-source.d.ts.map +0 -1
  438. package/typed/sources/boundary-query-source.d.ts +0 -10
  439. package/typed/sources/boundary-query-source.d.ts.map +0 -1
  440. package/typed/sources/boundary-table-source.d.ts.map +0 -1
  441. package/typed/sources/h3-query-source.d.ts.map +0 -1
  442. package/typed/sources/h3-table-source.d.ts.map +0 -1
  443. package/typed/sources/h3-tileset-source.d.ts.map +0 -1
  444. package/typed/sources/index.d.ts +0 -27
  445. package/typed/sources/index.d.ts.map +0 -1
  446. package/typed/sources/quadbin-query-source.d.ts.map +0 -1
  447. package/typed/sources/quadbin-table-source.d.ts.map +0 -1
  448. package/typed/sources/raster-source.d.ts.map +0 -1
  449. package/typed/sources/types.d.ts.map +0 -1
  450. package/typed/sources/vector-query-source.d.ts +0 -4
  451. package/typed/sources/vector-query-source.d.ts.map +0 -1
  452. package/typed/sources/vector-table-source.d.ts +0 -4
  453. package/typed/sources/vector-table-source.d.ts.map +0 -1
  454. package/typed/style/color-bins-style.d.ts.map +0 -1
  455. package/typed/style/color-categories-style.d.ts.map +0 -1
  456. package/typed/style/color-continuous-style.d.ts.map +0 -1
  457. package/typed/utils.d.ts.map +0 -1
  458. /package/{typed → dist}/api/fetch-map.d.ts +0 -0
  459. /package/{typed → dist}/api/parse-map.d.ts +0 -0
  460. /package/{typed → dist}/api/parse-map.d.ts.map +0 -0
  461. /package/{typed → dist}/basemap.d.ts +0 -0
  462. /package/{typed → dist}/basemap.d.ts.map +0 -0
  463. /package/{typed → dist}/layers/h3-tileset-2d.d.ts +0 -0
  464. /package/{typed → dist}/layers/h3-tileset-2d.d.ts.map +0 -0
  465. /package/{typed → dist}/layers/point-label-layer.d.ts +0 -0
  466. /package/{typed → dist}/layers/point-label-layer.d.ts.map +0 -0
  467. /package/{typed → dist}/layers/quadbin-layer.d.ts +0 -0
  468. /package/{typed → dist}/layers/quadbin-layer.d.ts.map +0 -0
  469. /package/{typed → dist}/layers/quadbin-tileset-2d.d.ts +0 -0
  470. /package/{typed → dist}/layers/quadbin-tileset-2d.d.ts.map +0 -0
  471. /package/{typed → dist}/layers/quadbin-utils.d.ts +0 -0
  472. /package/{typed → dist}/layers/quadbin-utils.d.ts.map +0 -0
  473. /package/{typed → dist}/layers/raster-layer-vertex.glsl.d.ts.map +0 -0
  474. /package/{typed → dist}/layers/raster-layer.d.ts +0 -0
  475. /package/{typed → dist}/layers/schema/carto-properties-tile-loader.d.ts +0 -0
  476. /package/{typed → dist}/layers/schema/carto-properties-tile-loader.d.ts.map +0 -0
  477. /package/{typed → dist}/layers/schema/carto-raster-tile.d.ts +0 -0
  478. /package/{typed → dist}/layers/schema/carto-spatial-tile-loader.d.ts +0 -0
  479. /package/{typed → dist}/layers/schema/carto-spatial-tile-loader.d.ts.map +0 -0
  480. /package/{typed → dist}/layers/schema/carto-tile.d.ts +0 -0
  481. /package/{typed → dist}/layers/schema/carto-tile.d.ts.map +0 -0
  482. /package/{typed → dist}/layers/schema/carto-vector-tile-loader.d.ts +0 -0
  483. /package/{typed → dist}/layers/schema/carto-vector-tile-loader.d.ts.map +0 -0
  484. /package/{typed → dist}/layers/schema/fast-pbf.d.ts +0 -0
  485. /package/{typed → dist}/layers/schema/fast-pbf.d.ts.map +0 -0
  486. /package/{typed → dist}/layers/schema/spatialjson-utils.d.ts +0 -0
  487. /package/{typed → dist}/layers/schema/spatialjson-utils.d.ts.map +0 -0
  488. /package/{typed → dist}/layers/schema/tile-loader-utils.d.ts +0 -0
  489. /package/{typed → dist}/layers/schema/tile-loader-utils.d.ts.map +0 -0
  490. /package/{typed → dist}/style/palette.d.ts +0 -0
  491. /package/{typed → dist}/style/palette.d.ts.map +0 -0
  492. /package/{typed → dist}/style/utils.d.ts +0 -0
  493. /package/{typed → dist}/style/utils.d.ts.map +0 -0
  494. /package/{typed → dist}/workers/cartoRasterTile.d.ts +0 -0
  495. /package/{typed → dist}/workers/cartoRasterTile.d.ts.map +0 -0
  496. /package/{typed → dist}/workers/cartoSpatialTile.d.ts +0 -0
  497. /package/{typed → dist}/workers/cartoSpatialTile.d.ts.map +0 -0
  498. /package/{typed → dist}/workers/cartoVectorTile.d.ts +0 -0
  499. /package/{typed → dist}/workers/cartoVectorTile.d.ts.map +0 -0
package/package.json CHANGED
@@ -2,7 +2,8 @@
2
2
  "name": "@deck.gl/carto",
3
3
  "description": "CARTO official integration with Deck.gl. Build geospatial applications using CARTO and Deck.gl.",
4
4
  "license": "MIT",
5
- "version": "9.0.0-alpha.7",
5
+ "type": "module",
6
+ "version": "9.0.0-beta.10",
6
7
  "publishConfig": {
7
8
  "access": "public"
8
9
  },
@@ -18,13 +19,19 @@
18
19
  "type": "git",
19
20
  "url": "https://github.com/visgl/deck.gl.git"
20
21
  },
21
- "main": "dist/es5/index.js",
22
- "module": "dist/esm/index.js",
23
- "types": "typed/index.d.ts",
22
+ "types": "dist/index.d.ts",
23
+ "main": "dist/index.cjs",
24
+ "module": "dist/index.js",
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/index.d.ts",
28
+ "import": "./dist/index.js",
29
+ "require": "./dist/index.cjs"
30
+ }
31
+ },
24
32
  "files": [
25
33
  "dist",
26
34
  "src",
27
- "typed",
28
35
  "dist.min.js"
29
36
  ],
30
37
  "sideEffects": false,
@@ -35,37 +42,35 @@
35
42
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
36
43
  },
37
44
  "dependencies": {
38
- "@babel/runtime": "^7.0.0",
39
- "@loaders.gl/gis": "4.1.0-alpha.9",
40
- "@loaders.gl/loader-utils": "4.1.0-alpha.9",
41
- "@loaders.gl/mvt": "4.1.0-alpha.9",
42
- "@loaders.gl/tiles": "4.1.0-alpha.9",
43
- "@luma.gl/constants": "9.0.0-alpha.53",
44
- "@luma.gl/core": "9.0.0-alpha.53",
45
+ "@loaders.gl/gis": "^4.1.4",
46
+ "@loaders.gl/loader-utils": "^4.1.4",
47
+ "@loaders.gl/mvt": "^4.1.4",
48
+ "@loaders.gl/schema": "^4.1.4",
49
+ "@loaders.gl/tiles": "^4.1.4",
50
+ "@luma.gl/constants": "^9.0.4",
45
51
  "@math.gl/web-mercator": "^4.0.0",
52
+ "@types/d3-array": "^3.0.2",
53
+ "@types/d3-color": "^1.4.2",
54
+ "@types/d3-scale": "^3.0.0",
46
55
  "cartocolor": "^4.0.2",
47
56
  "d3-array": "^3.2.0",
48
57
  "d3-color": "^3.1.0",
49
58
  "d3-format": "^3.1.0",
50
59
  "d3-scale": "^4.0.0",
60
+ "earcut": "^2.2.4",
51
61
  "h3-js": "^4.1.0",
52
62
  "moment-timezone": "^0.5.33",
53
63
  "pbf": "^3.2.1",
54
- "quadbin": "^0.1.9"
55
- },
56
- "devDependencies": {
57
- "@loaders.gl/schema": "4.1.0-alpha.9",
58
- "@types/d3-array": "^3.0.2",
59
- "@types/d3-color": "^1.4.2",
60
- "@types/d3-scale": "^3.0.0"
64
+ "quadbin": "^0.2.0"
61
65
  },
62
66
  "peerDependencies": {
63
- "@deck.gl/aggregation-layers": "^9.0.0-alpha",
64
- "@deck.gl/core": "^9.0.0-alpha",
65
- "@deck.gl/extensions": "^9.0.0-alpha",
66
- "@deck.gl/geo-layers": "^9.0.0-alpha",
67
- "@deck.gl/layers": "^9.0.0-alpha",
68
- "@loaders.gl/core": "4.1.0-alpha.9"
67
+ "@deck.gl/aggregation-layers": "^9.0.0-beta",
68
+ "@deck.gl/core": "^9.0.0-beta",
69
+ "@deck.gl/extensions": "^9.0.0-beta",
70
+ "@deck.gl/geo-layers": "^9.0.0-beta",
71
+ "@deck.gl/layers": "^9.0.0-beta",
72
+ "@loaders.gl/core": "^4.1.4",
73
+ "@luma.gl/core": "^9.0.4"
69
74
  },
70
- "gitHead": "de061268077ab74e163792162efbc07be95d10f5"
75
+ "gitHead": "6c44f602069374cd21268ff279c5bf818c905ff7"
71
76
  }
package/src/api/common.ts CHANGED
@@ -1,10 +1,9 @@
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
 
6
6
  export const DEFAULT_PARAMETERS = {
7
- client: DEFAULT_CLIENT,
8
7
  v: V3_MINOR_VERSION
9
8
  };
10
9
 
@@ -16,7 +16,7 @@ import {
16
16
  vectorQuerySource,
17
17
  vectorTableSource,
18
18
  vectorTilesetSource
19
- } from '../sources';
19
+ } from '../sources/index';
20
20
  import {parseMap} from './parse-map';
21
21
  import {requestWithParameters} from './request-with-parameters';
22
22
  import {assert} from '../utils';
@@ -80,19 +80,24 @@ async function _fetchMapDataset(
80
80
  if (type === 'table') {
81
81
  dataset.data = await vectorTableSource({...options, columns, tableName: source});
82
82
  } else if (type === 'query') {
83
- dataset.data = await vectorQuerySource({...options, sqlQuery: source, queryParameters});
83
+ dataset.data = await vectorQuerySource({
84
+ ...options,
85
+ columns,
86
+ sqlQuery: source,
87
+ queryParameters
88
+ });
84
89
  }
85
90
  } else if (spatialDataType === 'h3') {
86
91
  const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};
87
92
  if (type === 'table') {
88
- dataset.data = await h3TableSource({...options, columns, tableName: source});
93
+ dataset.data = await h3TableSource({...options, tableName: source});
89
94
  } else if (type === 'query') {
90
95
  dataset.data = await h3QuerySource({...options, sqlQuery: source, queryParameters});
91
96
  }
92
97
  } else if (spatialDataType === 'quadbin') {
93
98
  const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};
94
99
  if (type === 'table') {
95
- dataset.data = await quadbinTableSource({...options, columns, tableName: source});
100
+ dataset.data = await quadbinTableSource({...options, tableName: source});
96
101
  } else if (type === 'query') {
97
102
  dataset.data = await quadbinQuerySource({...options, sqlQuery: source, queryParameters});
98
103
  }
@@ -125,8 +130,12 @@ async function _fetchTilestats(
125
130
  }
126
131
 
127
132
  const baseUrl = buildStatsUrl({attribute, apiBaseUrl, ...dataset});
133
+ const client = new URLSearchParams(data.tiles[0]).get('client');
128
134
  const headers = {Authorization: `Bearer ${accessToken}`};
129
135
  const parameters: Record<string, string> = {};
136
+ if (client) {
137
+ parameters.client = client;
138
+ }
130
139
  if (type === 'query') {
131
140
  parameters.q = source;
132
141
  if (queryParameters) {
package/src/api/query.ts CHANGED
@@ -1,4 +1,4 @@
1
- import {SOURCE_DEFAULTS} from '../sources';
1
+ import {SOURCE_DEFAULTS} from '../sources/index';
2
2
  import type {SourceOptions, QuerySourceOptions, QueryResult} from '../sources/types';
3
3
  import {buildQueryUrl} from './endpoints';
4
4
  import {requestWithParameters} from './request-with-parameters';
@@ -9,7 +9,7 @@ function encodeParameter(name: string, value: string | boolean | number): string
9
9
  return `${name}=${encodeURIComponent(value)}`;
10
10
  }
11
11
 
12
- const REQUEST_CACHE = new Map();
12
+ const REQUEST_CACHE = new Map<string, Promise<unknown>>();
13
13
  export async function requestWithParameters<T = any>({
14
14
  accessToken,
15
15
  baseUrl,
@@ -23,46 +23,59 @@ export async function requestWithParameters<T = any>({
23
23
  headers: Record<string, string>;
24
24
  errorContext: APIErrorContext;
25
25
  }): Promise<T> {
26
- const key = JSON.stringify({baseUrl, parameters, customHeaders});
26
+ const key = createCacheKey(baseUrl, parameters || {}, customHeaders || {});
27
27
  if (REQUEST_CACHE.has(key)) {
28
- return REQUEST_CACHE.get(key);
29
- }
30
-
31
- let url = baseUrl;
32
- if (parameters) {
33
- const allParameters = {...DEFAULT_PARAMETERS, ...parameters};
34
- const encodedParameters = Object.entries(allParameters).map(([key, value]) => {
35
- return encodeParameter(key, value);
36
- });
37
- url += `?${encodedParameters.join('&')}`;
28
+ return REQUEST_CACHE.get(key) as Promise<T>;
38
29
  }
39
30
 
31
+ const url = parameters ? createURLWithParameters(baseUrl, parameters) : baseUrl;
40
32
  const headers = {...DEFAULT_HEADERS, ...customHeaders};
41
- try {
42
- /* global fetch */
43
- let response: Response;
44
- if (url.length > MAX_GET_LENGTH) {
45
- response = await fetch(url, {method: 'POST', body: JSON.stringify(parameters), headers});
46
- } else {
47
- response = await fetch(url, {headers});
48
- }
49
- let json: any;
50
- try {
51
- json = await response.json();
33
+
34
+ /* global fetch */
35
+ const fetchPromise =
36
+ url.length > MAX_GET_LENGTH
37
+ ? fetch(baseUrl, {method: 'POST', body: JSON.stringify(parameters), headers})
38
+ : fetch(url, {headers});
39
+
40
+ let response: Response | undefined;
41
+ const jsonPromise: Promise<T> = fetchPromise
42
+ .then((_response: Response) => {
43
+ response = _response;
44
+ return response.json();
45
+ })
46
+ .then((json: any) => {
47
+ if (!response || !response.ok) {
48
+ throw new Error(json.error);
49
+ }
52
50
  if (accessToken) {
53
51
  json.accessToken = accessToken;
54
52
  }
55
- } catch {
56
- json = {error: ''};
57
- }
58
- if (!response.ok) {
53
+ return json;
54
+ })
55
+ .catch((error: Error) => {
59
56
  REQUEST_CACHE.delete(key);
60
- throw new CartoAPIError(json.error, errorContext, response);
61
- }
57
+ throw new CartoAPIError(error, errorContext, response);
58
+ });
62
59
 
63
- REQUEST_CACHE.set(key, json);
64
- return json;
65
- } catch (error) {
66
- throw new CartoAPIError(error as Error, errorContext);
67
- }
60
+ REQUEST_CACHE.set(key, jsonPromise);
61
+ return jsonPromise;
62
+ }
63
+
64
+ function createCacheKey(
65
+ baseUrl: string,
66
+ parameters: Record<string, string>,
67
+ headers: Record<string, string>
68
+ ): string {
69
+ const parameterEntries = Object.entries(parameters).sort(([a], [b]) => (a > b ? 1 : -1));
70
+ const headerEntries = Object.entries(headers).sort(([a], [b]) => (a > b ? 1 : -1));
71
+ return JSON.stringify({baseUrl, parameters: parameterEntries, headers: headerEntries});
72
+ }
73
+
74
+ function createURLWithParameters(baseUrl: string, parameters: Record<string, string>): string {
75
+ const encodedParameters = Object.entries({...DEFAULT_PARAMETERS, ...parameters}).map(
76
+ ([key, value]) => {
77
+ return encodeParameter(key, value);
78
+ }
79
+ );
80
+ return `${baseUrl}?${encodedParameters.join('&')}`;
68
81
  }
package/src/api/types.ts CHANGED
@@ -54,6 +54,26 @@ export type VisualChannelField = {
54
54
  colorColumn?: string;
55
55
  };
56
56
 
57
+ export interface Filters {
58
+ [column: string]: Filter;
59
+ }
60
+
61
+ interface Filter {
62
+ [FilterTypes.In]: number[];
63
+ [FilterTypes.Between]: number[][];
64
+ [FilterTypes.ClosedOpen]: number[][];
65
+ [FilterTypes.Time]: number[][];
66
+ [FilterTypes.StringSearch]: string[];
67
+ }
68
+
69
+ export enum FilterTypes {
70
+ In = 'in',
71
+ Between = 'between', // [a, b] both are included
72
+ ClosedOpen = 'closed_open', // [a, b) a is included, b is not
73
+ Time = 'time',
74
+ StringSearch = 'stringSearch'
75
+ }
76
+
57
77
  export type VisualChannels = {
58
78
  colorField?: VisualChannelField;
59
79
  colorScale?: SCALE_TYPE;
@@ -0,0 +1,5 @@
1
+ export const DEFAULT_TILE_SIZE = 512;
2
+ export const DEFAULT_TILE_RESOLUTION = 0.5;
3
+
4
+ export const DEFAULT_AGGREGATION_RES_LEVEL_H3 = 4;
5
+ export const DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN = 6;
package/src/index.ts CHANGED
@@ -23,7 +23,7 @@ export {default as BASEMAP} from './basemap';
23
23
  export {default as colorBins} from './style/color-bins-style';
24
24
  export {default as colorCategories} from './style/color-categories-style';
25
25
  export {default as colorContinuous} from './style/color-continuous-style';
26
- export {CartoAPIError, fetchMap, query} from './api';
26
+ export {CartoAPIError, fetchMap, query} from './api/index';
27
27
  export type {
28
28
  APIErrorContext,
29
29
  FetchMapOptions,
@@ -32,7 +32,7 @@ export type {
32
32
  RequestType,
33
33
  QueryParameters,
34
34
  QueryOptions
35
- } from './api';
35
+ } from './api/index';
36
36
 
37
37
  import {
38
38
  boundaryQuerySource,
@@ -48,7 +48,7 @@ import {
48
48
  vectorTableSource,
49
49
  vectorTilesetSource,
50
50
  SOURCE_DEFAULTS
51
- } from './sources';
51
+ } from './sources/index';
52
52
 
53
53
  const CARTO_SOURCES = {
54
54
  boundaryQuerySource,
@@ -83,7 +83,13 @@ export {
83
83
  };
84
84
 
85
85
  export type {
86
+ GeojsonResult,
87
+ JsonResult,
86
88
  TilejsonResult,
89
+ SourceOptions,
90
+ QuerySourceOptions,
91
+ TableSourceOptions,
92
+ TilesetSourceOptions,
87
93
  BoundaryQuerySourceOptions,
88
94
  BoundaryTableSourceOptions,
89
95
  H3QuerySourceOptions,
@@ -95,7 +101,5 @@ export type {
95
101
  QuadbinTilesetSourceOptions,
96
102
  VectorQuerySourceOptions,
97
103
  VectorTableSourceOptions,
98
- VectorTilesetSourceOptions,
99
- GeojsonResult,
100
- JsonResult
101
- } from './sources';
104
+ VectorTilesetSourceOptions
105
+ } from './sources/index';
@@ -4,6 +4,7 @@ import H3Tileset2D, {getHexagonResolution} from './h3-tileset-2d';
4
4
  import SpatialIndexTileLayer, {SpatialIndexTileLayerProps} from './spatial-index-tile-layer';
5
5
  import type {TilejsonResult} from '../sources/types';
6
6
  import {injectAccessToken, TilejsonPropType} from './utils';
7
+ import {DEFAULT_TILE_SIZE} from '../constants';
7
8
 
8
9
  export const renderSubLayers = props => {
9
10
  const {data} = props;
@@ -18,7 +19,8 @@ export const renderSubLayers = props => {
18
19
  };
19
20
 
20
21
  const defaultProps: DefaultProps<H3TileLayerProps> = {
21
- data: TilejsonPropType
22
+ data: TilejsonPropType,
23
+ tileSize: DEFAULT_TILE_SIZE
22
24
  };
23
25
 
24
26
  /** All properties supported by H3TileLayer. */
@@ -5,6 +5,7 @@ import SpatialIndexTileLayer, {SpatialIndexTileLayerProps} from './spatial-index
5
5
  import {hexToBigInt} from 'quadbin';
6
6
  import type {TilejsonResult} from '../sources/types';
7
7
  import {injectAccessToken, TilejsonPropType} from './utils';
8
+ import {DEFAULT_TILE_SIZE} from '../constants';
8
9
 
9
10
  export const renderSubLayers = props => {
10
11
  const {data} = props;
@@ -16,7 +17,8 @@ export const renderSubLayers = props => {
16
17
  };
17
18
 
18
19
  const defaultProps: DefaultProps<QuadbinTileLayerProps> = {
19
- data: TilejsonPropType
20
+ data: TilejsonPropType,
21
+ tileSize: DEFAULT_TILE_SIZE
20
22
  };
21
23
 
22
24
  /** All properties supported by QuadbinTileLayer. */
@@ -32,8 +32,8 @@ void main(void) {
32
32
  vec2 common_position = offset.xy;
33
33
  float scale = offset.z;
34
34
 
35
- int yIndex = - (gl_InstanceID / 256);
36
- int xIndex = gl_InstanceID + (yIndex * 256);
35
+ int yIndex = - (gl_InstanceID / BLOCK_WIDTH);
36
+ int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);
37
37
  common_position += scale * vec2(float(xIndex), float(yIndex));
38
38
 
39
39
  vec4 color = isStroke ? instanceLineColors : instanceFillColors;
@@ -1,4 +1,3 @@
1
- import {GL} from '@luma.gl/constants';
2
1
  import {
3
2
  Accessor,
4
3
  CompositeLayer,
@@ -11,7 +10,7 @@ import {ColumnLayer, ColumnLayerProps} from '@deck.gl/layers';
11
10
  import {quadbinToOffset} from './quadbin-utils';
12
11
  import {Raster} from './schema/carto-raster-tile-loader';
13
12
  import vs from './raster-layer-vertex.glsl';
14
- import {assert, createBinaryProxy} from '../utils';
13
+ import {createBinaryProxy} from '../utils';
15
14
 
16
15
  const defaultProps: DefaultProps<RasterLayerProps> = {
17
16
  ...ColumnLayer.defaultProps,
@@ -31,7 +30,9 @@ class RasterColumnLayer extends ColumnLayer {
31
30
 
32
31
  getShaders() {
33
32
  const shaders = super.getShaders();
34
- return {...shaders, vs};
33
+ const data = this.props.data as unknown as {data: Raster; length: number};
34
+ const BLOCK_WIDTH = data.data.blockSize ?? Math.sqrt(data.length);
35
+ return {...shaders, defines: {...shaders.defines, BLOCK_WIDTH}, vs};
35
36
  }
36
37
 
37
38
  initializeState() {
@@ -46,16 +47,14 @@ class RasterColumnLayer extends ColumnLayer {
46
47
  },
47
48
  instanceFillColors: {
48
49
  size: this.props.colorFormat.length,
49
- type: GL.UNSIGNED_BYTE,
50
- normalized: true,
50
+ type: 'unorm8',
51
51
  transition: true,
52
52
  accessor: 'getFillColor',
53
53
  defaultValue: [0, 0, 0, 255]
54
54
  },
55
55
  instanceLineColors: {
56
56
  size: this.props.colorFormat.length,
57
- type: GL.UNSIGNED_BYTE,
58
- normalized: true,
57
+ type: 'unorm8',
59
58
  transition: true,
60
59
  accessor: 'getLineColor',
61
60
  defaultValue: [255, 255, 255, 255]
@@ -94,17 +93,12 @@ export default class RasterLayer<DataT = any, ExtraProps = {}> extends Composite
94
93
  getLineWidth,
95
94
  tileIndex,
96
95
  updateTriggers
97
- } = this.props;
96
+ } = this.props as typeof this.props & {data: Raster};
98
97
  if (!data || !tileIndex) return null;
99
98
 
100
- const {blockWidth, blockHeight} = data as unknown as Raster;
101
- assert(
102
- blockWidth === blockHeight,
103
- `blockWidth (${blockWidth}) must equal blockHeight (${blockHeight})`
104
- );
105
-
99
+ const blockSize = data.blockSize ?? 0;
106
100
  const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
107
- const offset = [xOffset, yOffset, scale / blockWidth];
101
+ const offset = [xOffset, yOffset, scale / blockSize];
108
102
 
109
103
  // Filled Column Layer
110
104
  const CellLayer = this.getSubLayerClass('column', RasterColumnLayer);
@@ -122,7 +116,7 @@ export default class RasterLayer<DataT = any, ExtraProps = {}> extends Composite
122
116
  {
123
117
  data: {
124
118
  data, // Pass through data for getSubLayerAccessor()
125
- length: blockWidth * blockHeight
119
+ length: blockSize * blockSize
126
120
  },
127
121
  offset
128
122
  }
@@ -4,6 +4,7 @@ import QuadbinTileset2D from './quadbin-tileset-2d';
4
4
  import SpatialIndexTileLayer, {SpatialIndexTileLayerProps} from './spatial-index-tile-layer';
5
5
  import type {TilejsonResult} from '../sources/types';
6
6
  import {injectAccessToken, TilejsonPropType} from './utils';
7
+ import {DEFAULT_TILE_SIZE} from '../constants';
7
8
 
8
9
  export const renderSubLayers = props => {
9
10
  const tileIndex = props.tile?.index?.q;
@@ -12,7 +13,8 @@ export const renderSubLayers = props => {
12
13
  };
13
14
 
14
15
  const defaultProps: DefaultProps<RasterTileLayerProps> = {
15
- data: TilejsonPropType
16
+ data: TilejsonPropType,
17
+ tileSize: DEFAULT_TILE_SIZE
16
18
  };
17
19
 
18
20
  /** All properties supported by RasterTileLayer. */
@@ -36,8 +36,8 @@ const CartoRasterTileLoader: LoaderWithParser = {
36
36
  };
37
37
 
38
38
  export type Raster = {
39
- blockWidth: number;
40
- blockHeight: number;
39
+ /** Raster tiles are square, with 'blockSize' width and height in pixels. */
40
+ blockSize: number;
41
41
  cells: {
42
42
  numericProps: NumericProps;
43
43
  properties: Properties[];
@@ -49,14 +49,14 @@ function parseCartoRasterTile(
49
49
  options?: CartoRasterTileLoaderOptions
50
50
  ): Raster | null {
51
51
  if (!arrayBuffer) return null;
52
- const tile = parsePbf(arrayBuffer, TileReader);
53
- const {bands, blockHeight, blockWidth} = tile;
52
+ const {bands, blockSize} = parsePbf(arrayBuffer, TileReader);
53
+
54
54
  const numericProps = {};
55
55
  for (let i = 0; i < bands.length; i++) {
56
56
  const {name, data} = bands[i];
57
57
  numericProps[name] = data;
58
58
  }
59
- return {blockWidth, blockHeight, cells: {numericProps, properties: []}};
59
+ return {blockSize, cells: {numericProps, properties: []}};
60
60
  }
61
61
 
62
62
  export default CartoRasterTileLoader;
@@ -36,11 +36,10 @@ export class BandReader {
36
36
 
37
37
  export class TileReader {
38
38
  static read(pbf, end) {
39
- return pbf.readFields(TileReader._readField, {blockWidth: 0, blockHeight: 0, bands: []}, end);
39
+ return pbf.readFields(TileReader._readField, {blockSize: 0, bands: []}, end);
40
40
  }
41
41
  static _readField(this: void, tag, obj, pbf) {
42
- if (tag === 1) obj.blockWidth = pbf.readVarint();
43
- else if (tag === 2) obj.blockHeight = pbf.readVarint();
44
- else if (tag === 3) obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
42
+ if (tag === 1) obj.blockSize = pbf.readVarint();
43
+ else if (tag === 2) obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
45
44
  }
46
45
  }
@@ -6,12 +6,15 @@ registerLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);
6
6
 
7
7
  import {PickingInfo} from '@deck.gl/core';
8
8
  import {TileLayer, _Tile2DHeader as Tile2DHeader, TileLayerProps} from '@deck.gl/geo-layers';
9
+ import {DEFAULT_TILE_SIZE} from '../constants';
9
10
 
10
11
  function isFeatureIdDefined(value: unknown): boolean {
11
12
  return value !== undefined && value !== null && value !== '';
12
13
  }
13
14
 
14
- const defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {};
15
+ const defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {
16
+ tileSize: DEFAULT_TILE_SIZE
17
+ };
15
18
 
16
19
  /** All properties supported by SpatialIndexTileLayer. */
17
20
  export type SpatialIndexTileLayerProps<DataT = unknown> = _SpatialIndexTileLayerProps &
@@ -28,14 +31,14 @@ export default class SpatialIndexTileLayer<
28
31
  static defaultProps = defaultProps;
29
32
 
30
33
  state!: TileLayer<DataT>['state'] & {
31
- hoveredFeatureId: number | null;
34
+ hoveredFeatureId: BigInt | number | null;
32
35
  highlightColor: number[];
33
36
  };
34
37
 
35
38
  protected _updateAutoHighlight(info: PickingInfo): void {
36
39
  const {hoveredFeatureId} = this.state;
37
40
  const hoveredFeature = info.object;
38
- let newHoveredFeatureId;
41
+ let newHoveredFeatureId: BigInt | number | null = null;
39
42
 
40
43
  if (hoveredFeature) {
41
44
  newHoveredFeatureId = hoveredFeature.id;
@@ -79,6 +82,7 @@ export default class SpatialIndexTileLayer<
79
82
  }
80
83
 
81
84
  _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {
85
+ // TODO: Tile2DHeader index should be generic for H3TileIndex or QuadbinTileIndex
82
86
  const tileset = this.state.tileset!;
83
87
  const tileZoom = tileset.getTileZoom(tile.index);
84
88
  // @ts-ignore
@@ -16,30 +16,33 @@ import {
16
16
  import {GeoJsonLayer} from '@deck.gl/layers';
17
17
  import {binaryToGeojson} from '@loaders.gl/gis';
18
18
  import type {BinaryFeatureCollection} from '@loaders.gl/schema';
19
- import type {Feature} from 'geojson';
19
+ import type {Feature, Geometry} from 'geojson';
20
20
 
21
21
  import type {TilejsonResult} from '../sources/types';
22
22
  import {TilejsonPropType, injectAccessToken, mergeBoundaryData} from './utils';
23
+ import {DEFAULT_TILE_SIZE} from '../constants';
23
24
 
24
25
  const defaultProps: DefaultProps<VectorTileLayerProps> = {
25
26
  ...MVTLayer.defaultProps,
26
27
  data: TilejsonPropType,
27
- dataComparator: TilejsonPropType.equal
28
+ dataComparator: TilejsonPropType.equal,
29
+ tileSize: DEFAULT_TILE_SIZE
28
30
  };
29
31
 
30
32
  /** All properties supported by VectorTileLayer. */
31
- export type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;
33
+ export type VectorTileLayerProps<FeaturePropertiesT = unknown> = _VectorTileLayerProps &
34
+ Omit<MVTLayerProps<FeaturePropertiesT>, 'data'>;
32
35
 
33
36
  /** Properties added by VectorTileLayer. */
34
37
  type _VectorTileLayerProps = {
35
38
  data: null | TilejsonResult | Promise<TilejsonResult>;
36
39
  };
37
40
 
38
- // TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?
39
41
  // @ts-ignore
40
- export default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<
41
- Required<_VectorTileLayerProps> & ExtraProps
42
- > {
42
+ export default class VectorTileLayer<
43
+ FeaturePropertiesT = any,
44
+ ExtraProps extends {} = {}
45
+ > extends MVTLayer<FeaturePropertiesT, Required<_VectorTileLayerProps> & ExtraProps> {
43
46
  static layerName = 'VectorTileLayer';
44
47
  static defaultProps = defaultProps;
45
48
 
@@ -47,6 +50,12 @@ export default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLaye
47
50
  mvt: boolean;
48
51
  };
49
52
 
53
+ constructor(...propObjects: VectorTileLayerProps<FeaturePropertiesT>[]) {
54
+ // Force externally visible props type, as it is not possible modify via extension
55
+ // @ts-ignore
56
+ super(...propObjects);
57
+ }
58
+
50
59
  initializeState(): void {
51
60
  super.initializeState();
52
61
  this.setState({binary: true});
@@ -144,7 +153,7 @@ export default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLaye
144
153
  const {data} = params.sourceLayer!.props;
145
154
  info.object = binaryToGeojson(data as BinaryFeatureCollection, {
146
155
  globalFeatureId: info.index
147
- }) as Feature;
156
+ }) as Feature<Geometry, FeaturePropertiesT>;
148
157
  }
149
158
 
150
159
  return info;
@@ -32,18 +32,19 @@ export async function baseSource<UrlParameters extends Record<string, string>>(
32
32
  }
33
33
  }
34
34
  const baseUrl = buildSourceUrl(mergedOptions);
35
- const {format} = mergedOptions;
35
+ const {clientId, format} = mergedOptions;
36
36
  const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};
37
+ const parameters = {client: clientId, ...urlParameters};
37
38
 
38
39
  const errorContext: APIErrorContext = {
39
40
  requestType: 'Map instantiation',
40
41
  connection: options.connectionName,
41
42
  type: endpoint,
42
- source: JSON.stringify(urlParameters, undefined, 2)
43
+ source: JSON.stringify(parameters, undefined, 2)
43
44
  };
44
45
  const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({
45
46
  baseUrl,
46
- parameters: urlParameters,
47
+ parameters,
47
48
  headers,
48
49
  errorContext
49
50
  });