@deck.gl/carto 8.10.0-alpha.2 → 8.10.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cartoRasterTile-worker.js +1084 -0
  3. package/dist/cartoSpatialTile-worker.js +1469 -0
  4. package/dist/cartoVectorTile-worker.js +1727 -0
  5. package/dist/dist.dev.js +1733 -881
  6. package/dist/es5/api/layer-map.js +3 -7
  7. package/dist/es5/api/layer-map.js.map +1 -1
  8. package/dist/es5/api/maps-api-common.js +0 -1
  9. package/dist/es5/api/maps-api-common.js.map +1 -1
  10. package/dist/es5/api/maps-v3-client.js +5 -20
  11. package/dist/es5/api/maps-v3-client.js.map +1 -1
  12. package/dist/es5/index.js +74 -6
  13. package/dist/es5/index.js.map +1 -1
  14. package/dist/es5/layers/h3-tile-layer.js +23 -41
  15. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  16. package/dist/es5/layers/quadbin-tile-layer.js +21 -42
  17. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  18. package/dist/es5/layers/raster-tile-layer.js +23 -39
  19. package/dist/es5/layers/raster-tile-layer.js.map +1 -1
  20. package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
  21. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
  22. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
  23. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  24. package/dist/es5/layers/schema/carto-tile.js +1 -1
  25. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  26. package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
  27. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
  28. package/dist/es5/layers/utils.js +29 -0
  29. package/dist/es5/layers/utils.js.map +1 -0
  30. package/dist/es5/layers/{carto-tile-layer.js → vector-tile-layer.js} +49 -24
  31. package/dist/es5/layers/vector-tile-layer.js.map +1 -0
  32. package/dist/es5/sources/base-source.js +100 -0
  33. package/dist/es5/sources/base-source.js.map +1 -0
  34. package/dist/es5/sources/common.js +48 -0
  35. package/dist/es5/sources/common.js.map +1 -0
  36. package/dist/es5/sources/h3-query-source.js +58 -0
  37. package/dist/es5/sources/h3-query-source.js.map +1 -0
  38. package/dist/es5/sources/h3-table-source.js +58 -0
  39. package/dist/es5/sources/h3-table-source.js.map +1 -0
  40. package/dist/es5/sources/h3-tileset-source.js +43 -0
  41. package/dist/es5/sources/h3-tileset-source.js.map +1 -0
  42. package/dist/es5/sources/index.js +94 -0
  43. package/dist/es5/sources/index.js.map +1 -0
  44. package/dist/es5/sources/quadbin-query-source.js +58 -0
  45. package/dist/es5/sources/quadbin-query-source.js.map +1 -0
  46. package/dist/es5/sources/quadbin-table-source.js +58 -0
  47. package/dist/es5/sources/quadbin-table-source.js.map +1 -0
  48. package/dist/es5/sources/quadbin-tileset-source.js +43 -0
  49. package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
  50. package/dist/es5/sources/raster-source.js +43 -0
  51. package/dist/es5/sources/raster-source.js.map +1 -0
  52. package/dist/es5/sources/utils.js +136 -0
  53. package/dist/es5/sources/utils.js.map +1 -0
  54. package/dist/es5/sources/vector-query-source.js +52 -0
  55. package/dist/es5/sources/vector-query-source.js.map +1 -0
  56. package/dist/es5/sources/vector-table-source.js +52 -0
  57. package/dist/es5/sources/vector-table-source.js.map +1 -0
  58. package/dist/es5/sources/vector-tileset-source.js +43 -0
  59. package/dist/es5/sources/vector-tileset-source.js.map +1 -0
  60. package/dist/es5/utils.js +5 -0
  61. package/dist/es5/utils.js.map +1 -1
  62. package/dist/es5/workers/cartoRasterTile.js +10 -0
  63. package/dist/es5/workers/cartoRasterTile.js.map +1 -0
  64. package/dist/es5/workers/cartoSpatialTile.js +10 -0
  65. package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
  66. package/dist/es5/workers/cartoVectorTile.js +10 -0
  67. package/dist/es5/workers/cartoVectorTile.js.map +1 -0
  68. package/dist/esm/api/layer-map.js +3 -7
  69. package/dist/esm/api/layer-map.js.map +1 -1
  70. package/dist/esm/api/maps-api-common.js +0 -1
  71. package/dist/esm/api/maps-api-common.js.map +1 -1
  72. package/dist/esm/api/maps-v3-client.js +2 -12
  73. package/dist/esm/api/maps-v3-client.js.map +1 -1
  74. package/dist/esm/index.js +5 -4
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/layers/h3-tile-layer.js +21 -37
  77. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  78. package/dist/esm/layers/quadbin-tile-layer.js +18 -38
  79. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  80. package/dist/esm/layers/raster-tile-layer.js +19 -34
  81. package/dist/esm/layers/raster-tile-layer.js.map +1 -1
  82. package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
  83. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
  84. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
  85. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  86. package/dist/esm/layers/schema/carto-tile.js +1 -1
  87. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  88. package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
  89. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
  90. package/dist/esm/layers/utils.js +14 -0
  91. package/dist/esm/layers/utils.js.map +1 -0
  92. package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -15
  93. package/dist/esm/layers/vector-tile-layer.js.map +1 -0
  94. package/dist/esm/sources/base-source.js +49 -0
  95. package/dist/esm/sources/base-source.js.map +1 -0
  96. package/dist/esm/sources/common.js +26 -0
  97. package/dist/esm/sources/common.js.map +1 -0
  98. package/dist/esm/sources/h3-query-source.js +32 -0
  99. package/dist/esm/sources/h3-query-source.js.map +1 -0
  100. package/dist/esm/sources/h3-table-source.js +32 -0
  101. package/dist/esm/sources/h3-table-source.js.map +1 -0
  102. package/dist/esm/sources/h3-tileset-source.js +14 -0
  103. package/dist/esm/sources/h3-tileset-source.js.map +1 -0
  104. package/dist/esm/sources/index.js +12 -0
  105. package/dist/esm/sources/index.js.map +1 -0
  106. package/dist/esm/sources/quadbin-query-source.js +32 -0
  107. package/dist/esm/sources/quadbin-query-source.js.map +1 -0
  108. package/dist/esm/sources/quadbin-table-source.js +32 -0
  109. package/dist/esm/sources/quadbin-table-source.js.map +1 -0
  110. package/dist/esm/sources/quadbin-tileset-source.js +14 -0
  111. package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
  112. package/dist/esm/sources/raster-source.js +14 -0
  113. package/dist/esm/sources/raster-source.js.map +1 -0
  114. package/dist/esm/sources/utils.js +69 -0
  115. package/dist/esm/sources/utils.js.map +1 -0
  116. package/dist/esm/sources/vector-query-source.js +25 -0
  117. package/dist/esm/sources/vector-query-source.js.map +1 -0
  118. package/dist/esm/sources/vector-table-source.js +25 -0
  119. package/dist/esm/sources/vector-table-source.js.map +1 -0
  120. package/dist/esm/sources/vector-tileset-source.js +14 -0
  121. package/dist/esm/sources/vector-tileset-source.js.map +1 -0
  122. package/dist/esm/utils.js +3 -0
  123. package/dist/esm/utils.js.map +1 -1
  124. package/dist/esm/workers/cartoRasterTile.js +4 -0
  125. package/dist/esm/workers/cartoRasterTile.js.map +1 -0
  126. package/dist/esm/workers/cartoSpatialTile.js +4 -0
  127. package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
  128. package/dist/esm/workers/cartoVectorTile.js +4 -0
  129. package/dist/esm/workers/cartoVectorTile.js.map +1 -0
  130. package/dist.min.js +25 -25
  131. package/package.json +11 -9
  132. package/src/api/layer-map.ts +4 -8
  133. package/src/api/maps-api-common.ts +0 -1
  134. package/src/api/maps-v3-client.ts +6 -5
  135. package/src/index.ts +34 -5
  136. package/src/layers/h3-tile-layer.ts +22 -35
  137. package/src/layers/quadbin-tile-layer.ts +19 -33
  138. package/src/layers/raster-tile-layer.ts +22 -26
  139. package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
  140. package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
  141. package/src/layers/schema/carto-tile.ts +1 -1
  142. package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
  143. package/src/layers/utils.ts +11 -0
  144. package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
  145. package/src/sources/base-source.ts +55 -0
  146. package/src/sources/common.ts +132 -0
  147. package/src/sources/h3-query-source.ts +45 -0
  148. package/src/sources/h3-table-source.ts +46 -0
  149. package/src/sources/h3-tileset-source.ts +16 -0
  150. package/src/sources/index.ts +32 -0
  151. package/src/sources/quadbin-query-source.ts +46 -0
  152. package/src/sources/quadbin-table-source.ts +46 -0
  153. package/src/sources/quadbin-tileset-source.ts +16 -0
  154. package/src/sources/raster-source.ts +16 -0
  155. package/src/sources/utils.ts +63 -0
  156. package/src/sources/vector-query-source.ts +23 -0
  157. package/src/sources/vector-table-source.ts +23 -0
  158. package/src/sources/vector-tileset-source.ts +16 -0
  159. package/src/utils.ts +6 -0
  160. package/src/workers/cartoRasterTile.ts +4 -0
  161. package/src/workers/cartoSpatialTile.ts +4 -0
  162. package/src/workers/cartoVectorTile.ts +4 -0
  163. package/typed/api/layer-map.d.ts +2 -3
  164. package/typed/api/layer-map.d.ts.map +1 -1
  165. package/typed/api/maps-api-common.d.ts +0 -1
  166. package/typed/api/maps-api-common.d.ts.map +1 -1
  167. package/typed/api/maps-v3-client.d.ts +0 -3
  168. package/typed/api/maps-v3-client.d.ts.map +1 -1
  169. package/typed/index.d.ts +6 -4
  170. package/typed/index.d.ts.map +1 -1
  171. package/typed/layers/h3-tile-layer.d.ts +5 -8
  172. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  173. package/typed/layers/quadbin-tile-layer.d.ts +5 -9
  174. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  175. package/typed/layers/raster-tile-layer.d.ts +6 -10
  176. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  177. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  178. package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  179. package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  180. package/typed/layers/utils.d.ts +5 -0
  181. package/typed/layers/utils.d.ts.map +1 -0
  182. package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
  183. package/typed/layers/vector-tile-layer.d.ts.map +1 -0
  184. package/typed/sources/base-source.d.ts +4 -0
  185. package/typed/sources/base-source.d.ts.map +1 -0
  186. package/typed/sources/common.d.ts +116 -0
  187. package/typed/sources/common.d.ts.map +1 -0
  188. package/typed/sources/h3-query-source.d.ts +5 -0
  189. package/typed/sources/h3-query-source.d.ts.map +1 -0
  190. package/typed/sources/h3-table-source.d.ts +5 -0
  191. package/typed/sources/h3-table-source.d.ts.map +1 -0
  192. package/typed/sources/h3-tileset-source.d.ts +5 -0
  193. package/typed/sources/h3-tileset-source.d.ts.map +1 -0
  194. package/typed/sources/index.d.ts +23 -0
  195. package/typed/sources/index.d.ts.map +1 -0
  196. package/typed/sources/quadbin-query-source.d.ts +5 -0
  197. package/typed/sources/quadbin-query-source.d.ts.map +1 -0
  198. package/typed/sources/quadbin-table-source.d.ts +5 -0
  199. package/typed/sources/quadbin-table-source.d.ts.map +1 -0
  200. package/typed/sources/quadbin-tileset-source.d.ts +5 -0
  201. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
  202. package/typed/sources/raster-source.d.ts +5 -0
  203. package/typed/sources/raster-source.d.ts.map +1 -0
  204. package/typed/sources/utils.d.ts +15 -0
  205. package/typed/sources/utils.d.ts.map +1 -0
  206. package/typed/sources/vector-query-source.d.ts +5 -0
  207. package/typed/sources/vector-query-source.d.ts.map +1 -0
  208. package/typed/sources/vector-table-source.d.ts +5 -0
  209. package/typed/sources/vector-table-source.d.ts.map +1 -0
  210. package/typed/sources/vector-tileset-source.d.ts +5 -0
  211. package/typed/sources/vector-tileset-source.d.ts.map +1 -0
  212. package/typed/utils.d.ts +1 -0
  213. package/typed/utils.d.ts.map +1 -1
  214. package/typed/workers/cartoRasterTile.d.ts +2 -0
  215. package/typed/workers/cartoRasterTile.d.ts.map +1 -0
  216. package/typed/workers/cartoSpatialTile.d.ts +2 -0
  217. package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
  218. package/typed/workers/cartoVectorTile.d.ts +2 -0
  219. package/typed/workers/cartoVectorTile.d.ts.map +1 -0
  220. package/dist/es5/layers/carto-tile-layer.js.map +0 -1
  221. package/dist/esm/layers/carto-tile-layer.js.map +0 -1
  222. package/typed/api/index.js +0 -3
  223. package/typed/api/layer-map.js +0 -264
  224. package/typed/api/maps-api-common.js +0 -50
  225. package/typed/api/maps-client.js +0 -125
  226. package/typed/api/maps-v3-client.js +0 -304
  227. package/typed/api/parseMap.js +0 -178
  228. package/typed/basemap.js +0 -9
  229. package/typed/config.js +0 -35
  230. package/typed/index.js +0 -10
  231. package/typed/layers/carto-layer.js +0 -173
  232. package/typed/layers/carto-tile-layer.d.ts.map +0 -1
  233. package/typed/layers/carto-tile-layer.js +0 -105
  234. package/typed/layers/h3-tile-layer.js +0 -47
  235. package/typed/layers/h3-tileset-2d.js +0 -85
  236. package/typed/layers/quadkey-tile-layer.d.ts +0 -21
  237. package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
  238. package/typed/layers/quadkey-tile-layer.js +0 -42
  239. package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
  240. package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
  241. package/typed/layers/quadkey-tileset-2d.js +0 -36
  242. package/typed/layers/schema/carto-tile.js +0 -161
  243. package/typed/layers/spatial-index-tile-layer.js +0 -40
  244. package/typed/style/color-bins-style.js +0 -12
  245. package/typed/style/color-categories-style.js +0 -16
  246. package/typed/style/color-continuous-style.js +0 -12
  247. package/typed/style/palette.js +0 -62
  248. package/typed/style/utils.js +0 -15
  249. package/typed/utils.js +0 -4
