@deck.gl/carto 8.10.0-alpha.7 → 9.0.0-alpha.4

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 (365) hide show
  1. package/dist/cartoRasterTile-worker.js +32 -24
  2. package/dist/cartoSpatialTile-worker.js +32 -24
  3. package/dist/cartoVectorTile-worker.js +69 -63
  4. package/dist/dist.dev.js +12061 -12560
  5. package/dist/es5/api/carto-api-error.js.map +1 -1
  6. package/dist/es5/api/common.js +25 -0
  7. package/dist/es5/api/common.js.map +1 -0
  8. package/dist/es5/api/endpoints.js +40 -0
  9. package/dist/es5/api/endpoints.js.map +1 -0
  10. package/dist/es5/api/fetch-map.js +568 -0
  11. package/dist/es5/api/fetch-map.js.map +1 -0
  12. package/dist/es5/api/index.js +5 -49
  13. package/dist/es5/api/index.js.map +1 -1
  14. package/dist/es5/api/layer-map.js +43 -45
  15. package/dist/es5/api/layer-map.js.map +1 -1
  16. package/dist/es5/api/{parseMap.js → parse-map.js} +5 -3
  17. package/dist/es5/api/parse-map.js.map +1 -0
  18. package/dist/es5/api/query.js +78 -0
  19. package/dist/es5/api/query.js.map +1 -0
  20. package/dist/es5/{sources/utils.js → api/request-with-parameters.js} +60 -46
  21. package/dist/es5/api/request-with-parameters.js.map +1 -0
  22. package/dist/es5/api/types.js +19 -0
  23. package/dist/es5/api/types.js.map +1 -1
  24. package/dist/es5/index.js +66 -80
  25. package/dist/es5/index.js.map +1 -1
  26. package/dist/es5/layers/h3-tile-layer.js +3 -5
  27. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  28. package/dist/es5/layers/point-label-layer.js.map +1 -1
  29. package/dist/es5/layers/quadbin-layer.js.map +1 -1
  30. package/dist/es5/layers/quadbin-tile-layer.js +1 -4
  31. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  32. package/dist/es5/layers/raster-layer.js +2 -0
  33. package/dist/es5/layers/raster-layer.js.map +1 -1
  34. package/dist/es5/layers/raster-tile-layer.js +1 -3
  35. package/dist/es5/layers/raster-tile-layer.js.map +1 -1
  36. package/dist/es5/layers/schema/carto-properties-tile-loader.js +60 -0
  37. package/dist/es5/layers/schema/carto-properties-tile-loader.js.map +1 -0
  38. package/dist/es5/layers/schema/carto-properties-tile.js +38 -0
  39. package/dist/es5/layers/schema/carto-properties-tile.js.map +1 -0
  40. package/dist/es5/layers/schema/carto-raster-tile-loader.js +1 -1
  41. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
  42. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -1
  43. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  44. package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -2
  45. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
  46. package/dist/es5/layers/spatial-index-tile-layer.js +16 -26
  47. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  48. package/dist/es5/layers/utils.js +102 -0
  49. package/dist/es5/layers/utils.js.map +1 -1
  50. package/dist/es5/layers/vector-tile-layer.js +112 -27
  51. package/dist/es5/layers/vector-tile-layer.js.map +1 -1
  52. package/dist/es5/sources/base-source.js +56 -28
  53. package/dist/es5/sources/base-source.js.map +1 -1
  54. package/dist/es5/sources/boundary-query-source.js +51 -0
  55. package/dist/es5/sources/boundary-query-source.js.map +1 -0
  56. package/dist/es5/sources/boundary-table-source.js +51 -0
  57. package/dist/es5/sources/boundary-table-source.js.map +1 -0
  58. package/dist/es5/sources/boundary-tileset-source.js +43 -0
  59. package/dist/es5/sources/boundary-tileset-source.js.map +1 -0
  60. package/dist/es5/sources/h3-query-source.js +9 -11
  61. package/dist/es5/sources/h3-query-source.js.map +1 -1
  62. package/dist/es5/sources/h3-table-source.js +10 -12
  63. package/dist/es5/sources/h3-table-source.js.map +1 -1
  64. package/dist/es5/sources/h3-tileset-source.js +5 -5
  65. package/dist/es5/sources/h3-tileset-source.js.map +1 -1
  66. package/dist/es5/sources/index.js +46 -22
  67. package/dist/es5/sources/index.js.map +1 -1
  68. package/dist/es5/sources/quadbin-query-source.js +10 -12
  69. package/dist/es5/sources/quadbin-query-source.js.map +1 -1
  70. package/dist/es5/sources/quadbin-table-source.js +10 -12
  71. package/dist/es5/sources/quadbin-table-source.js.map +1 -1
  72. package/dist/es5/sources/quadbin-tileset-source.js +5 -5
  73. package/dist/es5/sources/quadbin-tileset-source.js.map +1 -1
  74. package/dist/es5/sources/raster-source.js +5 -5
  75. package/dist/es5/sources/raster-source.js.map +1 -1
  76. package/dist/es5/sources/types.js +2 -0
  77. package/dist/es5/sources/types.js.map +1 -0
  78. package/dist/es5/sources/vector-query-source.js +11 -12
  79. package/dist/es5/sources/vector-query-source.js.map +1 -1
  80. package/dist/es5/sources/vector-table-source.js +12 -13
  81. package/dist/es5/sources/vector-table-source.js.map +1 -1
  82. package/dist/es5/sources/vector-tileset-source.js +5 -5
  83. package/dist/es5/sources/vector-tileset-source.js.map +1 -1
  84. package/dist/es5/style/color-bins-style.js +4 -2
  85. package/dist/es5/style/color-bins-style.js.map +1 -1
  86. package/dist/es5/style/color-categories-style.js +4 -2
  87. package/dist/es5/style/color-categories-style.js.map +1 -1
  88. package/dist/es5/style/color-continuous-style.js +4 -2
  89. package/dist/es5/style/color-continuous-style.js.map +1 -1
  90. package/dist/es5/style/palette.js +1 -1
  91. package/dist/es5/style/palette.js.map +1 -1
  92. package/dist/es5/style/utils.js +4 -11
  93. package/dist/es5/style/utils.js.map +1 -1
  94. package/dist/es5/utils.js +30 -1
  95. package/dist/es5/utils.js.map +1 -1
  96. package/dist/esm/api/carto-api-error.js.map +1 -1
  97. package/dist/esm/api/common.js +13 -0
  98. package/dist/esm/api/common.js.map +1 -0
  99. package/dist/esm/api/endpoints.js +28 -0
  100. package/dist/esm/api/endpoints.js.map +1 -0
  101. package/dist/esm/api/fetch-map.js +300 -0
  102. package/dist/esm/api/fetch-map.js.map +1 -0
  103. package/dist/esm/api/index.js +2 -3
  104. package/dist/esm/api/index.js.map +1 -1
  105. package/dist/esm/api/layer-map.js +43 -35
  106. package/dist/esm/api/layer-map.js.map +1 -1
  107. package/dist/esm/api/{parseMap.js → parse-map.js} +3 -2
  108. package/dist/esm/api/parse-map.js.map +1 -0
  109. package/dist/esm/api/query.js +38 -0
  110. package/dist/esm/api/query.js.map +1 -0
  111. package/dist/esm/{sources/utils.js → api/request-with-parameters.js} +25 -12
  112. package/dist/esm/api/request-with-parameters.js.map +1 -0
  113. package/dist/esm/api/types.js +13 -1
  114. package/dist/esm/api/types.js.map +1 -1
  115. package/dist/esm/index.js +31 -9
  116. package/dist/esm/index.js.map +1 -1
  117. package/dist/esm/layers/h3-tile-layer.js +2 -6
  118. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  119. package/dist/esm/layers/point-label-layer.js.map +1 -1
  120. package/dist/esm/layers/quadbin-layer.js.map +1 -1
  121. package/dist/esm/layers/quadbin-tile-layer.js +1 -3
  122. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  123. package/dist/esm/layers/raster-layer.js +1 -0
  124. package/dist/esm/layers/raster-layer.js.map +1 -1
  125. package/dist/esm/layers/raster-tile-layer.js +1 -2
  126. package/dist/esm/layers/raster-tile-layer.js.map +1 -1
  127. package/dist/esm/layers/schema/carto-properties-tile-loader.js +23 -0
  128. package/dist/esm/layers/schema/carto-properties-tile-loader.js.map +1 -0
  129. package/dist/esm/layers/schema/carto-properties-tile.js +18 -0
  130. package/dist/esm/layers/schema/carto-properties-tile.js.map +1 -0
  131. package/dist/esm/layers/schema/carto-raster-tile-loader.js +1 -1
  132. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
  133. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +1 -1
  134. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  135. package/dist/esm/layers/schema/carto-vector-tile-loader.js +1 -2
  136. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
  137. package/dist/esm/layers/spatial-index-tile-layer.js +9 -24
  138. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  139. package/dist/esm/layers/utils.js +71 -0
  140. package/dist/esm/layers/utils.js.map +1 -1
  141. package/dist/esm/layers/vector-tile-layer.js +40 -12
  142. package/dist/esm/layers/vector-tile-layer.js.map +1 -1
  143. package/dist/esm/sources/base-source.js +33 -10
  144. package/dist/esm/sources/base-source.js.map +1 -1
  145. package/dist/esm/sources/boundary-query-source.js +21 -0
  146. package/dist/esm/sources/boundary-query-source.js.map +1 -0
  147. package/dist/esm/sources/boundary-table-source.js +21 -0
  148. package/dist/esm/sources/boundary-table-source.js.map +1 -0
  149. package/dist/esm/sources/boundary-tileset-source.js +11 -0
  150. package/dist/esm/sources/boundary-tileset-source.js.map +1 -0
  151. package/dist/esm/sources/h3-query-source.js +6 -11
  152. package/dist/esm/sources/h3-query-source.js.map +1 -1
  153. package/dist/esm/sources/h3-table-source.js +7 -12
  154. package/dist/esm/sources/h3-table-source.js.map +1 -1
  155. package/dist/esm/sources/h3-tileset-source.js +3 -6
  156. package/dist/esm/sources/h3-tileset-source.js.map +1 -1
  157. package/dist/esm/sources/index.js +14 -11
  158. package/dist/esm/sources/index.js.map +1 -1
  159. package/dist/esm/sources/quadbin-query-source.js +7 -12
  160. package/dist/esm/sources/quadbin-query-source.js.map +1 -1
  161. package/dist/esm/sources/quadbin-table-source.js +7 -12
  162. package/dist/esm/sources/quadbin-table-source.js.map +1 -1
  163. package/dist/esm/sources/quadbin-tileset-source.js +3 -6
  164. package/dist/esm/sources/quadbin-tileset-source.js.map +1 -1
  165. package/dist/esm/sources/raster-source.js +3 -6
  166. package/dist/esm/sources/raster-source.js.map +1 -1
  167. package/dist/esm/sources/types.js +2 -0
  168. package/dist/esm/sources/types.js.map +1 -0
  169. package/dist/esm/sources/vector-query-source.js +6 -11
  170. package/dist/esm/sources/vector-query-source.js.map +1 -1
  171. package/dist/esm/sources/vector-table-source.js +7 -12
  172. package/dist/esm/sources/vector-table-source.js.map +1 -1
  173. package/dist/esm/sources/vector-tileset-source.js +3 -6
  174. package/dist/esm/sources/vector-tileset-source.js.map +1 -1
  175. package/dist/esm/style/color-bins-style.js +2 -1
  176. package/dist/esm/style/color-bins-style.js.map +1 -1
  177. package/dist/esm/style/color-categories-style.js +2 -1
  178. package/dist/esm/style/color-categories-style.js.map +1 -1
  179. package/dist/esm/style/color-continuous-style.js +2 -1
  180. package/dist/esm/style/color-continuous-style.js.map +1 -1
  181. package/dist/esm/style/palette.js +1 -1
  182. package/dist/esm/style/palette.js.map +1 -1
  183. package/dist/esm/style/utils.js +1 -5
  184. package/dist/esm/style/utils.js.map +1 -1
  185. package/dist/esm/utils.js +24 -1
  186. package/dist/esm/utils.js.map +1 -1
  187. package/dist.min.js +42 -41
  188. package/package.json +10 -9
  189. package/src/api/carto-api-error.ts +1 -9
  190. package/src/api/common.ts +14 -0
  191. package/src/api/endpoints.ts +38 -0
  192. package/src/api/fetch-map.ts +294 -0
  193. package/src/api/index.ts +5 -5
  194. package/src/api/layer-map.ts +40 -36
  195. package/src/api/{parseMap.ts → parse-map.ts} +2 -2
  196. package/src/api/query.ts +34 -0
  197. package/src/{sources/utils.ts → api/request-with-parameters.ts} +22 -17
  198. package/src/api/types.ts +49 -0
  199. package/src/index.ts +93 -41
  200. package/src/layers/h3-tile-layer.ts +13 -18
  201. package/src/layers/point-label-layer.ts +1 -1
  202. package/src/layers/quadbin-layer.ts +3 -2
  203. package/src/layers/quadbin-tile-layer.ts +10 -11
  204. package/src/layers/raster-layer.ts +2 -2
  205. package/src/layers/raster-tile-layer.ts +11 -9
  206. package/src/layers/schema/carto-properties-tile-loader.ts +25 -0
  207. package/src/layers/schema/carto-properties-tile.ts +21 -0
  208. package/src/layers/schema/carto-vector-tile-loader.ts +1 -1
  209. package/src/layers/spatial-index-tile-layer.ts +18 -26
  210. package/src/layers/utils.ts +73 -0
  211. package/src/layers/vector-tile-layer.ts +40 -21
  212. package/src/sources/base-source.ts +35 -18
  213. package/src/sources/boundary-query-source.ts +31 -0
  214. package/src/sources/boundary-table-source.ts +31 -0
  215. package/src/sources/boundary-tileset-source.ts +14 -0
  216. package/src/sources/h3-query-source.ts +22 -22
  217. package/src/sources/h3-table-source.ts +22 -22
  218. package/src/sources/h3-tileset-source.ts +7 -9
  219. package/src/sources/index.ts +31 -22
  220. package/src/sources/quadbin-query-source.ts +22 -22
  221. package/src/sources/quadbin-table-source.ts +23 -22
  222. package/src/sources/quadbin-tileset-source.ts +7 -9
  223. package/src/sources/raster-source.ts +5 -9
  224. package/src/sources/types.ts +98 -0
  225. package/src/sources/vector-query-source.ts +15 -15
  226. package/src/sources/vector-table-source.ts +15 -15
  227. package/src/sources/vector-tileset-source.ts +7 -9
  228. package/src/style/color-bins-style.ts +2 -1
  229. package/src/style/color-categories-style.ts +2 -1
  230. package/src/style/color-continuous-style.ts +2 -1
  231. package/src/style/palette.ts +1 -1
  232. package/src/style/utils.ts +1 -6
  233. package/src/utils.ts +25 -1
  234. package/typed/api/carto-api-error.d.ts +1 -8
  235. package/typed/api/carto-api-error.d.ts.map +1 -1
  236. package/typed/api/common.d.ts +13 -0
  237. package/typed/api/common.d.ts.map +1 -0
  238. package/typed/api/endpoints.d.ts +12 -0
  239. package/typed/api/endpoints.d.ts.map +1 -0
  240. package/typed/api/fetch-map.d.ts +22 -0
  241. package/typed/api/fetch-map.d.ts.map +1 -0
  242. package/typed/api/index.d.ts +5 -5
  243. package/typed/api/index.d.ts.map +1 -1
  244. package/typed/api/layer-map.d.ts +6 -9
  245. package/typed/api/layer-map.d.ts.map +1 -1
  246. package/typed/api/{parseMap.d.ts → parse-map.d.ts} +1 -1
  247. package/typed/api/parse-map.d.ts.map +1 -0
  248. package/typed/api/query.d.ts +4 -0
  249. package/typed/api/query.d.ts.map +1 -0
  250. package/typed/api/request-with-parameters.d.ts +9 -0
  251. package/typed/api/request-with-parameters.d.ts.map +1 -0
  252. package/typed/api/types.d.ts +40 -0
  253. package/typed/api/types.d.ts.map +1 -1
  254. package/typed/index.d.ts +33 -12
  255. package/typed/index.d.ts.map +1 -1
  256. package/typed/layers/h3-tile-layer.d.ts +12 -7
  257. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  258. package/typed/layers/point-label-layer.d.ts +2 -2
  259. package/typed/layers/point-label-layer.d.ts.map +1 -1
  260. package/typed/layers/quadbin-layer.d.ts +2 -2
  261. package/typed/layers/quadbin-layer.d.ts.map +1 -1
  262. package/typed/layers/quadbin-tile-layer.d.ts +6 -6
  263. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  264. package/typed/layers/raster-layer.d.ts +2 -2
  265. package/typed/layers/raster-layer.d.ts.map +1 -1
  266. package/typed/layers/raster-tile-layer.d.ts +6 -5
  267. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  268. package/typed/layers/schema/carto-properties-tile-loader.d.ts +4 -0
  269. package/typed/layers/schema/carto-properties-tile-loader.d.ts.map +1 -0
  270. package/typed/layers/schema/carto-properties-tile.d.ts +10 -0
  271. package/typed/layers/schema/carto-properties-tile.d.ts.map +1 -0
  272. package/typed/layers/spatial-index-tile-layer.d.ts +10 -9
  273. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  274. package/typed/layers/utils.d.ts +11 -0
  275. package/typed/layers/utils.d.ts.map +1 -1
  276. package/typed/layers/vector-tile-layer.d.ts +6 -11
  277. package/typed/layers/vector-tile-layer.d.ts.map +1 -1
  278. package/typed/sources/base-source.d.ts +4 -3
  279. package/typed/sources/base-source.d.ts.map +1 -1
  280. package/typed/sources/boundary-query-source.d.ts +10 -0
  281. package/typed/sources/boundary-query-source.d.ts.map +1 -0
  282. package/typed/sources/boundary-table-source.d.ts +9 -0
  283. package/typed/sources/boundary-table-source.d.ts.map +1 -0
  284. package/typed/sources/boundary-tileset-source.d.ts +6 -0
  285. package/typed/sources/boundary-tileset-source.d.ts.map +1 -0
  286. package/typed/sources/h3-query-source.d.ts +3 -4
  287. package/typed/sources/h3-query-source.d.ts.map +1 -1
  288. package/typed/sources/h3-table-source.d.ts +3 -4
  289. package/typed/sources/h3-table-source.d.ts.map +1 -1
  290. package/typed/sources/h3-tileset-source.d.ts +3 -4
  291. package/typed/sources/h3-tileset-source.d.ts.map +1 -1
  292. package/typed/sources/index.d.ts +28 -22
  293. package/typed/sources/index.d.ts.map +1 -1
  294. package/typed/sources/quadbin-query-source.d.ts +3 -4
  295. package/typed/sources/quadbin-query-source.d.ts.map +1 -1
  296. package/typed/sources/quadbin-table-source.d.ts +3 -4
  297. package/typed/sources/quadbin-table-source.d.ts.map +1 -1
  298. package/typed/sources/quadbin-tileset-source.d.ts +3 -4
  299. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -1
  300. package/typed/sources/raster-source.d.ts +3 -4
  301. package/typed/sources/raster-source.d.ts.map +1 -1
  302. package/typed/sources/{common.d.ts → types.d.ts} +26 -42
  303. package/typed/sources/types.d.ts.map +1 -0
  304. package/typed/sources/vector-query-source.d.ts +3 -4
  305. package/typed/sources/vector-query-source.d.ts.map +1 -1
  306. package/typed/sources/vector-table-source.d.ts +3 -4
  307. package/typed/sources/vector-table-source.d.ts.map +1 -1
  308. package/typed/sources/vector-tileset-source.d.ts +3 -4
  309. package/typed/sources/vector-tileset-source.d.ts.map +1 -1
  310. package/typed/style/color-bins-style.d.ts.map +1 -1
  311. package/typed/style/color-categories-style.d.ts.map +1 -1
  312. package/typed/style/color-continuous-style.d.ts.map +1 -1
  313. package/typed/style/utils.d.ts +0 -1
  314. package/typed/style/utils.d.ts.map +1 -1
  315. package/typed/utils.d.ts +8 -0
  316. package/typed/utils.d.ts.map +1 -1
  317. package/LICENSE +0 -19
  318. package/dist/es5/api/maps-api-common.js +0 -77
  319. package/dist/es5/api/maps-api-common.js.map +0 -1
  320. package/dist/es5/api/maps-client.js +0 -220
  321. package/dist/es5/api/maps-client.js.map +0 -1
  322. package/dist/es5/api/maps-v3-client.js +0 -959
  323. package/dist/es5/api/maps-v3-client.js.map +0 -1
  324. package/dist/es5/api/parseMap.js.map +0 -1
  325. package/dist/es5/config.js +0 -84
  326. package/dist/es5/config.js.map +0 -1
  327. package/dist/es5/layers/carto-layer.js +0 -329
  328. package/dist/es5/layers/carto-layer.js.map +0 -1
  329. package/dist/es5/sources/common.js +0 -48
  330. package/dist/es5/sources/common.js.map +0 -1
  331. package/dist/es5/sources/utils.js.map +0 -1
  332. package/dist/esm/api/maps-api-common.js +0 -54
  333. package/dist/esm/api/maps-api-common.js.map +0 -1
  334. package/dist/esm/api/maps-client.js +0 -148
  335. package/dist/esm/api/maps-client.js.map +0 -1
  336. package/dist/esm/api/maps-v3-client.js +0 -638
  337. package/dist/esm/api/maps-v3-client.js.map +0 -1
  338. package/dist/esm/api/parseMap.js.map +0 -1
  339. package/dist/esm/config.js +0 -60
  340. package/dist/esm/config.js.map +0 -1
  341. package/dist/esm/layers/carto-layer.js +0 -233
  342. package/dist/esm/layers/carto-layer.js.map +0 -1
  343. package/dist/esm/sources/common.js +0 -26
  344. package/dist/esm/sources/common.js.map +0 -1
  345. package/dist/esm/sources/utils.js.map +0 -1
  346. package/src/api/maps-api-common.ts +0 -95
  347. package/src/api/maps-client.ts +0 -196
  348. package/src/api/maps-v3-client.ts +0 -659
  349. package/src/config.ts +0 -70
  350. package/src/layers/carto-layer.ts +0 -340
  351. package/src/sources/common.ts +0 -132
  352. package/typed/api/maps-api-common.d.ts +0 -76
  353. package/typed/api/maps-api-common.d.ts.map +0 -1
  354. package/typed/api/maps-client.d.ts +0 -18
  355. package/typed/api/maps-client.d.ts.map +0 -1
  356. package/typed/api/maps-v3-client.d.ts +0 -49
  357. package/typed/api/maps-v3-client.d.ts.map +0 -1
  358. package/typed/api/parseMap.d.ts.map +0 -1
  359. package/typed/config.d.ts +0 -28
  360. package/typed/config.d.ts.map +0 -1
  361. package/typed/layers/carto-layer.d.ts +0 -126
  362. package/typed/layers/carto-layer.d.ts.map +0 -1
  363. package/typed/sources/common.d.ts.map +0 -1
  364. package/typed/sources/utils.d.ts +0 -15
  365. package/typed/sources/utils.d.ts.map +0 -1
