@deck.gl/carto 9.0.0-beta.1 → 9.0.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 (432) hide show
  1. package/dist/api/carto-api-error.js +47 -0
  2. package/dist/{esm/api → api}/common.js +4 -5
  3. package/dist/api/endpoints.js +22 -0
  4. package/dist/api/fetch-map.js +187 -0
  5. package/dist/api/index.js +3 -0
  6. package/dist/api/layer-map.js +373 -0
  7. package/dist/api/parse-map.js +250 -0
  8. package/dist/api/query.js +24 -0
  9. package/dist/api/request-with-parameters.js +53 -0
  10. package/dist/api/types.js +12 -0
  11. package/dist/basemap.js +9 -0
  12. package/dist/cartoRasterTile-worker.js +2 -2
  13. package/dist/cartoSpatialTile-worker.js +3 -3
  14. package/dist/cartoVectorTile-worker.js +3 -3
  15. package/dist/dist.dev.js +1222 -1073
  16. package/dist/index.cjs +2685 -0
  17. package/dist/index.cjs.map +7 -0
  18. package/dist/index.d.ts +37 -0
  19. package/{typed → dist}/index.d.ts.map +1 -1
  20. package/dist/index.js +34 -0
  21. package/dist/layers/h3-tile-layer.js +64 -0
  22. package/dist/layers/h3-tileset-2d.js +99 -0
  23. package/dist/layers/point-label-layer.js +150 -0
  24. package/dist/layers/quadbin-layer.js +21 -0
  25. package/dist/layers/quadbin-tile-layer.js +47 -0
  26. package/dist/layers/quadbin-tileset-2d.js +27 -0
  27. package/dist/layers/quadbin-utils.js +21 -0
  28. package/dist/{esm/layers → layers}/raster-layer-vertex.glsl.js +0 -1
  29. package/dist/layers/raster-layer.js +97 -0
  30. package/dist/layers/raster-tile-layer.js +43 -0
  31. package/dist/layers/schema/carto-properties-tile-loader.js +21 -0
  32. package/dist/layers/schema/carto-properties-tile.js +14 -0
  33. package/dist/layers/schema/carto-raster-tile-loader.js +36 -0
  34. package/dist/layers/schema/carto-raster-tile.js +46 -0
  35. package/dist/layers/schema/carto-spatial-tile-loader.js +35 -0
  36. package/dist/layers/schema/carto-spatial-tile.js +38 -0
  37. package/dist/layers/schema/carto-tile.js +187 -0
  38. package/dist/layers/schema/carto-vector-tile-loader.js +65 -0
  39. package/dist/layers/schema/fast-pbf.js +7 -0
  40. package/dist/layers/schema/spatialjson-utils.js +15 -0
  41. package/dist/layers/schema/tile-loader-utils.js +6 -0
  42. package/{typed → dist}/layers/spatial-index-tile-layer.d.ts +1 -1
  43. package/{typed → dist}/layers/spatial-index-tile-layer.d.ts.map +1 -1
  44. package/dist/layers/spatial-index-tile-layer.js +64 -0
  45. package/dist/layers/utils.js +74 -0
  46. package/dist/layers/vector-tile-layer.js +98 -0
  47. package/dist/sources/base-source.js +52 -0
  48. package/{typed → dist}/sources/boundary-query-source.d.ts +1 -1
  49. package/{typed → dist}/sources/boundary-query-source.d.ts.map +1 -1
  50. package/dist/sources/boundary-query-source.js +13 -0
  51. package/dist/sources/boundary-table-source.js +13 -0
  52. package/dist/sources/h3-query-source.js +18 -0
  53. package/dist/sources/h3-table-source.js +18 -0
  54. package/dist/sources/h3-tileset-source.js +6 -0
  55. package/dist/sources/index.js +13 -0
  56. package/dist/sources/quadbin-query-source.js +18 -0
  57. package/dist/sources/quadbin-table-source.js +18 -0
  58. package/dist/sources/quadbin-tileset-source.js +6 -0
  59. package/dist/sources/raster-source.js +6 -0
  60. package/dist/sources/types.js +1 -0
  61. package/dist/sources/vector-query-source.js +10 -0
  62. package/dist/sources/vector-table-source.js +10 -0
  63. package/dist/sources/vector-tileset-source.js +6 -0
  64. package/dist/style/color-bins-style.js +21 -0
  65. package/dist/style/color-categories-style.js +25 -0
  66. package/dist/style/color-continuous-style.js +21 -0
  67. package/dist/style/palette.js +62 -0
  68. package/dist/style/utils.js +11 -0
  69. package/dist/utils.js +41 -0
  70. package/dist/workers/cartoRasterTile.js +3 -0
  71. package/dist/workers/cartoSpatialTile.js +3 -0
  72. package/dist/workers/cartoVectorTile.js +3 -0
  73. package/dist.min.js +28 -42
  74. package/package.json +22 -15
  75. package/src/api/fetch-map.ts +1 -1
  76. package/src/api/query.ts +1 -1
  77. package/src/index.ts +4 -4
  78. package/src/layers/spatial-index-tile-layer.ts +3 -2
  79. package/src/sources/boundary-query-source.ts +1 -1
  80. package/dist/es5/api/carto-api-error.js +0 -83
  81. package/dist/es5/api/carto-api-error.js.map +0 -1
  82. package/dist/es5/api/common.js +0 -25
  83. package/dist/es5/api/common.js.map +0 -1
  84. package/dist/es5/api/endpoints.js +0 -61
  85. package/dist/es5/api/endpoints.js.map +0 -1
  86. package/dist/es5/api/fetch-map.js +0 -566
  87. package/dist/es5/api/fetch-map.js.map +0 -1
  88. package/dist/es5/api/index.js +0 -30
  89. package/dist/es5/api/index.js.map +0 -1
  90. package/dist/es5/api/layer-map.js +0 -634
  91. package/dist/es5/api/layer-map.js.map +0 -1
  92. package/dist/es5/api/parse-map.js +0 -347
  93. package/dist/es5/api/parse-map.js.map +0 -1
  94. package/dist/es5/api/query.js +0 -81
  95. package/dist/es5/api/query.js.map +0 -1
  96. package/dist/es5/api/request-with-parameters.js +0 -150
  97. package/dist/es5/api/request-with-parameters.js.map +0 -1
  98. package/dist/es5/api/types.js +0 -21
  99. package/dist/es5/api/types.js.map +0 -1
  100. package/dist/es5/basemap.js +0 -17
  101. package/dist/es5/basemap.js.map +0 -1
  102. package/dist/es5/index.js +0 -205
  103. package/dist/es5/index.js.map +0 -1
  104. package/dist/es5/layers/h3-tile-layer.js +0 -128
  105. package/dist/es5/layers/h3-tile-layer.js.map +0 -1
  106. package/dist/es5/layers/h3-tileset-2d.js +0 -172
  107. package/dist/es5/layers/h3-tileset-2d.js.map +0 -1
  108. package/dist/es5/layers/point-label-layer.js +0 -263
  109. package/dist/es5/layers/point-label-layer.js.map +0 -1
  110. package/dist/es5/layers/quadbin-layer.js +0 -72
  111. package/dist/es5/layers/quadbin-layer.js.map +0 -1
  112. package/dist/es5/layers/quadbin-tile-layer.js +0 -103
  113. package/dist/es5/layers/quadbin-tile-layer.js.map +0 -1
  114. package/dist/es5/layers/quadbin-tileset-2d.js +0 -76
  115. package/dist/es5/layers/quadbin-tileset-2d.js.map +0 -1
  116. package/dist/es5/layers/quadbin-utils.js +0 -60
  117. package/dist/es5/layers/quadbin-utils.js.map +0 -1
  118. package/dist/es5/layers/raster-layer-vertex.glsl.js +0 -9
  119. package/dist/es5/layers/raster-layer-vertex.glsl.js.map +0 -1
  120. package/dist/es5/layers/raster-layer.js +0 -174
  121. package/dist/es5/layers/raster-layer.js.map +0 -1
  122. package/dist/es5/layers/raster-tile-layer.js +0 -91
  123. package/dist/es5/layers/raster-tile-layer.js.map +0 -1
  124. package/dist/es5/layers/schema/carto-properties-tile-loader.js +0 -60
  125. package/dist/es5/layers/schema/carto-properties-tile-loader.js.map +0 -1
  126. package/dist/es5/layers/schema/carto-properties-tile.js +0 -38
  127. package/dist/es5/layers/schema/carto-properties-tile.js.map +0 -1
  128. package/dist/es5/layers/schema/carto-raster-tile-loader.js +0 -89
  129. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +0 -1
  130. package/dist/es5/layers/schema/carto-raster-tile.js +0 -79
  131. package/dist/es5/layers/schema/carto-raster-tile.js.map +0 -1
  132. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +0 -81
  133. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +0 -1
  134. package/dist/es5/layers/schema/carto-spatial-tile.js +0 -80
  135. package/dist/es5/layers/schema/carto-spatial-tile.js.map +0 -1
  136. package/dist/es5/layers/schema/carto-tile.js +0 -269
  137. package/dist/es5/layers/schema/carto-tile.js.map +0 -1
  138. package/dist/es5/layers/schema/carto-vector-tile-loader.js +0 -120
  139. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +0 -1
  140. package/dist/es5/layers/schema/fast-pbf.js +0 -14
  141. package/dist/es5/layers/schema/fast-pbf.js.map +0 -1
  142. package/dist/es5/layers/schema/spatialjson-utils.js +0 -42
  143. package/dist/es5/layers/schema/spatialjson-utils.js.map +0 -1
  144. package/dist/es5/layers/schema/tile-loader-utils.js +0 -17
  145. package/dist/es5/layers/schema/tile-loader-utils.js.map +0 -1
  146. package/dist/es5/layers/spatial-index-tile-layer.js +0 -126
  147. package/dist/es5/layers/spatial-index-tile-layer.js.map +0 -1
  148. package/dist/es5/layers/utils.js +0 -131
  149. package/dist/es5/layers/utils.js.map +0 -1
  150. package/dist/es5/layers/vector-tile-layer.js +0 -248
  151. package/dist/es5/layers/vector-tile-layer.js.map +0 -1
  152. package/dist/es5/sources/base-source.js +0 -128
  153. package/dist/es5/sources/base-source.js.map +0 -1
  154. package/dist/es5/sources/boundary-query-source.js +0 -51
  155. package/dist/es5/sources/boundary-query-source.js.map +0 -1
  156. package/dist/es5/sources/boundary-table-source.js +0 -51
  157. package/dist/es5/sources/boundary-table-source.js.map +0 -1
  158. package/dist/es5/sources/h3-query-source.js +0 -56
  159. package/dist/es5/sources/h3-query-source.js.map +0 -1
  160. package/dist/es5/sources/h3-table-source.js +0 -56
  161. package/dist/es5/sources/h3-table-source.js.map +0 -1
  162. package/dist/es5/sources/h3-tileset-source.js +0 -43
  163. package/dist/es5/sources/h3-tileset-source.js.map +0 -1
  164. package/dist/es5/sources/index.js +0 -110
  165. package/dist/es5/sources/index.js.map +0 -1
  166. package/dist/es5/sources/quadbin-query-source.js +0 -56
  167. package/dist/es5/sources/quadbin-query-source.js.map +0 -1
  168. package/dist/es5/sources/quadbin-table-source.js +0 -56
  169. package/dist/es5/sources/quadbin-table-source.js.map +0 -1
  170. package/dist/es5/sources/quadbin-tileset-source.js +0 -43
  171. package/dist/es5/sources/quadbin-tileset-source.js.map +0 -1
  172. package/dist/es5/sources/raster-source.js +0 -43
  173. package/dist/es5/sources/raster-source.js.map +0 -1
  174. package/dist/es5/sources/types.js +0 -2
  175. package/dist/es5/sources/types.js.map +0 -1
  176. package/dist/es5/sources/vector-query-source.js +0 -51
  177. package/dist/es5/sources/vector-query-source.js.map +0 -1
  178. package/dist/es5/sources/vector-table-source.js +0 -51
  179. package/dist/es5/sources/vector-table-source.js.map +0 -1
  180. package/dist/es5/sources/vector-tileset-source.js +0 -43
  181. package/dist/es5/sources/vector-tileset-source.js.map +0 -1
  182. package/dist/es5/style/color-bins-style.js +0 -37
  183. package/dist/es5/style/color-bins-style.js.map +0 -1
  184. package/dist/es5/style/color-categories-style.js +0 -65
  185. package/dist/es5/style/color-categories-style.js.map +0 -1
  186. package/dist/es5/style/color-continuous-style.js +0 -37
  187. package/dist/es5/style/color-continuous-style.js.map +0 -1
  188. package/dist/es5/style/palette.js +0 -81
  189. package/dist/es5/style/palette.js.map +0 -1
  190. package/dist/es5/style/utils.js +0 -28
  191. package/dist/es5/style/utils.js.map +0 -1
  192. package/dist/es5/utils.js +0 -65
  193. package/dist/es5/utils.js.map +0 -1
  194. package/dist/es5/workers/cartoRasterTile.js +0 -10
  195. package/dist/es5/workers/cartoRasterTile.js.map +0 -1
  196. package/dist/es5/workers/cartoSpatialTile.js +0 -10
  197. package/dist/es5/workers/cartoSpatialTile.js.map +0 -1
  198. package/dist/es5/workers/cartoVectorTile.js +0 -10
  199. package/dist/es5/workers/cartoVectorTile.js.map +0 -1
  200. package/dist/esm/api/carto-api-error.js +0 -46
  201. package/dist/esm/api/carto-api-error.js.map +0 -1
  202. package/dist/esm/api/common.js.map +0 -1
  203. package/dist/esm/api/endpoints.js +0 -41
  204. package/dist/esm/api/endpoints.js.map +0 -1
  205. package/dist/esm/api/fetch-map.js +0 -298
  206. package/dist/esm/api/fetch-map.js.map +0 -1
  207. package/dist/esm/api/index.js +0 -4
  208. package/dist/esm/api/index.js.map +0 -1
  209. package/dist/esm/api/layer-map.js +0 -520
  210. package/dist/esm/api/layer-map.js.map +0 -1
  211. package/dist/esm/api/parse-map.js +0 -343
  212. package/dist/esm/api/parse-map.js.map +0 -1
  213. package/dist/esm/api/query.js +0 -40
  214. package/dist/esm/api/query.js.map +0 -1
  215. package/dist/esm/api/request-with-parameters.js +0 -82
  216. package/dist/esm/api/request-with-parameters.js.map +0 -1
  217. package/dist/esm/api/types.js +0 -14
  218. package/dist/esm/api/types.js.map +0 -1
  219. package/dist/esm/basemap.js +0 -10
  220. package/dist/esm/basemap.js.map +0 -1
  221. package/dist/esm/index.js +0 -35
  222. package/dist/esm/index.js.map +0 -1
  223. package/dist/esm/layers/h3-tile-layer.js +0 -77
  224. package/dist/esm/layers/h3-tile-layer.js.map +0 -1
  225. package/dist/esm/layers/h3-tileset-2d.js +0 -119
  226. package/dist/esm/layers/h3-tileset-2d.js.map +0 -1
  227. package/dist/esm/layers/point-label-layer.js +0 -194
  228. package/dist/esm/layers/point-label-layer.js.map +0 -1
  229. package/dist/esm/layers/quadbin-layer.js +0 -31
  230. package/dist/esm/layers/quadbin-layer.js.map +0 -1
  231. package/dist/esm/layers/quadbin-tile-layer.js +0 -51
  232. package/dist/esm/layers/quadbin-tile-layer.js.map +0 -1
  233. package/dist/esm/layers/quadbin-tileset-2d.js +0 -39
  234. package/dist/esm/layers/quadbin-tileset-2d.js.map +0 -1
  235. package/dist/esm/layers/quadbin-utils.js +0 -23
  236. package/dist/esm/layers/quadbin-utils.js.map +0 -1
  237. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +0 -1
  238. package/dist/esm/layers/raster-layer.js +0 -108
  239. package/dist/esm/layers/raster-layer.js.map +0 -1
  240. package/dist/esm/layers/raster-tile-layer.js +0 -48
  241. package/dist/esm/layers/raster-tile-layer.js.map +0 -1
  242. package/dist/esm/layers/schema/carto-properties-tile-loader.js +0 -23
  243. package/dist/esm/layers/schema/carto-properties-tile-loader.js.map +0 -1
  244. package/dist/esm/layers/schema/carto-properties-tile.js +0 -18
  245. package/dist/esm/layers/schema/carto-properties-tile.js.map +0 -1
  246. package/dist/esm/layers/schema/carto-raster-tile-loader.js +0 -54
  247. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +0 -1
  248. package/dist/esm/layers/schema/carto-raster-tile.js +0 -51
  249. package/dist/esm/layers/schema/carto-raster-tile.js.map +0 -1
  250. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +0 -44
  251. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +0 -1
  252. package/dist/esm/layers/schema/carto-spatial-tile.js +0 -47
  253. package/dist/esm/layers/schema/carto-spatial-tile.js.map +0 -1
  254. package/dist/esm/layers/schema/carto-tile.js +0 -197
  255. package/dist/esm/layers/schema/carto-tile.js.map +0 -1
  256. package/dist/esm/layers/schema/carto-vector-tile-loader.js +0 -82
  257. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +0 -1
  258. package/dist/esm/layers/schema/fast-pbf.js +0 -7
  259. package/dist/esm/layers/schema/fast-pbf.js.map +0 -1
  260. package/dist/esm/layers/schema/spatialjson-utils.js +0 -27
  261. package/dist/esm/layers/schema/spatialjson-utils.js.map +0 -1
  262. package/dist/esm/layers/schema/tile-loader-utils.js +0 -7
  263. package/dist/esm/layers/schema/tile-loader-utils.js.map +0 -1
  264. package/dist/esm/layers/spatial-index-tile-layer.js +0 -86
  265. package/dist/esm/layers/spatial-index-tile-layer.js.map +0 -1
  266. package/dist/esm/layers/utils.js +0 -85
  267. package/dist/esm/layers/utils.js.map +0 -1
  268. package/dist/esm/layers/vector-tile-layer.js +0 -143
  269. package/dist/esm/layers/vector-tile-layer.js.map +0 -1
  270. package/dist/esm/sources/base-source.js +0 -72
  271. package/dist/esm/sources/base-source.js.map +0 -1
  272. package/dist/esm/sources/boundary-query-source.js +0 -21
  273. package/dist/esm/sources/boundary-query-source.js.map +0 -1
  274. package/dist/esm/sources/boundary-table-source.js +0 -21
  275. package/dist/esm/sources/boundary-table-source.js.map +0 -1
  276. package/dist/esm/sources/h3-query-source.js +0 -27
  277. package/dist/esm/sources/h3-query-source.js.map +0 -1
  278. package/dist/esm/sources/h3-table-source.js +0 -27
  279. package/dist/esm/sources/h3-table-source.js.map +0 -1
  280. package/dist/esm/sources/h3-tileset-source.js +0 -11
  281. package/dist/esm/sources/h3-tileset-source.js.map +0 -1
  282. package/dist/esm/sources/index.js +0 -14
  283. package/dist/esm/sources/index.js.map +0 -1
  284. package/dist/esm/sources/quadbin-query-source.js +0 -27
  285. package/dist/esm/sources/quadbin-query-source.js.map +0 -1
  286. package/dist/esm/sources/quadbin-table-source.js +0 -27
  287. package/dist/esm/sources/quadbin-table-source.js.map +0 -1
  288. package/dist/esm/sources/quadbin-tileset-source.js +0 -11
  289. package/dist/esm/sources/quadbin-tileset-source.js.map +0 -1
  290. package/dist/esm/sources/raster-source.js +0 -11
  291. package/dist/esm/sources/raster-source.js.map +0 -1
  292. package/dist/esm/sources/types.js +0 -2
  293. package/dist/esm/sources/types.js.map +0 -1
  294. package/dist/esm/sources/vector-query-source.js +0 -20
  295. package/dist/esm/sources/vector-query-source.js.map +0 -1
  296. package/dist/esm/sources/vector-table-source.js +0 -20
  297. package/dist/esm/sources/vector-table-source.js.map +0 -1
  298. package/dist/esm/sources/vector-tileset-source.js +0 -11
  299. package/dist/esm/sources/vector-tileset-source.js.map +0 -1
  300. package/dist/esm/style/color-bins-style.js +0 -19
  301. package/dist/esm/style/color-bins-style.js.map +0 -1
  302. package/dist/esm/style/color-categories-style.js +0 -24
  303. package/dist/esm/style/color-categories-style.js.map +0 -1
  304. package/dist/esm/style/color-continuous-style.js +0 -19
  305. package/dist/esm/style/color-continuous-style.js.map +0 -1
  306. package/dist/esm/style/palette.js +0 -51
  307. package/dist/esm/style/palette.js.map +0 -1
  308. package/dist/esm/style/utils.js +0 -15
  309. package/dist/esm/style/utils.js.map +0 -1
  310. package/dist/esm/utils.js +0 -51
  311. package/dist/esm/utils.js.map +0 -1
  312. package/dist/esm/workers/cartoRasterTile.js +0 -4
  313. package/dist/esm/workers/cartoRasterTile.js.map +0 -1
  314. package/dist/esm/workers/cartoSpatialTile.js +0 -4
  315. package/dist/esm/workers/cartoSpatialTile.js.map +0 -1
  316. package/dist/esm/workers/cartoVectorTile.js +0 -4
  317. package/dist/esm/workers/cartoVectorTile.js.map +0 -1
  318. package/typed/index.d.ts +0 -37
  319. /package/{typed → dist}/api/carto-api-error.d.ts +0 -0
  320. /package/{typed → dist}/api/carto-api-error.d.ts.map +0 -0
  321. /package/{typed → dist}/api/common.d.ts +0 -0
  322. /package/{typed → dist}/api/common.d.ts.map +0 -0
  323. /package/{typed → dist}/api/endpoints.d.ts +0 -0
  324. /package/{typed → dist}/api/endpoints.d.ts.map +0 -0
  325. /package/{typed → dist}/api/fetch-map.d.ts +0 -0
  326. /package/{typed → dist}/api/fetch-map.d.ts.map +0 -0
  327. /package/{typed → dist}/api/index.d.ts +0 -0
  328. /package/{typed → dist}/api/index.d.ts.map +0 -0
  329. /package/{typed → dist}/api/layer-map.d.ts +0 -0
  330. /package/{typed → dist}/api/layer-map.d.ts.map +0 -0
  331. /package/{typed → dist}/api/parse-map.d.ts +0 -0
  332. /package/{typed → dist}/api/parse-map.d.ts.map +0 -0
  333. /package/{typed → dist}/api/query.d.ts +0 -0
  334. /package/{typed → dist}/api/query.d.ts.map +0 -0
  335. /package/{typed → dist}/api/request-with-parameters.d.ts +0 -0
  336. /package/{typed → dist}/api/request-with-parameters.d.ts.map +0 -0
  337. /package/{typed → dist}/api/types.d.ts +0 -0
  338. /package/{typed → dist}/api/types.d.ts.map +0 -0
  339. /package/{typed → dist}/basemap.d.ts +0 -0
  340. /package/{typed → dist}/basemap.d.ts.map +0 -0
  341. /package/{typed → dist}/layers/h3-tile-layer.d.ts +0 -0
  342. /package/{typed → dist}/layers/h3-tile-layer.d.ts.map +0 -0
  343. /package/{typed → dist}/layers/h3-tileset-2d.d.ts +0 -0
  344. /package/{typed → dist}/layers/h3-tileset-2d.d.ts.map +0 -0
  345. /package/{typed → dist}/layers/point-label-layer.d.ts +0 -0
  346. /package/{typed → dist}/layers/point-label-layer.d.ts.map +0 -0
  347. /package/{typed → dist}/layers/quadbin-layer.d.ts +0 -0
  348. /package/{typed → dist}/layers/quadbin-layer.d.ts.map +0 -0
  349. /package/{typed → dist}/layers/quadbin-tile-layer.d.ts +0 -0
  350. /package/{typed → dist}/layers/quadbin-tile-layer.d.ts.map +0 -0
  351. /package/{typed → dist}/layers/quadbin-tileset-2d.d.ts +0 -0
  352. /package/{typed → dist}/layers/quadbin-tileset-2d.d.ts.map +0 -0
  353. /package/{typed → dist}/layers/quadbin-utils.d.ts +0 -0
  354. /package/{typed → dist}/layers/quadbin-utils.d.ts.map +0 -0
  355. /package/{typed → dist}/layers/raster-layer-vertex.glsl.d.ts +0 -0
  356. /package/{typed → dist}/layers/raster-layer-vertex.glsl.d.ts.map +0 -0
  357. /package/{typed → dist}/layers/raster-layer.d.ts +0 -0
  358. /package/{typed → dist}/layers/raster-layer.d.ts.map +0 -0
  359. /package/{typed → dist}/layers/raster-tile-layer.d.ts +0 -0
  360. /package/{typed → dist}/layers/raster-tile-layer.d.ts.map +0 -0
  361. /package/{typed → dist}/layers/schema/carto-properties-tile-loader.d.ts +0 -0
  362. /package/{typed → dist}/layers/schema/carto-properties-tile-loader.d.ts.map +0 -0
  363. /package/{typed → dist}/layers/schema/carto-properties-tile.d.ts +0 -0
  364. /package/{typed → dist}/layers/schema/carto-properties-tile.d.ts.map +0 -0
  365. /package/{typed → dist}/layers/schema/carto-raster-tile-loader.d.ts +0 -0
  366. /package/{typed → dist}/layers/schema/carto-raster-tile-loader.d.ts.map +0 -0
  367. /package/{typed → dist}/layers/schema/carto-raster-tile.d.ts +0 -0
  368. /package/{typed → dist}/layers/schema/carto-raster-tile.d.ts.map +0 -0
  369. /package/{typed → dist}/layers/schema/carto-spatial-tile-loader.d.ts +0 -0
  370. /package/{typed → dist}/layers/schema/carto-spatial-tile-loader.d.ts.map +0 -0
  371. /package/{typed → dist}/layers/schema/carto-spatial-tile.d.ts +0 -0
  372. /package/{typed → dist}/layers/schema/carto-spatial-tile.d.ts.map +0 -0
  373. /package/{typed → dist}/layers/schema/carto-tile.d.ts +0 -0
  374. /package/{typed → dist}/layers/schema/carto-tile.d.ts.map +0 -0
  375. /package/{typed → dist}/layers/schema/carto-vector-tile-loader.d.ts +0 -0
  376. /package/{typed → dist}/layers/schema/carto-vector-tile-loader.d.ts.map +0 -0
  377. /package/{typed → dist}/layers/schema/fast-pbf.d.ts +0 -0
  378. /package/{typed → dist}/layers/schema/fast-pbf.d.ts.map +0 -0
  379. /package/{typed → dist}/layers/schema/spatialjson-utils.d.ts +0 -0
  380. /package/{typed → dist}/layers/schema/spatialjson-utils.d.ts.map +0 -0
  381. /package/{typed → dist}/layers/schema/tile-loader-utils.d.ts +0 -0
  382. /package/{typed → dist}/layers/schema/tile-loader-utils.d.ts.map +0 -0
  383. /package/{typed → dist}/layers/utils.d.ts +0 -0
  384. /package/{typed → dist}/layers/utils.d.ts.map +0 -0
  385. /package/{typed → dist}/layers/vector-tile-layer.d.ts +0 -0
  386. /package/{typed → dist}/layers/vector-tile-layer.d.ts.map +0 -0
  387. /package/{typed → dist}/sources/base-source.d.ts +0 -0
  388. /package/{typed → dist}/sources/base-source.d.ts.map +0 -0
  389. /package/{typed → dist}/sources/boundary-table-source.d.ts +0 -0
  390. /package/{typed → dist}/sources/boundary-table-source.d.ts.map +0 -0
  391. /package/{typed → dist}/sources/h3-query-source.d.ts +0 -0
  392. /package/{typed → dist}/sources/h3-query-source.d.ts.map +0 -0
  393. /package/{typed → dist}/sources/h3-table-source.d.ts +0 -0
  394. /package/{typed → dist}/sources/h3-table-source.d.ts.map +0 -0
  395. /package/{typed → dist}/sources/h3-tileset-source.d.ts +0 -0
  396. /package/{typed → dist}/sources/h3-tileset-source.d.ts.map +0 -0
  397. /package/{typed → dist}/sources/index.d.ts +0 -0
  398. /package/{typed → dist}/sources/index.d.ts.map +0 -0
  399. /package/{typed → dist}/sources/quadbin-query-source.d.ts +0 -0
  400. /package/{typed → dist}/sources/quadbin-query-source.d.ts.map +0 -0
  401. /package/{typed → dist}/sources/quadbin-table-source.d.ts +0 -0
  402. /package/{typed → dist}/sources/quadbin-table-source.d.ts.map +0 -0
  403. /package/{typed → dist}/sources/quadbin-tileset-source.d.ts +0 -0
  404. /package/{typed → dist}/sources/quadbin-tileset-source.d.ts.map +0 -0
  405. /package/{typed → dist}/sources/raster-source.d.ts +0 -0
  406. /package/{typed → dist}/sources/raster-source.d.ts.map +0 -0
  407. /package/{typed → dist}/sources/types.d.ts +0 -0
  408. /package/{typed → dist}/sources/types.d.ts.map +0 -0
  409. /package/{typed → dist}/sources/vector-query-source.d.ts +0 -0
  410. /package/{typed → dist}/sources/vector-query-source.d.ts.map +0 -0
  411. /package/{typed → dist}/sources/vector-table-source.d.ts +0 -0
  412. /package/{typed → dist}/sources/vector-table-source.d.ts.map +0 -0
  413. /package/{typed → dist}/sources/vector-tileset-source.d.ts +0 -0
  414. /package/{typed → dist}/sources/vector-tileset-source.d.ts.map +0 -0
  415. /package/{typed → dist}/style/color-bins-style.d.ts +0 -0
  416. /package/{typed → dist}/style/color-bins-style.d.ts.map +0 -0
  417. /package/{typed → dist}/style/color-categories-style.d.ts +0 -0
  418. /package/{typed → dist}/style/color-categories-style.d.ts.map +0 -0
  419. /package/{typed → dist}/style/color-continuous-style.d.ts +0 -0
  420. /package/{typed → dist}/style/color-continuous-style.d.ts.map +0 -0
  421. /package/{typed → dist}/style/palette.d.ts +0 -0
  422. /package/{typed → dist}/style/palette.d.ts.map +0 -0
  423. /package/{typed → dist}/style/utils.d.ts +0 -0
  424. /package/{typed → dist}/style/utils.d.ts.map +0 -0
  425. /package/{typed → dist}/utils.d.ts +0 -0
  426. /package/{typed → dist}/utils.d.ts.map +0 -0
  427. /package/{typed → dist}/workers/cartoRasterTile.d.ts +0 -0
  428. /package/{typed → dist}/workers/cartoRasterTile.d.ts.map +0 -0
  429. /package/{typed → dist}/workers/cartoSpatialTile.d.ts +0 -0
  430. /package/{typed → dist}/workers/cartoSpatialTile.d.ts.map +0 -0
  431. /package/{typed → dist}/workers/cartoVectorTile.d.ts +0 -0
  432. /package/{typed → dist}/workers/cartoVectorTile.d.ts.map +0 -0
