@deck.gl/carto 8.10.0-alpha.7 → 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 +32 -24
  2. package/dist/cartoSpatialTile-worker.js +32 -24
  3. package/dist/cartoVectorTile-worker.js +69 -63
  4. package/dist/dist.dev.js +12055 -12562
  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 -41
  188. package/package.json +10 -9
  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 +1 -1
  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 +40 -21
  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
@@ -6,9 +6,25 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.injectAccessToken = injectAccessToken;
9
+ exports.mergeBoundaryData = mergeBoundaryData;
10
+ exports.TilejsonPropType = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
15
 
10
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
17
 
18
+ var _core = require("@deck.gl/core");
19
+
20
+ var _excluded = ["geoid"];
21
+
22
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
23
+
24
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
+
26
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
27
+
12
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
29
 
14
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -26,4 +42,90 @@ function injectAccessToken(loadOptions, accessToken) {
26
42
  });
27
43
  }
28
44
  }
45
+
46
+ function mergeBoundaryData(geometry, properties) {
47
+ var mapping = {};
48
+
49
+ var _iterator = _createForOfIteratorHelper(properties.properties),
50
+ _step;
51
+
52
+ try {
53
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
54
+ var _ref3 = _step.value;
55
+ var geoid = _ref3.geoid,
56
+ rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
57
+
58
+ if (geoid in mapping) {
59
+ throw new Error("Duplicate geoid key in mapping: ".concat(geoid));
60
+ }
61
+
62
+ mapping[geoid] = rest;
63
+ }
64
+ } catch (err) {
65
+ _iterator.e(err);
66
+ } finally {
67
+ _iterator.f();
68
+ }
69
+
70
+ for (var _i = 0, _arr = ['points', 'lines', 'polygons']; _i < _arr.length; _i++) {
71
+ var type = _arr[_i];
72
+ var geom = geometry[type];
73
+
74
+ if (geom.positions.value.length === 0) {
75
+ continue;
76
+ }
77
+
78
+ geom.properties = geom.properties.map(function (_ref2) {
79
+ var geoid = _ref2.geoid;
80
+ return mapping[geoid];
81
+ });
82
+ var positions = geom.positions,
83
+ globalFeatureIds = geom.globalFeatureIds;
84
+ var indices = null;
85
+ if (type === 'lines') indices = geom.pathIndices.value;
86
+ if (type === 'polygons') indices = geom.polygonIndices.value;
87
+ var length = positions.value.length / positions.size;
88
+
89
+ for (var key in properties.numericProps) {
90
+ var sourceProp = properties.numericProps[key].value;
91
+ var TypedArray = sourceProp.constructor;
92
+ var destProp = new TypedArray(length);
93
+ geom.numericProps[key] = {
94
+ value: destProp,
95
+ size: 1
96
+ };
97
+
98
+ if (!indices) {
99
+ for (var i = 0; i < length; i++) {
100
+ var featureId = globalFeatureIds.value[i];
101
+ destProp[i] = sourceProp[featureId];
102
+ }
103
+ } else {
104
+ for (var _i2 = 0; _i2 < indices.length - 1; _i2++) {
105
+ var startIndex = indices[_i2];
106
+ var endIndex = indices[_i2 + 1];
107
+ var _featureId = globalFeatureIds.value[startIndex];
108
+ destProp.fill(sourceProp[_featureId], startIndex, endIndex);
109
+ }
110
+ }
111
+ }
112
+ }
113
+
114
+ return geometry;
115
+ }
116
+
117
+ var TilejsonPropType = {
118
+ type: 'object',
119
+ value: null,
120
+ validate: function validate(value, propType) {
121
+ return propType.optional && value === null || (0, _typeof2.default)(value) === 'object' && Array.isArray(value.tiles) && value.tiles.every(function (url) {
122
+ return typeof url === 'string';
123
+ });
124
+ },
125
+ equal: function equal(value1, value2) {
126
+ return (0, _core._deepEqual)(value1, value2, 2);
127
+ },
128
+ async: true
129
+ };
130
+ exports.TilejsonPropType = TilejsonPropType;
29
131
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization"],"mappings":";;;;;;;;;;;;;;;AAGO,SAASA,iBAAT,CAA2BC,WAA3B,EAA6CC,WAA7C,EAAwE;AAAA;;AAC7E,MAAI,EAACD,WAAD,aAACA,WAAD,qCAACA,WAAW,CAAEE,KAAd,wEAAC,mBAAoBC,OAArB,kDAAC,sBAA6BC,aAA9B,CAAJ,EAAiD;AAAA;;AAC/CJ,IAAAA,WAAW,CAACE,KAAZ,mCACKF,WAAW,CAACE,KADjB;AAEEC,MAAAA,OAAO,yDAAMH,WAAW,CAACE,KAAlB,wDAAM,oBAAmBC,OAAzB;AAAkCC,QAAAA,aAAa,mBAAYH,WAAZ;AAA/C;AAFT;AAID;AACF","sourcesContent":["/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization","mergeBoundaryData","geometry","properties","mapping","geoid","rest","Error","type","geom","positions","value","length","map","globalFeatureIds","indices","pathIndices","polygonIndices","size","key","numericProps","sourceProp","TypedArray","constructor","destProp","i","featureId","startIndex","endIndex","fill","TilejsonPropType","validate","propType","optional","Array","isArray","tiles","every","url","equal","value1","value2","async"],"mappings":"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","sourcesContent":["import {Tile as PropertiesTile} from './schema/carto-properties-tile';\nimport {Tile as VectorTile} from './schema/carto-tile';\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {TilejsonResult} from '../sources/types';\n\n/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n\nexport function mergeBoundaryData(geometry: VectorTile, properties: PropertiesTile): VectorTile {\n const mapping = {};\n for (const {geoid, ...rest} of properties.properties) {\n if (geoid in mapping) {\n throw new Error(`Duplicate geoid key in mapping: ${geoid}`);\n }\n mapping[geoid] = rest;\n }\n\n for (const type of ['points', 'lines', 'polygons']) {\n const geom = geometry[type];\n if (geom.positions.value.length === 0) {\n continue;\n }\n\n geom.properties = geom.properties.map(({geoid}) => mapping[geoid]);\n\n // numericProps need to be filled to match length of positions buffer\n const {positions, globalFeatureIds} = geom;\n let indices: Uint16Array | Uint32Array | null = null;\n if (type === 'lines') indices = geom.pathIndices.value;\n if (type === 'polygons') indices = geom.polygonIndices.value;\n const length = positions.value.length / positions.size;\n for (const key in properties.numericProps) {\n const sourceProp = properties.numericProps[key].value;\n const TypedArray = sourceProp.constructor as\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n const destProp = new TypedArray(length);\n geom.numericProps[key] = {value: destProp, size: 1};\n\n if (!indices) {\n for (let i = 0; i < length; i++) {\n // points\n const featureId = globalFeatureIds.value[i];\n destProp[i] = sourceProp[featureId];\n }\n } else {\n // lines|polygons\n for (let i = 0; i < indices.length - 1; i++) {\n const startIndex = indices[i];\n const endIndex = indices[i + 1];\n const featureId = globalFeatureIds.value[startIndex];\n destProp.fill(sourceProp[featureId], startIndex, endIndex);\n }\n }\n }\n }\n\n return geometry;\n}\n\nexport const TilejsonPropType = {\n type: 'object' as const,\n value: null as null | TilejsonResult,\n validate: (value: TilejsonResult, propType) =>\n (propType.optional && value === null) ||\n (typeof value === 'object' &&\n Array.isArray(value.tiles) &&\n value.tiles.every(url => typeof url === 'string')),\n equal: (value1, value2) => {\n return deepEqual(value1, value2, 2);\n },\n async: true\n};\n"],"file":"utils.js"}
@@ -7,8 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
12
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
19
 
14
20
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
@@ -23,6 +29,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
23
29
 
24
30
  var _core = require("@loaders.gl/core");
25
31
 
32
+ var _cartoPropertiesTileLoader = _interopRequireDefault(require("./schema/carto-properties-tile-loader"));
33
+
26
34
  var _cartoVectorTileLoader = _interopRequireDefault(require("./schema/carto-vector-tile-loader"));
27
35
 
28
36
  var _extensions = require("@deck.gl/extensions");
@@ -33,10 +41,6 @@ var _layers = require("@deck.gl/layers");
33
41
 
34
42
  var _gis = require("@loaders.gl/gis");
35
43
 
36
- var _mapsApiCommon = require("../api/maps-api-common");
37
-
38
- var _common = require("../sources/common");
39
-
40
44
  var _utils = require("./utils");
41
45
 
42
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -47,12 +51,11 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
47
51
 
48
52
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
49
53
 
50
- (0, _core.registerLoaders)([_cartoVectorTileLoader.default]);
51
- var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
54
+ (0, _core.registerLoaders)([_cartoPropertiesTileLoader.default, _cartoVectorTileLoader.default]);
52
55
 
53
56
  var defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
54
- data: _common.TilejsonPropType,
55
- formatTiles: defaultTileFormat
57
+ data: _utils.TilejsonPropType,
58
+ dataComparator: _utils.TilejsonPropType.equal
56
59
  });
