@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,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.requestWithParameters = requestWithParameters;
9
- exports.buildApiEndpoint = buildApiEndpoint;
10
9
 
11
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
11
 
@@ -16,121 +15,136 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
15
 
17
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
17
 
19
- var _cartoApiError = require("../api/carto-api-error");
20
-
21
- var _mapsApiCommon = require("../api/maps-api-common");
18
+ var _cartoApiError = require("./carto-api-error");
22
19
 
23
20
  var _common = require("./common");
24
21
 
25
- var _config = require("../config");
26
-
27
22
  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; }
28
23
 
29
24
  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; }
30
25
 
26
+ function encodeParameter(name, value) {
27
+ return "".concat(name, "=").concat(encodeURIComponent(value));
28
+ }
29
+
30
+ var REQUEST_CACHE = new Map();
31
+
31
32
  function requestWithParameters(_x) {
32
33
  return _requestWithParameters.apply(this, arguments);
33
34
  }
34
35
 
35
36
  function _requestWithParameters() {
36
37
  _requestWithParameters = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref) {
37
- var baseUrl, parameters, customHeaders, errorContext, url, allParameters, encodedParameters, headers, response, json;
38
+ var accessToken, baseUrl, parameters, customHeaders, errorContext, key, url, allParameters, encodedParameters, headers, response, json;
38
39
  return _regenerator.default.wrap(function _callee$(_context) {
39
40
  while (1) {
40
41
  switch (_context.prev = _context.next) {
41
42
  case 0:
42
- baseUrl = _ref.baseUrl, parameters = _ref.parameters, customHeaders = _ref.headers, errorContext = _ref.errorContext;
43
+ accessToken = _ref.accessToken, baseUrl = _ref.baseUrl, parameters = _ref.parameters, customHeaders = _ref.headers, errorContext = _ref.errorContext;
44
+ key = JSON.stringify({
45
+ baseUrl: baseUrl,
46
+ parameters: parameters,
47
+ customHeaders: customHeaders
48
+ });
49
+
50
+ if (!REQUEST_CACHE.has(key)) {
51
+ _context.next = 4;
52
+ break;
53
+ }
54
+
55
+ return _context.abrupt("return", REQUEST_CACHE.get(key));
56
+
57
+ case 4:
43
58
  url = baseUrl;
44
59
 
45
60
  if (parameters) {
46
61
  allParameters = _objectSpread(_objectSpread({}, _common.DEFAULT_PARAMETERS), parameters);
47
- encodedParameters = Object.entries(allParameters).map(function (_ref3) {
48
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
49
- key = _ref4[0],
50
- value = _ref4[1];
62
+ encodedParameters = Object.entries(allParameters).map(function (_ref2) {
63
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
64
+ key = _ref3[0],
65
+ value = _ref3[1];
51
66
 
52
- return (0, _mapsApiCommon.encodeParameter)(key, value);
67
+ return encodeParameter(key, value);
53
68
  });
54
69
  url += "?".concat(encodedParameters.join('&'));
55
70
  }
56
71
 
57
72
  headers = _objectSpread(_objectSpread({}, _common.DEFAULT_HEADERS), customHeaders);
58
- _context.prev = 4;
73
+ _context.prev = 7;
59
74
 
60
75
  if (!(url.length > _common.MAX_GET_LENGTH)) {
61
- _context.next = 11;
76
+ _context.next = 14;
62
77
  break;
63
78
  }
64
79
 
65
- _context.next = 8;
80
+ _context.next = 11;
66
81
  return fetch(url, {
67
82
  method: 'POST',
68
83
  body: JSON.stringify(parameters),
69
84
  headers: headers
70
85
  });
71
86
 
72
- case 8:
87
+ case 11:
73
88
  response = _context.sent;
74
- _context.next = 14;
89
+ _context.next = 17;
75
90
  break;
76
91
 
77
- case 11:
78
- _context.next = 13;
92
+ case 14:
93
+ _context.next = 16;
79
94
  return fetch(url, {
80
95
  headers: headers
81
96
  });
82
97
 
83
- case 13:
98
+ case 16:
84
99
  response = _context.sent;
85
100
 
86
- case 14:
87
- _context.prev = 14;
88
- _context.next = 17;
101
+ case 17:
102
+ _context.prev = 17;
103
+ _context.next = 20;
89
104
  return response.json();
90
105
 
91
- case 17:
106
+ case 20:
92
107
  json = _context.sent;
93
- _context.next = 23;
108
+
109
+ if (accessToken) {
110
+ json.accessToken = accessToken;
111
+ }
112
+
113
+ _context.next = 27;
94
114
  break;
95
115
 
96
- case 20:
97
- _context.prev = 20;
98
- _context.t0 = _context["catch"](14);
116
+ case 24:
117
+ _context.prev = 24;
118
+ _context.t0 = _context["catch"](17);
99
119
  json = {
100
120
  error: ''
101
121
  };
102
122
 
103
- case 23:
123
+ case 27:
104
124
  if (response.ok) {
105
- _context.next = 25;
125
+ _context.next = 30;
106
126
  break;
107
127
  }
108
128
 
129
+ REQUEST_CACHE.delete(key);
109
130
  throw new _cartoApiError.CartoAPIError(json.error, errorContext, response);
110
131
 
111
- case 25:
132
+ case 30:
133
+ REQUEST_CACHE.set(key, json);
112
134
  return _context.abrupt("return", json);
113
135
 
114
- case 28:
115
- _context.prev = 28;
116
- _context.t1 = _context["catch"](4);
136
+ case 34:
137
+ _context.prev = 34;
138
+ _context.t1 = _context["catch"](7);
117
139
  throw new _cartoApiError.CartoAPIError(_context.t1, errorContext);
118
140
 
119
- case 31:
141
+ case 37:
120
142
  case "end":
121
143
  return _context.stop();
122
144
  }
123
145
  }
124
- }, _callee, null, [[4, 28], [14, 20]]);
146
+ }, _callee, null, [[7, 34], [17, 24]]);
125
147
  }));
126
148
  return _requestWithParameters.apply(this, arguments);
127
149
  }