@@ -1,298 +0,0 @@
1
- import { CartoAPIError } from './carto-api-error';
2
- import { DEFAULT_API_BASE_URL, DEFAULT_CLIENT } from './common';
3
- import { buildPublicMapUrl, buildStatsUrl } from './endpoints';
4
- import { h3QuerySource, h3TableSource, quadbinQuerySource, quadbinTableSource, vectorQuerySource, vectorTableSource, vectorTilesetSource } from '../sources';
5
- import { parseMap } from './parse-map';
6
- import { requestWithParameters } from './request-with-parameters';
7
- import { assert } from '../utils';
8
-
9
- async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, headers) {
10
- const {
11
- aggregationExp,
12
- aggregationResLevel,
13
- connectionName,
14
- columns,
15
- format,
16
- geoColumn,
17
- source,
18
- type,
19
- queryParameters
20
- } = dataset;
21
- const cache = {};
22
- const globalOptions = {
23
- accessToken,
24
- apiBaseUrl,
25
- cache,
26
- clientId,
27
- connectionName,
28
- format,
29
- headers
30
- };
31
-
32
- if (type === 'tileset') {
33
- dataset.data = await vectorTilesetSource({ ...globalOptions,
34
- tableName: source
35
- });
36
- } else {
37
- const [spatialDataType, spatialDataColumn] = geoColumn ? geoColumn.split(':') : ['geom'];
38
-
39
- if (spatialDataType === 'geom') {
40
- const options = { ...globalOptions,
41
- spatialDataColumn
42
- };
43
-
44
- if (type === 'table') {
45
- dataset.data = await vectorTableSource({ ...options,
46
- columns,
47
- tableName: source
48
- });
49
- } else if (type === 'query') {
50
- dataset.data = await vectorQuerySource({ ...options,
51
- sqlQuery: source,
52
- queryParameters
53
- });
54
- }
55
- } else if (spatialDataType === 'h3') {
56
- const options = { ...globalOptions,
57
- aggregationExp,
58
- aggregationResLevel,
59
- spatialDataColumn
60
- };
61
-
62
- if (type === 'table') {
63
- dataset.data = await h3TableSource({ ...options,
64
- columns,
65
- tableName: source
66
- });
67
- } else if (type === 'query') {
68
- dataset.data = await h3QuerySource({ ...options,
69
- sqlQuery: source,
70
- queryParameters
71
- });
72
- }
73
- } else if (spatialDataType === 'quadbin') {
74
- const options = { ...globalOptions,
75
- aggregationExp,
76
- aggregationResLevel,
77
- spatialDataColumn
78
- };
79
-
80
- if (type === 'table') {
81
- dataset.data = await quadbinTableSource({ ...options,
82
- columns,
83
- tableName: source
84
- });
85
- } else if (type === 'query') {
86
- dataset.data = await quadbinQuerySource({ ...options,
87
- sqlQuery: source,
88
- queryParameters
89
- });
90
- }
91
- }
92
- }
93
-
94
- let cacheChanged = true;
95
-
96
- if (cache.value) {
97
- cacheChanged = dataset.cache !== cache.value;
98
- dataset.cache = cache.value;
99
- }
100
-
101
- return cacheChanged;
102
- }
103
-
104
- async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl) {
105
- const {
106
- connectionName,
107
- data,
108
- id,
109
- source,
110
- type,
111
- queryParameters
112
- } = dataset;
113
- const errorContext = {
114
- requestType: 'Tile stats',
115
- connection: connectionName,
116
- type,
117
- source
118
- };
119
-
120
- if (!('tilestats' in data)) {
121
- throw new CartoAPIError(new Error(`Invalid dataset for tilestats: ${id}`), errorContext);
122
- }
123
-
124
- const baseUrl = buildStatsUrl({
125
- attribute,
126
- apiBaseUrl,
127
- ...dataset
128
- });
129
- const headers = {
130
- Authorization: `Bearer ${accessToken}`
131
- };
132
- const parameters = {};
133
-
134
- if (type === 'query') {
135
- parameters.q = source;
136
-
137
- if (queryParameters) {
138
- parameters.queryParameters = JSON.stringify(queryParameters);
139
- }
140
- }
141
-
142
- const stats = await requestWithParameters({
143
- baseUrl,
144
- headers,
145
- parameters,
146
- errorContext
147
- });
148
- const {
149
- attributes
150
- } = data.tilestats.layers[0];
151
- const index = attributes.findIndex(d => d.attribute === attribute);
152
- attributes[index] = stats;
153
- return true;
154
- }
155
-
156
- async function fillInMapDatasets({
157
- datasets,
158
- token
159
- }, clientId, apiBaseUrl, headers) {
160
- const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers));
161
- return await Promise.all(promises);
162
- }
163
-
164
- async function fillInTileStats({
165
- datasets,
166
- keplerMapConfig,
167
- token
168
- }, apiBaseUrl) {
169
- const attributes = [];
170
- const {
171
- layers
172
- } = keplerMapConfig.config.visState;
173
-
174
- for (const layer of layers) {
175
- for (const channel of Object.keys(layer.visualChannels)) {
176
- var _layer$visualChannels;
177
-
178
- const attribute = (_layer$visualChannels = layer.visualChannels[channel]) === null || _layer$visualChannels === void 0 ? void 0 : _layer$visualChannels.name;
179
-
180
- if (attribute) {
181
- const dataset = datasets.find(d => d.id === layer.config.dataId);
182
-
183
- if (dataset && dataset.type !== 'tileset' && dataset.data.tilestats) {
184
- attributes.push({
185
- attribute,
186
- dataset
187
- });
188
- }
189
- }
190
- }
191
- }
192
-
193
- const filteredAttributes = [];
194
-
195
- for (const a of attributes) {
196
- if (!filteredAttributes.find(({
197
- attribute,
198
- dataset
199
- }) => attribute === a.attribute && dataset === a.dataset)) {
200
- filteredAttributes.push(a);
201
- }
202
- }
203
-
204
- const promises = filteredAttributes.map(({
205
- attribute,
206
- dataset
207
- }) => _fetchTilestats(attribute, dataset, token, apiBaseUrl));
208
- return await Promise.all(promises);
209
- }
210
-
211
- export async function fetchMap({
212
- apiBaseUrl = DEFAULT_API_BASE_URL,
213
- cartoMapId,
214
- clientId = DEFAULT_CLIENT,
215
- headers = {},
216
- autoRefresh,
217
- onNewData
218
- }) {
219
- assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
220
- assert(apiBaseUrl, 'Must define apiBaseUrl');
221
-
222
- if (autoRefresh || onNewData) {
223
- assert(onNewData, 'Must define `onNewData` when using autoRefresh');
224
- assert(typeof onNewData === 'function', '`onNewData` must be a function');
225
- assert(typeof autoRefresh === 'number' && autoRefresh > 0, '`autoRefresh` must be a positive number');
226
- }
227
-
228
- const baseUrl = buildPublicMapUrl({
229
- apiBaseUrl,
230
- cartoMapId
231
- });
232
- const errorContext = {
233
- requestType: 'Public map',
234
- mapId: cartoMapId
235
- };
236
- const map = await requestWithParameters({
237
- baseUrl,
238
- headers,
239
- errorContext
240
- });
241
- let stopAutoRefresh;
242
-
243
- if (autoRefresh) {
244
- const intervalId = setInterval(async () => {
245
- const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, { ...headers,
246
- 'If-Modified-Since': new Date().toUTCString()
247
- });
248
-
249
- if (onNewData && changed.some(v => v === true)) {
250
- onNewData(parseMap(map));
251
- }
252
- }, autoRefresh * 1000);
253
-
254
- stopAutoRefresh = () => {
255
- clearInterval(intervalId);
256
- };
257
- }
258
-
259
- const geojsonLayers = map.keplerMapConfig.config.visState.layers.filter(({
260
- type
261
- }) => type === 'geojson' || type === 'point');
262
- const geojsonDatasetIds = geojsonLayers.map(({
263
- config
264
- }) => config.dataId);
265
- map.datasets.forEach(dataset => {
266
- if (geojsonDatasetIds.includes(dataset.id)) {
267
- const {
268
- config
269
- } = geojsonLayers.find(({
270
- config
271
- }) => config.dataId === dataset.id);
272
- dataset.format = 'geojson';
273
-
274
- if (!dataset.geoColumn && config.columns.geojson) {
275
- dataset.geoColumn = config.columns.geojson;
276
- }
277
- }
278
- });
279
- await fillInMapDatasets(map, clientId, apiBaseUrl, headers);
280
- await fillInTileStats(map, apiBaseUrl);
281
- const out = { ...parseMap(map),
282
- ...{
283
- stopAutoRefresh
284
- }
285
- };
286
- const textLayers = out.layers.filter(layer => {
287
- const pointType = layer.props.pointType || '';
288
- return pointType.includes('text');
289
- });
290
-
291
- if (textLayers.length && window.FontFace && !document.fonts.check('12px Inter')) {
292
- const font = new FontFace('Inter', 'url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)');
293
- await font.load().then(f => document.fonts.add(f));
294
- }
295
-
296
- return out;
297
- }
298
- //# sourceMappingURL=fetch-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/api/fetch-map.ts"],"names":["CartoAPIError","DEFAULT_API_BASE_URL","DEFAULT_CLIENT","buildPublicMapUrl","buildStatsUrl","h3QuerySource","h3TableSource","quadbinQuerySource","quadbinTableSource","vectorQuerySource","vectorTableSource","vectorTilesetSource","parseMap","requestWithParameters","assert","_fetchMapDataset","dataset","accessToken","apiBaseUrl","clientId","headers","aggregationExp","aggregationResLevel","connectionName","columns","format","geoColumn","source","type","queryParameters","cache","globalOptions","data","tableName","spatialDataType","spatialDataColumn","split","options","sqlQuery","cacheChanged","value","_fetchTilestats","attribute","id","errorContext","requestType","connection","Error","baseUrl","Authorization","parameters","q","JSON","stringify","stats","attributes","tilestats","layers","index","findIndex","d","fillInMapDatasets","datasets","token","promises","map","Promise","all","fillInTileStats","keplerMapConfig","config","visState","layer","channel","Object","keys","visualChannels","name","find","dataId","push","filteredAttributes","a","fetchMap","cartoMapId","autoRefresh","onNewData","mapId","stopAutoRefresh","intervalId","setInterval","changed","Date","toUTCString","some","v","clearInterval","geojsonLayers","filter","geojsonDatasetIds","forEach","includes","geojson","out","textLayers","pointType","props","length","window","FontFace","document","fonts","check","font","load","then","f","add"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\n/**\n * Maps API Client for Carto 3\n */\nimport {CartoAPIError} from './carto-api-error';\nimport {DEFAULT_API_BASE_URL, DEFAULT_CLIENT} from './common';\nimport {buildPublicMapUrl, buildStatsUrl} from './endpoints';\nimport {\n GeojsonResult,\n JsonResult,\n TilejsonResult,\n h3QuerySource,\n h3TableSource,\n quadbinQuerySource,\n quadbinTableSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n} from '../sources';\nimport {parseMap} from './parse-map';\nimport {requestWithParameters} from './request-with-parameters';\nimport {assert} from '../utils';\nimport type {APIErrorContext, Format, MapType, QueryParameters} from './types';\n\ntype Dataset = {\n id: string;\n type: MapType;\n source: string;\n cache?: number;\n connectionName: string;\n geoColumn: string;\n data: TilejsonResult | GeojsonResult | JsonResult;\n columns: string[];\n format: Format;\n aggregationExp: string;\n aggregationResLevel: number;\n queryParameters: QueryParameters;\n};\n\n/* global clearInterval, setInterval, URL */\n/* eslint-disable complexity, max-statements */\nasync function _fetchMapDataset(\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string,\n clientId?: string,\n headers?: Record<string, string>\n) {\n const {\n aggregationExp,\n aggregationResLevel,\n connectionName,\n columns,\n format,\n geoColumn,\n source,\n type,\n queryParameters\n } = dataset;\n\n const cache: {value?: number} = {};\n const globalOptions: any = {\n accessToken,\n apiBaseUrl,\n cache,\n clientId,\n connectionName,\n format,\n headers\n };\n\n if (type === 'tileset') {\n // TODO do we want a generic tilesetSource?\n // @ts-ignore\n dataset.data = await vectorTilesetSource({...globalOptions, tableName: source});\n } else {\n const [spatialDataType, spatialDataColumn] = geoColumn ? geoColumn.split(':') : ['geom'];\n if (spatialDataType === 'geom') {\n const options = {...globalOptions, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await vectorTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await vectorQuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'h3') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await h3TableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await h3QuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'quadbin') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await quadbinTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await quadbinQuerySource({...options, sqlQuery: source, queryParameters});\n }\n }\n }\n let cacheChanged = true;\n if (cache.value) {\n cacheChanged = dataset.cache !== cache.value;\n dataset.cache = cache.value;\n }\n\n return cacheChanged;\n}\n\nasync function _fetchTilestats(\n attribute: string,\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string\n) {\n const {connectionName, data, id, source, type, queryParameters} = dataset;\n const errorContext: APIErrorContext = {\n requestType: 'Tile stats',\n connection: connectionName,\n type,\n source\n };\n if (!('tilestats' in data)) {\n throw new CartoAPIError(new Error(`Invalid dataset for tilestats: ${id}`), errorContext);\n }\n\n const baseUrl = buildStatsUrl({attribute, apiBaseUrl, ...dataset});\n const headers = {Authorization: `Bearer ${accessToken}`};\n const parameters: Record<string, string> = {};\n if (type === 'query') {\n parameters.q = source;\n if (queryParameters) {\n parameters.queryParameters = JSON.stringify(queryParameters);\n }\n }\n const stats = await requestWithParameters({\n baseUrl,\n headers,\n parameters,\n errorContext\n });\n\n // Replace tilestats for attribute with value from API\n const {attributes} = data.tilestats.layers[0];\n const index = attributes.findIndex(d => d.attribute === attribute);\n attributes[index] = stats;\n return true;\n}\n\nasync function fillInMapDatasets(\n {datasets, token}: {datasets: Dataset[]; token: string},\n clientId: string,\n apiBaseUrl: string,\n headers?: Record<string, string>\n) {\n const promises = datasets.map(dataset =>\n _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers)\n );\n return await Promise.all(promises);\n}\n\nasync function fillInTileStats(\n {datasets, keplerMapConfig, token}: {datasets: Dataset[]; keplerMapConfig: any; token: string},\n apiBaseUrl: string\n) {\n const attributes: {attribute: string; dataset: any}[] = [];\n const {layers} = keplerMapConfig.config.visState;\n for (const layer of layers) {\n for (const channel of Object.keys(layer.visualChannels)) {\n const attribute = layer.visualChannels[channel]?.name;\n if (attribute) {\n const dataset = datasets.find(d => d.id === layer.config.dataId);\n if (dataset && dataset.type !== 'tileset' && (dataset.data as TilejsonResult).tilestats) {\n // Only fetch stats for QUERY & TABLE map types\n attributes.push({attribute, dataset});\n }\n }\n }\n }\n // Remove duplicates to avoid repeated requests\n const filteredAttributes: {attribute: string; dataset: any}[] = [];\n for (const a of attributes) {\n if (\n !filteredAttributes.find(\n ({attribute, dataset}) => attribute === a.attribute && dataset === a.dataset\n )\n ) {\n filteredAttributes.push(a);\n }\n }\n\n const promises = filteredAttributes.map(({attribute, dataset}) =>\n _fetchTilestats(attribute, dataset, token, apiBaseUrl)\n );\n return await Promise.all(promises);\n}\n\nexport type FetchMapOptions = {\n apiBaseUrl?: string;\n cartoMapId: string;\n clientId?: string;\n headers?: Record<string, string>;\n autoRefresh?: number;\n onNewData?: (map: any) => void;\n};\n\n/* eslint-disable max-statements */\nexport async function fetchMap({\n apiBaseUrl = DEFAULT_API_BASE_URL,\n cartoMapId,\n clientId = DEFAULT_CLIENT,\n headers = {},\n autoRefresh,\n onNewData\n}: FetchMapOptions) {\n assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: \"XXXX-XXXX-XXXX\"})');\n assert(apiBaseUrl, 'Must define apiBaseUrl');\n\n if (autoRefresh || onNewData) {\n assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n assert(typeof onNewData === 'function', '`onNewData` must be a function');\n assert(\n typeof autoRefresh === 'number' && autoRefresh > 0,\n '`autoRefresh` must be a positive number'\n );\n }\n\n const baseUrl = buildPublicMapUrl({apiBaseUrl, cartoMapId});\n const errorContext: APIErrorContext = {requestType: 'Public map', mapId: cartoMapId};\n const map = await requestWithParameters({baseUrl, headers, errorContext});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n let stopAutoRefresh: (() => void) | undefined;\n if (autoRefresh) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const intervalId = setInterval(async () => {\n const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, {\n ...headers,\n 'If-Modified-Since': new Date().toUTCString()\n });\n if (onNewData && changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n stopAutoRefresh = () => {\n clearInterval(intervalId);\n };\n }\n\n const geojsonLayers = map.keplerMapConfig.config.visState.layers.filter(\n ({type}) => type === 'geojson' || type === 'point'\n );\n const geojsonDatasetIds = geojsonLayers.map(({config}) => config.dataId);\n map.datasets.forEach(dataset => {\n if (geojsonDatasetIds.includes(dataset.id)) {\n const {config} = geojsonLayers.find(({config}) => config.dataId === dataset.id);\n dataset.format = 'geojson';\n // Support for very old maps. geoColumn was not stored in the past\n if (!dataset.geoColumn && config.columns.geojson) {\n dataset.geoColumn = config.columns.geojson;\n }\n }\n });\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map, clientId, apiBaseUrl, headers);\n\n // Mutates attributes in visualChannels to contain tile stats\n await fillInTileStats(map, apiBaseUrl);\n const out = {...parseMap(map), ...{stopAutoRefresh}};\n\n const textLayers = out.layers.filter(layer => {\n const pointType = layer.props.pointType || '';\n return pointType.includes('text');\n });\n\n /* global FontFace, window, document */\n if (textLayers.length && window.FontFace && !document.fonts.check('12px Inter')) {\n // Fetch font needed for labels\n const font = new FontFace(\n 'Inter',\n 'url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)'\n );\n await font.load().then(f => document.fonts.add(f));\n }\n\n return out;\n}\n"],"file":"fetch-map.js"}
@@ -1,4 +0,0 @@
1
- export { CartoAPIError } from './carto-api-error';
2
- export { fetchMap } from './fetch-map';
3
- export { query } from './query';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/api/index.ts"],"names":["CartoAPIError","fetchMap","query"],"mappings":"AAAA,SAAQA,aAAR,QAA4B,mBAA5B;AACA,SAAQC,QAAR,QAAuB,aAAvB;AAGA,SAAQC,KAAR,QAAoB,SAApB","sourcesContent":["export {CartoAPIError} from './carto-api-error';\nexport {fetchMap} from './fetch-map';\nexport type {FetchMapOptions} from './fetch-map';\nexport type {APIErrorContext, Format, MapType, RequestType, QueryParameters} from './types';\nexport {query} from './query';\nexport type {QueryOptions} from './query';\n"],"file":"index.js"}