57
60
 
58
61
  var VectorTileLayer = function (_MVTLayer) {
@@ -61,17 +64,25 @@ var VectorTileLayer = function (_MVTLayer) {
61
64
  var _super = _createSuper(VectorTileLayer);
62
65
 
63
66
  function VectorTileLayer() {
67
+ var _this;
68
+
64
69
  (0, _classCallCheck2.default)(this, VectorTileLayer);
65
- return _super.apply(this, arguments);
70
+
71
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
72
+ args[_key] = arguments[_key];
73
+ }
74
+
75
+ _this = _super.call.apply(_super, [this].concat(args));
76
+ _this.state = void 0;
77
+ return _this;
66
78
  }
67
79
 
68
80
  var _proto = VectorTileLayer.prototype;
69
81
 
70
82
  _proto.initializeState = function initializeState() {
71
83
  (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "initializeState", this).call(this);
72
- var binary = this.props.formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY || _mapsApiCommon.TILE_FORMATS.MVT;
73
84
  this.setState({
74
- binary: binary
85
+ binary: true
75
86
  });
76
87
  };
77
88
 
@@ -81,7 +92,7 @@ var VectorTileLayer = function (_MVTLayer) {
81
92
  if (props.data) {
82
93
  (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "updateState", this).call(this, parameters);
83
94
  var formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');
84
- var mvt = formatTiles === _mapsApiCommon.TILE_FORMATS.MVT;
95
+ var mvt = formatTiles === 'mvt';
85
96
  this.setState({
86
97
  mvt: mvt
87
98
  });
@@ -98,23 +109,97 @@ var VectorTileLayer = function (_MVTLayer) {
98
109
  return loadOptions;
99
110
  };
100
111
 
101
- _proto.getTileData = function getTileData(tile) {
102
- var url = (0, _geoLayers._getURLFromTemplate)(this.state.data, tile);
103
-
104
- if (!url) {
105
- return Promise.reject('Invalid URL');
112
+ _proto.getTileData = function () {
113
+ var _getTileData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile) {
114
+ var tileJSON, tiles, properties_tiles, url, loadOptions, fetch, signal, geometryFetch, propertiesUrl, attributesFetch, _yield$Promise$all, _yield$Promise$all2, geometry, attributes;
115
+
116
+ return _regenerator.default.wrap(function _callee$(_context) {
117
+ while (1) {
118
+ switch (_context.prev = _context.next) {
119
+ case 0:
120
+ tileJSON = this.props.data;
121
+ tiles = tileJSON.tiles, properties_tiles = tileJSON.properties_tiles;
122
+ url = (0, _geoLayers._getURLFromTemplate)(tiles, tile);
123
+
124
+ if (url) {
125
+ _context.next = 5;
126
+ break;
127
+ }
128
+
129
+ return _context.abrupt("return", Promise.reject('Invalid URL'));
130
+
131
+ case 5:
132
+ loadOptions = this.getLoadOptions();
133
+ fetch = this.props.fetch;
134
+ signal = tile.signal;
135
+ geometryFetch = fetch(url, {
136
+ propName: 'data',
137
+ layer: this,
138
+ loadOptions: loadOptions,
139
+ signal: signal
140
+ });
141
+
142
+ if (properties_tiles) {
143
+ _context.next = 13;
144
+ break;
145
+ }
146
+
147
+ _context.next = 12;
148
+ return geometryFetch;
149
+
150
+ case 12:
151
+ return _context.abrupt("return", _context.sent);
152
+
153
+ case 13:
154
+ propertiesUrl = (0, _geoLayers._getURLFromTemplate)(properties_tiles, tile);
155
+
156
+ if (propertiesUrl) {
157
+ _context.next = 16;
158
+ break;
159
+ }
160
+
161
+ return _context.abrupt("return", Promise.reject('Invalid properties URL'));
162
+
163
+ case 16:
164
+ attributesFetch = fetch(propertiesUrl, {
165
+ propName: 'data',
166
+ layer: this,
167
+ loadOptions: loadOptions,
168
+ signal: signal
169
+ });
170
+ _context.next = 19;
171
+ return Promise.all([geometryFetch, attributesFetch]);
172
+
173
+ case 19:
174
+ _yield$Promise$all = _context.sent;
175
+ _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
176
+ geometry = _yield$Promise$all2[0];
177
+ attributes = _yield$Promise$all2[1];
178
+
179
+ if (geometry) {
180
+ _context.next = 25;
181
+ break;
182
+ }
183
+
184
+ return _context.abrupt("return", null);
185
+
186
+ case 25:
187
+ return _context.abrupt("return", (0, _utils.mergeBoundaryData)(geometry, attributes));
188
+
189
+ case 26:
190
+ case "end":
191
+ return _context.stop();
192
+ }
193
+ }
194
+ }, _callee, this);
195
+ }));
196
+
197
+ function getTileData(_x) {
198
+ return _getTileData.apply(this, arguments);
106
199
  }
107
200
 
108
- var loadOptions = this.getLoadOptions();
109
- var fetch = this.props.fetch;
110
- var signal = tile.signal;
111
- return fetch(url, {
112
- propName: 'data',
113
- layer: this,
114
- loadOptions: loadOptions,
115
- signal: signal
116
- });
117
- };
201
+ return getTileData;
202
+ }();
118
203
 
119
204
  _proto.renderSubLayers = function renderSubLayers(props) {
120
205
  if (props.data === null) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["CartoVectorTileLoader","defaultTileFormat","TILE_FORMATS","BINARY","defaultProps","MVTLayer","data","TilejsonPropType","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","ClipExtension","clipBounds","subLayer","GeoJsonLayer","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 {BinaryFeatureCollection} 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 BinaryFeatureCollection, {\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":["CartoPropertiesTileLoader","CartoVectorTileLoader","defaultProps","MVTLayer","data","TilejsonPropType","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","all","geometry","attributes","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","ClipExtension","clipBounds","subLayer","GeoJsonLayer","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"}
@@ -5,38 +5,63 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.cartoBaseSource = cartoBaseSource;
8
+ exports.baseSource = baseSource;
9
+ exports.SOURCE_DEFAULTS = void 0;
9
10
 
10
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12
 
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
 
15
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
+
14
17
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
18
 
16
- var _common = require("./common");
19
+ var _common = require("../api/common");
20
+
21
+ var _endpoints = require("../api/endpoints");
17
22
 
18
- var _utils = require("./utils");
23
+ var _requestWithParameters = require("../api/request-with-parameters");
24
+
25
+ var _excluded = ["accessToken", "connectionName", "cache"];
19
26
 
20
27
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
28
 
22
29
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
30
 
24
- function cartoBaseSource(_x, _x2, _x3) {
25
- return _cartoBaseSource.apply(this, arguments);
31
+ var SOURCE_DEFAULTS = {
32
+ apiBaseUrl: _common.DEFAULT_API_BASE_URL,
33
+ clientId: _common.DEFAULT_CLIENT,
34
+ format: 'tilejson',
35
+ headers: {}
36
+ };
37
+ exports.SOURCE_DEFAULTS = SOURCE_DEFAULTS;
38
+
39
+ function baseSource(_x, _x2, _x3) {
40
+ return _baseSource.apply(this, arguments);
26
41
  }
27
42
 
28
- function _cartoBaseSource() {
29
- _cartoBaseSource = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(endpoint, options, urlParameters) {
30
- var mergedOptions, baseUrl, accessToken, format, headers, errorContext, mapInstantiation, dataUrl, tilejson;
43
+ function _baseSource() {
44
+ _baseSource = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(endpoint, options, urlParameters) {
45
+ var accessToken, connectionName, cache, optionalOptions, mergedOptions, key, baseUrl, format, headers, errorContext, mapInstantiation, dataUrl;
31
46
  return _regenerator.default.wrap(function _callee$(_context) {
32
47
  while (1) {
33
48
  switch (_context.prev = _context.next) {
34
49
  case 0:
35
- mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, _common.SOURCE_DEFAULTS), options), {}, {
50
+ accessToken = options.accessToken, connectionName = options.connectionName, cache = options.cache, optionalOptions = (0, _objectWithoutProperties2.default)(options, _excluded);
51
+ mergedOptions = _objectSpread(_objectSpread({}, SOURCE_DEFAULTS), {}, {
52
+ accessToken: accessToken,
53
+ connectionName: connectionName,
36
54
  endpoint: endpoint
37
55
  });
38
- baseUrl = (0, _utils.buildApiEndpoint)(mergedOptions);
39
- accessToken = mergedOptions.accessToken, format = mergedOptions.format;
56
+
57
+ for (key in optionalOptions) {
58
+ if (optionalOptions[key]) {
59
+ mergedOptions[key] = optionalOptions[key];
60
+ }
61
+ }
62
+
63
+ baseUrl = (0, _endpoints.buildSourceUrl)(mergedOptions);
64
+ format = mergedOptions.format;
40
65
  headers = _objectSpread({
41
66
  Authorization: "Bearer ".concat(options.accessToken)
42
67
  }, options.headers);
@@ -46,55 +71,58 @@ function _cartoBaseSource() {
46
71
  type: endpoint,
47
72
  source: JSON.stringify(urlParameters, undefined, 2)
48
73
  };
49
- _context.next = 7;
50
- return (0, _utils.requestWithParameters)({
74
+ _context.next = 9;
75
+ return (0, _requestWithParameters.requestWithParameters)({
51
76
  baseUrl: baseUrl,
52
77
  parameters: urlParameters,
53
78
  headers: headers,
54
79
  errorContext: errorContext
55
80
  });
56
81
 
57
- case 7:
82
+ case 9:
58
83
  mapInstantiation = _context.sent;
59
84
  dataUrl = mapInstantiation[format].url[0];
85
+
86
+ if (cache) {
87
+ cache.value = parseInt(new URL(dataUrl).searchParams.get('cache') || '', 10);
88
+ }
89
+
60
90
  errorContext.requestType = 'Map data';
61
91
 
62
92
  if (!(format === 'tilejson')) {
63
- _context.next = 15;
93
+ _context.next = 17;
64
94
  break;
65
95
  }
66
96
 
67
- _context.next = 13;
68
- return (0, _utils.requestWithParameters)({
97
+ _context.next = 16;
98
+ return (0, _requestWithParameters.requestWithParameters)({
99
+ accessToken: accessToken,
69
100
  baseUrl: dataUrl,
70
101
  headers: headers,
71
102
  errorContext: errorContext
72
103
  });
73
104
 
74
- case 13:
75
- tilejson = _context.sent;
76
- return _context.abrupt("return", _objectSpread(_objectSpread({}, tilejson), {}, {
77
- accessToken: accessToken
78
- }));
105
+ case 16:
106
+ return _context.abrupt("return", _context.sent);
79
107
 
80
- case 15:
81
- _context.next = 17;
82
- return (0, _utils.requestWithParameters)({
108
+ case 17:
109
+ _context.next = 19;
110
+ return (0, _requestWithParameters.requestWithParameters)({
83
111
  baseUrl: dataUrl,
84
112
  headers: headers,
85
113
  errorContext: errorContext
86
114
  });
87
115
 
88
- case 17:
116
+ case 19:
89
117
  return _context.abrupt("return", _context.sent);
90
118
 
91
- case 18:
119
+ case 20:
92
120
  case "end":
93
121
  return _context.stop();
94
122
  }
95
123
  }
96
124
  }, _callee);
97
125
  }));
98
- return _cartoBaseSource.apply(this, arguments);
126
+ return _baseSource.apply(this, arguments);
99
127
  }
100
128
  //# sourceMappingURL=base-source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["cartoBaseSource","endpoint","options","urlParameters","mergedOptions","SOURCE_DEFAULTS","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","tilejson"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAUA;;;;;;SAEsBA,e;;;;;+EAAf,iBACLC,QADK,EAELC,OAFK,EAGLC,aAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,YAAAA,aALD,iDAKqBC,uBALrB,GAKyCH,OALzC;AAKkDD,cAAAA,QAAQ,EAARA;AALlD;AAMCK,YAAAA,OAND,GAMW,6BAAiBF,aAAjB,CANX;AAOEG,YAAAA,WAPF,GAOyBH,aAPzB,CAOEG,WAPF,EAOeC,MAPf,GAOyBJ,aAPzB,CAOeI,MAPf;AAQCC,YAAAA,OARD;AAQYC,cAAAA,aAAa,mBAAYR,OAAO,CAACK,WAApB;AARzB,eAQ+DL,OAAO,CAACO,OARvE;AAUCE,YAAAA,YAVD,GAUiC;AACpCC,cAAAA,WAAW,EAAE,mBADuB;AAEpCC,cAAAA,UAAU,EAAEX,OAAO,CAACY,cAFgB;AAGpCC,cAAAA,IAAI,EAAEd,QAH8B;AAIpCe,cAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,aAVjC;AAAA;AAAA,mBAgB0B,kCAAgD;AAC7Eb,cAAAA,OAAO,EAAPA,OAD6E;AAE7Ec,cAAAA,UAAU,EAAEjB,aAFiE;AAG7EM,cAAAA,OAAO,EAAPA,OAH6E;AAI7EE,cAAAA,YAAY,EAAZA;AAJ6E,aAAhD,CAhB1B;;AAAA;AAgBCU,YAAAA,gBAhBD;AAuBCC,YAAAA,OAvBD,GAuBWD,gBAAgB,CAACb,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAvBX;AAwBLZ,YAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAxBK,kBA0BDJ,MAAM,KAAK,UA1BV;AAAA;AAAA;AAAA;;AAAA;AAAA,mBA2BoB,kCAAgC;AACrDF,cAAAA,OAAO,EAAEgB,OAD4C;AAErDb,cAAAA,OAAO,EAAPA,OAFqD;AAGrDE,cAAAA,YAAY,EAAZA;AAHqD,aAAhC,CA3BpB;;AAAA;AA2BGa,YAAAA,QA3BH;AAAA,6EAgCQA,QAhCR;AAgCkBjB,cAAAA,WAAW,EAAXA;AAhClB;;AAAA;AAAA;AAAA,mBAmCQ,kCAAkD;AAC7DD,cAAAA,OAAO,EAAEgB,OADoD;AAE7Db,cAAAA,OAAO,EAAPA,OAF6D;AAG7DE,cAAAA,YAAY,EAAZA;AAH6D,aAAlD,CAnCR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","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":["SOURCE_DEFAULTS","apiBaseUrl","DEFAULT_API_BASE_URL","clientId","DEFAULT_CLIENT","format","headers","baseSource","endpoint","options","urlParameters","accessToken","connectionName","cache","optionalOptions","mergedOptions","key","baseUrl","Authorization","errorContext","requestType","connection","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","value","parseInt","URL","searchParams","get"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;AAYO,IAAMA,eAAsC,GAAG;AACpDC,EAAAA,UAAU,EAAEC,4BADwC;AAEpDC,EAAAA,QAAQ,EAAEC,sBAF0C;AAGpDC,EAAAA,MAAM,EAAE,UAH4C;AAIpDC,EAAAA,OAAO,EAAE;AAJ2C,CAA/C;;;SAOeC,U;;;;;0EAAf,iBACLC,QADK,EAELC,OAFK,EAGLC,aAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAKEC,YAAAA,WALF,GAK4DF,OAL5D,CAKEE,WALF,EAKeC,cALf,GAK4DH,OAL5D,CAKeG,cALf,EAK+BC,KAL/B,GAK4DJ,OAL5D,CAK+BI,KAL/B,EAKyCC,eALzC,0CAK4DL,OAL5D;AAMCM,YAAAA,aAND,mCAMqBf,eANrB;AAMsCW,cAAAA,WAAW,EAAXA,WANtC;AAMmDC,cAAAA,cAAc,EAAdA,cANnD;AAMmEJ,cAAAA,QAAQ,EAARA;AANnE;;AAOL,iBAAWQ,GAAX,IAAkBF,eAAlB,EAAmC;AACjC,kBAAIA,eAAe,CAACE,GAAD,CAAnB,EAA0B;AACxBD,gBAAAA,aAAa,CAACC,GAAD,CAAb,GAAqBF,eAAe,CAACE,GAAD,CAApC;AACD;AACF;;AACKC,YAAAA,OAZD,GAYW,+BAAeF,aAAf,CAZX;AAaEV,YAAAA,MAbF,GAaYU,aAbZ,CAaEV,MAbF;AAcCC,YAAAA,OAdD;AAcYY,cAAAA,aAAa,mBAAYT,OAAO,CAACE,WAApB;AAdzB,eAc+DF,OAAO,CAACH,OAdvE;AAgBCa,YAAAA,YAhBD,GAgBiC;AACpCC,cAAAA,WAAW,EAAE,mBADuB;AAEpCC,cAAAA,UAAU,EAAEZ,OAAO,CAACG,cAFgB;AAGpCU,cAAAA,IAAI,EAAEd,QAH8B;AAIpCe,cAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,aAhBjC;AAAA;AAAA,mBAsB0B,kDAAgD;AAC7ET,cAAAA,OAAO,EAAPA,OAD6E;AAE7EU,cAAAA,UAAU,EAAEjB,aAFiE;AAG7EJ,cAAAA,OAAO,EAAPA,OAH6E;AAI7Ea,cAAAA,YAAY,EAAZA;AAJ6E,aAAhD,CAtB1B;;AAAA;AAsBCS,YAAAA,gBAtBD;AA6BCC,YAAAA,OA7BD,GA6BWD,gBAAgB,CAACvB,MAAD,CAAhB,CAAyByB,GAAzB,CAA6B,CAA7B,CA7BX;;AA8BL,gBAAIjB,KAAJ,EAAW;AACTA,cAAAA,KAAK,CAACkB,KAAN,GAAcC,QAAQ,CAAC,IAAIC,GAAJ,CAAQJ,OAAR,EAAiBK,YAAjB,CAA8BC,GAA9B,CAAkC,OAAlC,KAA8C,EAA/C,EAAmD,EAAnD,CAAtB;AACD;;AACDhB,YAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAjCK,kBAmCDf,MAAM,KAAK,UAnCV;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAoCU,kDAAsC;AACjDM,cAAAA,WAAW,EAAXA,WADiD;AAEjDM,cAAAA,OAAO,EAAEY,OAFwC;AAGjDvB,cAAAA,OAAO,EAAPA,OAHiD;AAIjDa,cAAAA,YAAY,EAAZA;AAJiD,aAAtC,CApCV;;AAAA;AAAA;;AAAA;AAAA;AAAA,mBA4CQ,kDAAkD;AAC7DF,cAAAA,OAAO,EAAEY,OADoD;AAE7DvB,cAAAA,OAAO,EAAPA,OAF6D;AAG7Da,cAAAA,YAAY,EAAZA;AAH6D,aAAlD,CA5CR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","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,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.boundaryQuerySource = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _baseSource = require("./base-source");
15
+
16
+ var boundaryQuerySource = function () {
17
+ var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
18
+ var boundaryId, _options$matchingColu, matchingColumn, sqlQuery, queryParameters, urlParameters;
19
+
20
+ return _regenerator.default.wrap(function _callee$(_context) {
21
+ while (1) {
22
+ switch (_context.prev = _context.next) {
23
+ case 0:
24
+ boundaryId = options.boundaryId, _options$matchingColu = options.matchingColumn, matchingColumn = _options$matchingColu === void 0 ? 'id' : _options$matchingColu, sqlQuery = options.sqlQuery, queryParameters = options.queryParameters;
25
+ urlParameters = {
26
+ boundaryId: boundaryId,
27
+ matchingColumn: matchingColumn,
28
+ sqlQuery: sqlQuery
29
+ };
30
+
31
+ if (queryParameters) {
32
+ urlParameters.queryParameters = JSON.stringify(queryParameters);
33
+ }
34
+
35
+ return _context.abrupt("return", (0, _baseSource.baseSource)('boundary', options, urlParameters));
36
+
37
+ case 4:
38
+ case "end":
39
+ return _context.stop();
40
+ }
41
+ }
42
+ }, _callee);
43
+ }));
44
+
45
+ return function boundaryQuerySource(_x) {
46
+ return _ref.apply(this, arguments);
47
+ };
48
+ }();
49
+
50
+ exports.boundaryQuerySource = boundaryQuerySource;
51
+ //# sourceMappingURL=boundary-query-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/boundary-query-source.ts"],"names":["boundaryQuerySource","options","boundaryId","matchingColumn","sqlQuery","queryParameters","urlParameters","JSON","stringify"],"mappings":";;;;;;;;;;;;;AACA;;AAgBO,IAAMA,mBAAmB;AAAA,uEAAG,iBACjCC,OADiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG1BC,YAAAA,UAH0B,GAGsCD,OAHtC,CAG1BC,UAH0B,0BAGsCD,OAHtC,CAGdE,cAHc,EAGdA,cAHc,sCAGG,IAHH,0BAGSC,QAHT,GAGsCH,OAHtC,CAGSG,QAHT,EAGmBC,eAHnB,GAGsCJ,OAHtC,CAGmBI,eAHnB;AAI3BC,YAAAA,aAJ2B,GAII;AACnCJ,cAAAA,UAAU,EAAVA,UADmC;AAEnCC,cAAAA,cAAc,EAAdA,cAFmC;AAGnCC,cAAAA,QAAQ,EAARA;AAHmC,aAJJ;;AASjC,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCE,IAAI,CAACC,SAAL,CAAeH,eAAf,CAAhC;AACD;;AAXgC,6CAY1B,4BAA0B,UAA1B,EAAsCJ,OAAtC,EAA+CK,aAA/C,CAZ0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBN,mBAAmB;AAAA;AAAA;AAAA,GAAzB","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"}