@deck.gl/carto 8.10.0-alpha.6 → 9.0.0-alpha.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 (365) hide show
  1. package/dist/cartoRasterTile-worker.js +38 -30
  2. package/dist/cartoSpatialTile-worker.js +38 -30
  3. package/dist/cartoVectorTile-worker.js +75 -69
  4. package/dist/dist.dev.js +14001 -14522
  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 +560 -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 +291 -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 +70 -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 -46
  188. package/package.json +11 -10
  189. package/src/.DS_Store +0 -0
  190. package/src/api/carto-api-error.ts +1 -9
  191. package/src/api/common.ts +14 -0
  192. package/src/api/endpoints.ts +38 -0
  193. package/src/api/fetch-map.ts +287 -0
  194. package/src/api/index.ts +5 -5
  195. package/src/api/layer-map.ts +40 -36
  196. package/src/api/{parseMap.ts → parse-map.ts} +2 -2
  197. package/src/api/query.ts +34 -0
  198. package/src/{sources/utils.ts → api/request-with-parameters.ts} +22 -17
  199. package/src/api/types.ts +49 -0
  200. package/src/index.ts +93 -41
  201. package/src/layers/h3-tile-layer.ts +13 -18
  202. package/src/layers/point-label-layer.ts +1 -1
  203. package/src/layers/quadbin-layer.ts +3 -2
  204. package/src/layers/quadbin-tile-layer.ts +10 -11
  205. package/src/layers/raster-layer.ts +2 -2
  206. package/src/layers/raster-tile-layer.ts +11 -9
  207. package/src/layers/schema/carto-properties-tile-loader.ts +25 -0
  208. package/src/layers/schema/carto-properties-tile.ts +21 -0
  209. package/src/layers/schema/carto-vector-tile-loader.ts +5 -5
  210. package/src/layers/spatial-index-tile-layer.ts +18 -26
  211. package/src/layers/utils.ts +71 -0
  212. package/src/layers/vector-tile-layer.ts +42 -23
  213. package/src/sources/base-source.ts +35 -18
  214. package/src/sources/boundary-query-source.ts +31 -0
  215. package/src/sources/boundary-table-source.ts +31 -0
  216. package/src/sources/boundary-tileset-source.ts +14 -0
  217. package/src/sources/h3-query-source.ts +22 -22
  218. package/src/sources/h3-table-source.ts +22 -22
  219. package/src/sources/h3-tileset-source.ts +7 -9
  220. package/src/sources/index.ts +31 -22
  221. package/src/sources/quadbin-query-source.ts +22 -22
  222. package/src/sources/quadbin-table-source.ts +23 -22
  223. package/src/sources/quadbin-tileset-source.ts +7 -9
  224. package/src/sources/raster-source.ts +5 -9
  225. package/src/sources/types.ts +98 -0
  226. package/src/sources/vector-query-source.ts +15 -15
  227. package/src/sources/vector-table-source.ts +15 -15
  228. package/src/sources/vector-tileset-source.ts +7 -9
  229. package/src/style/color-bins-style.ts +2 -1
  230. package/src/style/color-categories-style.ts +2 -1
  231. package/src/style/color-continuous-style.ts +2 -1
  232. package/src/style/palette.ts +1 -1
  233. package/src/style/utils.ts +1 -6
  234. package/src/utils.ts +25 -1
  235. package/typed/api/carto-api-error.d.ts +1 -8
  236. package/typed/api/carto-api-error.d.ts.map +1 -1
  237. package/typed/api/common.d.ts +13 -0
  238. package/typed/api/common.d.ts.map +1 -0
  239. package/typed/api/endpoints.d.ts +12 -0
  240. package/typed/api/endpoints.d.ts.map +1 -0
  241. package/typed/api/fetch-map.d.ts +22 -0
  242. package/typed/api/fetch-map.d.ts.map +1 -0
  243. package/typed/api/index.d.ts +5 -5
  244. package/typed/api/index.d.ts.map +1 -1
  245. package/typed/api/layer-map.d.ts +6 -9
  246. package/typed/api/layer-map.d.ts.map +1 -1
  247. package/typed/api/{parseMap.d.ts → parse-map.d.ts} +1 -1
  248. package/typed/api/parse-map.d.ts.map +1 -0
  249. package/typed/api/query.d.ts +4 -0
  250. package/typed/api/query.d.ts.map +1 -0
  251. package/typed/api/request-with-parameters.d.ts +9 -0
  252. package/typed/api/request-with-parameters.d.ts.map +1 -0
  253. package/typed/api/types.d.ts +40 -0
  254. package/typed/api/types.d.ts.map +1 -1
  255. package/typed/index.d.ts +33 -12
  256. package/typed/index.d.ts.map +1 -1
  257. package/typed/layers/h3-tile-layer.d.ts +12 -7
  258. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  259. package/typed/layers/point-label-layer.d.ts +2 -2
  260. package/typed/layers/point-label-layer.d.ts.map +1 -1
  261. package/typed/layers/quadbin-layer.d.ts +2 -2
  262. package/typed/layers/quadbin-layer.d.ts.map +1 -1
  263. package/typed/layers/quadbin-tile-layer.d.ts +6 -6
  264. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  265. package/typed/layers/raster-layer.d.ts +2 -2
  266. package/typed/layers/raster-layer.d.ts.map +1 -1
  267. package/typed/layers/raster-tile-layer.d.ts +6 -5
  268. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  269. package/typed/layers/schema/carto-properties-tile-loader.d.ts +4 -0
  270. package/typed/layers/schema/carto-properties-tile-loader.d.ts.map +1 -0
  271. package/typed/layers/schema/carto-properties-tile.d.ts +10 -0
  272. package/typed/layers/schema/carto-properties-tile.d.ts.map +1 -0
  273. package/typed/layers/spatial-index-tile-layer.d.ts +10 -9
  274. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  275. package/typed/layers/utils.d.ts +11 -0
  276. package/typed/layers/utils.d.ts.map +1 -1
  277. package/typed/layers/vector-tile-layer.d.ts +6 -11
  278. package/typed/layers/vector-tile-layer.d.ts.map +1 -1
  279. package/typed/sources/base-source.d.ts +4 -3
  280. package/typed/sources/base-source.d.ts.map +1 -1
  281. package/typed/sources/boundary-query-source.d.ts +10 -0
  282. package/typed/sources/boundary-query-source.d.ts.map +1 -0
  283. package/typed/sources/boundary-table-source.d.ts +9 -0
  284. package/typed/sources/boundary-table-source.d.ts.map +1 -0
  285. package/typed/sources/boundary-tileset-source.d.ts +6 -0
  286. package/typed/sources/boundary-tileset-source.d.ts.map +1 -0
  287. package/typed/sources/h3-query-source.d.ts +3 -4
  288. package/typed/sources/h3-query-source.d.ts.map +1 -1
  289. package/typed/sources/h3-table-source.d.ts +3 -4
  290. package/typed/sources/h3-table-source.d.ts.map +1 -1
  291. package/typed/sources/h3-tileset-source.d.ts +3 -4
  292. package/typed/sources/h3-tileset-source.d.ts.map +1 -1
  293. package/typed/sources/index.d.ts +28 -22
  294. package/typed/sources/index.d.ts.map +1 -1
  295. package/typed/sources/quadbin-query-source.d.ts +3 -4
  296. package/typed/sources/quadbin-query-source.d.ts.map +1 -1
  297. package/typed/sources/quadbin-table-source.d.ts +3 -4
  298. package/typed/sources/quadbin-table-source.d.ts.map +1 -1
  299. package/typed/sources/quadbin-tileset-source.d.ts +3 -4
  300. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -1
  301. package/typed/sources/raster-source.d.ts +3 -4
  302. package/typed/sources/raster-source.d.ts.map +1 -1
  303. package/typed/sources/{common.d.ts → types.d.ts} +26 -42
  304. package/typed/sources/types.d.ts.map +1 -0
  305. package/typed/sources/vector-query-source.d.ts +3 -4
  306. package/typed/sources/vector-query-source.d.ts.map +1 -1
  307. package/typed/sources/vector-table-source.d.ts +3 -4
  308. package/typed/sources/vector-table-source.d.ts.map +1 -1
  309. package/typed/sources/vector-tileset-source.d.ts +3 -4
  310. package/typed/sources/vector-tileset-source.d.ts.map +1 -1
  311. package/typed/style/color-bins-style.d.ts.map +1 -1
  312. package/typed/style/color-categories-style.d.ts.map +1 -1
  313. package/typed/style/color-continuous-style.d.ts.map +1 -1
  314. package/typed/style/utils.d.ts +0 -1
  315. package/typed/style/utils.d.ts.map +1 -1
  316. package/typed/utils.d.ts +8 -0
  317. package/typed/utils.d.ts.map +1 -1
  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,24 +1,26 @@