128
-
129
- function buildApiEndpoint(_ref2) {
130
- var apiBaseUrl = _ref2.apiBaseUrl,
131
- connectionName = _ref2.connectionName,
132
- endpoint = _ref2.endpoint,
133
- mapsUrl = _ref2.mapsUrl;
134
- return "".concat(mapsUrl || (0, _config.buildMapsUrlFromBase)(apiBaseUrl), "/").concat(connectionName, "/").concat(endpoint);
135
- }
136
- //# sourceMappingURL=utils.js.map
150
+ //# sourceMappingURL=request-with-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api/request-with-parameters.ts"],"names":["encodeParameter","name","value","encodeURIComponent","REQUEST_CACHE","Map","requestWithParameters","accessToken","baseUrl","parameters","customHeaders","headers","errorContext","key","JSON","stringify","has","get","url","allParameters","DEFAULT_PARAMETERS","encodedParameters","Object","entries","map","join","DEFAULT_HEADERS","length","MAX_GET_LENGTH","fetch","method","body","response","json","error","ok","delete","CartoAPIError","set"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAMA,SAASA,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AAC/E,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD;;AAED,IAAME,aAAa,GAAG,IAAIC,GAAJ,EAAtB;;SACsBC,qB;;;;;qFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACLC,YAAAA,WADK,QACLA,WADK,EAELC,OAFK,QAELA,OAFK,EAGLC,UAHK,QAGLA,UAHK,EAIIC,aAJJ,QAILC,OAJK,EAKLC,YALK,QAKLA,YALK;AAaCC,YAAAA,GAbD,GAaOC,IAAI,CAACC,SAAL,CAAe;AAACP,cAAAA,OAAO,EAAPA,OAAD;AAAUC,cAAAA,UAAU,EAAVA,UAAV;AAAsBC,cAAAA,aAAa,EAAbA;AAAtB,aAAf,CAbP;;AAAA,iBAcDN,aAAa,CAACY,GAAd,CAAkBH,GAAlB,CAdC;AAAA;AAAA;AAAA;;AAAA,6CAeIT,aAAa,CAACa,GAAd,CAAkBJ,GAAlB,CAfJ;;AAAA;AAkBDK,YAAAA,GAlBC,GAkBKV,OAlBL;;AAmBL,gBAAIC,UAAJ,EAAgB;AACRU,cAAAA,aADQ,mCACYC,0BADZ,GACmCX,UADnC;AAERY,cAAAA,iBAFQ,GAEYC,MAAM,CAACC,OAAP,CAAeJ,aAAf,EAA8BK,GAA9B,CAAkC,iBAAkB;AAAA;AAAA,oBAAhBX,GAAgB;AAAA,oBAAXX,KAAW;;AAC5E,uBAAOF,eAAe,CAACa,GAAD,EAAMX,KAAN,CAAtB;AACD,eAFyB,CAFZ;AAKdgB,cAAAA,GAAG,eAAQG,iBAAiB,CAACI,IAAlB,CAAuB,GAAvB,CAAR,CAAH;AACD;;AAEKd,YAAAA,OA3BD,mCA2Bee,uBA3Bf,GA2BmChB,aA3BnC;AAAA;;AAAA,kBA+BCQ,GAAG,CAACS,MAAJ,GAAaC,sBA/Bd;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAgCgBC,KAAK,CAACX,GAAD,EAAM;AAACY,cAAAA,MAAM,EAAE,MAAT;AAAiBC,cAAAA,IAAI,EAAEjB,IAAI,CAACC,SAAL,CAAeN,UAAf,CAAvB;AAAmDE,cAAAA,OAAO,EAAPA;AAAnD,aAAN,CAhCrB;;AAAA;AAgCDqB,YAAAA,QAhCC;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAkCgBH,KAAK,CAACX,GAAD,EAAM;AAACP,cAAAA,OAAO,EAAPA;AAAD,aAAN,CAlCrB;;AAAA;AAkCDqB,YAAAA,QAlCC;;AAAA;AAAA;AAAA;AAAA,mBAsCYA,QAAQ,CAACC,IAAT,EAtCZ;;AAAA;AAsCDA,YAAAA,IAtCC;;AAuCD,gBAAI1B,WAAJ,EAAiB;AACf0B,cAAAA,IAAI,CAAC1B,WAAL,GAAmBA,WAAnB;AACD;;AAzCA;AAAA;;AAAA;AAAA;AAAA;AA2CD0B,YAAAA,IAAI,GAAG;AAACC,cAAAA,KAAK,EAAE;AAAR,aAAP;;AA3CC;AAAA,gBA6CEF,QAAQ,CAACG,EA7CX;AAAA;AAAA;AAAA;;AA8CD/B,YAAAA,aAAa,CAACgC,MAAd,CAAqBvB,GAArB;AA9CC,kBA+CK,IAAIwB,4BAAJ,CAAkBJ,IAAI,CAACC,KAAvB,EAA8BtB,YAA9B,EAA4CoB,QAA5C,CA/CL;;AAAA;AAkDH5B,YAAAA,aAAa,CAACkC,GAAd,CAAkBzB,GAAlB,EAAuBoB,IAAvB;AAlDG,6CAmDIA,IAnDJ;;AAAA;AAAA;AAAA;AAAA,kBAqDG,IAAII,4BAAJ,cAAkCzB,YAAlC,CArDH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import {CartoAPIError} from './carto-api-error';\nimport {DEFAULT_HEADERS, DEFAULT_PARAMETERS, MAX_GET_LENGTH} from './common';\nimport type {APIErrorContext} from './types';\n\n/**\n * Simple encode parameter\n */\nfunction encodeParameter(name: string, value: string | boolean | number): string {\n return `${name}=${encodeURIComponent(value)}`;\n}\n\nconst REQUEST_CACHE = new Map();\nexport async function requestWithParameters<T = any>({\n accessToken,\n baseUrl,\n parameters,\n headers: customHeaders,\n errorContext\n}: {\n accessToken?: string;\n baseUrl: string;\n parameters?: Record<string, string>;\n headers: Record<string, string>;\n errorContext: APIErrorContext;\n}): Promise<T> {\n const key = JSON.stringify({baseUrl, parameters, customHeaders});\n if (REQUEST_CACHE.has(key)) {\n return REQUEST_CACHE.get(key);\n }\n\n let url = baseUrl;\n if (parameters) {\n const allParameters = {...DEFAULT_PARAMETERS, ...parameters};\n const encodedParameters = Object.entries(allParameters).map(([key, value]) => {\n return encodeParameter(key, value);\n });\n url += `?${encodedParameters.join('&')}`;\n }\n\n const headers = {...DEFAULT_HEADERS, ...customHeaders};\n try {\n /* global fetch */\n let response: Response;\n if (url.length > MAX_GET_LENGTH) {\n response = await fetch(url, {method: 'POST', body: JSON.stringify(parameters), headers});\n } else {\n response = await fetch(url, {headers});\n }\n let json: any;\n try {\n json = await response.json();\n if (accessToken) {\n json.accessToken = accessToken;\n }\n } catch {\n json = {error: ''};\n }\n if (!response.ok) {\n REQUEST_CACHE.delete(key);\n throw new CartoAPIError(json.error, errorContext, response);\n }\n\n REQUEST_CACHE.set(key, json);\n return json;\n } catch (error) {\n throw new CartoAPIError(error as Error, errorContext);\n }\n}\n"],"file":"request-with-parameters.js"}
@@ -1,2 +1,21 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SchemaFieldType = void 0;
7
+ var SchemaFieldType;
8
+ exports.SchemaFieldType = SchemaFieldType;
9
+
10
+ (function (SchemaFieldType) {
11
+ SchemaFieldType["Number"] = "number";
12
+ SchemaFieldType["Bigint"] = "bigint";
13
+ SchemaFieldType["String"] = "string";
14
+ SchemaFieldType["Geometry"] = "geometry";
15
+ SchemaFieldType["Timestamp"] = "timestamp";
16
+ SchemaFieldType["Object"] = "object";
17
+ SchemaFieldType["Boolean"] = "boolean";
18
+ SchemaFieldType["Variant"] = "variant";
19
+ SchemaFieldType["Unknown"] = "unknown";
20
+ })(SchemaFieldType || (exports.SchemaFieldType = SchemaFieldType = {}));
2
21
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
1
+ {"version":3,"sources":["../../../src/api/types.ts"],"names":["SchemaFieldType"],"mappings":";;;;;;IAaYA,e;;;WAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;GAAAA,e,+BAAAA,e","sourcesContent":["import {SCALE_TYPE} from './layer-map';\n\nexport type Format = 'json' | 'geojson' | 'tilejson';\nexport type MapType = 'boundary' | 'query' | 'table' | 'tileset' | 'raster';\nexport type RequestType = 'Map data' | 'Map instantiation' | 'Public map' | 'Tile stats' | 'SQL';\nexport type APIErrorContext = {\n requestType: RequestType;\n mapId?: string;\n connection?: string;\n source?: string;\n type?: MapType;\n};\n\nexport enum SchemaFieldType {\n Number = 'number',\n Bigint = 'bigint',\n String = 'string',\n Geometry = 'geometry',\n Timestamp = 'timestamp',\n Object = 'object',\n Boolean = 'boolean',\n Variant = 'variant',\n Unknown = 'unknown'\n}\nexport interface SchemaField {\n name: string;\n type: SchemaFieldType; // Field type in the CARTO stack, common for all providers\n}\n\nexport interface MapInstantiation extends MapInstantiationFormats {\n nrows: number;\n size?: number;\n schema: SchemaField[];\n}\n\ntype MapInstantiationFormats = Record<\n Format,\n {\n url: string[];\n error?: any;\n }\n>;\n\nexport type QueryParameterValue = string | number | boolean | Array<QueryParameterValue> | object;\n\nexport type NamedQueryParameter = Record<string, QueryParameterValue>;\n\nexport type PositionalQueryParameter = QueryParameterValue[];\n\nexport type QueryParameters = NamedQueryParameter | PositionalQueryParameter;\nexport type VisualChannelField = {\n name: string;\n type: string;\n colorColumn?: string;\n};\n\nexport type VisualChannels = {\n colorField?: VisualChannelField;\n colorScale?: SCALE_TYPE;\n\n customMarkersField?: VisualChannelField;\n customMarkersScale?: SCALE_TYPE;\n\n radiusField?: VisualChannelField;\n radiusScale?: SCALE_TYPE;\n\n rotationScale?: SCALE_TYPE;\n rotationField?: VisualChannelField;\n\n sizeField?: VisualChannelField;\n sizeScale?: SCALE_TYPE;\n\n strokeColorField?: VisualChannelField;\n strokeColorScale?: SCALE_TYPE;\n\n heightField?: VisualChannelField;\n heightScale?: SCALE_TYPE;\n};\n\nexport type ColorRange = {\n category: string;\n colors: string[];\n colorMap: string[][] | undefined;\n name: string;\n type: string;\n};\n\nexport type CustomMarkersRange = {\n markerMap: {\n value: string;\n markerUrl?: string;\n }[];\n othersMarker?: string;\n};\n\nexport type VisConfig = {\n filled?: boolean;\n opacity?: number;\n enable3d?: boolean;\n\n colorAggregation?: any;\n colorRange: ColorRange;\n\n customMarkers?: boolean;\n customMarkersRange?: CustomMarkersRange | null;\n customMarkersUrl?: string | null;\n\n radius: number;\n radiusRange?: number[];\n\n sizeAggregation?: any;\n sizeRange?: any;\n\n strokeColorAggregation?: any;\n strokeOpacity?: number;\n strokeColorRange?: ColorRange;\n\n heightRange?: any;\n heightAggregation?: any;\n};\n\nexport type TextLabel = {\n field: VisualChannelField | null | undefined;\n alignment?: 'center' | 'bottom' | 'top';\n anchor?: 'middle' | 'start' | 'end';\n size: number;\n color?: number[];\n offset?: [number, number];\n outlineColor?: number[];\n};\n\nexport type MapLayerConfig = {\n columns?: Record<string, any>;\n color?: number[];\n label?: string;\n dataId: string;\n textLabel: TextLabel[];\n visConfig: VisConfig;\n};\n\nexport type MapTextSubLayerConfig = Omit<MapLayerConfig, 'textLabel'> & {\n textLabel?: TextLabel;\n};\n\nexport type MapConfigLayer = {\n type: string;\n id: string;\n config: MapLayerConfig;\n visualChannels: VisualChannels;\n};\n\nexport type MapDataset = {\n id: string;\n data: any;\n aggregationExp: string | null;\n aggregationResLevel: number | null;\n geoColumn: string;\n};\n"],"file":"types.js"}
package/dist/es5/index.js CHANGED
@@ -5,30 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "getDefaultCredentials", {
9
- enumerable: true,
10
- get: function get() {
11
- return _config.getDefaultCredentials;
12
- }
13
- });
14
- Object.defineProperty(exports, "setDefaultCredentials", {
15
- enumerable: true,
16
- get: function get() {
17
- return _config.setDefaultCredentials;
18
- }
19
- });
20
- Object.defineProperty(exports, "CartoLayer", {
21
- enumerable: true,
22
- get: function get() {
23
- return _cartoLayer.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "VectorTileLayer", {
27
- enumerable: true,
28
- get: function get() {
29
- return _vectorTileLayer.default;
30
- }
31
- });
32
8
  Object.defineProperty(exports, "H3TileLayer", {
33
9
  enumerable: true,
34
10
  get: function get() {
@@ -53,6 +29,12 @@ Object.defineProperty(exports, "RasterTileLayer", {
53
29
  return _rasterTileLayer.default;
54
30
  }
55
31
  });
32
+ Object.defineProperty(exports, "VectorTileLayer", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _vectorTileLayer.default;
36
+ }
37
+ });
56
38
  Object.defineProperty(exports, "BASEMAP", {
57
39
  enumerable: true,
58
40
  get: function get() {
@@ -77,118 +59,100 @@ Object.defineProperty(exports, "colorContinuous", {
77
59
  return _colorContinuousStyle.default;
78
60
  }
79
61
  });
80
- Object.defineProperty(exports, "FORMATS", {
81
- enumerable: true,
82
- get: function get() {
83
- return _api.FORMATS;
84
- }
85
- });
86
- Object.defineProperty(exports, "TILE_FORMATS", {
87
- enumerable: true,
88
- get: function get() {
89
- return _api.TILE_FORMATS;
90
- }
91
- });
92
- Object.defineProperty(exports, "MAP_TYPES", {
93
- enumerable: true,
94
- get: function get() {
95
- return _api.MAP_TYPES;
96
- }
97
- });
98
- Object.defineProperty(exports, "API_VERSIONS", {
62
+ Object.defineProperty(exports, "CartoAPIError", {
99
63
  enumerable: true,
100
64
  get: function get() {
101
- return _api.API_VERSIONS;
65
+ return _api.CartoAPIError;
102
66
  }
103
67
  });
104
- Object.defineProperty(exports, "CartoAPIError", {
68
+ Object.defineProperty(exports, "fetchMap", {
105
69
  enumerable: true,
106
70
  get: function get() {
107
- return _api.CartoAPIError;
71
+ return _api.fetchMap;
108
72
  }
109
73
  });
110
- Object.defineProperty(exports, "fetchLayerData", {
74
+ Object.defineProperty(exports, "query", {
111
75
  enumerable: true,
112
76
  get: function get() {
113
- return _api.fetchLayerData;
77
+ return _api.query;
114
78
  }
115
79
  });
116
- Object.defineProperty(exports, "fetchMap", {
80
+ Object.defineProperty(exports, "boundaryQuerySource", {
117
81
  enumerable: true,
118
82
  get: function get() {
119
- return _api.fetchMap;
83
+ return _sources.boundaryQuerySource;
120
84
  }
121
85
  });
122
- Object.defineProperty(exports, "_getDataV2", {
86
+ Object.defineProperty(exports, "boundaryTableSource", {
123
87
  enumerable: true,
124
88
  get: function get() {
125
- return _api.getDataV2;
89
+ return _sources.boundaryTableSource;
126
90
  }
127
91
  });
128
- Object.defineProperty(exports, "_mapInstantiation", {
92
+ Object.defineProperty(exports, "boundaryTilesetSource", {
129
93
  enumerable: true,
130
94
  get: function get() {
131
- return _api.mapInstantiation;
95
+ return _sources.boundaryTilesetSource;
132
96
  }
133
97
  });
134
- Object.defineProperty(exports, "cartoH3QuerySource", {
98
+ Object.defineProperty(exports, "h3QuerySource", {
135
99
  enumerable: true,
136
100
  get: function get() {
137
- return _sources.cartoH3QuerySource;
101
+ return _sources.h3QuerySource;
138
102
  }
139
103
  });
140
- Object.defineProperty(exports, "cartoH3TableSource", {
104
+ Object.defineProperty(exports, "h3TableSource", {
141
105
  enumerable: true,
142
106
  get: function get() {
143
- return _sources.cartoH3TableSource;
107
+ return _sources.h3TableSource;
144
108
  }
145
109
  });
146
- Object.defineProperty(exports, "cartoH3TilesetSource", {
110
+ Object.defineProperty(exports, "h3TilesetSource", {
147
111
  enumerable: true,
148
112
  get: function get() {
149
- return _sources.cartoH3TilesetSource;
113
+ return _sources.h3TilesetSource;
150
114
  }
151
115
  });
152
- Object.defineProperty(exports, "cartoRasterSource", {
116
+ Object.defineProperty(exports, "rasterSource", {
153
117
  enumerable: true,
154
118
  get: function get() {
155
- return _sources.cartoRasterSource;
119
+ return _sources.rasterSource;
156
120
  }
157
121
  });
158
- Object.defineProperty(exports, "cartoQuadbinQuerySource", {
122
+ Object.defineProperty(exports, "quadbinQuerySource", {
159
123
  enumerable: true,
160
124
  get: function get() {
161
- return _sources.cartoQuadbinQuerySource;
125
+ return _sources.quadbinQuerySource;
162
126
  }
163
127
  });
164
- Object.defineProperty(exports, "cartoQuadbinTableSource", {
128
+ Object.defineProperty(exports, "quadbinTableSource", {
165
129
  enumerable: true,
166
130
  get: function get() {
167
- return _sources.cartoQuadbinTableSource;
131
+ return _sources.quadbinTableSource;
168
132
  }
169
133
  });
170
- Object.defineProperty(exports, "cartoQuadbinTilesetSource", {
134
+ Object.defineProperty(exports, "quadbinTilesetSource", {
171
135
  enumerable: true,
172
136
  get: function get() {
173
- return _sources.cartoQuadbinTilesetSource;
137
+ return _sources.quadbinTilesetSource;
174
138
  }
175
139
  });
176
- Object.defineProperty(exports, "cartoVectorQuerySource", {
140
+ Object.defineProperty(exports, "vectorQuerySource", {
177
141
  enumerable: true,
178
142
  get: function get() {
179
- return _sources.cartoVectorQuerySource;
143
+ return _sources.vectorQuerySource;
180
144
  }
181
145
  });
182
- Object.defineProperty(exports, "cartoVectorTableSource", {
146
+ Object.defineProperty(exports, "vectorTableSource", {
183
147
  enumerable: true,
184
148
  get: function get() {
185
- return _sources.cartoVectorTableSource;
149
+ return _sources.vectorTableSource;
186
150
  }
187
151
  });
188
- Object.defineProperty(exports, "cartoVectorTilesetSource", {
152
+ Object.defineProperty(exports, "vectorTilesetSource", {
189
153
  enumerable: true,
190
154
  get: function get() {
191
- return _sources.cartoVectorTilesetSource;
155
+ return _sources.vectorTilesetSource;
192
156
  }
193
157
  });
194
158
  Object.defineProperty(exports, "SOURCE_DEFAULTS", {
@@ -197,12 +161,7 @@ Object.defineProperty(exports, "SOURCE_DEFAULTS", {
197
161
  return _sources.SOURCE_DEFAULTS;
198
162
  }
199
163
  });
200
-
201
- var _config = require("./config");
202
-
203
- var _cartoLayer = _interopRequireDefault(require("./layers/carto-layer"));
204
-
205
- var _vectorTileLayer = _interopRequireDefault(require("./layers/vector-tile-layer"));
164
+ exports.CARTO_SOURCES = exports.CARTO_LAYERS = void 0;
206
165
 
207
166
  var _h3TileLayer = _interopRequireDefault(require("./layers/h3-tile-layer"));
208
167
 
@@ -212,6 +171,8 @@ var _quadbinTileLayer = _interopRequireDefault(require("./layers/quadbin-tile-la
212
171
 
213
172
  var _rasterTileLayer = _interopRequireDefault(require("./layers/raster-tile-layer"));
214
173
 
174
+ var _vectorTileLayer = _interopRequireDefault(require("./layers/vector-tile-layer"));
175
+
215
176
  var _basemap = _interopRequireDefault(require("./basemap"));
216
177
 
217
178
  var _colorBinsStyle = _interopRequireDefault(require("./style/color-bins-style"));
@@ -223,4 +184,29 @@ var _colorContinuousStyle = _interopRequireDefault(require("./style/color-contin
223
184
  var _api = require("./api");
224
185
 
225
186
  var _sources = require("./sources");
187
+
188
+ var CARTO_LAYERS = {
189
+ H3TileLayer: _h3TileLayer.default,
190
+ _PointLabelLayer: _pointLabelLayer.default,
191
+ QuadbinTileLayer: _quadbinTileLayer.default,
192
+ RasterTileLayer: _rasterTileLayer.default,
193
+ VectorTileLayer: _vectorTileLayer.default
194
+ };
195
+ exports.CARTO_LAYERS = CARTO_LAYERS;
196
+ var CARTO_SOURCES = {
197
+ boundaryQuerySource: _sources.boundaryQuerySource,
198
+ boundaryTableSource: _sources.boundaryTableSource,
199
+ boundaryTilesetSource: _sources.boundaryTilesetSource,
200
+ h3QuerySource: _sources.h3QuerySource,
201
+ h3TableSource: _sources.h3TableSource,
202
+ h3TilesetSource: _sources.h3TilesetSource,
203
+ rasterSource: _sources.rasterSource,
204
+ quadbinQuerySource: _sources.quadbinQuerySource,
205
+ quadbinTableSource: _sources.quadbinTableSource,
206
+ quadbinTilesetSource: _sources.quadbinTilesetSource,
207
+ vectorQuerySource: _sources.vectorQuerySource,
208
+ vectorTableSource: _sources.vectorTableSource,
209
+ vectorTilesetSource: _sources.vectorTilesetSource
210
+ };
211
+ exports.CARTO_SOURCES = CARTO_SOURCES;
226
212
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAcA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config';\nexport {default as CartoLayer} from './layers/carto-layer'; // <-- REMOVE in v9\nexport {default as VectorTileLayer} from './layers/vector-tile-layer';\nexport {default as H3TileLayer} from './layers/h3-tile-layer';\nexport {default as _PointLabelLayer} from './layers/point-label-layer';\nexport {default as QuadbinTileLayer} from './layers/quadbin-tile-layer';\nexport {default as RasterTileLayer} from './layers/raster-tile-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n TILE_FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n CartoAPIError,\n fetchLayerData,\n fetchMap,\n getDataV2 as _getDataV2,\n mapInstantiation as _mapInstantiation\n} from './api';\nexport type {APIErrorContext, QueryParameters} from './api';\nexport type {CartoLayerProps} from './layers/carto-layer';\n\nexport {\n cartoH3QuerySource,\n cartoH3TableSource,\n cartoH3TilesetSource,\n cartoRasterSource,\n cartoQuadbinQuerySource,\n cartoQuadbinTableSource,\n cartoQuadbinTilesetSource,\n cartoVectorQuerySource,\n cartoVectorTableSource,\n cartoVectorTilesetSource,\n SOURCE_DEFAULTS\n} from './sources';\nexport type {\n CartoTilejsonResult,\n CartoH3QuerySourceOptions,\n CartoH3TableSourceOptions,\n CartoH3TilesetSourceOptions,\n CartoRasterSourceOptions,\n CartoQuadbinQuerySourceOptions,\n CartoQuadbinTableSourceOptions,\n CartoQuadbinTilesetSourceOptions,\n CartoVectorQuerySourceOptions,\n CartoVectorTableSourceOptions,\n CartoVectorTilesetSourceOptions,\n GeojsonResult,\n JsonResult\n} from './sources';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["CARTO_LAYERS","H3TileLayer","_PointLabelLayer","QuadbinTileLayer","RasterTileLayer","VectorTileLayer","CARTO_SOURCES","boundaryQuerySource","boundaryTableSource","boundaryTilesetSource","h3QuerySource","h3TableSource","h3TilesetSource","rasterSource","quadbinQuerySource","quadbinTableSource","quadbinTilesetSource","vectorQuerySource","vectorTableSource","vectorTilesetSource"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAiBA;;AACA;;AACA;;AACA;;AACA;;AAWA;;AA/BA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,WAAW,EAAXA,oBADmB;AAEnBC,EAAAA,gBAAgB,EAAhBA,wBAFmB;AAGnBC,EAAAA,gBAAgB,EAAhBA,yBAHmB;AAInBC,EAAAA,eAAe,EAAfA,wBAJmB;AAKnBC,EAAAA,eAAe,EAAfA;AALmB,CAArB;;AAgDA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,mBAAmB,EAAnBA,4BADoB;AAEpBC,EAAAA,mBAAmB,EAAnBA,4BAFoB;AAGpBC,EAAAA,qBAAqB,EAArBA,8BAHoB;AAIpBC,EAAAA,aAAa,EAAbA,sBAJoB;AAKpBC,EAAAA,aAAa,EAAbA,sBALoB;AAMpBC,EAAAA,eAAe,EAAfA,wBANoB;AAOpBC,EAAAA,YAAY,EAAZA,qBAPoB;AAQpBC,EAAAA,kBAAkB,EAAlBA,2BARoB;AASpBC,EAAAA,kBAAkB,EAAlBA,2BAToB;AAUpBC,EAAAA,oBAAoB,EAApBA,6BAVoB;AAWpBC,EAAAA,iBAAiB,EAAjBA,0BAXoB;AAYpBC,EAAAA,iBAAiB,EAAjBA,0BAZoB;AAapBC,EAAAA,mBAAmB,EAAnBA;AAboB,CAAtB","sourcesContent":["import {default as H3TileLayer} from './layers/h3-tile-layer';\nimport {default as _PointLabelLayer} from './layers/point-label-layer';\nimport {default as QuadbinTileLayer} from './layers/quadbin-tile-layer';\nimport {default as RasterTileLayer} from './layers/raster-tile-layer';\nimport {default as VectorTileLayer} from './layers/vector-tile-layer';\nconst CARTO_LAYERS = {\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\nexport {\n CARTO_LAYERS,\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\n\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {CartoAPIError, fetchMap, query} from './api';\nexport type {\n APIErrorContext,\n FetchMapOptions,\n Format,\n MapType,\n RequestType,\n QueryParameters,\n QueryOptions\n} from './api';\n\nimport {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n SOURCE_DEFAULTS\n} from './sources';\n\nconst CARTO_SOURCES = {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n};\n\nexport {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n CARTO_SOURCES,\n SOURCE_DEFAULTS\n};\n\nexport type {\n TilejsonResult,\n BoundaryQuerySourceOptions,\n BoundaryTableSourceOptions,\n BoundaryTilesetSourceOptions,\n H3QuerySourceOptions,\n H3TableSourceOptions,\n H3TilesetSourceOptions,\n RasterSourceOptions,\n QuadbinQuerySourceOptions,\n QuadbinTableSourceOptions,\n QuadbinTilesetSourceOptions,\n VectorQuerySourceOptions,\n VectorTableSourceOptions,\n VectorTilesetSourceOptions,\n GeojsonResult,\n JsonResult\n} from './sources';\n"],"file":"index.js"}
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.default = exports.renderSubLayers = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
@@ -29,8 +29,6 @@ var _h3Tileset2d = _interopRequireWildcard(require("./h3-tileset-2d"));
29
29
 
30
30
  var _spatialIndexTileLayer = _interopRequireDefault(require("./spatial-index-tile-layer"));
31
31
 
32
- var _common = require("../sources/common");
33
-
34
32
  var _utils = require("./utils");
35
33
 
36
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -58,9 +56,9 @@ var renderSubLayers = function renderSubLayers(props) {
58
56
  });
59
57
  };
60
58
 
59
+ exports.renderSubLayers = renderSubLayers;
61
60
  var defaultProps = {
62
- aggregationResLevel: 4,
63
- data: _common.TilejsonPropType
61
+ data: _utils.TilejsonPropType
64
62
  };
65
63
 
66
64
  var H3TileLayer = function (_CompositeLayer) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/h3-tile-layer.ts"],"names":["renderSubLayers","props","data","index","tile","length","H3HexagonLayer","getHexagon","d","id","centerHexagon","highPrecision","defaultProps","aggregationResLevel","TilejsonPropType","H3TileLayer","initializeState","_checkH3Lib","getLoadOptions","loadOptions","tileJSON","accessToken","cartoSpatialTile","scheme","renderLayers","tiles","minresolution","maxresolution","minZoom","Math","max","zoom","latitude","maxZoom","min","SpatialIndexTileLayer","TilesetClass","H3Tileset2D","CompositeLayer","layerName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAgC;AACtD,MAAOC,IAAP,GAAeD,KAAf,CAAOC,IAAP;AACA,MAAOC,KAAP,GAAgBF,KAAK,CAACG,IAAtB,CAAOD,KAAP;AACA,MAAI,CAACD,IAAD,IAAS,CAACA,IAAI,CAACG,MAAnB,EAA2B,OAAO,IAAP;AAE3B,SAAO,IAAIC,yBAAJ,CAAmBL,KAAnB,EAA0B;AAC/BM,IAAAA,UAAU,EAAE,oBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,EAAN;AAAA,KADkB;AAE/BC,IAAAA,aAAa,EAAEP,KAFgB;AAG/BQ,IAAAA,aAAa,EAAE;AAHgB,GAA1B,CAAP;AAKD,CAVD;;AAYA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,mBAAmB,EAAE,CADiC;AAEtDX,EAAAA,IAAI,EAAEY;AAFgD,CAAxD;;IAkBqBC,W;;;;;;;;;;;;SAMnBC,e,GAAA,2BAAwB;AACtBV,8BAAeW,WAAf;AACD,G;;SAEDC,c,GAAA,0BAAsB;AACpB,QAAMC,WAAW,GAAG,+GAA0B,EAA9C;AACA,QAAMC,QAAQ,GAAG,KAAKnB,KAAL,CAAWC,IAA5B;AACA,kCAAkBiB,WAAlB,EAA+BC,QAAQ,CAACC,WAAxC;AACAF,IAAAA,WAAW,CAACG,gBAAZ,mCAAmCH,WAAW,CAACG,gBAA/C;AAAiEC,MAAAA,MAAM,EAAE;AAAzE;AACA,WAAOJ,WAAP;AACD,G;;SAEDK,Y,GAAA,wBAA0C;AACxC,QAAMJ,QAAQ,GAAG,KAAKnB,KAAL,CAAWC,IAA5B;AACA,QAAI,CAACkB,QAAL,EAAe,OAAO,IAAP;AAEf,QAAclB,IAAd,GAAsBkB,QAAtB,CAAOK,KAAP;AACA,QAAKC,aAAL,GAAqCN,QAArC,CAAKM,aAAL;AAAA,QAAoBC,aAApB,GAAqCP,QAArC,CAAoBO,aAApB;;AAGA,QAAI,KAAK1B,KAAL,CAAW2B,OAAf,EAAwB;AACtBF,MAAAA,aAAa,GAAGG,IAAI,CAACC,GAAL,CACdJ,aADc,EAEd,uCAAqB;AAACK,QAAAA,IAAI,EAAE,KAAK9B,KAAL,CAAW2B,OAAlB;AAA2BI,QAAAA,QAAQ,EAAE;AAArC,OAArB,CAFc,CAAhB;AAID;;AACD,QAAI,KAAK/B,KAAL,CAAWgC,OAAf,EAAwB;AACtBN,MAAAA,aAAa,GAAGE,IAAI,CAACK,GAAL,CACdP,aADc,EAEd,uCAAqB;AAACI,QAAAA,IAAI,EAAE,KAAK9B,KAAL,CAAWgC,OAAlB;AAA2BD,QAAAA,QAAQ,EAAE;AAArC,OAArB,CAFc,CAAhB;AAID;;AAID,WAAO,CAEL,IAAIG,8BAAJ,CAA0B,KAAKlC,KAA/B,EAAsC;AACpCQ,MAAAA,EAAE,0BAAmB,KAAKR,KAAL,CAAWQ,EAA9B,CADkC;AAEpCP,MAAAA,IAAI,EAAJA,IAFoC;AAIpCkC,MAAAA,YAAY,EAAEC,oBAJsB;AAKpCrC,MAAAA,eAAe,EAAfA,eALoC;AAOpC4B,MAAAA,OAAO,EAAEF,aAP2B;AAQpCO,MAAAA,OAAO,EAAEN,aAR2B;AASpCR,MAAAA,WAAW,EAAE,KAAKD,cAAL;AATuB,KAAtC,CAFK,CAAP;AAcD,G;;;EAvDgFoB,oB;;;AAA9DvB,W,CAGZwB,S,GAAY,a;AAHAxB,W,CAIZH,Y,GAAeA,Y","sourcesContent":["import {CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps} from '@deck.gl/core';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\nimport H3Tileset2D, {getHexagonResolution} from './h3-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst renderSubLayers = (props: H3HexagonLayerProps) => {\n const {data} = props;\n const {index} = props.tile;\n if (!data || !data.length) return null;\n\n return new H3HexagonLayer(props, {\n getHexagon: d => d.id,\n centerHexagon: index,\n highPrecision: true\n });\n};\n\nconst defaultProps: DefaultProps<H3HexagonLayerProps> = {\n aggregationResLevel: 4,\n data: TilejsonPropType\n};\n\n/** All properties supported by H3TileLayer. */\nexport type H3TileLayerProps<DataT = any> = _H3TileLayerProps<DataT> & CompositeLayerProps;\n\n// TODO: use type from h3-hexagon-layer when available\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype H3HexagonLayerProps<DataT = any> = Record<string, any>;\n\n/** Properties added by H3TileLayer. */\ntype _H3TileLayerProps<DataT> = Omit<H3HexagonLayerProps<DataT>, 'data'> & {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\n aggregationResLevel?: number;\n};\n\nexport default class H3TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_H3TileLayerProps<DataT>>\n> {\n static layerName = 'H3TileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\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.cartoSpatialTile = {...loadOptions.cartoSpatialTile, scheme: 'h3'};\n return loadOptions;\n }\n\n renderLayers(): Layer | null | LayersList {\n const tileJSON = this.props.data as CartoTilejsonResult;\n if (!tileJSON) return null;\n\n const {tiles: data} = tileJSON;\n let {minresolution, maxresolution} = tileJSON;\n // Convert Mercator zooms provided in props into H3 res levels\n // and clip into valid range provided from the tilejson\n if (this.props.minZoom) {\n minresolution = Math.max(\n minresolution,\n getHexagonResolution({zoom: this.props.minZoom, latitude: 0})\n );\n }\n if (this.props.maxZoom) {\n maxresolution = Math.min(\n maxresolution,\n getHexagonResolution({zoom: this.props.maxZoom, latitude: 0})\n );\n }\n\n // The naming is unfortunate, but minZoom & maxZoom in the context\n // of a Tileset2D refer to the resolution levels, not the Mercator zooms\n return [\n // @ts-ignore\n new SpatialIndexTileLayer(this.props, {\n id: `h3-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: H3Tileset2D as any,\n renderSubLayers,\n // minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects\n minZoom: minresolution,\n maxZoom: maxresolution,\n loadOptions: this.getLoadOptions()\n })\n ];\n }\n}\n"],"file":"h3-tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/h3-tile-layer.ts"],"names":["renderSubLayers","props","data","index","tile","length","H3HexagonLayer","getHexagon","d","id","centerHexagon","highPrecision","defaultProps","TilejsonPropType","H3TileLayer","initializeState","_checkH3Lib","getLoadOptions","loadOptions","tileJSON","accessToken","cartoSpatialTile","scheme","renderLayers","tiles","minresolution","maxresolution","minZoom","Math","max","zoom","latitude","maxZoom","min","SpatialIndexTileLayer","TilesetClass","H3Tileset2D","CompositeLayer","layerName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AACtC,MAAOC,IAAP,GAAeD,KAAf,CAAOC,IAAP;AACA,MAAOC,KAAP,GAAgBF,KAAK,CAACG,IAAtB,CAAOD,KAAP;AACA,MAAI,CAACD,IAAD,IAAS,CAACA,IAAI,CAACG,MAAnB,EAA2B,OAAO,IAAP;AAE3B,SAAO,IAAIC,yBAAJ,CAAmBL,KAAnB,EAA0B;AAC/BM,IAAAA,UAAU,EAAE,oBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,EAAN;AAAA,KADkB;AAE/BC,IAAAA,aAAa,EAAEP,KAFgB;AAG/BQ,IAAAA,aAAa,EAAE;AAHgB,GAA1B,CAAP;AAKD,CAVM;;;AAYP,IAAMC,YAA4C,GAAG;AACnDV,EAAAA,IAAI,EAAEW;AAD6C,CAArD;;IAaqBC,W;;;;;;;;;;;;SAMnBC,e,GAAA,2BAAwB;AACtBT,8BAAeU,WAAf;AACD,G;;SAEDC,c,GAAA,0BAAsB;AACpB,QAAMC,WAAW,GAAG,+GAA0B,EAA9C;AACA,QAAMC,QAAQ,GAAG,KAAKlB,KAAL,CAAWC,IAA5B;AACA,kCAAkBgB,WAAlB,EAA+BC,QAAQ,CAACC,WAAxC;AACAF,IAAAA,WAAW,CAACG,gBAAZ,mCAAmCH,WAAW,CAACG,gBAA/C;AAAiEC,MAAAA,MAAM,EAAE;AAAzE;AACA,WAAOJ,WAAP;AACD,G;;SAEDK,Y,GAAA,wBAA0C;AACxC,QAAMJ,QAAQ,GAAG,KAAKlB,KAAL,CAAWC,IAA5B;AACA,QAAI,CAACiB,QAAL,EAAe,OAAO,IAAP;AAEf,QAAcjB,IAAd,GAAsBiB,QAAtB,CAAOK,KAAP;AACA,QAAKC,aAAL,GAAqCN,QAArC,CAAKM,aAAL;AAAA,QAAoBC,aAApB,GAAqCP,QAArC,CAAoBO,aAApB;;AAGA,QAAI,KAAKzB,KAAL,CAAW0B,OAAf,EAAwB;AACtBF,MAAAA,aAAa,GAAGG,IAAI,CAACC,GAAL,CACdJ,aADc,EAEd,uCAAqB;AAACK,QAAAA,IAAI,EAAE,KAAK7B,KAAL,CAAW0B,OAAlB;AAA2BI,QAAAA,QAAQ,EAAE;AAArC,OAArB,CAFc,CAAhB;AAID;;AACD,QAAI,KAAK9B,KAAL,CAAW+B,OAAf,EAAwB;AACtBN,MAAAA,aAAa,GAAGE,IAAI,CAACK,GAAL,CACdP,aADc,EAEd,uCAAqB;AAACI,QAAAA,IAAI,EAAE,KAAK7B,KAAL,CAAW+B,OAAlB;AAA2BD,QAAAA,QAAQ,EAAE;AAArC,OAArB,CAFc,CAAhB;AAID;;AAID,WAAO,CAEL,IAAIG,8BAAJ,CAA0B,KAAKjC,KAA/B,EAAsC;AACpCQ,MAAAA,EAAE,0BAAmB,KAAKR,KAAL,CAAWQ,EAA9B,CADkC;AAEpCP,MAAAA,IAAI,EAAJA,IAFoC;AAIpCiC,MAAAA,YAAY,EAAEC,oBAJsB;AAKpCpC,MAAAA,eAAe,EAAfA,eALoC;AAOpC2B,MAAAA,OAAO,EAAEF,aAP2B;AAQpCO,MAAAA,OAAO,EAAEN,aAR2B;AASpCR,MAAAA,WAAW,EAAE,KAAKD,cAAL;AATuB,KAAtC,CAFK,CAAP;AAcD,G;;;EAvDgFoB,oB;;;AAA9DvB,W,CAGZwB,S,GAAY,a;AAHAxB,W,CAIZF,Y,GAAeA,Y","sourcesContent":["import {CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps} from '@deck.gl/core';\nimport {H3HexagonLayer, H3HexagonLayerProps} from '@deck.gl/geo-layers';\nimport H3Tileset2D, {getHexagonResolution} from './h3-tileset-2d';\nimport SpatialIndexTileLayer, {SpatialIndexTileLayerProps} from './spatial-index-tile-layer';\nimport type {TilejsonResult} from '../sources/types';\nimport {injectAccessToken, TilejsonPropType} from './utils';\n\nexport const renderSubLayers = props => {\n const {data} = props;\n const {index} = props.tile;\n if (!data || !data.length) return null;\n\n return new H3HexagonLayer(props, {\n getHexagon: d => d.id,\n centerHexagon: index,\n highPrecision: true\n });\n};\n\nconst defaultProps: DefaultProps<H3TileLayerProps> = {\n data: TilejsonPropType\n};\n\n/** All properties supported by H3TileLayer. */\nexport type H3TileLayerProps<DataT = unknown> = _H3TileLayerProps<DataT> & CompositeLayerProps;\n\n/** Properties added by H3TileLayer. */\ntype _H3TileLayerProps<DataT> = Omit<H3HexagonLayerProps<DataT>, 'data'> &\n Omit<SpatialIndexTileLayerProps<DataT>, 'data'> & {\n data: null | TilejsonResult | Promise<TilejsonResult>;\n };\n\nexport default class H3TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_H3TileLayerProps<DataT>>\n> {\n static layerName = 'H3TileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\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.cartoSpatialTile = {...loadOptions.cartoSpatialTile, scheme: 'h3'};\n return loadOptions;\n }\n\n renderLayers(): Layer | null | LayersList {\n const tileJSON = this.props.data as TilejsonResult;\n if (!tileJSON) return null;\n\n const {tiles: data} = tileJSON;\n let {minresolution, maxresolution} = tileJSON;\n // Convert Mercator zooms provided in props into H3 res levels\n // and clip into valid range provided from the tilejson\n if (this.props.minZoom) {\n minresolution = Math.max(\n minresolution,\n getHexagonResolution({zoom: this.props.minZoom, latitude: 0})\n );\n }\n if (this.props.maxZoom) {\n maxresolution = Math.min(\n maxresolution,\n getHexagonResolution({zoom: this.props.maxZoom, latitude: 0})\n );\n }\n\n // The naming is unfortunate, but minZoom & maxZoom in the context\n // of a Tileset2D refer to the resolution levels, not the Mercator zooms\n return [\n // @ts-ignore\n new SpatialIndexTileLayer(this.props, {\n id: `h3-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: H3Tileset2D as any,\n renderSubLayers,\n // minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects\n minZoom: minresolution,\n maxZoom: maxresolution,\n loadOptions: this.getLoadOptions()\n })\n ];\n }\n}\n"],"file":"h3-tile-layer.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/point-label-layer.ts"],"names":["LEFT","TOP","RIGHT","BOTTOM","EnhancedTextBackgroundLayer","getShaders","shaders","vs","replaceAll","replace","TextBackgroundLayer","layerName","EnhancedTextLayer","filterSubLayer","layer","renderPass","background","id","includes","TextLayer","defaultProps","getRadius","type","value","radiusScale","min","PointLabelLayer","calculatePixelOffset","secondary","props","anchor","getTextAnchor","alignment","getAlignmentBaseline","getSecondaryText","secondarySizeScale","sizeScale","xMult","yMult","xPadding","yPadding","secondaryOffset","yOffset","radiusPadding","d","info","r","calculateBackgroundPadding","paddingX","paddingY","backgroundPadding","renderTextLayer","updateTriggers","updateTriggersOverride","data","characterSet","fontFamily","fontSettings","fontWeight","outlineColor","outlineWidth","getColor","getPosition","getSubLayerProps","getPixelOffset","getSize","_subLayerProps","renderLayers","getText","getSecondaryColor","secondaryOutlineColor","out","Boolean","CompositeLayer"],"mappings":"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","sourcesContent":["import {\n Accessor,\n Color,\n CompositeLayer,\n CompositeLayerProps,\n DefaultProps,\n Layer,\n LayersList\n} from '@deck.gl/core';\nimport {\n TextLayer,\n TextLayerProps,\n _TextBackgroundLayer as TextBackgroundLayer\n} from '@deck.gl/layers';\n\nconst [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];\n\nclass EnhancedTextBackgroundLayer extends TextBackgroundLayer {\n static layerName = 'EnhancedTextBackgroundLayer';\n\n getShaders() {\n const shaders = super.getShaders();\n let vs = shaders.vs;\n\n // Modify shader so that the padding is offset by the pixel offset to ensure the padding\n // always captures the anchor point. As padding is uniform we cannot pass it a per-label value\n vs = vs.replaceAll('padding.', '_padding.');\n vs = vs.replace(\n 'void main(void) {',\n 'void main(void) {\\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);'\n );\n\n return {...shaders, vs};\n }\n}\n\n// TextLayer which includes modified text-background-layer-vertex shader and only renders the\n// primary background layer in the collision pass\nclass EnhancedTextLayer extends TextLayer {\n static layerName = 'EnhancedTextLayer';\n\n filterSubLayer({layer, renderPass}) {\n const background = layer.id.includes('primary-background');\n if (renderPass === 'collision') {\n return background; // Only draw primary background layer in collision pass\n }\n\n return !background; // Do not draw background layer in other passes\n }\n}\n\nconst defaultProps: DefaultProps<PointLabelLayerProps> = {\n ...TextLayer.defaultProps,\n getRadius: {type: 'accessor', value: 1},\n radiusScale: {type: 'number', min: 0, value: 1}\n};\n\n/** All properties supported by PointLabelLayer. */\nexport type PointLabelLayerProps<DataT = any> = _PointLabelLayerProps<DataT> &\n TextLayerProps &\n CompositeLayerProps;\n\n/** Properties added by PointLabelLayer. */\ntype _PointLabelLayerProps<DataT> = TextLayerProps<DataT> & {\n /**\n * Radius multiplier.\n * @default 1\n */\n radiusScale?: number;\n /**\n * Radius accessor.\n * @default 1\n */\n getRadius?: Accessor<DataT, number>;\n /**\n * Secondary label text accessor\n */\n getSecondaryText?: Accessor<DataT, string>;\n /**\n * Secondary label color accessor\n * @default [0, 0, 0, 255]\n */\n getSecondaryColor?: Accessor<DataT, Color>;\n /**\n * Secondary label color of outline around the text, in `[r, g, b, [a]]`. Each channel is a number between 0-255 and `a` is 255 if not supplied.\n * @default [0, 0, 0, 255]\n */\n secondaryOutlineColor?: Color;\n /**\n * Secondary label text size multiplier.\n * @default 1\n */\n secondarySizeScale?: number;\n};\n\nexport default class PointLabelLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends CompositeLayer<ExtraProps & Required<_PointLabelLayerProps<DataT>>> {\n static layerName = 'PointLabelLayer';\n static defaultProps = defaultProps;\n\n calculatePixelOffset(secondary) {\n const {\n getTextAnchor: anchor,\n getAlignmentBaseline: alignment,\n getRadius,\n getSecondaryText,\n radiusScale,\n secondarySizeScale,\n sizeScale\n } = this.props;\n const xMult = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;\n const yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;\n\n // Padding based on font size (font size / 4)\n const xPadding = sizeScale / 4;\n const yPadding = sizeScale * (1 + 1 / 4);\n\n // Place secondary label under main label (secondary label always 'top' baseline aligned)\n const secondaryOffset = 0.6 * (1 - yMult) * sizeScale;\n let yOffset = secondary ? secondaryOffset : 0;\n\n // Special case, position relative to secondary label\n if (anchor === 'middle' && alignment === 'top' && getSecondaryText) {\n yOffset -= secondaryOffset;\n yOffset -= secondarySizeScale;\n yOffset += sizeScale;\n }\n\n // Padding based on point radius (radius/ 4)\n const radiusPadding = 1 + 1 / 4;\n\n return typeof getRadius === 'function'\n ? (d, info) => {\n const r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;\n return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];\n }\n : [\n xMult * (getRadius * radiusScale * radiusPadding + xPadding),\n yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset\n ];\n }\n\n calculateBackgroundPadding() {\n const {getTextAnchor: anchor, getAlignmentBaseline: alignment, sizeScale} = this.props;\n\n // Heuristics to avoid label overlap\n const paddingX = 12 * sizeScale;\n const paddingY = 3 * sizeScale;\n const backgroundPadding = [0, 0, 0, 0];\n if (alignment === 'top') {\n backgroundPadding[TOP] = paddingY;\n } else if (alignment === 'bottom') {\n backgroundPadding[BOTTOM] = paddingY;\n } else {\n backgroundPadding[TOP] = 0.5 * paddingY;\n backgroundPadding[BOTTOM] = 0.5 * paddingY;\n }\n if (anchor === 'start') {\n backgroundPadding[LEFT] = paddingX;\n } else if (anchor === 'end') {\n backgroundPadding[RIGHT] = paddingX;\n } else {\n backgroundPadding[LEFT] = 0.5 * paddingX;\n backgroundPadding[RIGHT] = 0.5 * paddingX;\n }\n\n return backgroundPadding;\n }\n\n renderTextLayer(id, {updateTriggers: updateTriggersOverride = {}, ...props}): EnhancedTextLayer {\n const {\n data,\n\n characterSet,\n fontFamily,\n fontSettings,\n fontWeight,\n outlineColor,\n outlineWidth,\n sizeScale,\n radiusScale,\n\n getAlignmentBaseline,\n getColor,\n getPosition,\n getTextAnchor,\n\n updateTriggers\n } = this.props;\n\n return new EnhancedTextLayer(\n this.getSubLayerProps({\n id,\n data,\n\n characterSet,\n fontFamily,\n fontSettings,\n fontWeight,\n outlineColor,\n outlineWidth,\n sizeScale,\n\n getAlignmentBaseline,\n getColor,\n getPosition,\n getTextAnchor,\n\n updateTriggers: {\n ...updateTriggers,\n ...updateTriggersOverride,\n getPixelOffset: [\n updateTriggers.getRadius,\n updateTriggers.getTextAnchor,\n updateTriggers.getAlignmentBaseline,\n radiusScale,\n sizeScale\n ]\n }\n }),\n {\n getSize: 1,\n _subLayerProps: {background: {type: EnhancedTextBackgroundLayer}}\n },\n props\n );\n }\n\n renderLayers(): Layer | null | LayersList {\n const {\n getText,\n getSecondaryColor,\n getSecondaryText,\n secondaryOutlineColor,\n secondarySizeScale,\n updateTriggers\n } = this.props;\n const getPixelOffset = this.calculatePixelOffset(false);\n const backgroundPadding = this.calculateBackgroundPadding();\n const out = [\n // Text doesn't update via updateTrigger for some reason\n this.renderTextLayer(`${updateTriggers.getText}-primary`, {\n backgroundPadding,\n getText,\n getPixelOffset,\n background: true // Only use background for primary label for faster collisions\n }),\n Boolean(getSecondaryText) &&\n this.renderTextLayer(`${updateTriggers.getSecondaryText}-secondary`, {\n getText: getSecondaryText,\n getPixelOffset: this.calculatePixelOffset(true),\n getAlignmentBaseline: 'top',\n // updateTriggers: {getText: updateTriggers.getSecondaryText},\n\n // Optional overrides\n ...(getSecondaryColor && {getColor: getSecondaryColor}),\n ...(secondarySizeScale && {sizeScale: secondarySizeScale}),\n ...(secondaryOutlineColor && {outlineColor: secondaryOutlineColor})\n })\n ];\n\n return out;\n }\n}\n"],"file":"point-label-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/point-label-layer.ts"],"names":["LEFT","TOP","RIGHT","BOTTOM","EnhancedTextBackgroundLayer","getShaders","shaders","vs","replaceAll","replace","TextBackgroundLayer","layerName","EnhancedTextLayer","filterSubLayer","layer","renderPass","background","id","includes","TextLayer","defaultProps","getRadius","type","value","radiusScale","min","PointLabelLayer","calculatePixelOffset","secondary","props","anchor","getTextAnchor","alignment","getAlignmentBaseline","getSecondaryText","secondarySizeScale","sizeScale","xMult","yMult","xPadding","yPadding","secondaryOffset","yOffset","radiusPadding","d","info","r","calculateBackgroundPadding","paddingX","paddingY","backgroundPadding","renderTextLayer","updateTriggers","updateTriggersOverride","data","characterSet","fontFamily","fontSettings","fontWeight","outlineColor","outlineWidth","getColor","getPosition","getSubLayerProps","getPixelOffset","getSize","_subLayerProps","renderLayers","getText","getSecondaryColor","secondaryOutlineColor","out","Boolean","CompositeLayer"],"mappings":"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","sourcesContent":["import {\n Accessor,\n Color,\n CompositeLayer,\n CompositeLayerProps,\n DefaultProps,\n Layer,\n LayersList\n} from '@deck.gl/core';\nimport {\n TextLayer,\n TextLayerProps,\n _TextBackgroundLayer as TextBackgroundLayer\n} from '@deck.gl/layers';\n\nconst [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];\n\nclass EnhancedTextBackgroundLayer extends TextBackgroundLayer {\n static layerName = 'EnhancedTextBackgroundLayer';\n\n getShaders() {\n const shaders = super.getShaders();\n let vs = shaders.vs;\n\n // Modify shader so that the padding is offset by the pixel offset to ensure the padding\n // always captures the anchor point. As padding is uniform we cannot pass it a per-label value\n vs = vs.replaceAll('padding.', '_padding.');\n vs = vs.replace(\n 'void main(void) {',\n 'void main(void) {\\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);'\n );\n\n return {...shaders, vs};\n }\n}\n\n// TextLayer which includes modified text-background-layer-vertex shader and only renders the\n// primary background layer in the collision pass\nclass EnhancedTextLayer extends TextLayer {\n static layerName = 'EnhancedTextLayer';\n\n filterSubLayer({layer, renderPass}) {\n const background = layer.id.includes('primary-background');\n if (renderPass === 'collision') {\n return background; // Only draw primary background layer in collision pass\n }\n\n return !background; // Do not draw background layer in other passes\n }\n}\n\nconst defaultProps: DefaultProps<PointLabelLayerProps> = {\n ...TextLayer.defaultProps,\n getRadius: {type: 'accessor', value: 1},\n radiusScale: {type: 'number', min: 0, value: 1}\n};\n\n/** All properties supported by PointLabelLayer. */\nexport type PointLabelLayerProps<DataT = unknown> = _PointLabelLayerProps<DataT> &\n TextLayerProps &\n CompositeLayerProps;\n\n/** Properties added by PointLabelLayer. */\ntype _PointLabelLayerProps<DataT> = TextLayerProps<DataT> & {\n /**\n * Radius multiplier.\n * @default 1\n */\n radiusScale?: number;\n /**\n * Radius accessor.\n * @default 1\n */\n getRadius?: Accessor<DataT, number>;\n /**\n * Secondary label text accessor\n */\n getSecondaryText?: Accessor<DataT, string>;\n /**\n * Secondary label color accessor\n * @default [0, 0, 0, 255]\n */\n getSecondaryColor?: Accessor<DataT, Color>;\n /**\n * Secondary label color of outline around the text, in `[r, g, b, [a]]`. Each channel is a number between 0-255 and `a` is 255 if not supplied.\n * @default [0, 0, 0, 255]\n */\n secondaryOutlineColor?: Color;\n /**\n * Secondary label text size multiplier.\n * @default 1\n */\n secondarySizeScale?: number;\n};\n\nexport default class PointLabelLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends CompositeLayer<ExtraProps & Required<_PointLabelLayerProps<DataT>>> {\n static layerName = 'PointLabelLayer';\n static defaultProps = defaultProps;\n\n calculatePixelOffset(secondary) {\n const {\n getTextAnchor: anchor,\n getAlignmentBaseline: alignment,\n getRadius,\n getSecondaryText,\n radiusScale,\n secondarySizeScale,\n sizeScale\n } = this.props;\n const xMult = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;\n const yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;\n\n // Padding based on font size (font size / 4)\n const xPadding = sizeScale / 4;\n const yPadding = sizeScale * (1 + 1 / 4);\n\n // Place secondary label under main label (secondary label always 'top' baseline aligned)\n const secondaryOffset = 0.6 * (1 - yMult) * sizeScale;\n let yOffset = secondary ? secondaryOffset : 0;\n\n // Special case, position relative to secondary label\n if (anchor === 'middle' && alignment === 'top' && getSecondaryText) {\n yOffset -= secondaryOffset;\n yOffset -= secondarySizeScale;\n yOffset += sizeScale;\n }\n\n // Padding based on point radius (radius/ 4)\n const radiusPadding = 1 + 1 / 4;\n\n return typeof getRadius === 'function'\n ? (d, info) => {\n const r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;\n return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];\n }\n : [\n xMult * (getRadius * radiusScale * radiusPadding + xPadding),\n yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset\n ];\n }\n\n calculateBackgroundPadding() {\n const {getTextAnchor: anchor, getAlignmentBaseline: alignment, sizeScale} = this.props;\n\n // Heuristics to avoid label overlap\n const paddingX = 12 * sizeScale;\n const paddingY = 3 * sizeScale;\n const backgroundPadding = [0, 0, 0, 0];\n if (alignment === 'top') {\n backgroundPadding[TOP] = paddingY;\n } else if (alignment === 'bottom') {\n backgroundPadding[BOTTOM] = paddingY;\n } else {\n backgroundPadding[TOP] = 0.5 * paddingY;\n backgroundPadding[BOTTOM] = 0.5 * paddingY;\n }\n if (anchor === 'start') {\n backgroundPadding[LEFT] = paddingX;\n } else if (anchor === 'end') {\n backgroundPadding[RIGHT] = paddingX;\n } else {\n backgroundPadding[LEFT] = 0.5 * paddingX;\n backgroundPadding[RIGHT] = 0.5 * paddingX;\n }\n\n return backgroundPadding;\n }\n\n renderTextLayer(id, {updateTriggers: updateTriggersOverride = {}, ...props}): EnhancedTextLayer {\n const {\n data,\n\n characterSet,\n fontFamily,\n fontSettings,\n fontWeight,\n outlineColor,\n outlineWidth,\n sizeScale,\n radiusScale,\n\n getAlignmentBaseline,\n getColor,\n getPosition,\n getTextAnchor,\n\n updateTriggers\n } = this.props;\n\n return new EnhancedTextLayer(\n this.getSubLayerProps({\n id,\n data,\n\n characterSet,\n fontFamily,\n fontSettings,\n fontWeight,\n outlineColor,\n outlineWidth,\n sizeScale,\n\n getAlignmentBaseline,\n getColor,\n getPosition,\n getTextAnchor,\n\n updateTriggers: {\n ...updateTriggers,\n ...updateTriggersOverride,\n getPixelOffset: [\n updateTriggers.getRadius,\n updateTriggers.getTextAnchor,\n updateTriggers.getAlignmentBaseline,\n radiusScale,\n sizeScale\n ]\n }\n }),\n {\n getSize: 1,\n _subLayerProps: {background: {type: EnhancedTextBackgroundLayer}}\n },\n props\n );\n }\n\n renderLayers(): Layer | null | LayersList {\n const {\n getText,\n getSecondaryColor,\n getSecondaryText,\n secondaryOutlineColor,\n secondarySizeScale,\n updateTriggers\n } = this.props;\n const getPixelOffset = this.calculatePixelOffset(false);\n const backgroundPadding = this.calculateBackgroundPadding();\n const out = [\n // Text doesn't update via updateTrigger for some reason\n this.renderTextLayer(`${updateTriggers.getText}-primary`, {\n backgroundPadding,\n getText,\n getPixelOffset,\n background: true // Only use background for primary label for faster collisions\n }),\n Boolean(getSecondaryText) &&\n this.renderTextLayer(`${updateTriggers.getSecondaryText}-secondary`, {\n getText: getSecondaryText,\n getPixelOffset: this.calculatePixelOffset(true),\n getAlignmentBaseline: 'top',\n // updateTriggers: {getText: updateTriggers.getSecondaryText},\n\n // Optional overrides\n ...(getSecondaryColor && {getColor: getSecondaryColor}),\n ...(secondarySizeScale && {sizeScale: secondarySizeScale}),\n ...(secondaryOutlineColor && {outlineColor: secondaryOutlineColor})\n })\n ];\n\n return out;\n }\n}\n"],"file":"point-label-layer.js"}