@@ -0,0 +1,1469 @@
1
+ "use strict";
2
+ (() => {
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __commonJS = (cb, mod) => function __require() {
10
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+
25
+ // ../../node_modules/pbf/node_modules/ieee754/index.js
26
+ var require_ieee754 = __commonJS({
27
+ "../../node_modules/pbf/node_modules/ieee754/index.js"(exports) {
28
+ exports.read = function(buffer, offset, isLE, mLen, nBytes) {
29
+ var e, m;
30
+ var eLen = nBytes * 8 - mLen - 1;
31
+ var eMax = (1 << eLen) - 1;
32
+ var eBias = eMax >> 1;
33
+ var nBits = -7;
34
+ var i = isLE ? nBytes - 1 : 0;
35
+ var d = isLE ? -1 : 1;
36
+ var s = buffer[offset + i];
37
+ i += d;
38
+ e = s & (1 << -nBits) - 1;
39
+ s >>= -nBits;
40
+ nBits += eLen;
41
+ for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {
42
+ }
43
+ m = e & (1 << -nBits) - 1;
44
+ e >>= -nBits;
45
+ nBits += mLen;
46
+ for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {
47
+ }
48
+ if (e === 0) {
49
+ e = 1 - eBias;
50
+ } else if (e === eMax) {
51
+ return m ? NaN : (s ? -1 : 1) * Infinity;
52
+ } else {
53
+ m = m + Math.pow(2, mLen);
54
+ e = e - eBias;
55
+ }
56
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
57
+ };
58
+ exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
59
+ var e, m, c;
60
+ var eLen = nBytes * 8 - mLen - 1;
61
+ var eMax = (1 << eLen) - 1;
62
+ var eBias = eMax >> 1;
63
+ var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
64
+ var i = isLE ? 0 : nBytes - 1;
65
+ var d = isLE ? 1 : -1;
66
+ var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
67
+ value = Math.abs(value);
68
+ if (isNaN(value) || value === Infinity) {
69
+ m = isNaN(value) ? 1 : 0;
70
+ e = eMax;
71
+ } else {
72
+ e = Math.floor(Math.log(value) / Math.LN2);
73
+ if (value * (c = Math.pow(2, -e)) < 1) {
74
+ e--;
75
+ c *= 2;
76
+ }
77
+ if (e + eBias >= 1) {
78
+ value += rt / c;
79
+ } else {
80
+ value += rt * Math.pow(2, 1 - eBias);
81
+ }
82
+ if (value * c >= 2) {
83
+ e++;
84
+ c /= 2;
85
+ }
86
+ if (e + eBias >= eMax) {
87
+ m = 0;
88
+ e = eMax;
89
+ } else if (e + eBias >= 1) {
90
+ m = (value * c - 1) * Math.pow(2, mLen);
91
+ e = e + eBias;
92
+ } else {
93
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
94
+ e = 0;
95
+ }
96
+ }
97
+ for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {
98
+ }
99
+ e = e << mLen | m;
100
+ eLen += mLen;
101
+ for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {
102
+ }
103
+ buffer[offset + i - d] |= s * 128;
104
+ };
105
+ }
106
+ });
107
+
108
+ // ../../node_modules/pbf/index.js
109
+ var require_pbf = __commonJS({
110
+ "../../node_modules/pbf/index.js"(exports, module) {
111
+ "use strict";
112
+ module.exports = Pbf;
113
+ var ieee754 = require_ieee754();
114
+ function Pbf(buf) {
115
+ this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0);
116
+ this.pos = 0;
117
+ this.type = 0;
118
+ this.length = this.buf.length;
119
+ }
120
+ Pbf.Varint = 0;
121
+ Pbf.Fixed64 = 1;
122
+ Pbf.Bytes = 2;
123
+ Pbf.Fixed32 = 5;
124
+ var SHIFT_LEFT_32 = (1 << 16) * (1 << 16);
125
+ var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;
126
+ var TEXT_DECODER_MIN_LENGTH = 12;
127
+ var utf8TextDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder("utf8");
128
+ Pbf.prototype = {
129
+ destroy: function() {
130
+ this.buf = null;
131
+ },
132
+ readFields: function(readField, result, end) {
133
+ end = end || this.length;
134
+ while (this.pos < end) {
135
+ var val = this.readVarint(), tag = val >> 3, startPos = this.pos;
136
+ this.type = val & 7;
137
+ readField(tag, result, this);
138
+ if (this.pos === startPos)
139
+ this.skip(val);
140
+ }
141
+ return result;
142
+ },
143
+ readMessage: function(readField, result) {
144
+ return this.readFields(readField, result, this.readVarint() + this.pos);
145
+ },
146
+ readFixed32: function() {
147
+ var val = readUInt32(this.buf, this.pos);
148
+ this.pos += 4;
149
+ return val;
150
+ },
151
+ readSFixed32: function() {
152
+ var val = readInt32(this.buf, this.pos);
153
+ this.pos += 4;
154
+ return val;
155
+ },
156
+ readFixed64: function() {
157
+ var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
158
+ this.pos += 8;
159
+ return val;
160
+ },
161
+ readSFixed64: function() {
162
+ var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
163
+ this.pos += 8;
164
+ return val;
165
+ },
166
+ readFloat: function() {
167
+ var val = ieee754.read(this.buf, this.pos, true, 23, 4);
168
+ this.pos += 4;
169
+ return val;
170
+ },
171
+ readDouble: function() {
172
+ var val = ieee754.read(this.buf, this.pos, true, 52, 8);
173
+ this.pos += 8;
174
+ return val;
175
+ },
176
+ readVarint: function(isSigned) {
177
+ var buf = this.buf, val, b;
178
+ b = buf[this.pos++];
179
+ val = b & 127;
180
+ if (b < 128)
181
+ return val;
182
+ b = buf[this.pos++];
183
+ val |= (b & 127) << 7;
184
+ if (b < 128)
185
+ return val;
186
+ b = buf[this.pos++];
187
+ val |= (b & 127) << 14;
188
+ if (b < 128)
189
+ return val;
190
+ b = buf[this.pos++];
191
+ val |= (b & 127) << 21;
192
+ if (b < 128)
193
+ return val;
194
+ b = buf[this.pos];
195
+ val |= (b & 15) << 28;
196
+ return readVarintRemainder(val, isSigned, this);
197
+ },
198
+ readVarint64: function() {
199
+ return this.readVarint(true);
200
+ },
201
+ readSVarint: function() {
202
+ var num = this.readVarint();
203
+ return num % 2 === 1 ? (num + 1) / -2 : num / 2;
204
+ },
205
+ readBoolean: function() {
206
+ return Boolean(this.readVarint());
207
+ },
208
+ readString: function() {
209
+ var end = this.readVarint() + this.pos;
210
+ var pos = this.pos;
211
+ this.pos = end;
212
+ if (end - pos >= TEXT_DECODER_MIN_LENGTH && utf8TextDecoder) {
213
+ return readUtf8TextDecoder(this.buf, pos, end);
214
+ }
215
+ return readUtf8(this.buf, pos, end);
216
+ },
217
+ readBytes: function() {
218
+ var end = this.readVarint() + this.pos, buffer = this.buf.subarray(this.pos, end);
219
+ this.pos = end;
220
+ return buffer;
221
+ },
222
+ readPackedVarint: function(arr, isSigned) {
223
+ if (this.type !== Pbf.Bytes)
224
+ return arr.push(this.readVarint(isSigned));
225
+ var end = readPackedEnd(this);
226
+ arr = arr || [];
227
+ while (this.pos < end)
228
+ arr.push(this.readVarint(isSigned));
229
+ return arr;
230
+ },
231
+ readPackedSVarint: function(arr) {
232
+ if (this.type !== Pbf.Bytes)
233
+ return arr.push(this.readSVarint());
234
+ var end = readPackedEnd(this);
235
+ arr = arr || [];
236
+ while (this.pos < end)
237
+ arr.push(this.readSVarint());
238
+ return arr;
239
+ },
240
+ readPackedBoolean: function(arr) {
241
+ if (this.type !== Pbf.Bytes)
242
+ return arr.push(this.readBoolean());
243
+ var end = readPackedEnd(this);
244
+ arr = arr || [];
245
+ while (this.pos < end)
246
+ arr.push(this.readBoolean());
247
+ return arr;
248
+ },
249
+ readPackedFloat: function(arr) {
250
+ if (this.type !== Pbf.Bytes)
251
+ return arr.push(this.readFloat());
252
+ var end = readPackedEnd(this);
253
+ arr = arr || [];
254
+ while (this.pos < end)
255
+ arr.push(this.readFloat());
256
+ return arr;
257
+ },
258
+ readPackedDouble: function(arr) {
259
+ if (this.type !== Pbf.Bytes)
260
+ return arr.push(this.readDouble());
261
+ var end = readPackedEnd(this);
262
+ arr = arr || [];
263
+ while (this.pos < end)
264
+ arr.push(this.readDouble());
265
+ return arr;
266
+ },
267
+ readPackedFixed32: function(arr) {
268
+ if (this.type !== Pbf.Bytes)
269
+ return arr.push(this.readFixed32());
270
+ var end = readPackedEnd(this);
271
+ arr = arr || [];
272
+ while (this.pos < end)
273
+ arr.push(this.readFixed32());
274
+ return arr;
275
+ },
276
+ readPackedSFixed32: function(arr) {
277
+ if (this.type !== Pbf.Bytes)
278
+ return arr.push(this.readSFixed32());
279
+ var end = readPackedEnd(this);
280
+ arr = arr || [];
281
+ while (this.pos < end)
282
+ arr.push(this.readSFixed32());
283
+ return arr;
284
+ },
285
+ readPackedFixed64: function(arr) {
286
+ if (this.type !== Pbf.Bytes)
287
+ return arr.push(this.readFixed64());
288
+ var end = readPackedEnd(this);
289
+ arr = arr || [];
290
+ while (this.pos < end)
291
+ arr.push(this.readFixed64());
292
+ return arr;
293
+ },
294
+ readPackedSFixed64: function(arr) {
295
+ if (this.type !== Pbf.Bytes)
296
+ return arr.push(this.readSFixed64());
297
+ var end = readPackedEnd(this);
298
+ arr = arr || [];
299
+ while (this.pos < end)
300
+ arr.push(this.readSFixed64());
301
+ return arr;
302
+ },
303
+ skip: function(val) {
304
+ var type = val & 7;
305
+ if (type === Pbf.Varint)
306
+ while (this.buf[this.pos++] > 127) {
307
+ }
308
+ else if (type === Pbf.Bytes)
309
+ this.pos = this.readVarint() + this.pos;
310
+ else if (type === Pbf.Fixed32)
311
+ this.pos += 4;
312
+ else if (type === Pbf.Fixed64)
313
+ this.pos += 8;
314
+ else
315
+ throw new Error("Unimplemented type: " + type);
316
+ },
317
+ writeTag: function(tag, type) {
318
+ this.writeVarint(tag << 3 | type);
319
+ },
320
+ realloc: function(min) {
321
+ var length = this.length || 16;
322
+ while (length < this.pos + min)
323
+ length *= 2;
324
+ if (length !== this.length) {
325
+ var buf = new Uint8Array(length);
326
+ buf.set(this.buf);
327
+ this.buf = buf;
328
+ this.length = length;
329
+ }
330
+ },
331
+ finish: function() {
332
+ this.length = this.pos;
333
+ this.pos = 0;
334
+ return this.buf.subarray(0, this.length);
335
+ },
336
+ writeFixed32: function(val) {
337
+ this.realloc(4);
338
+ writeInt32(this.buf, val, this.pos);
339
+ this.pos += 4;
340
+ },
341
+ writeSFixed32: function(val) {
342
+ this.realloc(4);
343
+ writeInt32(this.buf, val, this.pos);
344
+ this.pos += 4;
345
+ },
346
+ writeFixed64: function(val) {
347
+ this.realloc(8);
348
+ writeInt32(this.buf, val & -1, this.pos);
349
+ writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
350
+ this.pos += 8;
351
+ },
352
+ writeSFixed64: function(val) {
353
+ this.realloc(8);
354
+ writeInt32(this.buf, val & -1, this.pos);
355
+ writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
356
+ this.pos += 8;
357
+ },
358
+ writeVarint: function(val) {
359
+ val = +val || 0;
360
+ if (val > 268435455 || val < 0) {
361
+ writeBigVarint(val, this);
362
+ return;
363
+ }
364
+ this.realloc(4);
365
+ this.buf[this.pos++] = val & 127 | (val > 127 ? 128 : 0);
366
+ if (val <= 127)
367
+ return;
368
+ this.buf[this.pos++] = (val >>>= 7) & 127 | (val > 127 ? 128 : 0);
369
+ if (val <= 127)
370
+ return;
371
+ this.buf[this.pos++] = (val >>>= 7) & 127 | (val > 127 ? 128 : 0);
372
+ if (val <= 127)
373
+ return;
374
+ this.buf[this.pos++] = val >>> 7 & 127;
375
+ },
376
+ writeSVarint: function(val) {
377
+ this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2);
378
+ },
379
+ writeBoolean: function(val) {
380
+ this.writeVarint(Boolean(val));
381
+ },
382
+ writeString: function(str) {
383
+ str = String(str);
384
+ this.realloc(str.length * 4);
385
+ this.pos++;
386
+ var startPos = this.pos;
387
+ this.pos = writeUtf8(this.buf, str, this.pos);
388
+ var len = this.pos - startPos;
389
+ if (len >= 128)
390
+ makeRoomForExtraLength(startPos, len, this);
391
+ this.pos = startPos - 1;
392
+ this.writeVarint(len);
393
+ this.pos += len;
394
+ },
395
+ writeFloat: function(val) {
396
+ this.realloc(4);
397
+ ieee754.write(this.buf, val, this.pos, true, 23, 4);
398
+ this.pos += 4;
399
+ },
400
+ writeDouble: function(val) {
401
+ this.realloc(8);
402
+ ieee754.write(this.buf, val, this.pos, true, 52, 8);
403
+ this.pos += 8;
404
+ },
405
+ writeBytes: function(buffer) {
406
+ var len = buffer.length;
407
+ this.writeVarint(len);
408
+ this.realloc(len);
409
+ for (var i = 0; i < len; i++)
410
+ this.buf[this.pos++] = buffer[i];
411
+ },
412
+ writeRawMessage: function(fn, obj) {
413
+ this.pos++;
414
+ var startPos = this.pos;
415
+ fn(obj, this);
416
+ var len = this.pos - startPos;
417
+ if (len >= 128)
418
+ makeRoomForExtraLength(startPos, len, this);
419
+ this.pos = startPos - 1;
420
+ this.writeVarint(len);
421
+ this.pos += len;
422
+ },
423
+ writeMessage: function(tag, fn, obj) {
424
+ this.writeTag(tag, Pbf.Bytes);
425
+ this.writeRawMessage(fn, obj);
426
+ },
427
+ writePackedVarint: function(tag, arr) {
428
+ if (arr.length)
429
+ this.writeMessage(tag, writePackedVarint, arr);
430
+ },
431
+ writePackedSVarint: function(tag, arr) {
432
+ if (arr.length)
433
+ this.writeMessage(tag, writePackedSVarint, arr);
434
+ },
435
+ writePackedBoolean: function(tag, arr) {
436
+ if (arr.length)
437
+ this.writeMessage(tag, writePackedBoolean, arr);
438
+ },
439
+ writePackedFloat: function(tag, arr) {
440
+ if (arr.length)
441
+ this.writeMessage(tag, writePackedFloat, arr);
442
+ },
443
+ writePackedDouble: function(tag, arr) {
444
+ if (arr.length)
445
+ this.writeMessage(tag, writePackedDouble, arr);
446
+ },
447
+ writePackedFixed32: function(tag, arr) {
448
+ if (arr.length)
449
+ this.writeMessage(tag, writePackedFixed32, arr);
450
+ },
451
+ writePackedSFixed32: function(tag, arr) {
452
+ if (arr.length)
453
+ this.writeMessage(tag, writePackedSFixed32, arr);
454
+ },
455
+ writePackedFixed64: function(tag, arr) {
456
+ if (arr.length)
457
+ this.writeMessage(tag, writePackedFixed64, arr);
458
+ },
459
+ writePackedSFixed64: function(tag, arr) {
460
+ if (arr.length)
461
+ this.writeMessage(tag, writePackedSFixed64, arr);
462
+ },
463
+ writeBytesField: function(tag, buffer) {
464
+ this.writeTag(tag, Pbf.Bytes);
465
+ this.writeBytes(buffer);
466
+ },
467
+ writeFixed32Field: function(tag, val) {
468
+ this.writeTag(tag, Pbf.Fixed32);
469
+ this.writeFixed32(val);
470
+ },
471
+ writeSFixed32Field: function(tag, val) {
472
+ this.writeTag(tag, Pbf.Fixed32);
473
+ this.writeSFixed32(val);
474
+ },
475
+ writeFixed64Field: function(tag, val) {
476
+ this.writeTag(tag, Pbf.Fixed64);
477
+ this.writeFixed64(val);
478
+ },
479
+ writeSFixed64Field: function(tag, val) {
480
+ this.writeTag(tag, Pbf.Fixed64);
481
+ this.writeSFixed64(val);
482
+ },
483
+ writeVarintField: function(tag, val) {
484
+ this.writeTag(tag, Pbf.Varint);
485
+ this.writeVarint(val);
486
+ },
487
+ writeSVarintField: function(tag, val) {
488
+ this.writeTag(tag, Pbf.Varint);
489
+ this.writeSVarint(val);
490
+ },
491
+ writeStringField: function(tag, str) {
492
+ this.writeTag(tag, Pbf.Bytes);
493
+ this.writeString(str);
494
+ },
495
+ writeFloatField: function(tag, val) {
496
+ this.writeTag(tag, Pbf.Fixed32);
497
+ this.writeFloat(val);
498
+ },
499
+ writeDoubleField: function(tag, val) {
500
+ this.writeTag(tag, Pbf.Fixed64);
501
+ this.writeDouble(val);
502
+ },
503
+ writeBooleanField: function(tag, val) {
504
+ this.writeVarintField(tag, Boolean(val));
505
+ }
506
+ };
507
+ function readVarintRemainder(l, s, p) {
508
+ var buf = p.buf, h, b;
509
+ b = buf[p.pos++];
510
+ h = (b & 112) >> 4;
511
+ if (b < 128)
512
+ return toNum(l, h, s);
513
+ b = buf[p.pos++];
514
+ h |= (b & 127) << 3;
515
+ if (b < 128)
516
+ return toNum(l, h, s);
517
+ b = buf[p.pos++];
518
+ h |= (b & 127) << 10;
519
+ if (b < 128)
520
+ return toNum(l, h, s);
521
+ b = buf[p.pos++];
522
+ h |= (b & 127) << 17;
523
+ if (b < 128)
524
+ return toNum(l, h, s);
525
+ b = buf[p.pos++];
526
+ h |= (b & 127) << 24;
527
+ if (b < 128)
528
+ return toNum(l, h, s);
529
+ b = buf[p.pos++];
530
+ h |= (b & 1) << 31;
531
+ if (b < 128)
532
+ return toNum(l, h, s);
533
+ throw new Error("Expected varint not more than 10 bytes");
534
+ }
535
+ function readPackedEnd(pbf) {
536
+ return pbf.type === Pbf.Bytes ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
537
+ }
538
+ function toNum(low, high, isSigned) {
539
+ if (isSigned) {
540
+ return high * 4294967296 + (low >>> 0);
541
+ }
542
+ return (high >>> 0) * 4294967296 + (low >>> 0);
543
+ }
544
+ function writeBigVarint(val, pbf) {
545
+ var low, high;
546
+ if (val >= 0) {
547
+ low = val % 4294967296 | 0;
548
+ high = val / 4294967296 | 0;
549
+ } else {
550
+ low = ~(-val % 4294967296);
551
+ high = ~(-val / 4294967296);
552
+ if (low ^ 4294967295) {
553
+ low = low + 1 | 0;
554
+ } else {
555
+ low = 0;
556
+ high = high + 1 | 0;
557
+ }
558
+ }
559
+ if (val >= 18446744073709552e3 || val < -18446744073709552e3) {
560
+ throw new Error("Given varint doesn't fit into 10 bytes");
561
+ }
562
+ pbf.realloc(10);
563
+ writeBigVarintLow(low, high, pbf);
564
+ writeBigVarintHigh(high, pbf);
565
+ }
566
+ function writeBigVarintLow(low, high, pbf) {
567
+ pbf.buf[pbf.pos++] = low & 127 | 128;
568
+ low >>>= 7;
569
+ pbf.buf[pbf.pos++] = low & 127 | 128;
570
+ low >>>= 7;
571
+ pbf.buf[pbf.pos++] = low & 127 | 128;
572
+ low >>>= 7;
573
+ pbf.buf[pbf.pos++] = low & 127 | 128;
574
+ low >>>= 7;
575
+ pbf.buf[pbf.pos] = low & 127;
576
+ }
577
+ function writeBigVarintHigh(high, pbf) {
578
+ var lsb = (high & 7) << 4;
579
+ pbf.buf[pbf.pos++] |= lsb | ((high >>>= 3) ? 128 : 0);
580
+ if (!high)
581
+ return;
582
+ pbf.buf[pbf.pos++] = high & 127 | ((high >>>= 7) ? 128 : 0);
583
+ if (!high)
584
+ return;
585
+ pbf.buf[pbf.pos++] = high & 127 | ((high >>>= 7) ? 128 : 0);
586
+ if (!high)
587
+ return;
588
+ pbf.buf[pbf.pos++] = high & 127 | ((high >>>= 7) ? 128 : 0);
589
+ if (!high)
590
+ return;
591
+ pbf.buf[pbf.pos++] = high & 127 | ((high >>>= 7) ? 128 : 0);
592
+ if (!high)
593
+ return;
594
+ pbf.buf[pbf.pos++] = high & 127;
595
+ }
596
+ function makeRoomForExtraLength(startPos, len, pbf) {
597
+ var extraLen = len <= 16383 ? 1 : len <= 2097151 ? 2 : len <= 268435455 ? 3 : Math.floor(Math.log(len) / (Math.LN2 * 7));
598
+ pbf.realloc(extraLen);
599
+ for (var i = pbf.pos - 1; i >= startPos; i--)
600
+ pbf.buf[i + extraLen] = pbf.buf[i];
601
+ }
602
+ function writePackedVarint(arr, pbf) {
603
+ for (var i = 0; i < arr.length; i++)
604
+ pbf.writeVarint(arr[i]);
605
+ }
606
+ function writePackedSVarint(arr, pbf) {
607
+ for (var i = 0; i < arr.length; i++)
608
+ pbf.writeSVarint(arr[i]);
609
+ }
610
+ function writePackedFloat(arr, pbf) {
611
+ for (var i = 0; i < arr.length; i++)
612
+ pbf.writeFloat(arr[i]);
613
+ }
614
+ function writePackedDouble(arr, pbf) {
615
+ for (var i = 0; i < arr.length; i++)
616
+ pbf.writeDouble(arr[i]);
617
+ }
618
+ function writePackedBoolean(arr, pbf) {
619
+ for (var i = 0; i < arr.length; i++)
620
+ pbf.writeBoolean(arr[i]);
621
+ }
622
+ function writePackedFixed32(arr, pbf) {
623
+ for (var i = 0; i < arr.length; i++)
624
+ pbf.writeFixed32(arr[i]);
625
+ }
626
+ function writePackedSFixed32(arr, pbf) {
627
+ for (var i = 0; i < arr.length; i++)
628
+ pbf.writeSFixed32(arr[i]);
629
+ }
630
+ function writePackedFixed64(arr, pbf) {
631
+ for (var i = 0; i < arr.length; i++)
632
+ pbf.writeFixed64(arr[i]);
633
+ }
634
+ function writePackedSFixed64(arr, pbf) {
635
+ for (var i = 0; i < arr.length; i++)
636
+ pbf.writeSFixed64(arr[i]);
637
+ }
638
+ function readUInt32(buf, pos) {
639
+ return (buf[pos] | buf[pos + 1] << 8 | buf[pos + 2] << 16) + buf[pos + 3] * 16777216;
640
+ }
641
+ function writeInt32(buf, val, pos) {
642
+ buf[pos] = val;
643
+ buf[pos + 1] = val >>> 8;
644
+ buf[pos + 2] = val >>> 16;
645
+ buf[pos + 3] = val >>> 24;
646
+ }
647
+ function readInt32(buf, pos) {
648
+ return (buf[pos] | buf[pos + 1] << 8 | buf[pos + 2] << 16) + (buf[pos + 3] << 24);
649
+ }
650
+ function readUtf8(buf, pos, end) {
651
+ var str = "";
652
+ var i = pos;
653
+ while (i < end) {
654
+ var b0 = buf[i];
655
+ var c = null;
656
+ var bytesPerSequence = b0 > 239 ? 4 : b0 > 223 ? 3 : b0 > 191 ? 2 : 1;
657
+ if (i + bytesPerSequence > end)
658
+ break;
659
+ var b1, b2, b3;
660
+ if (bytesPerSequence === 1) {
661
+ if (b0 < 128) {
662
+ c = b0;
663
+ }
664
+ } else if (bytesPerSequence === 2) {
665
+ b1 = buf[i + 1];
666
+ if ((b1 & 192) === 128) {
667
+ c = (b0 & 31) << 6 | b1 & 63;
668
+ if (c <= 127) {
669
+ c = null;
670
+ }
671
+ }
672
+ } else if (bytesPerSequence === 3) {
673
+ b1 = buf[i + 1];
674
+ b2 = buf[i + 2];
675
+ if ((b1 & 192) === 128 && (b2 & 192) === 128) {
676
+ c = (b0 & 15) << 12 | (b1 & 63) << 6 | b2 & 63;
677
+ if (c <= 2047 || c >= 55296 && c <= 57343) {
678
+ c = null;
679
+ }
680
+ }
681
+ } else if (bytesPerSequence === 4) {
682
+ b1 = buf[i + 1];
683
+ b2 = buf[i + 2];
684
+ b3 = buf[i + 3];
685
+ if ((b1 & 192) === 128 && (b2 & 192) === 128 && (b3 & 192) === 128) {
686
+ c = (b0 & 15) << 18 | (b1 & 63) << 12 | (b2 & 63) << 6 | b3 & 63;
687
+ if (c <= 65535 || c >= 1114112) {
688
+ c = null;
689
+ }
690
+ }
691
+ }
692
+ if (c === null) {
693
+ c = 65533;
694
+ bytesPerSequence = 1;
695
+ } else if (c > 65535) {
696
+ c -= 65536;
697
+ str += String.fromCharCode(c >>> 10 & 1023 | 55296);
698
+ c = 56320 | c & 1023;
699
+ }
700
+ str += String.fromCharCode(c);
701
+ i += bytesPerSequence;
702
+ }
703
+ return str;
704
+ }
705
+ function readUtf8TextDecoder(buf, pos, end) {
706
+ return utf8TextDecoder.decode(buf.subarray(pos, end));
707
+ }
708
+ function writeUtf8(buf, str, pos) {
709
+ for (var i = 0, c, lead; i < str.length; i++) {
710
+ c = str.charCodeAt(i);
711
+ if (c > 55295 && c < 57344) {
712
+ if (lead) {
713
+ if (c < 56320) {
714
+ buf[pos++] = 239;
715
+ buf[pos++] = 191;
716
+ buf[pos++] = 189;
717
+ lead = c;
718
+ continue;
719
+ } else {
720
+ c = lead - 55296 << 10 | c - 56320 | 65536;
721
+ lead = null;
722
+ }
723
+ } else {
724
+ if (c > 56319 || i + 1 === str.length) {
725
+ buf[pos++] = 239;
726
+ buf[pos++] = 191;
727
+ buf[pos++] = 189;
728
+ } else {
729
+ lead = c;
730
+ }
731
+ continue;
732
+ }
733
+ } else if (lead) {
734
+ buf[pos++] = 239;
735
+ buf[pos++] = 191;
736
+ buf[pos++] = 189;
737
+ lead = null;
738
+ }
739
+ if (c < 128) {
740
+ buf[pos++] = c;
741
+ } else {
742
+ if (c < 2048) {
743
+ buf[pos++] = c >> 6 | 192;
744
+ } else {
745
+ if (c < 65536) {
746
+ buf[pos++] = c >> 12 | 224;
747
+ } else {
748
+ buf[pos++] = c >> 18 | 240;
749
+ buf[pos++] = c >> 12 & 63 | 128;
750
+ }
751
+ buf[pos++] = c >> 6 & 63 | 128;
752
+ }
753
+ buf[pos++] = c & 63 | 128;
754
+ }
755
+ }
756
+ return pos;
757
+ }
758
+ }
759
+ });
760
+
761
+ // ../../node_modules/tilebelt/index.js
762
+ var require_tilebelt = __commonJS({
763
+ "../../node_modules/tilebelt/index.js"(exports, module) {
764
+ var d2r = Math.PI / 180;
765
+ var r2d = 180 / Math.PI;
766
+ function tileToBBOX(tile) {
767
+ var e = tile2lon(tile[0] + 1, tile[2]);
768
+ var w = tile2lon(tile[0], tile[2]);
769
+ var s = tile2lat(tile[1] + 1, tile[2]);
770
+ var n = tile2lat(tile[1], tile[2]);
771
+ return [w, s, e, n];
772
+ }
773
+ function tileToGeoJSON(tile) {
774
+ var bbox = tileToBBOX(tile);
775
+ var poly = {
776
+ type: "Polygon",
777
+ coordinates: [
778
+ [
779
+ [bbox[0], bbox[1]],
780
+ [bbox[0], bbox[3]],
781
+ [bbox[2], bbox[3]],
782
+ [bbox[2], bbox[1]],
783
+ [bbox[0], bbox[1]]
784
+ ]
785
+ ]
786
+ };
787
+ return poly;
788
+ }
789
+ function tile2lon(x, z) {
790
+ return x / Math.pow(2, z) * 360 - 180;
791
+ }
792
+ function tile2lat(y, z) {
793
+ var n = Math.PI - 2 * Math.PI * y / Math.pow(2, z);
794
+ return r2d * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));
795
+ }
796
+ function pointToTile(lon, lat, z) {
797
+ var tile = pointToTileFraction(lon, lat, z);
798
+ tile[0] = Math.floor(tile[0]);
799
+ tile[1] = Math.floor(tile[1]);
800
+ return tile;
801
+ }
802
+ function getChildren(tile) {
803
+ return [
804
+ [tile[0] * 2, tile[1] * 2, tile[2] + 1],
805
+ [tile[0] * 2 + 1, tile[1] * 2, tile[2] + 1],
806
+ [tile[0] * 2 + 1, tile[1] * 2 + 1, tile[2] + 1],
807
+ [tile[0] * 2, tile[1] * 2 + 1, tile[2] + 1]
808
+ ];
809
+ }
810
+ function getParent(tile) {
811
+ if (tile[0] % 2 === 0 && tile[1] % 2 === 0) {
812
+ return [tile[0] / 2, tile[1] / 2, tile[2] - 1];
813
+ } else if (tile[0] % 2 === 0 && !tile[1] % 2 === 0) {
814
+ return [tile[0] / 2, (tile[1] - 1) / 2, tile[2] - 1];
815
+ } else if (!tile[0] % 2 === 0 && tile[1] % 2 === 0) {
816
+ return [(tile[0] - 1) / 2, tile[1] / 2, tile[2] - 1];
817
+ } else {
818
+ return [(tile[0] - 1) / 2, (tile[1] - 1) / 2, tile[2] - 1];
819
+ }
820
+ }
821
+ function getSiblings(tile) {
822
+ return getChildren(getParent(tile));
823
+ }
824
+ function hasSiblings(tile, tiles2) {
825
+ var siblings = getSiblings(tile);
826
+ for (var i = 0; i < siblings.length; i++) {
827
+ if (!hasTile(tiles2, siblings[i]))
828
+ return false;
829
+ }
830
+ return true;
831
+ }
832
+ function hasTile(tiles2, tile) {
833
+ for (var i = 0; i < tiles2.length; i++) {
834
+ if (tilesEqual(tiles2[i], tile))
835
+ return true;
836
+ }
837
+ return false;
838
+ }
839
+ function tilesEqual(tile1, tile2) {
840
+ return tile1[0] === tile2[0] && tile1[1] === tile2[1] && tile1[2] === tile2[2];
841
+ }
842
+ function tileToQuadkey(tile) {
843
+ var index = "";
844
+ for (var z = tile[2]; z > 0; z--) {
845
+ var b = 0;
846
+ var mask = 1 << z - 1;
847
+ if ((tile[0] & mask) !== 0)
848
+ b++;
849
+ if ((tile[1] & mask) !== 0)
850
+ b += 2;
851
+ index += b.toString();
852
+ }
853
+ return index;
854
+ }
855
+ function quadkeyToTile(quadkey) {
856
+ var x = 0;
857
+ var y = 0;
858
+ var z = quadkey.length;
859
+ for (var i = z; i > 0; i--) {
860
+ var mask = 1 << i - 1;
861
+ switch (quadkey[z - i]) {
862
+ case "0":
863
+ break;
864
+ case "1":
865
+ x |= mask;
866
+ break;
867
+ case "2":
868
+ y |= mask;
869
+ break;
870
+ case "3":
871
+ x |= mask;
872
+ y |= mask;
873
+ break;
874
+ }
875
+ }
876
+ return [x, y, z];
877
+ }
878
+ function bboxToTile(bboxCoords) {
879
+ var min = pointToTile(bboxCoords[0], bboxCoords[1], 32);
880
+ var max = pointToTile(bboxCoords[2], bboxCoords[3], 32);
881
+ var bbox = [min[0], min[1], max[0], max[1]];
882
+ var z = getBboxZoom(bbox);
883
+ if (z === 0)
884
+ return [0, 0, 0];
885
+ var x = bbox[0] >>> 32 - z;
886
+ var y = bbox[1] >>> 32 - z;
887
+ return [x, y, z];
888
+ }
889
+ function getBboxZoom(bbox) {
890
+ var MAX_ZOOM = 28;
891
+ for (var z = 0; z < MAX_ZOOM; z++) {
892
+ var mask = 1 << 32 - (z + 1);
893
+ if ((bbox[0] & mask) != (bbox[2] & mask) || (bbox[1] & mask) != (bbox[3] & mask)) {
894
+ return z;
895
+ }
896
+ }
897
+ return MAX_ZOOM;
898
+ }
899
+ function pointToTileFraction(lon, lat, z) {
900
+ var sin = Math.sin(lat * d2r), z2 = Math.pow(2, z), x = z2 * (lon / 360 + 0.5), y = z2 * (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);
901
+ return [x, y, z];
902
+ }
903
+ module.exports = {
904
+ tileToGeoJSON,
905
+ tileToBBOX,
906
+ getChildren,
907
+ getParent,
908
+ getSiblings,
909
+ hasTile,
910
+ hasSiblings,
911
+ tilesEqual,
912
+ tileToQuadkey,
913
+ quadkeyToTile,
914
+ pointToTile,
915
+ bboxToTile,
916
+ pointToTileFraction
917
+ };
918
+ }
919
+ });
920
+
921
+ // ../../node_modules/@mapbox/tile-cover/index.js
922
+ var require_tile_cover = __commonJS({
923
+ "../../node_modules/@mapbox/tile-cover/index.js"(exports) {
924
+ var tilebelt = require_tilebelt();
925
+ exports.geojson = function(geom, limits) {
926
+ return {
927
+ type: "FeatureCollection",
928
+ features: getTiles(geom, limits).map(tileToFeature)
929
+ };
930
+ };
931
+ function tileToFeature(t) {
932
+ return {
933
+ type: "Feature",
934
+ geometry: tilebelt.tileToGeoJSON(t),
935
+ properties: {}
936
+ };
937
+ }
938
+ exports.tiles = getTiles;
939
+ exports.indexes = function(geom, limits) {
940
+ return getTiles(geom, limits).map(tilebelt.tileToQuadkey);
941
+ };
942
+ function getTiles(geom, limits) {
943
+ var i, tile, coords = geom.coordinates, maxZoom = limits.max_zoom, tileHash = {}, tiles2 = [];
944
+ if (geom.type === "Point") {
945
+ return [tilebelt.pointToTile(coords[0], coords[1], maxZoom)];
946
+ } else if (geom.type === "MultiPoint") {
947
+ for (i = 0; i < coords.length; i++) {
948
+ tile = tilebelt.pointToTile(coords[i][0], coords[i][1], maxZoom);
949
+ tileHash[toID(tile[0], tile[1], tile[2])] = true;
950
+ }
951
+ } else if (geom.type === "LineString") {
952
+ lineCover(tileHash, coords, maxZoom);
953
+ } else if (geom.type === "MultiLineString") {
954
+ for (i = 0; i < coords.length; i++) {
955
+ lineCover(tileHash, coords[i], maxZoom);
956
+ }
957
+ } else if (geom.type === "Polygon") {
958
+ polygonCover(tileHash, tiles2, coords, maxZoom);
959
+ } else if (geom.type === "MultiPolygon") {
960
+ for (i = 0; i < coords.length; i++) {
961
+ polygonCover(tileHash, tiles2, coords[i], maxZoom);
962
+ }
963
+ } else {
964
+ throw new Error("Geometry type not implemented");
965
+ }
966
+ if (limits.min_zoom !== maxZoom) {
967
+ var len = tiles2.length;
968
+ appendHashTiles(tileHash, tiles2);
969
+ for (i = 0; i < len; i++) {
970
+ var t = tiles2[i];
971
+ tileHash[toID(t[0], t[1], t[2])] = true;
972
+ }
973
+ return mergeTiles(tileHash, tiles2, limits);
974
+ }
975
+ appendHashTiles(tileHash, tiles2);
976
+ return tiles2;
977
+ }
978
+ function mergeTiles(tileHash, tiles2, limits) {
979
+ var mergedTiles = [];
980
+ for (var z = limits.max_zoom; z > limits.min_zoom; z--) {
981
+ var parentTileHash = {};
982
+ var parentTiles = [];
983
+ for (var i = 0; i < tiles2.length; i++) {
984
+ var t = tiles2[i];
985
+ if (t[0] % 2 === 0 && t[1] % 2 === 0) {
986
+ var id2 = toID(t[0] + 1, t[1], z), id3 = toID(t[0], t[1] + 1, z), id4 = toID(t[0] + 1, t[1] + 1, z);
987
+ if (tileHash[id2] && tileHash[id3] && tileHash[id4]) {
988
+ tileHash[toID(t[0], t[1], t[2])] = false;
989
+ tileHash[id2] = false;
990
+ tileHash[id3] = false;
991
+ tileHash[id4] = false;
992
+ var parentTile = [t[0] / 2, t[1] / 2, z - 1];
993
+ if (z - 1 === limits.min_zoom)
994
+ mergedTiles.push(parentTile);
995
+ else {
996
+ parentTileHash[toID(t[0] / 2, t[1] / 2, z - 1)] = true;
997
+ parentTiles.push(parentTile);
998
+ }
999
+ }
1000
+ }
1001
+ }
1002
+ for (i = 0; i < tiles2.length; i++) {
1003
+ t = tiles2[i];
1004
+ if (tileHash[toID(t[0], t[1], t[2])])
1005
+ mergedTiles.push(t);
1006
+ }
1007
+ tileHash = parentTileHash;
1008
+ tiles2 = parentTiles;
1009
+ }
1010
+ return mergedTiles;
1011
+ }
1012
+ function polygonCover(tileHash, tileArray, geom, zoom) {
1013
+ var intersections = [];
1014
+ for (var i = 0; i < geom.length; i++) {
1015
+ var ring = [];
1016
+ lineCover(tileHash, geom[i], zoom, ring);
1017
+ for (var j = 0, len = ring.length, k = len - 1; j < len; k = j++) {
1018
+ var m = (j + 1) % len;
1019
+ var y = ring[j][1];
1020
+ if ((y > ring[k][1] || y > ring[m][1]) && (y < ring[k][1] || y < ring[m][1]) && y !== ring[m][1])
1021
+ intersections.push(ring[j]);
1022
+ }
1023
+ }
1024
+ intersections.sort(compareTiles);
1025
+ for (i = 0; i < intersections.length; i += 2) {
1026
+ y = intersections[i][1];
1027
+ for (var x = intersections[i][0] + 1; x < intersections[i + 1][0]; x++) {
1028
+ var id2 = toID(x, y, zoom);
1029
+ if (!tileHash[id2]) {
1030
+ tileArray.push([x, y, zoom]);
1031
+ }
1032
+ }
1033
+ }
1034
+ }
1035
+ function compareTiles(a, b) {
1036
+ return a[1] - b[1] || a[0] - b[0];
1037
+ }
1038
+ function lineCover(tileHash, coords, maxZoom, ring) {
1039
+ var prevX, prevY;
1040
+ for (var i = 0; i < coords.length - 1; i++) {
1041
+ var start = tilebelt.pointToTileFraction(coords[i][0], coords[i][1], maxZoom), stop = tilebelt.pointToTileFraction(coords[i + 1][0], coords[i + 1][1], maxZoom), x0 = start[0], y0 = start[1], x1 = stop[0], y1 = stop[1], dx = x1 - x0, dy = y1 - y0;
1042
+ if (dy === 0 && dx === 0)
1043
+ continue;
1044
+ var sx = dx > 0 ? 1 : -1, sy = dy > 0 ? 1 : -1, x = Math.floor(x0), y = Math.floor(y0), tMaxX = dx === 0 ? Infinity : Math.abs(((dx > 0 ? 1 : 0) + x - x0) / dx), tMaxY = dy === 0 ? Infinity : Math.abs(((dy > 0 ? 1 : 0) + y - y0) / dy), tdx = Math.abs(sx / dx), tdy = Math.abs(sy / dy);
1045
+ if (x !== prevX || y !== prevY) {
1046
+ tileHash[toID(x, y, maxZoom)] = true;
1047
+ if (ring && y !== prevY)
1048
+ ring.push([x, y]);
1049
+ prevX = x;
1050
+ prevY = y;
1051
+ }
1052
+ while (tMaxX < 1 || tMaxY < 1) {
1053
+ if (tMaxX < tMaxY) {
1054
+ tMaxX += tdx;
1055
+ x += sx;
1056
+ } else {
1057
+ tMaxY += tdy;
1058
+ y += sy;
1059
+ }
1060
+ tileHash[toID(x, y, maxZoom)] = true;
1061
+ if (ring && y !== prevY)
1062
+ ring.push([x, y]);
1063
+ prevX = x;
1064
+ prevY = y;
1065
+ }
1066
+ }
1067
+ if (ring && y === ring[0][1])
1068
+ ring.pop();
1069
+ }
1070
+ function appendHashTiles(hash, tiles2) {
1071
+ var keys = Object.keys(hash);
1072
+ for (var i = 0; i < keys.length; i++) {
1073
+ tiles2.push(fromID(+keys[i]));
1074
+ }
1075
+ }
1076
+ function toID(x, y, z) {
1077
+ var dim = 2 * (1 << z);
1078
+ return (dim * y + x) * 32 + z;
1079
+ }
1080
+ function fromID(id2) {
1081
+ var z = id2 % 32, dim = 2 * (1 << z), xy = (id2 - z) / 32, x = xy % dim, y = (xy - x) / dim % dim;
1082
+ return [x, y, z];
1083
+ }
1084
+ }
1085
+ });
1086
+
1087
+ // ../../node_modules/@loaders.gl/worker-utils/dist/esm/lib/worker-utils/get-transfer-list.js
1088
+ function getTransferList(object) {
1089
+ let recursive = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
1090
+ let transfers = arguments.length > 2 ? arguments[2] : void 0;
1091
+ const transfersSet = transfers || /* @__PURE__ */ new Set();
1092
+ if (!object) {
1093
+ } else if (isTransferable(object)) {
1094
+ transfersSet.add(object);
1095
+ } else if (isTransferable(object.buffer)) {
1096
+ transfersSet.add(object.buffer);
1097
+ } else if (ArrayBuffer.isView(object)) {
1098
+ } else if (recursive && typeof object === "object") {
1099
+ for (const key in object) {
1100
+ getTransferList(object[key], recursive, transfersSet);
1101
+ }
1102
+ }
1103
+ return transfers === void 0 ? Array.from(transfersSet) : [];
1104
+ }
1105
+ function isTransferable(object) {
1106
+ if (!object) {
1107
+ return false;
1108
+ }
1109
+ if (object instanceof ArrayBuffer) {
1110
+ return true;
1111
+ }
1112
+ if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
1113
+ return true;
1114
+ }
1115
+ if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
1116
+ return true;
1117
+ }
1118
+ if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
1119
+ return true;
1120
+ }
1121
+ return false;
1122
+ }
1123
+
1124
+ // ../../node_modules/@loaders.gl/worker-utils/dist/esm/lib/worker-farm/worker-body.js
1125
+ function getParentPort() {
1126
+ let parentPort;
1127
+ try {
1128
+ eval("globalThis.parentPort = require('worker_threads').parentPort");
1129
+ parentPort = globalThis.parentPort;
1130
+ } catch {
1131
+ }
1132
+ return parentPort;
1133
+ }
1134
+ var onMessageWrapperMap = /* @__PURE__ */ new Map();
1135
+ var WorkerBody = class {
1136
+ static inWorkerThread() {
1137
+ return typeof self !== "undefined" || Boolean(getParentPort());
1138
+ }
1139
+ static set onmessage(onMessage) {
1140
+ function handleMessage(message) {
1141
+ const parentPort3 = getParentPort();
1142
+ const {
1143
+ type,
1144
+ payload
1145
+ } = parentPort3 ? message : message.data;
1146
+ onMessage(type, payload);
1147
+ }
1148
+ const parentPort2 = getParentPort();
1149
+ if (parentPort2) {
1150
+ parentPort2.on("message", handleMessage);
1151
+ parentPort2.on("exit", () => console.debug("Node worker closing"));
1152
+ } else {
1153
+ globalThis.onmessage = handleMessage;
1154
+ }
1155
+ }
1156
+ static addEventListener(onMessage) {
1157
+ let onMessageWrapper = onMessageWrapperMap.get(onMessage);
1158
+ if (!onMessageWrapper) {
1159
+ onMessageWrapper = (message) => {
1160
+ if (!isKnownMessage(message)) {
1161
+ return;
1162
+ }
1163
+ const parentPort3 = getParentPort();
1164
+ const {
1165
+ type,
1166
+ payload
1167
+ } = parentPort3 ? message : message.data;
1168
+ onMessage(type, payload);
1169
+ };
1170
+ }
1171
+ const parentPort2 = getParentPort();
1172
+ if (parentPort2) {
1173
+ console.error("not implemented");
1174
+ } else {
1175
+ globalThis.addEventListener("message", onMessageWrapper);
1176
+ }
1177
+ }
1178
+ static removeEventListener(onMessage) {
1179
+ const onMessageWrapper = onMessageWrapperMap.get(onMessage);
1180
+ onMessageWrapperMap.delete(onMessage);
1181
+ const parentPort2 = getParentPort();
1182
+ if (parentPort2) {
1183
+ console.error("not implemented");
1184
+ } else {
1185
+ globalThis.removeEventListener("message", onMessageWrapper);
1186
+ }
1187
+ }
1188
+ static postMessage(type, payload) {
1189
+ const data = {
1190
+ source: "loaders.gl",
1191
+ type,
1192
+ payload
1193
+ };
1194
+ const transferList = getTransferList(payload);
1195
+ const parentPort2 = getParentPort();
1196
+ if (parentPort2) {
1197
+ parentPort2.postMessage(data, transferList);
1198
+ } else {
1199
+ globalThis.postMessage(data, transferList);
1200
+ }
1201
+ }
1202
+ };
1203
+ function isKnownMessage(message) {
1204
+ const {
1205
+ type,
1206
+ data
1207
+ } = message;
1208
+ return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
1209
+ }
1210
+
1211
+ // ../../node_modules/@loaders.gl/loader-utils/dist/esm/lib/worker-loader-utils/create-loader-worker.js
1212
+ var requestId = 0;
1213
+ function createLoaderWorker(loader) {
1214
+ if (!WorkerBody.inWorkerThread()) {
1215
+ return;
1216
+ }
1217
+ WorkerBody.onmessage = async (type, payload) => {
1218
+ switch (type) {
1219
+ case "process":
1220
+ try {
1221
+ const {
1222
+ input,
1223
+ options = {},
1224
+ context = {}
1225
+ } = payload;
1226
+ const result = await parseData({
1227
+ loader,
1228
+ arrayBuffer: input,
1229
+ options,
1230
+ context: {
1231
+ ...context,
1232
+ parse: parseOnMainThread
1233
+ }
1234
+ });
1235
+ WorkerBody.postMessage("done", {
1236
+ result
1237
+ });
1238
+ } catch (error) {
1239
+ const message = error instanceof Error ? error.message : "";
1240
+ WorkerBody.postMessage("error", {
1241
+ error: message
1242
+ });
1243
+ }
1244
+ break;
1245
+ default:
1246
+ }
1247
+ };
1248
+ }
1249
+ function parseOnMainThread(arrayBuffer, options) {
1250
+ return new Promise((resolve, reject) => {
1251
+ const id2 = requestId++;
1252
+ const onMessage = (type, payload2) => {
1253
+ if (payload2.id !== id2) {
1254
+ return;
1255
+ }
1256
+ switch (type) {
1257
+ case "done":
1258
+ WorkerBody.removeEventListener(onMessage);
1259
+ resolve(payload2.result);
1260
+ break;
1261
+ case "error":
1262
+ WorkerBody.removeEventListener(onMessage);
1263
+ reject(payload2.error);
1264
+ break;
1265
+ default:
1266
+ }
1267
+ };
1268
+ WorkerBody.addEventListener(onMessage);
1269
+ const payload = {
1270
+ id: id2,
1271
+ input: arrayBuffer,
1272
+ options
1273
+ };
1274
+ WorkerBody.postMessage("process", payload);
1275
+ });
1276
+ }
1277
+ async function parseData(_ref) {
1278
+ let {
1279
+ loader,
1280
+ arrayBuffer,
1281
+ options,
1282
+ context
1283
+ } = _ref;
1284
+ let data;
1285
+ let parser;
1286
+ if (loader.parseSync || loader.parse) {
1287
+ data = arrayBuffer;
1288
+ parser = loader.parseSync || loader.parse;
1289
+ } else if (loader.parseTextSync) {
1290
+ const textDecoder = new TextDecoder();
1291
+ data = textDecoder.decode(arrayBuffer);
1292
+ parser = loader.parseTextSync;
1293
+ } else {
1294
+ throw new Error("Could not load data with ".concat(loader.name, " loader"));
1295
+ }
1296
+ options = {
1297
+ ...options,
1298
+ modules: loader && loader.options && loader.options.modules || {},
1299
+ worker: false
1300
+ };
1301
+ return await parser(data, {
1302
+ ...options
1303
+ }, context, loader);
1304
+ }
1305
+
1306
+ // src/layers/schema/fast-pbf.ts
1307
+ function readPackedTypedArray(TypedArray, pbf, obj) {
1308
+ const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
1309
+ obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
1310
+ pbf.pos = end;
1311
+ return obj.value;
1312
+ }
1313
+
1314
+ // src/layers/schema/carto-tile.ts
1315
+ var KeyValueObjectReader = class {
1316
+ static read(pbf, end) {
1317
+ return pbf.readFields(KeyValueObjectReader._readField, { key: "", value: null }, end);
1318
+ }
1319
+ static _readField(tag, obj, pbf) {
1320
+ if (tag === 1)
1321
+ obj.key = pbf.readString();
1322
+ else if (tag === 2)
1323
+ obj.value = pbf.readString();
1324
+ }
1325
+ };
1326
+ var PropertiesReader = class {
1327
+ static read(pbf, end) {
1328
+ return pbf.readFields(PropertiesReader._readField, {}, end);
1329
+ }
1330
+ static _readField(tag, obj, pbf) {
1331
+ if (tag === 1) {
1332
+ const { key, value } = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);
1333
+ obj[key] = value;
1334
+ }
1335
+ }
1336
+ };
1337
+ var NumericPropReader = class {
1338
+ static read(pbf, end) {
1339
+ return pbf.readFields(NumericPropReader._readField, { value: [] }, end);
1340
+ }
1341
+ static _readField(tag, obj, pbf) {
1342
+ if (tag === 1)
1343
+ readPackedTypedArray(Float64Array, pbf, obj);
1344
+ }
1345
+ };
1346
+ var NumericPropKeyValueReader = class {
1347
+ static read(pbf, end) {
1348
+ return pbf.readFields(NumericPropKeyValueReader._readField, { key: "", value: null }, end);
1349
+ }
1350
+ static _readField(tag, obj, pbf) {
1351
+ if (tag === 1)
1352
+ obj.key = pbf.readString();
1353
+ else if (tag === 2)
1354
+ obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
1355
+ }
1356
+ };
1357
+
1358
+ // src/layers/schema/carto-spatial-tile.ts
1359
+ var IndicesReader = class {
1360
+ static read(pbf, end) {
1361
+ return pbf.readFields(IndicesReader._readField, { value: [] }, end);
1362
+ }
1363
+ static _readField(tag, obj, pbf) {
1364
+ if (tag === 1)
1365
+ readPackedTypedArray(BigUint64Array, pbf, obj);
1366
+ }
1367
+ };
1368
+ var CellsReader = class {
1369
+ static read(pbf, end) {
1370
+ return pbf.readFields(
1371
+ CellsReader._readField,
1372
+ { indices: null, properties: [], numericProps: {} },
1373
+ end
1374
+ );
1375
+ }
1376
+ static _readField(tag, obj, pbf) {
1377
+ if (tag === 1)
1378
+ obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);
1379
+ else if (tag === 2)
1380
+ obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));
1381
+ else if (tag === 3) {
1382
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
1383
+ obj.numericProps[entry.key] = entry.value;
1384
+ }
1385
+ }
1386
+ };
1387
+ var TileReader = class {
1388
+ static read(pbf, end) {
1389
+ return pbf.readFields(TileReader._readField, { scheme: 0, cells: null }, end);
1390
+ }
1391
+ static _readField(tag, obj, pbf) {
1392
+ if (tag === 1)
1393
+ obj.scheme = pbf.readVarint();
1394
+ else if (tag === 2)
1395
+ obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);
1396
+ }
1397
+ };
1398
+
1399
+ // src/layers/schema/tile-loader-utils.ts
1400
+ var import_pbf = __toESM(require_pbf());
1401
+ function parsePbf(buffer, TileReader2) {
1402
+ const pbf = new import_pbf.default(buffer);
1403
+ const tile = TileReader2.read(pbf);
1404
+ return tile;
1405
+ }
1406
+
1407
+ // src/utils.ts
1408
+ function getWorkerUrl(id2, version) {
1409
+ return `https://unpkg.com/@deck.gl/carto@${version}/dist/${id2}-worker.js`;
1410
+ }
1411
+
1412
+ // ../../node_modules/quadbin/dist/esm/index.js
1413
+ var import_tile_cover = __toESM(require_tile_cover());
1414
+ function bigIntToHex(index) {
1415
+ return index.toString(16);
1416
+ }
1417
+
1418
+ // src/layers/schema/spatialjson-utils.ts
1419
+ function binaryToSpatialjson(binary) {
1420
+ const { cells, scheme } = binary;
1421
+ const count = cells.indices.value.length;
1422
+ const spatial = [];
1423
+ for (let i = 0; i < count; i++) {
1424
+ const id2 = scheme === "h3" ? bigIntToHex(cells.indices.value[i]) : cells.indices.value[i];
1425
+ const properties = { ...cells.properties[i] };
1426
+ for (const key of Object.keys(cells.numericProps)) {
1427
+ properties[key] = cells.numericProps[key].value[i];
1428
+ }
1429
+ spatial.push({ id: id2, properties });
1430
+ }
1431
+ return spatial;
1432
+ }
1433
+
1434
+ // src/layers/schema/carto-spatial-tile-loader.ts
1435
+ var VERSION = true ? "8.10.0-alpha.4" : "latest";
1436
+ var id = "cartoSpatialTile";
1437
+ var DEFAULT_OPTIONS = {
1438
+ cartoSpatialTile: {
1439
+ scheme: "quadbin",
1440
+ workerUrl: getWorkerUrl(id, VERSION)
1441
+ }
1442
+ };
1443
+ var CartoSpatialTileLoader = {
1444
+ name: "CARTO Spatial Tile",
1445
+ version: VERSION,
1446
+ id,
1447
+ module: "carto",
1448
+ extensions: ["pbf"],
1449
+ mimeTypes: ["application/vnd.carto-spatial-tile"],
1450
+ category: "geometry",
1451
+ parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),
1452
+ parseSync: parseCartoSpatialTile,
1453
+ worker: true,
1454
+ options: DEFAULT_OPTIONS
1455
+ };
1456
+ function parseCartoSpatialTile(arrayBuffer, options) {
1457
+ if (!arrayBuffer)
1458
+ return null;
1459
+ const tile = parsePbf(arrayBuffer, TileReader);
1460
+ const { cells } = tile;
1461
+ const scheme = options?.cartoSpatialTile?.scheme;
1462
+ const data = { cells, scheme };
1463
+ return binaryToSpatialjson(data);
1464
+ }
1465
+ var carto_spatial_tile_loader_default = CartoSpatialTileLoader;
1466
+
1467
+ // src/workers/cartoSpatialTile.ts
1468
+ createLoaderWorker(carto_spatial_tile_loader_default);
1469
+ })();