1
1
  import { registerLoaders } from '@loaders.gl/core';
2
+ import CartoPropertiesTileLoader from './schema/carto-properties-tile-loader';
2
3
  import CartoVectorTileLoader from './schema/carto-vector-tile-loader';
3
- registerLoaders([CartoVectorTileLoader]);
4
+ registerLoaders([CartoPropertiesTileLoader, CartoVectorTileLoader]);
4
5
  import { ClipExtension } from '@deck.gl/extensions';
5
6
  import { MVTLayer, _getURLFromTemplate } from '@deck.gl/geo-layers';
6
7
  import { GeoJsonLayer } from '@deck.gl/layers';
7
8
  import { binaryToGeojson } from '@loaders.gl/gis';
8
- import { TILE_FORMATS } from '../api/maps-api-common';
9
- import { TilejsonPropType } from '../sources/common';
10
- import { injectAccessToken } from './utils';
11
- const defaultTileFormat = TILE_FORMATS.BINARY;
9
+ import { TilejsonPropType, injectAccessToken, mergeBoundaryData } from './utils';
12
10
  const defaultProps = { ...MVTLayer.defaultProps,
13
11
  data: TilejsonPropType,
14
- formatTiles: defaultTileFormat
12
+ dataComparator: TilejsonPropType.equal
15
13
  };