@@ -1,196 +0,0 @@
1
- /**
2
- * Maps API Client for Maps API v1 and Maps API v2
3
- */
4
- import {
5
- ClassicCredentials,
6
- defaultClassicCredentials,
7
- defaultCloudNativeCredentials,
8
- getDefaultCredentials
9
- } from '../config';
10
- import {
11
- API_VERSIONS,
12
- DEFAULT_MAPS_URL_FORMAT,
13
- DEFAULT_REGION_COMPONENT_IN_URL,
14
- DEFAULT_USER_COMPONENT_IN_URL,
15
- encodeParameter,
16
- MapType,
17
- MAP_TYPES
18
- } from './maps-api-common';
19
-
20
- export const CONNECTIONS = {
21
- BIGQUERY: 'bigquery',
22
- CARTO: 'carto'
23
- };
24
-
25
- const BUFFER_SIZE = 16;
26
- const TILE_EXTENT = 4096;
27
-
28
- /**
29
- * Obtain a TileJson from Maps API v1 and v2
30
- */
31
- export async function getDataV2({
32
- type,
33
- source,
34
- credentials
35
- }: {
36
- type: MapType;
37
- source: string;
38
- credentials?: Partial<ClassicCredentials>;
39
- }) {
40
- const defaultCredentials = getDefaultCredentials();
41
- const apiVersion = credentials?.apiVersion || defaultCredentials.apiVersion;
42
- // Only pick up default credentials if they have been defined for
43
- // correct API version
44
- const localCreds = {
45
- ...(apiVersion === API_VERSIONS.V3 ? defaultCloudNativeCredentials : defaultClassicCredentials),
46
- mapsUrl: DEFAULT_MAPS_URL_FORMAT[apiVersion],
47
- ...(defaultCredentials.apiVersion === apiVersion && defaultCredentials),
48
- ...credentials
49
- } as unknown as Required<ClassicCredentials>;
50
-
51
- let url: string;
52
-
53
- const connection = type === MAP_TYPES.TILESET ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
54
-
55
- switch (apiVersion) {
56
- case API_VERSIONS.V1:
57
- // Maps API v1
58
- const mapConfig = createMapConfig(source);
59
- url = buildURLMapsAPIv1({mapConfig, credentials: localCreds});
60
- const layergroup = await request({url, credentials: localCreds});
61
- return layergroup.metadata.tilejson.vector;
62
-
63
- case API_VERSIONS.V2:
64
- // Maps API v2
65
- url = buildURLMapsAPIv2({connection, type, source, credentials: localCreds});
66
- return await request({url, credentials: localCreds});
67
-
68
- default:
69
- throw new Error(
70
- `Invalid maps API version. It should be ${API_VERSIONS.V1} or ${API_VERSIONS.V2}`
71
- );
72
- }
73
- }
74
-
75
- /**
76
- * Request against Maps API
77
- */
78
- async function request({url, credentials}: {url: string; credentials: ClassicCredentials}) {
79
- let response;
80
-
81
- try {
82
- /* global fetch */
83
- response = await fetch(url, {
84
- headers: {
85
- Accept: 'application/json'
86
- }
87
- });
88
- } catch (error) {
89
- throw new Error(`Failed to connect to Maps API: ${error}`);
90
- }
91
-
92
- const json = await response.json();
93
-
94
- if (!response.ok) {
95
- dealWithError({response, json, credentials});
96
- }
97
-
98
- return json;
99
- }
100
-
101
- /**
102
- * Display proper message from Maps API error
103
- */
104
- function dealWithError({
105
- response,
106
- json,
107
- credentials
108
- }: {
109
- response: Response;
110
- json: any;
111
- credentials: ClassicCredentials;
112
- }) {
113
- switch (response.status) {
114
- case 401:
115
- throw new Error(
116
- `Unauthorized access to Maps API: invalid combination of user ('${credentials.username}') and apiKey ('${credentials.apiKey}')`
117
- );
118
- case 403:
119
- throw new Error(
120
- `Unauthorized access to dataset: the provided apiKey('${credentials.apiKey}') doesn't provide access to the requested data`
121
- );
122
-
123
- default:
124
- const e =
125
- credentials.apiVersion === API_VERSIONS.V1 ? JSON.stringify(json.errors) : json.error;
126
- throw new Error(e);
127
- }
128
- }
129
-
130
- function initURLParameters(credentials: ClassicCredentials): string[] {
131
- const encodedApiKey = encodeParameter('api_key', credentials.apiKey);
132
- const encodedClient = encodeParameter('client', 'deck-gl-carto');
133
- return [encodedApiKey, encodedClient];
134
- }
135
-
136
- /**
137
- * Build a URL with all required parameters
138
- */
139
- function buildURLMapsAPIv1({
140
- mapConfig,
141
- credentials
142
- }: {
143
- mapConfig: unknown;
144
- credentials: Required<ClassicCredentials>;
145
- }): string {
146
- const parameters = initURLParameters(credentials);
147
- const cfg = JSON.stringify(mapConfig);
148
- return `${mapsUrl(credentials)}?${parameters.join('&')}&${encodeParameter('config', cfg)}`;
149
- }
150
-
151
- function buildURLMapsAPIv2({
152
- connection,
153
- type,
154
- source,
155
- credentials
156
- }: {
157
- connection: string;
158
- type: MapType;
159
- source: string;
160
- credentials: Required<ClassicCredentials>;
161
- }): string {
162
- const parameters = initURLParameters(credentials);
163
- // Query type is mapped to 'sql' at maps api v1
164
- const mapsApiType = type === MAP_TYPES.QUERY ? 'sql' : type;
165
- let url = `${mapsUrl(credentials)}/${connection}/${mapsApiType}?`;
166
- url += `${encodeParameter('source', source)}&format=tilejson&${parameters.join('&')}`;
167
- return url;
168
- }
169
-
170
- /**
171
- * Prepare a url valid for the specified user
172
- */
173
- function mapsUrl(credentials: Required<ClassicCredentials>) {
174
- return credentials.mapsUrl
175
- .replace(DEFAULT_USER_COMPONENT_IN_URL, credentials.username)
176
- .replace(DEFAULT_REGION_COMPONENT_IN_URL, credentials.region);
177
- }
178
-
179
- function createMapConfig(sql: string) {
180
- return {
181
- version: '1.3.1',
182
- buffersize: {
183
- mvt: BUFFER_SIZE
184
- },
185
- layers: [
186
- {
187
- type: 'mapnik',
188
- options: {
189
- sql,
190
- // eslint-disable-next-line camelcase
191
- vector_extent: TILE_EXTENT
192
- }
193
- }
194
- ]
195
- };
196
- }