16
14
  export default class VectorTileLayer extends MVTLayer {
15
+ constructor(...args) {
16
+ super(...args);
17
+ this.state = void 0;
18
+ }
19
+
17
20
  initializeState() {
18
21
  super.initializeState();
19
- const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;
20
22
  this.setState({
21
- binary
23
+ binary: true
22
24
  });
23
25
  }
24
26
 
@@ -30,7 +32,7 @@ export default class VectorTileLayer extends MVTLayer {
30
32
  if (props.data) {
31
33
  super.updateState(parameters);
32
34
  const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');
33
- const mvt = formatTiles === TILE_FORMATS.MVT;
35
+ const mvt = formatTiles === 'mvt';
34
36
  this.setState({
35
37
  mvt
36
38
  });
@@ -47,8 +49,14 @@ export default class VectorTileLayer extends MVTLayer {
47
49
  return loadOptions;
48
50
  }
49
51
 
50
- getTileData(tile) {
51
- const url = _getURLFromTemplate(this.state.data, tile);
52
+ async getTileData(tile) {
53
+ const tileJSON = this.props.data;
54
+ const {
55
+ tiles,
56
+ properties_tiles
57
+ } = tileJSON;
58
+
59
+ const url = _getURLFromTemplate(tiles, tile);
52
60
 
53
61
  if (!url) {
54
62
  return Promise.reject('Invalid URL');
@@ -61,12 +69,32 @@ export default class VectorTileLayer extends MVTLayer {
61
69
  const {
62
70
  signal
63
71
  } = tile;
64
- return fetch(url, {
72
+ const geometryFetch = fetch(url, {
73
+ propName: 'data',
74
+ layer: this,
75
+ loadOptions,
76
+ signal
77
+ });
78
+
79
+ if (!properties_tiles) {
80
+ return await geometryFetch;
81
+ }
82
+
83
+ const propertiesUrl = _getURLFromTemplate(properties_tiles, tile);
84
+
85
+ if (!propertiesUrl) {
86
+ return Promise.reject('Invalid properties URL');
87
+ }
88
+
89
+ const attributesFetch = fetch(propertiesUrl, {
65
90
  propName: 'data',
66
91
  layer: this,
67
92
  loadOptions,
68
93
  signal
69
94
  });
95
+ const [geometry, attributes] = await Promise.all([geometryFetch, attributesFetch]);
96
+ if (!geometry) return null;
97
+ return mergeBoundaryData(geometry, attributes);
70
98
  }
71
99
 
72
100
  renderSubLayers(props) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["registerLoaders","CartoVectorTileLoader","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","binaryToGeojson","TILE_FORMATS","TilejsonPropType","injectAccessToken","defaultTileFormat","BINARY","defaultProps","data","formatTiles","VectorTileLayer","initializeState","binary","props","MVT","setState","updateState","parameters","URL","tiles","searchParams","get","mvt","getLoadOptions","loadOptions","tileJSON","accessToken","gis","format","getTileData","tile","url","state","Promise","reject","fetch","signal","propName","layer","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","clipBounds","subLayer","getPickingInfo","params","info","index","sourceLayer","object","globalFeatureId","layerName"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoVectorTileLoader]);\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {binaryToGeojson} from '@loaders.gl/gis';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport type {Feature} from 'geojson';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n formatTiles: defaultTileFormat\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n */\n formatTiles?: TileFormat;\n};\n\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;\n this.setState({binary});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === TILE_FORMATS.MVT;\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as CartoTilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\n }\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n\n getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatures, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["registerLoaders","CartoPropertiesTileLoader","CartoVectorTileLoader","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","binaryToGeojson","TilejsonPropType","injectAccessToken","mergeBoundaryData","defaultProps","data","dataComparator","equal","VectorTileLayer","state","initializeState","setState","binary","updateState","parameters","props","formatTiles","URL","tiles","searchParams","get","mvt","getLoadOptions","loadOptions","tileJSON","accessToken","gis","format","getTileData","tile","properties_tiles","url","Promise","reject","fetch","signal","geometryFetch","propName","layer","propertiesUrl","attributesFetch","geometry","attributes","all","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","clipBounds","subLayer","getPickingInfo","params","info","index","sourceLayer","object","globalFeatureId","layerName"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoPropertiesTileLoader from './schema/carto-properties-tile-loader';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoPropertiesTileLoader, CartoVectorTileLoader]);\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {binaryToGeojson} from '@loaders.gl/gis';\nimport type {BinaryFeatureCollection} from '@loaders.gl/schema';\nimport type {Feature} from 'geojson';\n\nimport type {TilejsonResult} from '../sources/types';\nimport {TilejsonPropType, injectAccessToken, mergeBoundaryData} from './utils';\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n dataComparator: TilejsonPropType.equal\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | TilejsonResult | Promise<TilejsonResult>;\n};\n\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n state!: MVTLayer['state'] & {\n mvt: boolean;\n };\n\n initializeState(): void {\n super.initializeState();\n this.setState({binary: true});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === 'mvt';\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as TilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\n }\n\n async getTileData(tile: TileLoadProps) {\n const tileJSON = this.props.data as TilejsonResult;\n const {tiles, properties_tiles} = tileJSON;\n const url = _getURLFromTemplate(tiles, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\n\n // Fetch geometry and attributes separately\n const geometryFetch = fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n\n if (!properties_tiles) {\n return await geometryFetch;\n }\n\n const propertiesUrl = _getURLFromTemplate(properties_tiles, tile);\n if (!propertiesUrl) {\n return Promise.reject('Invalid properties URL');\n }\n\n const attributesFetch = fetch(propertiesUrl, {\n propName: 'data',\n layer: this,\n loadOptions,\n signal\n });\n const [geometry, attributes] = await Promise.all([geometryFetch, attributesFetch]);\n if (!geometry) return null;\n\n return mergeBoundaryData(geometry, attributes);\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n\n getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatureCollection, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
@@ -1,13 +1,33 @@
1
- import { SOURCE_DEFAULTS } from './common';
2
- import { buildApiEndpoint, requestWithParameters } from './utils';
3
- export async function cartoBaseSource(endpoint, options, urlParameters) {
1
+ import { DEFAULT_API_BASE_URL, DEFAULT_CLIENT } from '../api/common';
2
+ import { buildSourceUrl } from '../api/endpoints';
3
+ import { requestWithParameters } from '../api/request-with-parameters';
4
+ export const SOURCE_DEFAULTS = {
5
+ apiBaseUrl: DEFAULT_API_BASE_URL,
6
+ clientId: DEFAULT_CLIENT,
7
+ format: 'tilejson',
8
+ headers: {}
9
+ };
10
+ export async function baseSource(endpoint, options, urlParameters) {
11
+ const {
12
+ accessToken,
13
+ connectionName,
14
+ cache,
15
+ ...optionalOptions
16
+ } = options;
4
17
  const mergedOptions = { ...SOURCE_DEFAULTS,
5
- ...options,
18
+ accessToken,
19
+ connectionName,
6
20
  endpoint
7
21
  };
8
- const baseUrl = buildApiEndpoint(mergedOptions);
22
+
23
+ for (const key in optionalOptions) {
24
+ if (optionalOptions[key]) {
25
+ mergedOptions[key] = optionalOptions[key];
26
+ }
27
+ }
28
+
29
+ const baseUrl = buildSourceUrl(mergedOptions);
9
30
  const {
10
- accessToken,
11
31
  format
12
32
  } = mergedOptions;
13
33
  const headers = {
@@ -27,17 +47,20 @@ export async function cartoBaseSource(endpoint, options, urlParameters) {
27
47
  errorContext
28
48
  });
29
49
  const dataUrl = mapInstantiation[format].url[0];
50
+
51
+ if (cache) {
52
+ cache.value = parseInt(new URL(dataUrl).searchParams.get('cache') || '', 10);
53
+ }
54
+
30
55
  errorContext.requestType = 'Map data';
31
56
 
32
57
  if (format === 'tilejson') {
33
- const tilejson = await requestWithParameters({
58
+ return await requestWithParameters({
59
+ accessToken,
34
60
  baseUrl: dataUrl,
35
61
  headers,
36
62
  errorContext
37
63
  });
38
- return { ...tilejson,
39
- accessToken
40
- };
41
64
  }
42
65
 
43
66
  return await requestWithParameters({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["SOURCE_DEFAULTS","buildApiEndpoint","requestWithParameters","cartoBaseSource","endpoint","options","urlParameters","mergedOptions","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","mapInstantiation","parameters","dataUrl","url","tilejson"],"mappings":"AAEA,SAMEA,eANF,QASO,UATP;AAUA,SAAQC,gBAAR,EAA0BC,qBAA1B,QAAsD,SAAtD;AAEA,OAAO,eAAeC,eAAf,CACLC,QADK,EAELC,OAFK,EAGLC,aAHK,EAIsD;AAC3D,QAAMC,aAAa,GAAG,EAAC,GAAGP,eAAJ;AAAqB,OAAGK,OAAxB;AAAiCD,IAAAA;AAAjC,GAAtB;AACA,QAAMI,OAAO,GAAGP,gBAAgB,CAACM,aAAD,CAAhC;AACA,QAAM;AAACE,IAAAA,WAAD;AAAcC,IAAAA;AAAd,MAAwBH,aAA9B;AACA,QAAMI,OAAO,GAAG;AAACC,IAAAA,aAAa,EAAG,UAASP,OAAO,CAACI,WAAY,EAA9C;AAAiD,OAAGJ,OAAO,CAACM;AAA5D,GAAhB;AAEA,QAAME,YAA6B,GAAG;AACpCC,IAAAA,WAAW,EAAE,mBADuB;AAEpCC,IAAAA,UAAU,EAAEV,OAAO,CAACW,cAFgB;AAGpCC,IAAAA,IAAI,EAAEb,QAH8B;AAIpCc,IAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAed,aAAf,EAA8Be,SAA9B,EAAyC,CAAzC;AAJ4B,GAAtC;AAMA,QAAMC,gBAAgB,GAAG,MAAMpB,qBAAqB,CAA2B;AAC7EM,IAAAA,OAD6E;AAE7Ee,IAAAA,UAAU,EAAEjB,aAFiE;AAG7EK,IAAAA,OAH6E;AAI7EE,IAAAA;AAJ6E,GAA3B,CAApD;AAOA,QAAMW,OAAO,GAAGF,gBAAgB,CAACZ,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAAhB;AACAZ,EAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAEA,MAAIJ,MAAM,KAAK,UAAf,EAA2B;AACzB,UAAMgB,QAAQ,GAAG,MAAMxB,qBAAqB,CAAW;AACrDM,MAAAA,OAAO,EAAEgB,OAD4C;AAErDb,MAAAA,OAFqD;AAGrDE,MAAAA;AAHqD,KAAX,CAA5C;AAKA,WAAO,EAAC,GAAGa,QAAJ;AAAcjB,MAAAA;AAAd,KAAP;AACD;;AAED,SAAO,MAAMP,qBAAqB,CAA6B;AAC7DM,IAAAA,OAAO,EAAEgB,OADoD;AAE7Db,IAAAA,OAF6D;AAG7DE,IAAAA;AAH6D,GAA7B,CAAlC;AAKD","sourcesContent":["import type {MapType} from '../api/maps-api-common';\nimport {APIErrorContext} from '../api/carto-api-error';\nimport {\n CartoSourceOptionalOptions,\n CartoSourceRequiredOptions,\n CartoTilejsonResult,\n GeojsonResult,\n JsonResult,\n SOURCE_DEFAULTS,\n Tilejson,\n TilejsonMapInstantiation\n} from './common';\nimport {buildApiEndpoint, requestWithParameters} from './utils';\n\nexport async function cartoBaseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<CartoSourceOptionalOptions> & CartoSourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<CartoTilejsonResult | GeojsonResult | JsonResult> {\n const mergedOptions = {...SOURCE_DEFAULTS, ...options, endpoint};\n const baseUrl = buildApiEndpoint(mergedOptions);\n const {accessToken, format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n const tilejson = await requestWithParameters<Tilejson>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n return {...tilejson, accessToken};\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["DEFAULT_API_BASE_URL","DEFAULT_CLIENT","buildSourceUrl","requestWithParameters","SOURCE_DEFAULTS","apiBaseUrl","clientId","format","headers","baseSource","endpoint","options","urlParameters","accessToken","connectionName","cache","optionalOptions","mergedOptions","key","baseUrl","Authorization","errorContext","requestType","connection","type","source","JSON","stringify","undefined","mapInstantiation","parameters","dataUrl","url","value","parseInt","URL","searchParams","get"],"mappings":"AACA,SAAQA,oBAAR,EAA8BC,cAA9B,QAAmD,eAAnD;AACA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,qBAAR,QAAoC,gCAApC;AAYA,OAAO,MAAMC,eAAsC,GAAG;AACpDC,EAAAA,UAAU,EAAEL,oBADwC;AAEpDM,EAAAA,QAAQ,EAAEL,cAF0C;AAGpDM,EAAAA,MAAM,EAAE,UAH4C;AAIpDC,EAAAA,OAAO,EAAE;AAJ2C,CAA/C;AAOP,OAAO,eAAeC,UAAf,CACLC,QADK,EAELC,OAFK,EAGLC,aAHK,EAIiD;AACtD,QAAM;AAACC,IAAAA,WAAD;AAAcC,IAAAA,cAAd;AAA8BC,IAAAA,KAA9B;AAAqC,OAAGC;AAAxC,MAA2DL,OAAjE;AACA,QAAMM,aAAa,GAAG,EAAC,GAAGb,eAAJ;AAAqBS,IAAAA,WAArB;AAAkCC,IAAAA,cAAlC;AAAkDJ,IAAAA;AAAlD,GAAtB;;AACA,OAAK,MAAMQ,GAAX,IAAkBF,eAAlB,EAAmC;AACjC,QAAIA,eAAe,CAACE,GAAD,CAAnB,EAA0B;AACxBD,MAAAA,aAAa,CAACC,GAAD,CAAb,GAAqBF,eAAe,CAACE,GAAD,CAApC;AACD;AACF;;AACD,QAAMC,OAAO,GAAGjB,cAAc,CAACe,aAAD,CAA9B;AACA,QAAM;AAACV,IAAAA;AAAD,MAAWU,aAAjB;AACA,QAAMT,OAAO,GAAG;AAACY,IAAAA,aAAa,EAAG,UAAST,OAAO,CAACE,WAAY,EAA9C;AAAiD,OAAGF,OAAO,CAACH;AAA5D,GAAhB;AAEA,QAAMa,YAA6B,GAAG;AACpCC,IAAAA,WAAW,EAAE,mBADuB;AAEpCC,IAAAA,UAAU,EAAEZ,OAAO,CAACG,cAFgB;AAGpCU,IAAAA,IAAI,EAAEd,QAH8B;AAIpCe,IAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,GAAtC;AAMA,QAAMC,gBAAgB,GAAG,MAAM1B,qBAAqB,CAA2B;AAC7EgB,IAAAA,OAD6E;AAE7EW,IAAAA,UAAU,EAAElB,aAFiE;AAG7EJ,IAAAA,OAH6E;AAI7Ea,IAAAA;AAJ6E,GAA3B,CAApD;AAOA,QAAMU,OAAO,GAAGF,gBAAgB,CAACtB,MAAD,CAAhB,CAAyByB,GAAzB,CAA6B,CAA7B,CAAhB;;AACA,MAAIjB,KAAJ,EAAW;AACTA,IAAAA,KAAK,CAACkB,KAAN,GAAcC,QAAQ,CAAC,IAAIC,GAAJ,CAAQJ,OAAR,EAAiBK,YAAjB,CAA8BC,GAA9B,CAAkC,OAAlC,KAA8C,EAA/C,EAAmD,EAAnD,CAAtB;AACD;;AACDhB,EAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAEA,MAAIf,MAAM,KAAK,UAAf,EAA2B;AACzB,WAAO,MAAMJ,qBAAqB,CAAiB;AACjDU,MAAAA,WADiD;AAEjDM,MAAAA,OAAO,EAAEY,OAFwC;AAGjDvB,MAAAA,OAHiD;AAIjDa,MAAAA;AAJiD,KAAjB,CAAlC;AAMD;;AAED,SAAO,MAAMlB,qBAAqB,CAA6B;AAC7DgB,IAAAA,OAAO,EAAEY,OADoD;AAE7DvB,IAAAA,OAF6D;AAG7Da,IAAAA;AAH6D,GAA7B,CAAlC;AAKD","sourcesContent":["/* eslint-disable camelcase */\nimport {DEFAULT_API_BASE_URL, DEFAULT_CLIENT} from '../api/common';\nimport {buildSourceUrl} from '../api/endpoints';\nimport {requestWithParameters} from '../api/request-with-parameters';\nimport type {APIErrorContext, MapType} from '../api/types';\nimport type {\n GeojsonResult,\n JsonResult,\n SourceOptionalOptions,\n SourceRequiredOptions,\n Tilejson,\n TilejsonMapInstantiation,\n TilejsonResult\n} from './types';\n\nexport const SOURCE_DEFAULTS: SourceOptionalOptions = {\n apiBaseUrl: DEFAULT_API_BASE_URL,\n clientId: DEFAULT_CLIENT,\n format: 'tilejson',\n headers: {}\n};\n\nexport async function baseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<SourceOptionalOptions> & SourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<TilejsonResult | GeojsonResult | JsonResult> {\n const {accessToken, connectionName, cache, ...optionalOptions} = options;\n const mergedOptions = {...SOURCE_DEFAULTS, accessToken, connectionName, endpoint};\n for (const key in optionalOptions) {\n if (optionalOptions[key]) {\n mergedOptions[key] = optionalOptions[key];\n }\n }\n const baseUrl = buildSourceUrl(mergedOptions);\n const {format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n if (cache) {\n cache.value = parseInt(new URL(dataUrl).searchParams.get('cache') || '', 10);\n }\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n return await requestWithParameters<TilejsonResult>({\n accessToken,\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
@@ -0,0 +1,21 @@
1
+ import { baseSource } from './base-source';
2
+ export const boundaryQuerySource = async function (options) {
3
+ const {
4
+ boundaryId,
5
+ matchingColumn = 'id',
6
+ sqlQuery,
7
+ queryParameters
8
+ } = options;
9
+ const urlParameters = {
10
+ boundaryId,
11
+ matchingColumn,
12
+ sqlQuery
13
+ };
14
+
15
+ if (queryParameters) {
16
+ urlParameters.queryParameters = JSON.stringify(queryParameters);
17
+ }
18
+
19
+ return baseSource('boundary', options, urlParameters);
20
+ };
21
+ //# sourceMappingURL=boundary-query-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/boundary-query-source.ts"],"names":["baseSource","boundaryQuerySource","options","boundaryId","matchingColumn","sqlQuery","queryParameters","urlParameters","JSON","stringify"],"mappings":"AACA,SAAQA,UAAR,QAAyB,eAAzB;AAgBA,OAAO,MAAMC,mBAAmB,GAAG,gBACjCC,OADiC,EAER;AACzB,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA,cAAc,GAAG,IAA9B;AAAoCC,IAAAA,QAApC;AAA8CC,IAAAA;AAA9C,MAAiEJ,OAAvE;AACA,QAAMK,aAA4B,GAAG;AACnCJ,IAAAA,UADmC;AAEnCC,IAAAA,cAFmC;AAGnCC,IAAAA;AAHmC,GAArC;;AAKA,MAAIC,eAAJ,EAAqB;AACnBC,IAAAA,aAAa,CAACD,eAAd,GAAgCE,IAAI,CAACC,SAAL,CAAeH,eAAf,CAAhC;AACD;;AACD,SAAON,UAAU,CAAgB,UAAhB,EAA4BE,OAA5B,EAAqCK,aAArC,CAAjB;AACD,CAbM","sourcesContent":["import {QueryParameters} from '../api';\nimport {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryQuerySourceOptions = SourceOptions & {\n boundaryId: string;\n matchingColumn?: string;\n sqlQuery: string;\n queryParameters: QueryParameters;\n};\ntype UrlParameters = {\n boundaryId: string;\n matchingColumn: string;\n sqlQuery: string;\n queryParameters?: string;\n};\n\nexport const boundaryQuerySource = async function (\n options: BoundaryQuerySourceOptions\n): Promise<TilejsonResult> {\n const {boundaryId, matchingColumn = 'id', sqlQuery, queryParameters} = options;\n const urlParameters: UrlParameters = {\n boundaryId,\n matchingColumn,\n sqlQuery\n };\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-query-source.js"}
@@ -0,0 +1,21 @@
1
+ import { baseSource } from './base-source';
2
+ export const boundaryTableSource = async function (options) {
3
+ const {
4
+ boundaryId,
5
+ columns,
6
+ matchingColumn = 'id',
7
+ tableName
8
+ } = options;
9
+ const urlParameters = {
10
+ boundaryId,
11
+ matchingColumn,
12
+ tableName
13
+ };
14
+
15
+ if (columns) {
16
+ urlParameters.columns = columns.join(',');
17
+ }
18
+
19
+ return baseSource('boundary', options, urlParameters);
20
+ };
21
+ //# sourceMappingURL=boundary-table-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/boundary-table-source.ts"],"names":["baseSource","boundaryTableSource","options","boundaryId","columns","matchingColumn","tableName","urlParameters","join"],"mappings":"AAAA,SAAQA,UAAR,QAAyB,eAAzB;AAgBA,OAAO,MAAMC,mBAAmB,GAAG,gBACjCC,OADiC,EAER;AACzB,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA,OAAb;AAAsBC,IAAAA,cAAc,GAAG,IAAvC;AAA6CC,IAAAA;AAA7C,MAA0DJ,OAAhE;AACA,QAAMK,aAA4B,GAAG;AACnCJ,IAAAA,UADmC;AAEnCE,IAAAA,cAFmC;AAGnCC,IAAAA;AAHmC,GAArC;;AAMA,MAAIF,OAAJ,EAAa;AACXG,IAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACI,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,SAAOR,UAAU,CAAgB,UAAhB,EAA4BE,OAA5B,EAAqCK,aAArC,CAAjB;AACD,CAdM","sourcesContent":["import {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryTableSourceOptions = SourceOptions & {\n boundaryId: string;\n columns?: string[];\n matchingColumn?: string;\n tableName: string;\n};\ntype UrlParameters = {\n boundaryId: string;\n columns?: string;\n matchingColumn: string;\n tableName: string;\n};\n\nexport const boundaryTableSource = async function (\n options: BoundaryTableSourceOptions\n): Promise<TilejsonResult> {\n const {boundaryId, columns, matchingColumn = 'id', tableName} = options;\n const urlParameters: UrlParameters = {\n boundaryId,\n matchingColumn,\n tableName\n };\n\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-table-source.js"}
@@ -0,0 +1,11 @@
1
+ import { baseSource } from './base-source';
2
+ export const boundaryTilesetSource = async function (options) {
3
+ const {
4
+ boundaryId
5
+ } = options;
6
+ const urlParameters = {
7
+ boundaryId
8
+ };
9
+ return baseSource('boundary', options, urlParameters);
10
+ };
11
+ //# sourceMappingURL=boundary-tileset-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/boundary-tileset-source.ts"],"names":["baseSource","boundaryTilesetSource","options","boundaryId","urlParameters"],"mappings":"AAAA,SAAQA,UAAR,QAAyB,eAAzB;AAMA,OAAO,MAAMC,qBAAqB,GAAG,gBACnCC,OADmC,EAEV;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAeD,OAArB;AACA,QAAME,aAA4B,GAAG;AAACD,IAAAA;AAAD,GAArC;AAEA,SAAOH,UAAU,CAAgB,UAAhB,EAA4BE,OAA5B,EAAqCE,aAArC,CAAjB;AACD,CAPM","sourcesContent":["import {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryTilesetSourceOptions = SourceOptions & {boundaryId: string};\ntype UrlParameters = {boundaryId: string};\n\nexport const boundaryTilesetSource = async function (\n options: BoundaryTilesetSourceOptions\n): Promise<TilejsonResult> {\n const {boundaryId} = options;\n const urlParameters: UrlParameters = {boundaryId};\n\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-tileset-source.js"}
@@ -1,15 +1,16 @@
1
- import { cartoBaseSource } from './base-source';
2
-
3
- const cartoH3QuerySource = async function (options) {
1
+ import { baseSource } from './base-source';
2
+ export const h3QuerySource = async function (options) {
4
3
  const {
5
4
  aggregationExp,
6
5
  aggregationResLevel = 4,
7
6
  sqlQuery,
8
- spatialDataColumn = 'h3:h3',
7
+ spatialDataColumn = 'h3',
9
8
  queryParameters
10
9
  } = options;
11
10
  const urlParameters = {
12
11
  aggregationExp,
12
+ spatialDataColumn,
13
+ spatialDataType: 'h3',
13
14
  q: sqlQuery
14
15
  };
15
16
 
@@ -17,16 +18,10 @@ const cartoH3QuerySource = async function (options) {
17
18
  urlParameters.aggregationResLevel = String(aggregationResLevel);
18
19
  }
19
20
 
20
- if (spatialDataColumn) {
21
- urlParameters.geo_column = spatialDataColumn;
22
- }
23
-
24
21
  if (queryParameters) {
25
22
  urlParameters.queryParameters = JSON.stringify(queryParameters);
26
23
  }
27
24
 
28
- return cartoBaseSource('query', options, urlParameters);
25
+ return baseSource('query', options, urlParameters);
29
26
  };
30
-
31
- export { cartoH3QuerySource };
32
27
  //# sourceMappingURL=h3-query-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/h3-query-source.ts"],"names":["cartoBaseSource","cartoH3QuerySource","options","aggregationExp","aggregationResLevel","sqlQuery","spatialDataColumn","queryParameters","urlParameters","q","String","geo_column","JSON","stringify"],"mappings":"AACA,SAAQA,eAAR,QAA8B,eAA9B;;AAmBA,MAAMC,kBAA6D,GAAG,gBACpEC,OADoE,EAEtD;AACd,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,iBAAiB,GAAG,OAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AAACL,IAAAA,cAAD;AAAiBM,IAAAA,CAAC,EAAEJ;AAApB,GAArC;;AAEA,MAAID,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCM,MAAM,CAACN,mBAAD,CAA1C;AACD;;AACD,MAAIE,iBAAJ,EAAuB;AACrBE,IAAAA,aAAa,CAACG,UAAd,GAA2BL,iBAA3B;AACD;;AACD,MAAIC,eAAJ,EAAqB;AACnBC,IAAAA,aAAa,CAACD,eAAd,GAAgCK,IAAI,CAACC,SAAL,CAAeN,eAAf,CAAhC;AACD;;AACD,SAAOP,eAAe,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAtB;AACD,CAtBD;;AAwBA,SAAQP,kBAAR","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {\n CartoAggregationOptions,\n CartoQuerySourceOptions,\n CartoSourceOptions,\n TilejsonSource\n} from './common';\n\nexport type CartoH3QuerySourceOptions = CartoSourceOptions &\n CartoQuerySourceOptions &\n CartoAggregationOptions;\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n geo_column?: string;\n q: string;\n queryParameters?: string;\n};\n\nconst cartoH3QuerySource: TilejsonSource<CartoH3QuerySourceOptions> = async function (\n options: CartoH3QuerySourceOptions\n): Promise<any> {\n const {\n aggregationExp,\n aggregationResLevel = 4,\n sqlQuery,\n spatialDataColumn = 'h3:h3',\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {aggregationExp, q: sqlQuery};\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return cartoBaseSource<UrlParameters>('query', options, urlParameters);\n};\n\nexport {cartoH3QuerySource};\n"],"file":"h3-query-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/h3-query-source.ts"],"names":["baseSource","h3QuerySource","options","aggregationExp","aggregationResLevel","sqlQuery","spatialDataColumn","queryParameters","urlParameters","spatialDataType","q","String","JSON","stringify"],"mappings":"AACA,SAAQA,UAAR,QAAyB,eAAzB;AAmBA,OAAO,MAAMC,aAAa,GAAG,gBAC3BC,OAD2B,EAEF;AACzB,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,iBAAiB,GAAG,IAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AACnCL,IAAAA,cADmC;AAEnCG,IAAAA,iBAFmC;AAGnCG,IAAAA,eAAe,EAAE,IAHkB;AAInCC,IAAAA,CAAC,EAAEL;AAJgC,GAArC;;AAOA,MAAID,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCO,MAAM,CAACP,mBAAD,CAA1C;AACD;;AACD,MAAIG,eAAJ,EAAqB;AACnBC,IAAAA,aAAa,CAACD,eAAd,GAAgCK,IAAI,CAACC,SAAL,CAAeN,eAAf,CAAhC;AACD;;AACD,SAAOP,UAAU,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAjB;AACD,CAxBM","sourcesContent":["/* eslint-disable camelcase */\nimport {baseSource} from './base-source';\nimport type {\n AggregationOptions,\n QuerySourceOptions,\n SourceOptions,\n SpatialDataType,\n TilejsonResult\n} from './types';\n\nexport type H3QuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions;\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n spatialDataType: SpatialDataType;\n spatialDataColumn?: string;\n q: string;\n queryParameters?: string;\n};\n\nexport const h3QuerySource = async function (\n options: H3QuerySourceOptions\n): Promise<TilejsonResult> {\n const {\n aggregationExp,\n aggregationResLevel = 4,\n sqlQuery,\n spatialDataColumn = 'h3',\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {\n aggregationExp,\n spatialDataColumn,\n spatialDataType: 'h3',\n q: sqlQuery\n };\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return baseSource<UrlParameters>('query', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"h3-query-source.js"}
@@ -1,16 +1,17 @@
1
- import { cartoBaseSource } from './base-source';
2
-
3
- const cartoH3TableSource = async function (options) {
1
+ import { baseSource } from './base-source';
2
+ export const h3TableSource = async function (options) {
4
3
  const {
5
4
  aggregationExp,
6
5
  aggregationResLevel = 4,
7
6
  columns,
8
- spatialDataColumn = 'h3:h3',
7
+ spatialDataColumn = 'h3',
9
8
  tableName
10
9
  } = options;
11
10
  const urlParameters = {
12
11
  aggregationExp,
13
- name: tableName
12
+ name: tableName,
13
+ spatialDataColumn,
14
+ spatialDataType: 'h3'
14
15
  };
15
16
 
16
17
  if (aggregationResLevel) {
@@ -21,12 +22,6 @@ const cartoH3TableSource = async function (options) {
21
22
  urlParameters.columns = columns.join(',');
22
23
  }
23
24
 
24
- if (spatialDataColumn) {
25
- urlParameters.geo_column = spatialDataColumn;
26
- }
27
-
28
- return cartoBaseSource('table', options, urlParameters);
25
+ return baseSource('table', options, urlParameters);
29
26
  };
30
-
31
- export { cartoH3TableSource };
32
27
  //# sourceMappingURL=h3-table-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/h3-table-source.ts"],"names":["cartoBaseSource","cartoH3TableSource","options","aggregationExp","aggregationResLevel","columns","spatialDataColumn","tableName","urlParameters","name","String","join","geo_column"],"mappings":"AACA,SAAQA,eAAR,QAA8B,eAA9B;;AAoBA,MAAMC,kBAA6D,GAAG,gBACpEC,OADoE,EAEtD;AACd,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,iBAAiB,GAAG,OAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AAACL,IAAAA,cAAD;AAAiBM,IAAAA,IAAI,EAAEF;AAAvB,GAArC;;AAEA,MAAIH,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCM,MAAM,CAACN,mBAAD,CAA1C;AACD;;AACD,MAAIC,OAAJ,EAAa;AACXG,IAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACM,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,MAAIL,iBAAJ,EAAuB;AACrBE,IAAAA,aAAa,CAACI,UAAd,GAA2BN,iBAA3B;AACD;;AACD,SAAON,eAAe,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAtB;AACD,CAtBD;;AAwBA,SAAQP,kBAAR","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {\n CartoAggregationOptions,\n CartoSourceOptions,\n CartoTableSourceOptions,\n TilejsonSource\n} from './common';\n\nexport type CartoH3TableSourceOptions = CartoSourceOptions &\n CartoTableSourceOptions &\n CartoAggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n columns?: string;\n geo_column?: string;\n name: string;\n};\n\nconst cartoH3TableSource: TilejsonSource<CartoH3TableSourceOptions> = async function (\n options: CartoH3TableSourceOptions\n): Promise<any> {\n const {\n aggregationExp,\n aggregationResLevel = 4,\n columns,\n spatialDataColumn = 'h3:h3',\n tableName\n } = options;\n const urlParameters: UrlParameters = {aggregationExp, name: tableName};\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n return cartoBaseSource<UrlParameters>('table', options, urlParameters);\n};\n\nexport {cartoH3TableSource};\n"],"file":"h3-table-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/h3-table-source.ts"],"names":["baseSource","h3TableSource","options","aggregationExp","aggregationResLevel","columns","spatialDataColumn","tableName","urlParameters","name","spatialDataType","String","join"],"mappings":"AACA,SAAQA,UAAR,QAAyB,eAAzB;AAoBA,OAAO,MAAMC,aAAa,GAAG,gBAC3BC,OAD2B,EAEF;AACzB,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,iBAAiB,GAAG,IAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AACnCL,IAAAA,cADmC;AAEnCM,IAAAA,IAAI,EAAEF,SAF6B;AAGnCD,IAAAA,iBAHmC;AAInCI,IAAAA,eAAe,EAAE;AAJkB,GAArC;;AAOA,MAAIN,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCO,MAAM,CAACP,mBAAD,CAA1C;AACD;;AACD,MAAIC,OAAJ,EAAa;AACXG,IAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACO,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,SAAOZ,UAAU,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAjB;AACD,CAxBM","sourcesContent":["/* eslint-disable camelcase */\nimport {baseSource} from './base-source';\nimport type {\n AggregationOptions,\n SourceOptions,\n SpatialDataType,\n TableSourceOptions,\n TilejsonResult\n} from './types';\n\nexport type H3TableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n columns?: string;\n spatialDataType: SpatialDataType;\n spatialDataColumn?: string;\n name: string;\n};\n\nexport const h3TableSource = async function (\n options: H3TableSourceOptions\n): Promise<TilejsonResult> {\n const {\n aggregationExp,\n aggregationResLevel = 4,\n columns,\n spatialDataColumn = 'h3',\n tableName\n } = options;\n const urlParameters: UrlParameters = {\n aggregationExp,\n name: tableName,\n spatialDataColumn,\n spatialDataType: 'h3'\n };\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n return baseSource<UrlParameters>('table', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"h3-table-source.js"}
@@ -1,14 +1,11 @@
1
- import { cartoBaseSource } from './base-source';
2
-
3
- const cartoH3TilesetSource = async function (options) {
1
+ import { baseSource } from './base-source';
2
+ export const h3TilesetSource = async function (options) {
4
3
  const {
5
4
  tableName
6
5
  } = options;
7
6
  const urlParameters = {
8
7
  name: tableName
9
8
  };
10
- return cartoBaseSource('tileset', options, urlParameters);
9
+ return baseSource('tileset', options, urlParameters);
11
10
  };
12
-
13
- export { cartoH3TilesetSource };
14
11
  //# sourceMappingURL=h3-tileset-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/h3-tileset-source.ts"],"names":["cartoBaseSource","cartoH3TilesetSource","options","tableName","urlParameters","name"],"mappings":"AAAA,SAAQA,eAAR,QAA8B,eAA9B;;AAMA,MAAMC,oBAAiE,GAAG,gBACxEC,OADwE,EAE1D;AACd,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;AACA,QAAME,aAA4B,GAAG;AAACC,IAAAA,IAAI,EAAEF;AAAP,GAArC;AAEA,SAAOH,eAAe,CAAgB,SAAhB,EAA2BE,OAA3B,EAAoCE,aAApC,CAAtB;AACD,CAPD;;AASA,SAAQH,oBAAR","sourcesContent":["import {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoTilesetSourceOptions, TilejsonSource} from './common';\n\nexport type CartoH3TilesetSourceOptions = CartoSourceOptions & CartoTilesetSourceOptions;\ntype UrlParameters = {name: string};\n\nconst cartoH3TilesetSource: TilejsonSource<CartoH3TilesetSourceOptions> = async function (\n options: CartoH3TilesetSourceOptions\n): Promise<any> {\n const {tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n return cartoBaseSource<UrlParameters>('tileset', options, urlParameters);\n};\n\nexport {cartoH3TilesetSource};\n"],"file":"h3-tileset-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/h3-tileset-source.ts"],"names":["baseSource","h3TilesetSource","options","tableName","urlParameters","name"],"mappings":"AAAA,SAAQA,UAAR,QAAyB,eAAzB;AAMA,OAAO,MAAMC,eAAe,GAAG,gBAC7BC,OAD6B,EAEJ;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;AACA,QAAME,aAA4B,GAAG;AAACC,IAAAA,IAAI,EAAEF;AAAP,GAArC;AAEA,SAAOH,UAAU,CAAgB,SAAhB,EAA2BE,OAA3B,EAAoCE,aAApC,CAAjB;AACD,CAPM","sourcesContent":["import {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult, TilesetSourceOptions} from './types';\n\nexport type H3TilesetSourceOptions = SourceOptions & TilesetSourceOptions;\ntype UrlParameters = {name: string};\n\nexport const h3TilesetSource = async function (\n options: H3TilesetSourceOptions\n): Promise<TilejsonResult> {\n const {tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n return baseSource<UrlParameters>('tileset', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"h3-tileset-source.js"}
@@ -1,12 +1,15 @@
1
- export { SOURCE_DEFAULTS } from './common';
2
- export { cartoH3QuerySource } from './h3-query-source';
3
- export { cartoH3TableSource } from './h3-table-source';
4
- export { cartoH3TilesetSource } from './h3-tileset-source';
5
- export { cartoRasterSource } from './raster-source';
6
- export { cartoQuadbinQuerySource } from './quadbin-query-source';
7
- export { cartoQuadbinTableSource } from './quadbin-table-source';
8
- export { cartoQuadbinTilesetSource } from './quadbin-tileset-source';
9
- export { cartoVectorQuerySource } from './vector-query-source';
10
- export { cartoVectorTableSource } from './vector-table-source';
11
- export { cartoVectorTilesetSource } from './vector-tileset-source';
1
+ export { SOURCE_DEFAULTS } from './base-source';
2
+ export { boundaryQuerySource } from './boundary-query-source';
3
+ export { boundaryTableSource } from './boundary-table-source';
4
+ export { boundaryTilesetSource } from './boundary-tileset-source';
5
+ export { h3QuerySource } from './h3-query-source';
6
+ export { h3TableSource } from './h3-table-source';
7
+ export { h3TilesetSource } from './h3-tileset-source';
8
+ export { rasterSource } from './raster-source';
9
+ export { quadbinQuerySource } from './quadbin-query-source';
10
+ export { quadbinTableSource } from './quadbin-table-source';
11
+ export { quadbinTilesetSource } from './quadbin-tileset-source';
12
+ export { vectorQuerySource } from './vector-query-source';
13
+ export { vectorTableSource } from './vector-table-source';
14
+ export { vectorTilesetSource } from './vector-tileset-source';
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/index.ts"],"names":["SOURCE_DEFAULTS","cartoH3QuerySource","cartoH3TableSource","cartoH3TilesetSource","cartoRasterSource","cartoQuadbinQuerySource","cartoQuadbinTableSource","cartoQuadbinTilesetSource","cartoVectorQuerySource","cartoVectorTableSource","cartoVectorTilesetSource"],"mappings":"AAAA,SAAQA,eAAR,QAA8B,UAA9B;AAGA,SAAQC,kBAAR,QAAiC,mBAAjC;AAGA,SAAQC,kBAAR,QAAiC,mBAAjC;AAGA,SAAQC,oBAAR,QAAmC,qBAAnC;AAGA,SAAQC,iBAAR,QAAgC,iBAAhC;AAGA,SAAQC,uBAAR,QAAsC,wBAAtC;AAGA,SAAQC,uBAAR,QAAsC,wBAAtC;AAGA,SAAQC,yBAAR,QAAwC,0BAAxC;AAGA,SAAQC,sBAAR,QAAqC,uBAArC;AAGA,SAAQC,sBAAR,QAAqC,uBAArC;AAGA,SAAQC,wBAAR,QAAuC,yBAAvC","sourcesContent":["export {SOURCE_DEFAULTS} from './common';\nexport type {CartoTilejsonResult, GeojsonResult, JsonResult} from './common';\n\nexport {cartoH3QuerySource} from './h3-query-source';\nexport type {CartoH3QuerySourceOptions} from './h3-query-source';\n\nexport {cartoH3TableSource} from './h3-table-source';\nexport type {CartoH3TableSourceOptions} from './h3-table-source';\n\nexport {cartoH3TilesetSource} from './h3-tileset-source';\nexport type {CartoH3TilesetSourceOptions} from './h3-tileset-source';\n\nexport {cartoRasterSource} from './raster-source';\nexport type {CartoRasterSourceOptions} from './raster-source';\n\nexport {cartoQuadbinQuerySource} from './quadbin-query-source';\nexport type {CartoQuadbinQuerySourceOptions} from './quadbin-query-source';\n\nexport {cartoQuadbinTableSource} from './quadbin-table-source';\nexport type {CartoQuadbinTableSourceOptions} from './quadbin-table-source';\n\nexport {cartoQuadbinTilesetSource} from './quadbin-tileset-source';\nexport type {CartoQuadbinTilesetSourceOptions} from './quadbin-tileset-source';\n\nexport {cartoVectorQuerySource} from './vector-query-source';\nexport type {CartoVectorQuerySourceOptions} from './vector-query-source';\n\nexport {cartoVectorTableSource} from './vector-table-source';\nexport type {CartoVectorTableSourceOptions} from './vector-table-source';\n\nexport {cartoVectorTilesetSource} from './vector-tileset-source';\nexport type {CartoVectorTilesetSourceOptions} from './vector-tileset-source';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/sources/index.ts"],"names":["SOURCE_DEFAULTS","boundaryQuerySource","boundaryTableSource","boundaryTilesetSource","h3QuerySource","h3TableSource","h3TilesetSource","rasterSource","quadbinQuerySource","quadbinTableSource","quadbinTilesetSource","vectorQuerySource","vectorTableSource","vectorTilesetSource"],"mappings":"AAAA,SAAQA,eAAR,QAA8B,eAA9B;AAGA,SAAQC,mBAAR,QAAkC,yBAAlC;AAGA,SAAQC,mBAAR,QAAkC,yBAAlC;AAGA,SAAQC,qBAAR,QAAoC,2BAApC;AAGA,SAAQC,aAAR,QAA4B,mBAA5B;AAGA,SAAQC,aAAR,QAA4B,mBAA5B;AAGA,SAAQC,eAAR,QAA8B,qBAA9B;AAGA,SAAQC,YAAR,QAA2B,iBAA3B;AAGA,SAAQC,kBAAR,QAAiC,wBAAjC;AAGA,SAAQC,kBAAR,QAAiC,wBAAjC;AAGA,SAAQC,oBAAR,QAAmC,0BAAnC;AAGA,SAAQC,iBAAR,QAAgC,uBAAhC;AAGA,SAAQC,iBAAR,QAAgC,uBAAhC;AAGA,SAAQC,mBAAR,QAAkC,yBAAlC","sourcesContent":["export {SOURCE_DEFAULTS} from './base-source';\nexport type {TilejsonResult, GeojsonResult, JsonResult} from './types';\n\nexport {boundaryQuerySource} from './boundary-query-source';\nexport type {BoundaryQuerySourceOptions} from './boundary-query-source';\n\nexport {boundaryTableSource} from './boundary-table-source';\nexport type {BoundaryTableSourceOptions} from './boundary-table-source';\n\nexport {boundaryTilesetSource} from './boundary-tileset-source';\nexport type {BoundaryTilesetSourceOptions} from './boundary-tileset-source';\n\nexport {h3QuerySource} from './h3-query-source';\nexport type {H3QuerySourceOptions} from './h3-query-source';\n\nexport {h3TableSource} from './h3-table-source';\nexport type {H3TableSourceOptions} from './h3-table-source';\n\nexport {h3TilesetSource} from './h3-tileset-source';\nexport type {H3TilesetSourceOptions} from './h3-tileset-source';\n\nexport {rasterSource} from './raster-source';\nexport type {RasterSourceOptions} from './raster-source';\n\nexport {quadbinQuerySource} from './quadbin-query-source';\nexport type {QuadbinQuerySourceOptions} from './quadbin-query-source';\n\nexport {quadbinTableSource} from './quadbin-table-source';\nexport type {QuadbinTableSourceOptions} from './quadbin-table-source';\n\nexport {quadbinTilesetSource} from './quadbin-tileset-source';\nexport type {QuadbinTilesetSourceOptions} from './quadbin-tileset-source';\n\nexport {vectorQuerySource} from './vector-query-source';\nexport type {VectorQuerySourceOptions} from './vector-query-source';\n\nexport {vectorTableSource} from './vector-table-source';\nexport type {VectorTableSourceOptions} from './vector-table-source';\n\nexport {vectorTilesetSource} from './vector-tileset-source';\nexport type {VectorTilesetSourceOptions} from './vector-tileset-source';\n"],"file":"index.js"}
@@ -1,32 +1,27 @@
1
- import { cartoBaseSource } from './base-source';
2
-
3
- const cartoQuadbinQuerySource = async function (options) {
1
+ import { baseSource } from './base-source';
2
+ export const quadbinQuerySource = async function (options) {
4
3
  const {
5
4
  aggregationExp,
6
5
  aggregationResLevel = 6,
7
6
  sqlQuery,
8
- spatialDataColumn = 'quadbin:quadbin',
7
+ spatialDataColumn = 'quadbin',
9
8
  queryParameters
10
9
  } = options;
11
10
  const urlParameters = {
12
11
  aggregationExp,
13
- q: sqlQuery
12
+ q: sqlQuery,
13
+ spatialDataColumn,
14
+ spatialDataType: 'quadbin'
14
15
  };
15
16
 
16
17
  if (aggregationResLevel) {
17
18
  urlParameters.aggregationResLevel = String(aggregationResLevel);
18
19
  }
19
20
 
20
- if (spatialDataColumn) {
21
- urlParameters.geo_column = spatialDataColumn;
22
- }
23
-
24
21
  if (queryParameters) {
25
22
  urlParameters.queryParameters = JSON.stringify(queryParameters);
26
23
  }
27
24
 
28
- return cartoBaseSource('query', options, urlParameters);
25
+ return baseSource('query', options, urlParameters);
29
26
  };
30
-
31
- export { cartoQuadbinQuerySource };
32
27
  //# sourceMappingURL=quadbin-query-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/quadbin-query-source.ts"],"names":["cartoBaseSource","cartoQuadbinQuerySource","options","aggregationExp","aggregationResLevel","sqlQuery","spatialDataColumn","queryParameters","urlParameters","q","String","geo_column","JSON","stringify"],"mappings":"AACA,SAAQA,eAAR,QAA8B,eAA9B;;AAoBA,MAAMC,uBAAuE,GAAG,gBAC9EC,OAD8E,EAEhE;AACd,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,iBAAiB,GAAG,iBAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AAACL,IAAAA,cAAD;AAAiBM,IAAAA,CAAC,EAAEJ;AAApB,GAArC;;AAEA,MAAID,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCM,MAAM,CAACN,mBAAD,CAA1C;AACD;;AACD,MAAIE,iBAAJ,EAAuB;AACrBE,IAAAA,aAAa,CAACG,UAAd,GAA2BL,iBAA3B;AACD;;AACD,MAAIC,eAAJ,EAAqB;AACnBC,IAAAA,aAAa,CAACD,eAAd,GAAgCK,IAAI,CAACC,SAAL,CAAeN,eAAf,CAAhC;AACD;;AACD,SAAOP,eAAe,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAtB;AACD,CAtBD;;AAwBA,SAAQP,uBAAR","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {\n CartoAggregationOptions,\n CartoQuerySourceOptions,\n CartoSourceOptions,\n TilejsonSource\n} from './common';\n\nexport type CartoQuadbinQuerySourceOptions = CartoSourceOptions &\n CartoQuerySourceOptions &\n CartoAggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n geo_column?: string;\n q: string;\n queryParameters?: string;\n};\n\nconst cartoQuadbinQuerySource: TilejsonSource<CartoQuadbinQuerySourceOptions> = async function (\n options: CartoQuadbinQuerySourceOptions\n): Promise<any> {\n const {\n aggregationExp,\n aggregationResLevel = 6,\n sqlQuery,\n spatialDataColumn = 'quadbin:quadbin',\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {aggregationExp, q: sqlQuery};\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return cartoBaseSource<UrlParameters>('query', options, urlParameters);\n};\n\nexport {cartoQuadbinQuerySource};\n"],"file":"quadbin-query-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/quadbin-query-source.ts"],"names":["baseSource","quadbinQuerySource","options","aggregationExp","aggregationResLevel","sqlQuery","spatialDataColumn","queryParameters","urlParameters","q","spatialDataType","String","JSON","stringify"],"mappings":"AACA,SAAQA,UAAR,QAAyB,eAAzB;AAoBA,OAAO,MAAMC,kBAAkB,GAAG,gBAChCC,OADgC,EAEP;AACzB,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,iBAAiB,GAAG,SAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AACnCL,IAAAA,cADmC;AAEnCM,IAAAA,CAAC,EAAEJ,QAFgC;AAGnCC,IAAAA,iBAHmC;AAInCI,IAAAA,eAAe,EAAE;AAJkB,GAArC;;AAOA,MAAIN,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCO,MAAM,CAACP,mBAAD,CAA1C;AACD;;AACD,MAAIG,eAAJ,EAAqB;AACnBC,IAAAA,aAAa,CAACD,eAAd,GAAgCK,IAAI,CAACC,SAAL,CAAeN,eAAf,CAAhC;AACD;;AACD,SAAOP,UAAU,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAjB;AACD,CAxBM","sourcesContent":["/* eslint-disable camelcase */\nimport {baseSource} from './base-source';\nimport type {\n AggregationOptions,\n QuerySourceOptions,\n SourceOptions,\n SpatialDataType,\n TilejsonResult\n} from './types';\n\nexport type QuadbinQuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n spatialDataType: SpatialDataType;\n spatialDataColumn?: string;\n q: string;\n queryParameters?: string;\n};\n\nexport const quadbinQuerySource = async function (\n options: QuadbinQuerySourceOptions\n): Promise<TilejsonResult> {\n const {\n aggregationExp,\n aggregationResLevel = 6,\n sqlQuery,\n spatialDataColumn = 'quadbin',\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {\n aggregationExp,\n q: sqlQuery,\n spatialDataColumn,\n spatialDataType: 'quadbin'\n };\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return baseSource<UrlParameters>('query', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"quadbin-query-source.js"}
@@ -1,16 +1,17 @@
1
- import { cartoBaseSource } from './base-source';
2
-
3
- const cartoQuadbinTableSource = async function (options) {
1
+ import { baseSource } from './base-source';
2
+ export const quadbinTableSource = async function (options) {
4
3
  const {
5
4
  aggregationExp,
6
5
  aggregationResLevel = 6,
7
6
  columns,
8
- spatialDataColumn = 'quadbin:quadbin',
7
+ spatialDataColumn = 'quadbin',
9
8
  tableName
10
9
  } = options;
11
10
  const urlParameters = {
12
11
  aggregationExp,
13
- name: tableName
12
+ name: tableName,
13
+ spatialDataColumn,
14
+ spatialDataType: 'quadbin'
14
15
  };
15
16
 
16
17
  if (aggregationResLevel) {
@@ -21,12 +22,6 @@ const cartoQuadbinTableSource = async function (options) {
21
22
  urlParameters.columns = columns.join(',');
22
23
  }
23
24
 
24
- if (spatialDataColumn) {
25
- urlParameters.geo_column = spatialDataColumn;
26
- }
27
-
28
- return cartoBaseSource('table', options, urlParameters);
25
+ return baseSource('table', options, urlParameters);
29
26
  };
30
-
31
- export { cartoQuadbinTableSource };
32
27
  //# sourceMappingURL=quadbin-table-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/quadbin-table-source.ts"],"names":["cartoBaseSource","cartoQuadbinTableSource","options","aggregationExp","aggregationResLevel","columns","spatialDataColumn","tableName","urlParameters","name","String","join","geo_column"],"mappings":"AACA,SAAQA,eAAR,QAA8B,eAA9B;;AAoBA,MAAMC,uBAAuE,GAAG,gBAC9EC,OAD8E,EAEhE;AACd,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,iBAAiB,GAAG,iBAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAOA,QAAMM,aAA4B,GAAG;AAACL,IAAAA,cAAD;AAAiBM,IAAAA,IAAI,EAAEF;AAAvB,GAArC;;AAEA,MAAIH,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCM,MAAM,CAACN,mBAAD,CAA1C;AACD;;AACD,MAAIC,OAAJ,EAAa;AACXG,IAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACM,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,MAAIL,iBAAJ,EAAuB;AACrBE,IAAAA,aAAa,CAACI,UAAd,GAA2BN,iBAA3B;AACD;;AACD,SAAON,eAAe,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAtB;AACD,CAtBD;;AAwBA,SAAQP,uBAAR","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {\n CartoAggregationOptions,\n CartoSourceOptions,\n CartoTableSourceOptions,\n TilejsonSource\n} from './common';\n\nexport type CartoQuadbinTableSourceOptions = CartoSourceOptions &\n CartoTableSourceOptions &\n CartoAggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n columns?: string;\n geo_column?: string;\n name: string;\n};\n\nconst cartoQuadbinTableSource: TilejsonSource<CartoQuadbinTableSourceOptions> = async function (\n options: CartoQuadbinTableSourceOptions\n): Promise<any> {\n const {\n aggregationExp,\n aggregationResLevel = 6,\n columns,\n spatialDataColumn = 'quadbin:quadbin',\n tableName\n } = options;\n const urlParameters: UrlParameters = {aggregationExp, name: tableName};\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n return cartoBaseSource<UrlParameters>('table', options, urlParameters);\n};\n\nexport {cartoQuadbinTableSource};\n"],"file":"quadbin-table-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/quadbin-table-source.ts"],"names":["baseSource","quadbinTableSource","options","aggregationExp","aggregationResLevel","columns","spatialDataColumn","tableName","urlParameters","name","spatialDataType","String","join"],"mappings":"AACA,SAAQA,UAAR,QAAyB,eAAzB;AAoBA,OAAO,MAAMC,kBAAkB,GAAG,gBAChCC,OADgC,EAEP;AACzB,QAAM;AACJC,IAAAA,cADI;AAEJC,IAAAA,mBAAmB,GAAG,CAFlB;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,iBAAiB,GAAG,SAJhB;AAKJC,IAAAA;AALI,MAMFL,OANJ;AAQA,QAAMM,aAA4B,GAAG;AACnCL,IAAAA,cADmC;AAEnCM,IAAAA,IAAI,EAAEF,SAF6B;AAGnCD,IAAAA,iBAHmC;AAInCI,IAAAA,eAAe,EAAE;AAJkB,GAArC;;AAOA,MAAIN,mBAAJ,EAAyB;AACvBI,IAAAA,aAAa,CAACJ,mBAAd,GAAoCO,MAAM,CAACP,mBAAD,CAA1C;AACD;;AACD,MAAIC,OAAJ,EAAa;AACXG,IAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACO,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,SAAOZ,UAAU,CAAgB,OAAhB,EAAyBE,OAAzB,EAAkCM,aAAlC,CAAjB;AACD,CAzBM","sourcesContent":["/* eslint-disable camelcase */\nimport {baseSource} from './base-source';\nimport type {\n AggregationOptions,\n SourceOptions,\n SpatialDataType,\n TableSourceOptions,\n TilejsonResult\n} from './types';\n\nexport type QuadbinTableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions;\n\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n columns?: string;\n spatialDataType: SpatialDataType;\n spatialDataColumn?: string;\n name: string;\n};\n\nexport const quadbinTableSource = async function (\n options: QuadbinTableSourceOptions\n): Promise<TilejsonResult> {\n const {\n aggregationExp,\n aggregationResLevel = 6,\n columns,\n spatialDataColumn = 'quadbin',\n tableName\n } = options;\n\n const urlParameters: UrlParameters = {\n aggregationExp,\n name: tableName,\n spatialDataColumn,\n spatialDataType: 'quadbin'\n };\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n return baseSource<UrlParameters>('table', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"quadbin-table-source.js"}