uomtiles 0.1.0

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 (507) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/1d1PDhA4.js +1 -0
  3. package/.output/public/_nuxt/3B2XYGg4.js +1 -0
  4. package/.output/public/_nuxt/981KwFWf.js +1 -0
  5. package/.output/public/_nuxt/B30dSvM4.js +1 -0
  6. package/.output/public/_nuxt/BN1Gp4Dm.js +1 -0
  7. package/.output/public/_nuxt/BQlj8Xoe.js +6 -0
  8. package/.output/public/_nuxt/BRkljK8J.js +1 -0
  9. package/.output/public/_nuxt/BSdHYVlE2.js +1 -0
  10. package/.output/public/_nuxt/B_MqTg2k2.js +1 -0
  11. package/.output/public/_nuxt/BiWblTbb2.js +64 -0
  12. package/.output/public/_nuxt/BrPwntMr.js +1 -0
  13. package/.output/public/_nuxt/BskybydR.js +1 -0
  14. package/.output/public/_nuxt/ByRlKR9F.js +1 -0
  15. package/.output/public/_nuxt/C0Zdl2EE2.js +1 -0
  16. package/.output/public/_nuxt/C4qlzA4o.js +1 -0
  17. package/.output/public/_nuxt/C7HxHbxA.js +1 -0
  18. package/.output/public/_nuxt/C97TfNgP.js +3 -0
  19. package/.output/public/_nuxt/CNs_Ozdc.js +1 -0
  20. package/.output/public/_nuxt/CPuhwLY1.js +1 -0
  21. package/.output/public/_nuxt/CVE291Pi.js +1 -0
  22. package/.output/public/_nuxt/C_0VY3Cv2.js +4 -0
  23. package/.output/public/_nuxt/Ce26t8_Y.js +1 -0
  24. package/.output/public/_nuxt/CfW544W5.js +1 -0
  25. package/.output/public/_nuxt/CgMd2Y5s.js +2 -0
  26. package/.output/public/_nuxt/CgdzV712.js +1 -0
  27. package/.output/public/_nuxt/D1wVNWS0.js +1 -0
  28. package/.output/public/_nuxt/DC3bhq63.js +1 -0
  29. package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
  30. package/.output/public/_nuxt/DL1MZZLI.js +1 -0
  31. package/.output/public/_nuxt/DXm-42Fi.js +1 -0
  32. package/.output/public/_nuxt/Djg3Kzfv.js +1 -0
  33. package/.output/public/_nuxt/DkcySee1.js +1 -0
  34. package/.output/public/_nuxt/DmN-PKW1.js +1 -0
  35. package/.output/public/_nuxt/DtFVCXI9.js +1 -0
  36. package/.output/public/_nuxt/Dz7VMlHR.js +1 -0
  37. package/.output/public/_nuxt/NL65vbjG2.js +1 -0
  38. package/.output/public/_nuxt/Oxy7pKSk.js +3 -0
  39. package/.output/public/_nuxt/Pik8or8N2.js +1 -0
  40. package/.output/public/_nuxt/XZ59tThl.js +1 -0
  41. package/.output/public/_nuxt/ZpWjFsgV.js +1 -0
  42. package/.output/public/_nuxt/builds/latest.json +1 -0
  43. package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +1 -0
  44. package/.output/public/_nuxt/dXz6dFgW2.js +1 -0
  45. package/.output/public/_nuxt/entry.P6tFNE31.css +1 -0
  46. package/.output/public/_nuxt/error-404.Biv0P6cJ.css +1 -0
  47. package/.output/public/_nuxt/error-500.8ok468rV.css +1 -0
  48. package/.output/public/_nuxt/j0MRD-c3.js +1 -0
  49. package/.output/public/_nuxt/local-pixel-diff.worker-C6RdZoCq.js +2 -0
  50. package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +6 -0
  51. package/.output/public/_nuxt/nearest-area.worker-iSLH0Y_s.js +2 -0
  52. package/.output/public/_nuxt/q7DkoVkj.js +828 -0
  53. package/.output/public/_nuxt/raster-tile.worker-BFlOgJig.js +2 -0
  54. package/.output/public/_nuxt/services._3nQizF8.css +1 -0
  55. package/.output/public/_nuxt/sql-wasm.DfANybxk.wasm +0 -0
  56. package/.output/public/_nuxt/tile-diff.worker-CvWWI_eu.js +1 -0
  57. package/.output/public/_nuxt/zZ1EGR7Y.js +1 -0
  58. package/.output/public/apple-touch-icon.png +0 -0
  59. package/.output/public/favicon.ico +0 -0
  60. package/.output/public/favicon.svg +8 -0
  61. package/.output/public/icon-192.png +0 -0
  62. package/.output/public/icon-512.png +0 -0
  63. package/.output/public/site.webmanifest +11 -0
  64. package/.output/server/chunks/_/config.mjs +208 -0
  65. package/.output/server/chunks/_/config.mjs.map +1 -0
  66. package/.output/server/chunks/_/data-directory.mjs +24 -0
  67. package/.output/server/chunks/_/data-directory.mjs.map +1 -0
  68. package/.output/server/chunks/_/error-500.mjs +20 -0
  69. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  70. package/.output/server/chunks/_/file-workspace.mjs +910 -0
  71. package/.output/server/chunks/_/file-workspace.mjs.map +1 -0
  72. package/.output/server/chunks/_/icons.mjs +6269 -0
  73. package/.output/server/chunks/_/icons.mjs.map +1 -0
  74. package/.output/server/chunks/_/map-service.mjs +233 -0
  75. package/.output/server/chunks/_/map-service.mjs.map +1 -0
  76. package/.output/server/chunks/_/missing-tile.mjs +104 -0
  77. package/.output/server/chunks/_/missing-tile.mjs.map +1 -0
  78. package/.output/server/chunks/_/pixel-diff.mjs +78 -0
  79. package/.output/server/chunks/_/pixel-diff.mjs.map +1 -0
  80. package/.output/server/chunks/_/uom-auth.mjs +334 -0
  81. package/.output/server/chunks/_/uom-auth.mjs.map +1 -0
  82. package/.output/server/chunks/_/uom-map.mjs +265 -0
  83. package/.output/server/chunks/_/uom-map.mjs.map +1 -0
  84. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs +5076 -0
  85. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +1 -0
  86. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +569 -0
  87. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +1 -0
  88. package/.output/server/chunks/build/Empty-CkW3mADt.mjs +359 -0
  89. package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +1 -0
  90. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs +207 -0
  91. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs.map +1 -0
  92. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs +278 -0
  93. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +1 -0
  94. package/.output/server/chunks/build/Input-BeNavYXb.mjs +592 -0
  95. package/.output/server/chunks/build/Input-BeNavYXb.mjs.map +1 -0
  96. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs +2003 -0
  97. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs.map +1 -0
  98. package/.output/server/chunks/build/Modal-DNZtVxca.mjs +1326 -0
  99. package/.output/server/chunks/build/Modal-DNZtVxca.mjs.map +1 -0
  100. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs +146 -0
  101. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +1 -0
  102. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs +1025 -0
  103. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs.map +1 -0
  104. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs +2066 -0
  105. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +1 -0
  106. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +379 -0
  107. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +1 -0
  108. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs +1087 -0
  109. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +1 -0
  110. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs +1345 -0
  111. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs.map +1 -0
  112. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs +7 -0
  113. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs.map +1 -0
  114. package/.output/server/chunks/build/advanced-D1onodoF.mjs +1430 -0
  115. package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +1 -0
  116. package/.output/server/chunks/build/compare-DmSAW8oA.mjs +1093 -0
  117. package/.output/server/chunks/build/compare-DmSAW8oA.mjs.map +1 -0
  118. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs +3217 -0
  119. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs.map +1 -0
  120. package/.output/server/chunks/build/details-CBMqXYyo.mjs +3714 -0
  121. package/.output/server/chunks/build/details-CBMqXYyo.mjs.map +1 -0
  122. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +86 -0
  123. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -0
  124. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs +9 -0
  125. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs.map +1 -0
  126. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +74 -0
  127. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -0
  128. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs +9 -0
  129. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs.map +1 -0
  130. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +1121 -0
  131. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -0
  132. package/.output/server/chunks/build/interval-BxUMpo78.mjs +411 -0
  133. package/.output/server/chunks/build/interval-BxUMpo78.mjs.map +1 -0
  134. package/.output/server/chunks/build/login-lbtjN0MV.mjs +642 -0
  135. package/.output/server/chunks/build/login-lbtjN0MV.mjs.map +1 -0
  136. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs +220 -0
  137. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +1 -0
  138. package/.output/server/chunks/build/services-DuJwjAB8.mjs +3005 -0
  139. package/.output/server/chunks/build/services-DuJwjAB8.mjs.map +1 -0
  140. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs +9 -0
  141. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs.map +1 -0
  142. package/.output/server/chunks/build/tasks-CyN9x492.mjs +915 -0
  143. package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +1 -0
  144. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs +87 -0
  145. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs.map +1 -0
  146. package/.output/server/chunks/nitro/nitro.mjs +6215 -0
  147. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  148. package/.output/server/chunks/routes/api/auth/captcha.post.mjs +21 -0
  149. package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -0
  150. package/.output/server/chunks/routes/api/auth/login.post.mjs +27 -0
  151. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -0
  152. package/.output/server/chunks/routes/api/auth/logout.post.mjs +22 -0
  153. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -0
  154. package/.output/server/chunks/routes/api/auth/map-token.post.mjs +22 -0
  155. package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -0
  156. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +31 -0
  157. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -0
  158. package/.output/server/chunks/routes/api/auth/status.get.mjs +21 -0
  159. package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -0
  160. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +44 -0
  161. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  162. package/.output/server/chunks/routes/api/map/live/status.get.mjs +32 -0
  163. package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -0
  164. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +48 -0
  165. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  166. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +46 -0
  167. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -0
  168. package/.output/server/chunks/routes/api/map-service/config.post.mjs +38 -0
  169. package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -0
  170. package/.output/server/chunks/routes/api/map-service/file.post.mjs +41 -0
  171. package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -0
  172. package/.output/server/chunks/routes/api/map-service/source.post.mjs +35 -0
  173. package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -0
  174. package/.output/server/chunks/routes/api/map-service/status.get.mjs +32 -0
  175. package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -0
  176. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +47 -0
  177. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -0
  178. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +38 -0
  179. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -0
  180. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +42 -0
  181. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -0
  182. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +48 -0
  183. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -0
  184. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +45 -0
  185. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -0
  186. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +32 -0
  187. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -0
  188. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +38 -0
  189. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -0
  190. package/.output/server/chunks/routes/api/workspace/compare.post.mjs +33 -0
  191. package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -0
  192. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +33 -0
  193. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -0
  194. package/.output/server/chunks/routes/api/workspace/files.get.mjs +27 -0
  195. package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -0
  196. package/.output/server/chunks/routes/api/workspace/files.post.mjs +38 -0
  197. package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -0
  198. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +32 -0
  199. package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -0
  200. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +36 -0
  201. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -0
  202. package/.output/server/chunks/routes/renderer.mjs +422 -0
  203. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  204. package/.output/server/chunks/routes/services/wms.get.mjs +54 -0
  205. package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -0
  206. package/.output/server/chunks/routes/services/wmts.get.mjs +54 -0
  207. package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -0
  208. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  209. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  210. package/.output/server/chunks/virtual/entry.mjs +18545 -0
  211. package/.output/server/chunks/virtual/entry.mjs.map +1 -0
  212. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  213. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  214. package/.output/server/chunks/virtual/styles.mjs +10 -0
  215. package/.output/server/chunks/virtual/styles.mjs.map +1 -0
  216. package/.output/server/index.mjs +12 -0
  217. package/.output/server/index.mjs.map +1 -0
  218. package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
  219. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  220. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  221. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  222. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  223. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  224. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  225. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  226. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  227. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  228. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  229. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  230. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  231. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  232. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  233. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  234. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  235. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  236. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  237. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  238. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  239. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  240. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  241. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  242. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  243. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  244. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  245. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  246. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  247. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  248. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  249. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  250. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  251. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  252. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  253. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  254. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  255. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  256. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  257. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  258. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  259. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  260. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  261. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  262. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  263. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  264. package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  265. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  266. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  267. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  268. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  269. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  270. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  271. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  272. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  273. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  274. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  275. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  276. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  277. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  278. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  279. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  280. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  281. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  282. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  283. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  284. package/.output/server/node_modules/@iconify/utils/package.json +119 -0
  285. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
  286. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  287. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
  288. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  289. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  290. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  291. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  292. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  293. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
  294. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  295. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
  296. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  297. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
  298. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  299. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
  300. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  301. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  302. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  303. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  304. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  305. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  306. package/.output/server/node_modules/consola/package.json +136 -0
  307. package/.output/server/node_modules/devalue/index.js +17 -0
  308. package/.output/server/node_modules/devalue/package.json +39 -0
  309. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  310. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  311. package/.output/server/node_modules/devalue/src/operations.js +193 -0
  312. package/.output/server/node_modules/devalue/src/parse.js +270 -0
  313. package/.output/server/node_modules/devalue/src/stringify.js +428 -0
  314. package/.output/server/node_modules/devalue/src/uneval.js +582 -0
  315. package/.output/server/node_modules/devalue/src/utils.js +185 -0
  316. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  317. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  318. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  319. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  320. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  321. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  322. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  323. package/.output/server/node_modules/entities/package.json +120 -0
  324. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  325. package/.output/server/node_modules/estree-walker/package.json +37 -0
  326. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  327. package/.output/server/node_modules/fflate/package.json +128 -0
  328. package/.output/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
  329. package/.output/server/node_modules/fnv1a-64/package.json +75 -0
  330. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  331. package/.output/server/node_modules/hookable/package.json +53 -0
  332. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  333. package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
  334. package/.output/server/node_modules/nostics/package.json +125 -0
  335. package/.output/server/node_modules/object-identity/index.js +60 -0
  336. package/.output/server/node_modules/object-identity/package.json +40 -0
  337. package/.output/server/node_modules/p-limit/index.js +104 -0
  338. package/.output/server/node_modules/p-limit/package.json +58 -0
  339. package/.output/server/node_modules/pmtiles/dist/esm/index.js +2 -0
  340. package/.output/server/node_modules/pmtiles/package.json +50 -0
  341. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  342. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  343. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  344. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  345. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  346. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  347. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  348. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  349. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  350. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  351. package/.output/server/node_modules/source-map-js/package.json +71 -0
  352. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  353. package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +1 -0
  354. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  355. package/.output/server/node_modules/tailwindcss/package.json +89 -0
  356. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  357. package/.output/server/node_modules/ufo/package.json +48 -0
  358. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  359. package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
  360. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  361. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  362. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  363. package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
  364. package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
  365. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  366. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  367. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  368. package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
  369. package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
  370. package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +585 -0
  371. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  372. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  373. package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +223 -0
  374. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  375. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  376. package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
  377. package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +196 -0
  378. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  379. package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
  380. package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +19 -0
  381. package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
  382. package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
  383. package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
  384. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  385. package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
  386. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  387. package/.output/server/node_modules/unhead/package.json +179 -0
  388. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  389. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  390. package/.output/server/node_modules/vue/index.js +7 -0
  391. package/.output/server/node_modules/vue/index.mjs +1 -0
  392. package/.output/server/node_modules/vue/package.json +112 -0
  393. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  394. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
  395. package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
  396. package/.output/server/node_modules/yocto-queue/index.js +90 -0
  397. package/.output/server/node_modules/yocto-queue/package.json +48 -0
  398. package/.output/server/node_modules/zod/index.js +4 -0
  399. package/.output/server/node_modules/zod/package.json +135 -0
  400. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  401. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  402. package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
  403. package/.output/server/node_modules/zod/v4/classic/errors.js +48 -0
  404. package/.output/server/node_modules/zod/v4/classic/external.js +20 -0
  405. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  406. package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
  407. package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
  408. package/.output/server/node_modules/zod/v4/classic/parse.js +15 -0
  409. package/.output/server/node_modules/zod/v4/classic/schemas.js +1395 -0
  410. package/.output/server/node_modules/zod/v4/core/api.js +1087 -0
  411. package/.output/server/node_modules/zod/v4/core/checks.js +575 -0
  412. package/.output/server/node_modules/zod/v4/core/core.js +78 -0
  413. package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
  414. package/.output/server/node_modules/zod/v4/core/errors.js +185 -0
  415. package/.output/server/node_modules/zod/v4/core/index.js +16 -0
  416. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  417. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  418. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  419. package/.output/server/node_modules/zod/v4/core/package.json +7 -0
  420. package/.output/server/node_modules/zod/v4/core/parse.js +93 -0
  421. package/.output/server/node_modules/zod/v4/core/regexes.js +139 -0
  422. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  423. package/.output/server/node_modules/zod/v4/core/schemas.js +2239 -0
  424. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +448 -0
  425. package/.output/server/node_modules/zod/v4/core/util.js +674 -0
  426. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  427. package/.output/server/node_modules/zod/v4/locales/ar.js +106 -0
  428. package/.output/server/node_modules/zod/v4/locales/az.js +105 -0
  429. package/.output/server/node_modules/zod/v4/locales/be.js +156 -0
  430. package/.output/server/node_modules/zod/v4/locales/bg.js +120 -0
  431. package/.output/server/node_modules/zod/v4/locales/ca.js +107 -0
  432. package/.output/server/node_modules/zod/v4/locales/cs.js +111 -0
  433. package/.output/server/node_modules/zod/v4/locales/da.js +115 -0
  434. package/.output/server/node_modules/zod/v4/locales/de.js +108 -0
  435. package/.output/server/node_modules/zod/v4/locales/el.js +109 -0
  436. package/.output/server/node_modules/zod/v4/locales/en.js +113 -0
  437. package/.output/server/node_modules/zod/v4/locales/eo.js +109 -0
  438. package/.output/server/node_modules/zod/v4/locales/es.js +132 -0
  439. package/.output/server/node_modules/zod/v4/locales/fa.js +114 -0
  440. package/.output/server/node_modules/zod/v4/locales/fi.js +112 -0
  441. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +107 -0
  442. package/.output/server/node_modules/zod/v4/locales/fr.js +125 -0
  443. package/.output/server/node_modules/zod/v4/locales/he.js +214 -0
  444. package/.output/server/node_modules/zod/v4/locales/hr.js +122 -0
  445. package/.output/server/node_modules/zod/v4/locales/hu.js +108 -0
  446. package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
  447. package/.output/server/node_modules/zod/v4/locales/id.js +106 -0
  448. package/.output/server/node_modules/zod/v4/locales/index.js +52 -0
  449. package/.output/server/node_modules/zod/v4/locales/is.js +109 -0
  450. package/.output/server/node_modules/zod/v4/locales/it.js +108 -0
  451. package/.output/server/node_modules/zod/v4/locales/ja.js +107 -0
  452. package/.output/server/node_modules/zod/v4/locales/ka.js +112 -0
  453. package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
  454. package/.output/server/node_modules/zod/v4/locales/km.js +110 -0
  455. package/.output/server/node_modules/zod/v4/locales/ko.js +111 -0
  456. package/.output/server/node_modules/zod/v4/locales/lt.js +203 -0
  457. package/.output/server/node_modules/zod/v4/locales/mk.js +109 -0
  458. package/.output/server/node_modules/zod/v4/locales/ms.js +107 -0
  459. package/.output/server/node_modules/zod/v4/locales/nl.js +110 -0
  460. package/.output/server/node_modules/zod/v4/locales/no.js +108 -0
  461. package/.output/server/node_modules/zod/v4/locales/ota.js +109 -0
  462. package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
  463. package/.output/server/node_modules/zod/v4/locales/pl.js +109 -0
  464. package/.output/server/node_modules/zod/v4/locales/ps.js +114 -0
  465. package/.output/server/node_modules/zod/v4/locales/pt.js +108 -0
  466. package/.output/server/node_modules/zod/v4/locales/ro.js +119 -0
  467. package/.output/server/node_modules/zod/v4/locales/ru.js +156 -0
  468. package/.output/server/node_modules/zod/v4/locales/sl.js +109 -0
  469. package/.output/server/node_modules/zod/v4/locales/sv.js +110 -0
  470. package/.output/server/node_modules/zod/v4/locales/ta.js +110 -0
  471. package/.output/server/node_modules/zod/v4/locales/th.js +110 -0
  472. package/.output/server/node_modules/zod/v4/locales/tr.js +105 -0
  473. package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
  474. package/.output/server/node_modules/zod/v4/locales/uk.js +108 -0
  475. package/.output/server/node_modules/zod/v4/locales/ur.js +110 -0
  476. package/.output/server/node_modules/zod/v4/locales/uz.js +110 -0
  477. package/.output/server/node_modules/zod/v4/locales/vi.js +108 -0
  478. package/.output/server/node_modules/zod/v4/locales/yo.js +107 -0
  479. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +109 -0
  480. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +107 -0
  481. package/.output/server/package.json +37 -0
  482. package/LICENSE +3 -0
  483. package/README.md +125 -0
  484. package/dist/src/bbox.js +55 -0
  485. package/dist/src/cli.js +255 -0
  486. package/dist/src/config.js +56 -0
  487. package/dist/src/core/fetch-process.js +19 -0
  488. package/dist/src/core/grid-renderer.js +149 -0
  489. package/dist/src/core/lease.js +103 -0
  490. package/dist/src/core/paths.js +13 -0
  491. package/dist/src/core/png.js +192 -0
  492. package/dist/src/core/raster-style.js +33 -0
  493. package/dist/src/core/uomtiles.js +307 -0
  494. package/dist/src/fetcher.js +208 -0
  495. package/dist/src/geographic-grid.js +162 -0
  496. package/dist/src/grid-crawl.js +478 -0
  497. package/dist/src/mask-image.js +16 -0
  498. package/dist/src/official-grid.js +51 -0
  499. package/dist/src/quality.js +30 -0
  500. package/dist/src/token.js +206 -0
  501. package/package.json +68 -0
  502. package/public/apple-touch-icon.png +0 -0
  503. package/public/favicon.ico +0 -0
  504. package/public/favicon.svg +8 -0
  505. package/public/icon-192.png +0 -0
  506. package/public/icon-512.png +0 -0
  507. package/public/site.webmanifest +11 -0
@@ -0,0 +1,187 @@
1
+ //#region src/formatters/plain.ts
2
+ /**
3
+ * Renders a diagnostic into a multi-line, unicode-decorated string suitable
4
+ * for terminal output. The first line is `[<name>] <message>`; optional
5
+ * details (`fix`, `sources`, `docs`) follow with `├▶`/`╰▶` connectors.
6
+ */
7
+ function formatDiagnostic(diagnostic) {
8
+ const header = `[${diagnostic.name}] ${diagnostic.message}`;
9
+ const details = [];
10
+ if (diagnostic.fix) details.push(`fix: ${diagnostic.fix}`);
11
+ if (diagnostic.sources?.length) details.push(`sources: ${diagnostic.sources.join(", ")}`);
12
+ if (diagnostic.docs) details.push(`see: ${diagnostic.docs}`);
13
+ if (details.length === 0) return header;
14
+ return [header, ...details.map((detail, i) => {
15
+ return `${i < details.length - 1 ? "├▶" : "╰▶"} ${detail}`;
16
+ })].join("\n");
17
+ }
18
+ //#endregion
19
+ //#region src/utils.ts
20
+ /**
21
+ * Transforms a value or a function that returns a value to a value.
22
+ *
23
+ * @param valFn either a value or a function that returns a value
24
+ * @param args arguments to pass to the function if `valFn` is a function
25
+ *
26
+ * @internal
27
+ */
28
+ function toValueWithArgs(valFn, ...args) {
29
+ return typeof valFn === "function" ? valFn(...args) : valFn;
30
+ }
31
+ //#endregion
32
+ //#region src/diagnostic.ts
33
+ /**
34
+ * Creates a console reporter that renders each diagnostic with `formatter` and
35
+ * prints the result via `console[method]`. Both default sensibly (`'warn'` and
36
+ * {@link formatDiagnostic}); `method` can also be overridden per call through
37
+ * the reporter options.
38
+ */
39
+ /* @__NO_SIDE_EFFECTS__ */
40
+ function createConsoleReporter({ method: defaultMethod = "warn", formatter = formatDiagnostic } = {}) {
41
+ return (diagnostic, { method = defaultMethod } = {}) => {
42
+ console[method](formatter(diagnostic));
43
+ };
44
+ }
45
+ const captureStackTrace = Error.captureStackTrace;
46
+ var Diagnostic = class Diagnostic extends Error {
47
+ name;
48
+ /**
49
+ * The diagnostic code, e.g. `MATH_E001`.
50
+ * Also appears as the `name` property.
51
+ */
52
+ code;
53
+ /**
54
+ * URL to extended documentation for this diagnostic code.
55
+ * Auto-generated from {@link DefineDiagnosticsOptions.docsBase}.
56
+ */
57
+ docs;
58
+ /**
59
+ * Optional actionable instructions on how to resolve the problem.
60
+ */
61
+ fix;
62
+ /**
63
+ * Locations in user code that contributed to this diagnostic, in
64
+ * `file:line:column` format. Relevant when the stack trace doesn't reflect
65
+ * the user's source (e.g. compilers, bundlers), otherwise redundant with the
66
+ * stack and should be omitted.
67
+ */
68
+ sources;
69
+ /**
70
+ * Alias for {@link Error.message}: the reason this diagnostic was raised.
71
+ */
72
+ get why() {
73
+ return this.message;
74
+ }
75
+ /**
76
+ * @param init structured initializer; `why` is required
77
+ * @param captureFrom V8 stack-cutoff frame. Defaults to {@link Diagnostic}
78
+ * so the top of the trace is the `new Diagnostic(...)` call site.
79
+ * `defineDiagnostics` passes its action method to strip its own frames too.
80
+ * Ignored on engines without `Error.captureStackTrace`.
81
+ */
82
+ constructor(init, captureFrom = Diagnostic) {
83
+ super(init.why, { cause: init.cause });
84
+ this.code = this.name = init.code;
85
+ this.fix = init.fix;
86
+ this.docs = init.docs;
87
+ this.sources = init.sources;
88
+ captureStackTrace?.(this, captureFrom);
89
+ }
90
+ /**
91
+ * Converts the diagnostic into a serializable structured object.
92
+ */
93
+ toJSON() {
94
+ return {
95
+ name: this.name,
96
+ why: this.why,
97
+ fix: this.fix,
98
+ docs: this.docs,
99
+ sources: this.sources,
100
+ cause: this.cause,
101
+ stack: this.stack
102
+ };
103
+ }
104
+ };
105
+ /**
106
+ * Resolves the docs URL for a code from a `docsBase` (string template or
107
+ * resolver function). Shared by {@link defineDiagnostics} and
108
+ * {@link defineProdDiagnostics}. Per-code `docs` overrides are handled by the
109
+ * caller; this only covers the `docsBase`-derived case.
110
+ *
111
+ * @internal
112
+ */
113
+ function deriveDocs(docsBase, code) {
114
+ return typeof docsBase === "string" ? `${docsBase}/${code.toLowerCase()}` : docsBase?.(code);
115
+ }
116
+ /**
117
+ * Creates a typed diagnostics object from a set of code definitions. Each
118
+ * code becomes a callable {@link DiagnosticHandle}: invoke to report, or
119
+ * `throw` the result to raise. No `new` required, no proxy.
120
+ */
121
+ /* @__NO_SIDE_EFFECTS__ */
122
+ function defineDiagnostics(options) {
123
+ const reporters = options.reporters ?? [];
124
+ const result = {};
125
+ const { docsBase } = options;
126
+ for (const code of Object.keys(options.codes)) {
127
+ const def = options.codes[code];
128
+ const docs = def.docs === false ? void 0 : def.docs || deriveDocs(docsBase, code);
129
+ const handle = (params = {}, reporterOptions = {}) => {
130
+ const diagnostic = new Diagnostic({
131
+ code,
132
+ why: toValueWithArgs(def.why, params),
133
+ fix: toValueWithArgs(def.fix, params),
134
+ docs,
135
+ cause: params.cause,
136
+ sources: params.sources
137
+ }, handle);
138
+ for (const reporter of reporters) reporter(diagnostic, reporterOptions);
139
+ return diagnostic;
140
+ };
141
+ result[code] = handle;
142
+ }
143
+ return result;
144
+ }
145
+ //#endregion
146
+ //#region src/prod-diagnostics.ts
147
+ /**
148
+ * Production counterpart to {@link defineDiagnostics}. Returns a `Proxy` that
149
+ * builds a minimal {@link Diagnostic} for any accessed code: the code becomes
150
+ * the instance `name`, `docs` is derived from `docsBase`, and `why` points to
151
+ * the docs URL when one exists (empty otherwise, so the thrown header is just
152
+ * the code). It carries no catalog text, so it stays tiny in a bundle.
153
+ *
154
+ * The strip plugin (`@nostics/unplugin`) can rewrite a `defineDiagnostics()`
155
+ * call into a `process.env.NODE_ENV === 'production'` ternary that selects this
156
+ * factory in production, dropping every `why`/`fix` string from the bundle.
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * const diagnostics = defineProdDiagnostics({ docsBase: 'https://docs.example.com' })
161
+ * throw diagnostics.NUXT_B2011() // NUXT_B2011: https://docs.example.com/nuxt_b2011
162
+ * ```
163
+ */
164
+ /* @__NO_SIDE_EFFECTS__ */
165
+ function defineProdDiagnostics(options = {}) {
166
+ const { docsBase, reporters = [] } = options;
167
+ return new Proxy({}, { get(_target, code) {
168
+ if (typeof code !== "string") return void 0;
169
+ const handle = (params = {}, reporterOptions = {}) => {
170
+ const docs = deriveDocs(docsBase, code);
171
+ const diagnostic = new Diagnostic({
172
+ code,
173
+ why: docs ?? "",
174
+ docs,
175
+ cause: params.cause,
176
+ sources: params.sources
177
+ }, handle);
178
+ for (const reporter of reporters) reporter(diagnostic, reporterOptions);
179
+ return diagnostic;
180
+ };
181
+ return handle;
182
+ } });
183
+ }
184
+ //#endregion
185
+ export { Diagnostic, createConsoleReporter, defineDiagnostics, defineProdDiagnostics, formatDiagnostic };
186
+
187
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,125 @@
1
+ {
2
+ "name": "nostics",
3
+ "type": "module",
4
+ "version": "1.2.0",
5
+ "description": "Structured diagnostic code library",
6
+ "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
+ "contributors": [
8
+ "Eduardo San Martin Morote <posva13@gmail.com>",
9
+ "Daniel Roe <daniel@roe.dev>"
10
+ ],
11
+ "license": "MIT",
12
+ "homepage": "https://github.com/vercel-labs/nostics#readme",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/vercel-labs/nostics.git"
16
+ },
17
+ "bugs": "https://github.com/vercel-labs/nostics/issues",
18
+ "keywords": [],
19
+ "sideEffects": false,
20
+ "exports": {
21
+ ".": "./dist/index.mjs",
22
+ "./formatters/ansi": "./dist/formatters/ansi.mjs",
23
+ "./formatters/json": "./dist/formatters/json.mjs",
24
+ "./reporters/dev": "./dist/reporters/dev.mjs",
25
+ "./reporters/fetch": "./dist/reporters/fetch.mjs",
26
+ "./reporters/node": "./dist/reporters/node.mjs",
27
+ "./package.json": "./package.json"
28
+ },
29
+ "types": "./dist/index.d.mts",
30
+ "files": [
31
+ "dist",
32
+ "skills"
33
+ ],
34
+ "devDependencies": {
35
+ "@antfu/eslint-config": "^9.0.0",
36
+ "@antfu/ni": "^30.1.0",
37
+ "@antfu/utils": "^9.3.0",
38
+ "@posva/prompts": "^2.4.4",
39
+ "@size-limit/esbuild-why": "^12.1.0",
40
+ "@size-limit/preset-small-lib": "^12.1.0",
41
+ "@types/node": "^25.9.3",
42
+ "@types/semver": "^7.7.1",
43
+ "@vitest/coverage-v8": "4.1.8",
44
+ "@vitest/ui": "4.1.8",
45
+ "conventional-changelog": "^7.2.0",
46
+ "conventional-changelog-angular": "^8.3.1",
47
+ "eslint": "^10.5.0",
48
+ "lint-staged": "^17.0.7",
49
+ "oxfmt": "^0.54.0",
50
+ "publint": "^0.3.21",
51
+ "semver": "^7.8.4",
52
+ "simple-git-hooks": "^2.13.1",
53
+ "size-limit": "^12.1.0",
54
+ "tsdown": "^0.22.2",
55
+ "tsnapi": "^0.3.3",
56
+ "typescript": "^6.0.3",
57
+ "vite": "^8.0.16",
58
+ "vitest": "^4.1.8",
59
+ "nostics": "1.2.0"
60
+ },
61
+ "simple-git-hooks": {
62
+ "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"
63
+ },
64
+ "lint-staged": {
65
+ "*": "eslint --fix"
66
+ },
67
+ "size-limit": [
68
+ {
69
+ "name": "defineDiagnostics from source",
70
+ "path": "src/index.ts",
71
+ "import": "{ defineDiagnostics }"
72
+ },
73
+ {
74
+ "name": "defineDiagnostics",
75
+ "path": "dist/index.mjs",
76
+ "import": "{ defineDiagnostics }"
77
+ },
78
+ {
79
+ "name": "defineProdDiagnostics",
80
+ "path": "dist/index.mjs",
81
+ "import": "{ defineProdDiagnostics }"
82
+ },
83
+ {
84
+ "name": "defineDiagnostics + createConsoleReporter",
85
+ "path": "dist/index.mjs",
86
+ "import": "{ defineDiagnostics, createConsoleReporter }"
87
+ },
88
+ {
89
+ "name": "defineProdDiagnostics + createConsoleReporter",
90
+ "path": "dist/index.mjs",
91
+ "import": "{ defineProdDiagnostics, createConsoleReporter }"
92
+ },
93
+ {
94
+ "name": "formatDiagnostic",
95
+ "path": "dist/index.mjs",
96
+ "import": "{ formatDiagnostic }"
97
+ },
98
+ {
99
+ "name": "full root",
100
+ "path": "dist/index.mjs",
101
+ "import": "*"
102
+ },
103
+ {
104
+ "name": "ansi formatter",
105
+ "path": "dist/formatters/ansi.mjs",
106
+ "import": "*"
107
+ }
108
+ ],
109
+ "scripts": {
110
+ "build": "tsdown && pnpm --filter \"./packages/*\" run build",
111
+ "dev": "vitest",
112
+ "docs": "pnpm -C docs run dev",
113
+ "docs:build": "pnpm -C docs run build",
114
+ "play": "pnpm -C playground run dev",
115
+ "lint": "eslint",
116
+ "release": "node scripts/release.ts",
117
+ "size": "size-limit",
118
+ "test": "pnpm run build && pnpm run \"/^test:/\"",
119
+ "test:unit": "vitest run --coverage",
120
+ "test:types": "pnpm run typecheck",
121
+ "test:lint": "pnpm run lint",
122
+ "test:demo": "pnpm -C demo-lib run build && pnpm -C demo-lib run test && pnpm -C playground run build",
123
+ "typecheck": "tsc && pnpm --filter \"./packages/*\" run typecheck"
124
+ }
125
+ }
@@ -0,0 +1,60 @@
1
+ function walk(input, seen) {
2
+ if (input === null) return "L";
3
+ let out, i = 0, keys = input, tmp = typeof input;
4
+ if (tmp !== "object") {
5
+ if (tmp === "number") return input - input === 0 ? "n" + input : "L";
6
+ if (tmp === "string") return "s" + input;
7
+ if (tmp === "bigint") return "n" + input;
8
+ if (tmp === "boolean") return input ? "T" : "F";
9
+ return;
10
+ }
11
+ let is_arr = Array.isArray(input);
12
+ if (!is_arr) {
13
+ if (input instanceof Date) return "d" + +input;
14
+ if (input instanceof RegExp) return "r" + input.source + input.flags;
15
+ }
16
+ tmp = seen.indexOf(input);
17
+ if (~tmp) return "~" + (tmp + 1);
18
+ if (typeof input.toJSON === "function" && !ArrayBuffer.isView(input)) {
19
+ input = input.toJSON();
20
+ if (input === null || typeof input !== "object") return walk(input, seen);
21
+ tmp = seen.indexOf(input);
22
+ if (~tmp) return "~" + (tmp + 1);
23
+ is_arr = Array.isArray(input);
24
+ }
25
+ seen.push(keys);
26
+ if (is_arr) {
27
+ for (out = "a"; i < input.length; out += (tmp = walk(input[i++], seen)) === undefined ? "L" : tmp);
28
+ } else if (input instanceof Set) {
29
+ out = "e";
30
+ for (let value of input) out += (tmp = walk(value, seen)) === undefined ? "L" : tmp;
31
+ } else if (input instanceof Map) {
32
+ keys = [...input.keys()];
33
+ if (keys.length > 1) keys.sort();
34
+ for (out = "o"; i < keys.length; i++) {
35
+ if ((tmp = walk(input.get(keys[i]), seen)) !== undefined) out += keys[i] + tmp;
36
+ }
37
+ } else if (input[Symbol.toStringTag] === undefined || ArrayBuffer.isView(input)) {
38
+ keys = Object.keys(input);
39
+ if (keys.length > 1) keys.sort();
40
+ for (out = "o"; i < keys.length; i++) {
41
+ if ((tmp = walk(input[keys[i]], seen)) !== undefined) out += keys[i] + tmp;
42
+ }
43
+ } else {
44
+ throw new Error("Unsupported value");
45
+ }
46
+ seen.pop();
47
+ return out;
48
+ }
49
+ /**
50
+ * Canonicalize a value into a stable identity string. Two structurally-equal
51
+ * inputs return the same id, regardless of key order.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * identify({ a: 1, b: 2 }) === identify({ b: 2, a: 1 }); // true
56
+ * ```
57
+ */
58
+ export function identify(input) {
59
+ return walk(input, []) ?? "U";
60
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "object-identity",
3
+ "version": "0.2.3",
4
+ "description": "Canonicalize any value into a tiny, stable identity string. Structural fingerprints for cache keys, deduping, and memoization.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/maraisr/object-identity.git"
8
+ },
9
+ "license": "MIT",
10
+ "author": "Marais Rossouw <me@marais.dev> (https://marais.io)",
11
+ "type": "module",
12
+ "keywords": [
13
+ "canonical",
14
+ "canonicalize",
15
+ "object",
16
+ "identity",
17
+ "fingerprint",
18
+ "hash",
19
+ "stable",
20
+ "deterministic",
21
+ "structural",
22
+ "equality",
23
+ "dedupe",
24
+ "memoize",
25
+ "cache-key",
26
+ "normalize"
27
+ ],
28
+ "sideEffects": false,
29
+ "main": "./index.cjs",
30
+ "module": "./index.js",
31
+ "types": "./index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./index.d.ts",
35
+ "require": "./index.cjs",
36
+ "import": "./index.js"
37
+ },
38
+ "./package.json": "./package.json"
39
+ }
40
+ }
@@ -0,0 +1,104 @@
1
+ import Queue from 'yocto-queue';
2
+
3
+ export default function pLimit(concurrency) {
4
+ validateConcurrency(concurrency);
5
+
6
+ const queue = new Queue();
7
+ let activeCount = 0;
8
+
9
+ const resumeNext = () => {
10
+ if (activeCount < concurrency && queue.size > 0) {
11
+ queue.dequeue()();
12
+ // Since `pendingCount` has been decreased by one, increase `activeCount` by one.
13
+ activeCount++;
14
+ }
15
+ };
16
+
17
+ const next = () => {
18
+ activeCount--;
19
+
20
+ resumeNext();
21
+ };
22
+
23
+ const run = async (function_, resolve, arguments_) => {
24
+ const result = (async () => function_(...arguments_))();
25
+
26
+ resolve(result);
27
+
28
+ try {
29
+ await result;
30
+ } catch {}
31
+
32
+ next();
33
+ };
34
+
35
+ const enqueue = (function_, resolve, arguments_) => {
36
+ // Queue `internalResolve` instead of the `run` function
37
+ // to preserve asynchronous context.
38
+ new Promise(internalResolve => {
39
+ queue.enqueue(internalResolve);
40
+ }).then(
41
+ run.bind(undefined, function_, resolve, arguments_),
42
+ );
43
+
44
+ (async () => {
45
+ // This function needs to wait until the next microtask before comparing
46
+ // `activeCount` to `concurrency`, because `activeCount` is updated asynchronously
47
+ // after the `internalResolve` function is dequeued and called. The comparison in the if-statement
48
+ // needs to happen asynchronously as well to get an up-to-date value for `activeCount`.
49
+ await Promise.resolve();
50
+
51
+ if (activeCount < concurrency) {
52
+ resumeNext();
53
+ }
54
+ })();
55
+ };
56
+
57
+ const generator = (function_, ...arguments_) => new Promise(resolve => {
58
+ enqueue(function_, resolve, arguments_);
59
+ });
60
+
61
+ Object.defineProperties(generator, {
62
+ activeCount: {
63
+ get: () => activeCount,
64
+ },
65
+ pendingCount: {
66
+ get: () => queue.size,
67
+ },
68
+ clearQueue: {
69
+ value() {
70
+ queue.clear();
71
+ },
72
+ },
73
+ concurrency: {
74
+ get: () => concurrency,
75
+
76
+ set(newConcurrency) {
77
+ validateConcurrency(newConcurrency);
78
+ concurrency = newConcurrency;
79
+
80
+ queueMicrotask(() => {
81
+ // eslint-disable-next-line no-unmodified-loop-condition
82
+ while (activeCount < concurrency && queue.size > 0) {
83
+ resumeNext();
84
+ }
85
+ });
86
+ },
87
+ },
88
+ });
89
+
90
+ return generator;
91
+ }
92
+
93
+ export function limitFunction(function_, option) {
94
+ const {concurrency} = option;
95
+ const limit = pLimit(concurrency);
96
+
97
+ return (...arguments_) => limit(() => function_(...arguments_));
98
+ }
99
+
100
+ function validateConcurrency(concurrency) {
101
+ if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {
102
+ throw new TypeError('Expected `concurrency` to be a number from 1 and up');
103
+ }
104
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "p-limit",
3
+ "version": "6.2.0",
4
+ "description": "Run multiple promise-returning & async functions with limited concurrency",
5
+ "license": "MIT",
6
+ "repository": "sindresorhus/p-limit",
7
+ "funding": "https://github.com/sponsors/sindresorhus",
8
+ "author": {
9
+ "name": "Sindre Sorhus",
10
+ "email": "sindresorhus@gmail.com",
11
+ "url": "https://sindresorhus.com"
12
+ },
13
+ "type": "module",
14
+ "exports": {
15
+ "types": "./index.d.ts",
16
+ "default": "./index.js"
17
+ },
18
+ "sideEffects": false,
19
+ "engines": {
20
+ "node": ">=18"
21
+ },
22
+ "scripts": {
23
+ "test": "xo && ava && tsd"
24
+ },
25
+ "files": [
26
+ "index.js",
27
+ "index.d.ts"
28
+ ],
29
+ "keywords": [
30
+ "promise",
31
+ "limit",
32
+ "limited",
33
+ "concurrency",
34
+ "throttle",
35
+ "throat",
36
+ "rate",
37
+ "batch",
38
+ "ratelimit",
39
+ "task",
40
+ "queue",
41
+ "async",
42
+ "await",
43
+ "promises",
44
+ "bluebird"
45
+ ],
46
+ "dependencies": {
47
+ "yocto-queue": "^1.1.1"
48
+ },
49
+ "devDependencies": {
50
+ "ava": "^6.1.3",
51
+ "delay": "^6.0.0",
52
+ "in-range": "^3.0.0",
53
+ "random-int": "^3.0.0",
54
+ "time-span": "^5.1.0",
55
+ "tsd": "^0.31.1",
56
+ "xo": "^0.58.0"
57
+ }
58
+ }
@@ -0,0 +1,2 @@
1
+ var j=Object.defineProperty;var S=Math.pow;var d=(o,t)=>j(o,"name",{value:t,configurable:!0});var h=(o,t,e)=>new Promise((r,n)=>{var s=c=>{try{a(e.next(c))}catch(l){n(l)}},i=c=>{try{a(e.throw(c))}catch(l){n(l)}},a=c=>c.done?r(c.value):Promise.resolve(c.value).then(s,i);a((e=e.apply(o,t)).next())});import{decompressSync as W}from"fflate";var re=d((o,t)=>{let e=!1,r="",n=L.GridLayer.extend({createTile:d((s,i)=>{let a=document.createElement("img"),c=new AbortController,l=c.signal;return a.cancel=()=>{c.abort()},e||(o.getHeader().then(u=>{u.tileType===1||u.tileType===6?console.error("Error: archive contains vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details."):u.tileType===2?r="image/png":u.tileType===3?r="image/jpeg":u.tileType===4?r="image/webp":u.tileType===5&&(r="image/avif")}),e=!0),o.getZxy(s.z,s.x,s.y,l).then(u=>{if(u){let m=new Blob([u.data],{type:r}),g=window.URL.createObjectURL(m);a.src=g}else a.style.display="none";a.cancel=void 0,i(void 0,a)}).catch(u=>{if(u.name!=="AbortError")throw u}),a},"createTile"),_removeTile:d(function(s){let i=this._tiles[s];i&&(i.el.cancel&&i.el.cancel(),i.el.src&&window.URL.revokeObjectURL(i.el.src),i.el.width=0,i.el.height=0,i.el.deleted=!0,L.DomUtil.remove(i.el),delete this._tiles[s],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(s)}))},"_removeTile")});return new n(t)},"leafletRasterLayer"),z=d(o=>(t,e)=>{if(e instanceof AbortController)return o(t,e);let r=new AbortController;return o(t,r).then(n=>e(void 0,n.data,n.cacheControl||"",n.expires||""),n=>e(n)).catch(n=>e(n)),{cancel:d(()=>r.abort(),"cancel")}},"v3compat"),A=class A{constructor(t){this.tilev4=d((t,e)=>h(this,null,function*(){if(t.type==="json"){let g=t.url.substr(10),p=this.tiles.get(g);if(p||(p=new w(g),this.tiles.set(g,p)),this.metadata){let K=yield p.getTileJson(t.url);return e.signal.throwIfAborted(),{data:K}}let f=yield p.getHeader();return e.signal.throwIfAborted(),(f.minLon>=f.maxLon||f.minLat>=f.maxLat)&&console.error(`Bounds of PMTiles archive ${f.minLon},${f.minLat},${f.maxLon},${f.maxLat} are not valid.`),{data:{tiles:[`${t.url}/{z}/{x}/{y}`],minzoom:f.minZoom,maxzoom:f.maxZoom,bounds:[f.minLon,f.minLat,f.maxLon,f.maxLat]}}}let r=new RegExp(/pmtiles:\/\/(.+)\/(\d+)\/(\d+)\/(\d+)/),n=t.url.match(r);if(!n)throw new Error("Invalid PMTiles protocol URL");let s=n[1],i=this.tiles.get(s);i||(i=new w(s),this.tiles.set(s,i));let a=n[2],c=n[3],l=n[4],u=yield i==null?void 0:i.getZxy(+a,+c,+l,e.signal);if(e.signal.throwIfAborted(),u)return{data:new Uint8Array(u.data),cacheControl:u.cacheControl,expires:u.expires};let m=yield i.getHeader();if(m.tileType===1||m.tileType===6){if(this.errorOnMissingTile)throw new Error("Tile not found.");return{data:new Uint8Array}}return{data:null}}),"tilev4");this.tile=z(this.tilev4);this.tiles=new Map,this.metadata=(t==null?void 0:t.metadata)||!1,this.errorOnMissingTile=(t==null?void 0:t.errorOnMissingTile)||!1}add(t){this.tiles.set(t.source.getKey(),t)}get(t){return this.tiles.get(t)}};d(A,"Protocol");var B=A;function b(o,t){return(t>>>0)*4294967296+(o>>>0)}d(b,"toNum");function N(o,t){let e=t.buf,r=e[t.pos++],n=(r&112)>>4;if(r<128||(r=e[t.pos++],n|=(r&127)<<3,r<128)||(r=e[t.pos++],n|=(r&127)<<10,r<128)||(r=e[t.pos++],n|=(r&127)<<17,r<128)||(r=e[t.pos++],n|=(r&127)<<24,r<128)||(r=e[t.pos++],n|=(r&1)<<31,r<128))return b(o,n);throw new Error("Expected varint not more than 10 bytes")}d(N,"readVarintRemainder");function x(o){let t=o.buf,e=t[o.pos++],r=e&127;return e<128||(e=t[o.pos++],r|=(e&127)<<7,e<128)||(e=t[o.pos++],r|=(e&127)<<14,e<128)||(e=t[o.pos++],r|=(e&127)<<21,e<128)?r:(e=t[o.pos],r|=(e&15)<<28,N(r,o))}d(x,"readVarint");function I(o,t,e,r,n){return n===0?r!==0?[o-1-e,o-1-t]:[e,t]:[t,e]}d(I,"rotate");function q(o,t,e){if(o>26)throw new Error("Tile zoom level exceeds max safe number limit (26)");if(t>=1<<o||e>=1<<o)throw new Error("tile x/y outside zoom level bounds");let r=((1<<o)*(1<<o)-1)/3,n=o-1,[s,i]=[t,e];for(let a=1<<n;a>0;a>>=1){let c=s&a,l=i&a;r+=(3*c^l)*(1<<n),[s,i]=I(a,s,i,c,l),n--}return r}d(q,"zxyToTileId");function G(o){let t=3*o+1;return t<4294967296?31-Math.clz32(t):63-Math.clz32(t/4294967296)}d(G,"tileIdToZ");function ie(o){let t=G(o)>>1;if(t>26)throw new Error("Tile zoom level exceeds max safe number limit (26)");let e=((1<<t)*(1<<t)-1)/3,r=o-e,n=0,s=0,i=1<<t;for(let a=1;a<i;a<<=1){let c=a&r/2,l=a&(r^c);[n,s]=I(a,n,s,c,l),r=r/2,n+=c,s+=l}return[t,n,s]}d(ie,"tileIdToZxy");var J=(s=>(s[s.Unknown=0]="Unknown",s[s.None=1]="None",s[s.Gzip=2]="Gzip",s[s.Brotli=3]="Brotli",s[s.Zstd=4]="Zstd",s))(J||{});function P(o,t){return h(this,null,function*(){if(t===1||t===0)return o;if(t===2){if(typeof globalThis.DecompressionStream=="undefined")return W(new Uint8Array(o));let e=new Response(o).body;if(!e)throw new Error("Failed to read response stream");let r=e.pipeThrough(new globalThis.DecompressionStream("gzip"));return new Response(r).arrayBuffer()}throw new Error("Compression method not supported")})}d(P,"defaultDecompress");var O=(a=>(a[a.Unknown=0]="Unknown",a[a.Mvt=1]="Mvt",a[a.Png=2]="Png",a[a.Jpeg=3]="Jpeg",a[a.Webp=4]="Webp",a[a.Avif=5]="Avif",a[a.Mlt=6]="Mlt",a))(O||{});function _(o){return o===1?".mvt":o===2?".png":o===3?".jpg":o===4?".webp":o===5?".avif":o===6?".mlt":""}d(_,"tileTypeExt");var Y=127;function Q(o,t){let e=0,r=o.length-1;for(;e<=r;){let n=r+e>>1,s=t-o[n].tileId;if(s>0)e=n+1;else if(s<0)r=n-1;else return o[n]}return r>=0&&(o[r].runLength===0||t-o[r].tileId<o[r].runLength)?o[r]:null}d(Q,"findTile");var T=class T{constructor(t){this.file=t}getKey(){return this.file.name}getBytes(t,e){return h(this,null,function*(){return{data:yield this.file.slice(t,t+e).arrayBuffer()}})}};d(T,"FileSource");var k=T,D=class D{constructor(t,e=new Headers,r=void 0){var a,c;this.url=t,this.customHeaders=e,this.credentials=r,this.mustReload=!1;let n="";"navigator"in globalThis&&(n=(c=(a=globalThis.navigator)==null?void 0:a.userAgent)!=null?c:"");let s=n.indexOf("Windows")>-1,i=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,s&&i&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,e,r,n){return h(this,null,function*(){let s,i;r?i=r:(s=new AbortController,i=s.signal);let a=new Headers(this.customHeaders);a.set("range",`bytes=${t}-${t+e-1}`);let c;this.mustReload?c="reload":this.chromeWindowsNoCache&&(c="no-store");let l=yield fetch(this.url,{signal:i,cache:c,headers:a,credentials:this.credentials});if(t===0&&l.status===416){let p=l.headers.get("Content-Range");if(!p||!p.startsWith("bytes */"))throw new Error("Missing content-length on 416 response");let f=+p.substr(8);a.set("range",`bytes=0-${f-1}`),l=yield fetch(this.url,{signal:i,cache:"reload",headers:a,credentials:this.credentials})}let u=l.headers.get("Etag");if(u!=null&&u.startsWith("W/")&&(u=null),l.status===416||n&&u&&u!==n)throw this.mustReload=!0,new v(`Server returned non-matching ETag ${n} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(l.status>=300)throw new Error(`Bad response code: ${l.status}`);let m=l.headers.get("Content-Length");if(l.status===200&&(!m||+m>e))throw s&&s.abort(),new Error("Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.");return{data:yield l.arrayBuffer(),etag:u||void 0,cacheControl:l.headers.get("Cache-Control")||void 0,expires:l.headers.get("Expires")||void 0}})}};d(D,"FetchSource");var E=D;function y(o,t){let e=o.getUint32(t+4,!0),r=o.getUint32(t+0,!0);return e*S(2,32)+r}d(y,"getUint64");function X(o,t){let e=new DataView(o),r=e.getUint8(7);if(r>3)throw new Error(`Archive is spec version ${r} but this library supports up to spec version 3`);return{specVersion:r,rootDirectoryOffset:y(e,8),rootDirectoryLength:y(e,16),jsonMetadataOffset:y(e,24),jsonMetadataLength:y(e,32),leafDirectoryOffset:y(e,40),leafDirectoryLength:y(e,48),tileDataOffset:y(e,56),tileDataLength:y(e,64),numAddressedTiles:y(e,72),numTileEntries:y(e,80),numTileContents:y(e,88),clustered:e.getUint8(96)===1,internalCompression:e.getUint8(97),tileCompression:e.getUint8(98),tileType:e.getUint8(99),minZoom:e.getUint8(100),maxZoom:e.getUint8(101),minLon:e.getInt32(102,!0)/1e7,minLat:e.getInt32(106,!0)/1e7,maxLon:e.getInt32(110,!0)/1e7,maxLat:e.getInt32(114,!0)/1e7,centerZoom:e.getUint8(118),centerLon:e.getInt32(119,!0)/1e7,centerLat:e.getInt32(123,!0)/1e7,etag:t}}d(X,"bytesToHeader");function Z(o){let t={buf:new Uint8Array(o),pos:0},e=x(t),r=[],n=0;for(let s=0;s<e;s++){let i=x(t);r.push({tileId:n+i,offset:0,length:0,runLength:1}),n+=i}for(let s=0;s<e;s++)r[s].runLength=x(t);for(let s=0;s<e;s++)r[s].length=x(t);for(let s=0;s<e;s++){let i=x(t);i===0&&s>0?r[s].offset=r[s-1].offset+r[s-1].length:r[s].offset=i-1}return r}d(Z,"deserializeIndex");var R=class R extends Error{};d(R,"EtagMismatch");var v=R;function V(o,t){return h(this,null,function*(){let e=yield o.getBytes(0,16384);if(new DataView(e.data).getUint16(0,!0)!==19792)throw new Error("Wrong magic number for PMTiles archive");let n=e.data.slice(0,Y),s=X(n,e.etag),i=e.data.slice(s.rootDirectoryOffset,s.rootDirectoryOffset+s.rootDirectoryLength),a=`${o.getKey()}|${s.etag||""}|${s.rootDirectoryOffset}|${s.rootDirectoryLength}`,c=Z(yield t(i,s.internalCompression));return[s,[a,c.length,c]]})}d(V,"getHeaderAndRoot");function F(o,t,e,r,n,s){return h(this,null,function*(){let i=yield o.getBytes(e,r,s,n.etag),a=yield t(i.data,n.internalCompression),c=Z(a);if(c.length===0)throw new Error("Empty directory is invalid");return c})}d(F,"getDirectory");var U=class U{constructor(t=100,e=!0,r=P){this.cache=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=r}getHeader(t){return h(this,null,function*(){let e=t.getKey(),r=this.cache.get(e);if(r)return r.lastUsed=this.counter++,r.data;let n=yield V(t,this.decompress);return n[1]&&this.cache.set(n[1][0],{lastUsed:this.counter++,data:n[1][2]}),this.cache.set(e,{lastUsed:this.counter++,data:n[0]}),this.prune(),n[0]})}getDirectory(t,e,r,n,s){return h(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,a=this.cache.get(i);if(a)return a.lastUsed=this.counter++,a.data;let c=yield F(t,this.decompress,e,r,n,s);return this.cache.set(i,{lastUsed:this.counter++,data:c}),this.prune(),c})}prune(){if(this.cache.size>this.maxCacheEntries){let t=1/0,e;this.cache.forEach((r,n)=>{r.lastUsed<t&&(t=r.lastUsed,e=n)}),e&&this.cache.delete(e)}}invalidate(t){return h(this,null,function*(){this.cache.delete(t.getKey())})}};d(U,"ResolvedValueCache");var $=U,M=class M{constructor(t=100,e=!0,r=P){this.cache=new Map,this.invalidations=new Map,this.pendingFetches=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=r}getHeader(t){return h(this,null,function*(){let e=t.getKey(),r=this.cache.get(e);if(r)return r.lastUsed=this.counter++,yield r.data;let n=new Promise((s,i)=>{V(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),s(a[0]),this.prune()}).catch(a=>{i(a)})});return this.cache.set(e,{lastUsed:this.counter++,data:n}),n})}trackSignal(t,e,r){e.refs++,r.addEventListener("abort",()=>{--e.refs<=0&&this.pendingFetches.get(t)===e&&(e.controller.abort(),this.cache.delete(t),this.pendingFetches.delete(t))},{once:!0})}getDirectory(t,e,r,n,s){return h(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,a=this.cache.get(i);if(a){a.lastUsed=this.counter++;let m=this.pendingFetches.get(i);return m&&this.trackSignal(i,m,s!=null?s:new AbortController().signal),yield a.data}let c=new AbortController,l={controller:c,refs:0};this.trackSignal(i,l,s!=null?s:new AbortController().signal),this.pendingFetches.set(i,l);let u=new Promise((m,g)=>{F(t,this.decompress,e,r,n,c.signal).then(p=>{this.pendingFetches.delete(i),m(p),this.prune()}).catch(p=>{g(p)})});return this.cache.set(i,{lastUsed:this.counter++,data:u}),u})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,e;this.cache.forEach((r,n)=>{r.lastUsed<t&&(t=r.lastUsed,e=n)}),e&&this.cache.delete(e)}}invalidate(t){return h(this,null,function*(){let e=t.getKey();if(this.invalidations.get(e))return yield this.invalidations.get(e);this.cache.delete(t.getKey());let r=new Promise((n,s)=>{this.getHeader(t).then(i=>{n(),this.invalidations.delete(e)}).catch(i=>{s(i)})});this.invalidations.set(e,r)})}};d(M,"SharedPromiseCache");var C=M,H=class H{constructor(t,e,r){typeof t=="string"?this.source=new E(t):this.source=t,r?this.decompress=r:this.decompress=P,e?this.cache=e:this.cache=new C}getHeader(){return h(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,e,r,n){return h(this,null,function*(){let s=q(t,e,r),i=yield this.cache.getHeader(this.source);if(n==null||n.throwIfAborted(),t<i.minZoom||t>i.maxZoom)return;let a=i.rootDirectoryOffset,c=i.rootDirectoryLength;for(let l=0;l<=3;l++){let u=yield this.cache.getDirectory(this.source,a,c,i,n);n==null||n.throwIfAborted();let m=Q(u,s);if(m){if(m.runLength>0){let g=yield this.source.getBytes(i.tileDataOffset+m.offset,m.length,n,i.etag);return{data:yield this.decompress(g.data,i.tileCompression),cacheControl:g.cacheControl,expires:g.expires}}a=i.leafDirectoryOffset+m.offset,c=m.length}else return}throw new Error("Maximum directory depth exceeded")})}getZxy(t,e,r,n){return h(this,null,function*(){try{return yield this.getZxyAttempt(t,e,r,n)}catch(s){if(s instanceof v)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,e,r,n);throw s}})}getMetadataAttempt(){return h(this,null,function*(){let t=yield this.cache.getHeader(this.source),e=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),r=yield this.decompress(e.data,t.internalCompression),n=new TextDecoder("utf-8");return JSON.parse(n.decode(r))})}getMetadata(){return h(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof v)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}getTileJson(t){return h(this,null,function*(){let e=yield this.getHeader(),r=yield this.getMetadata(),n=_(e.tileType);return{tilejson:"3.0.0",scheme:"xyz",tiles:[`${t}/{z}/{x}/{y}${n}`],vector_layers:r.vector_layers,attribution:r.attribution,description:r.description,name:r.name,version:r.version,bounds:[e.minLon,e.minLat,e.maxLon,e.maxLat],center:[e.centerLon,e.centerLat,e.centerZoom],minzoom:e.minZoom,maxzoom:e.maxZoom}})}};d(H,"PMTiles");var w=H;export{J as Compression,v as EtagMismatch,E as FetchSource,k as FileSource,w as PMTiles,B as Protocol,$ as ResolvedValueCache,C as SharedPromiseCache,O as TileType,X as bytesToHeader,Q as findTile,y as getUint64,re as leafletRasterLayer,x as readVarint,ie as tileIdToZxy,_ as tileTypeExt,q as zxyToTileId};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "pmtiles",
3
+ "version": "4.5.0",
4
+ "description": "PMTiles archive decoder for browsers",
5
+ "type": "module",
6
+ "main": "dist/cjs/index.cjs",
7
+ "module": "dist/esm/index.js",
8
+ "types": "dist/esm/index.d.ts",
9
+ "exports": {
10
+ "./package.json": "./package.json",
11
+ ".": {
12
+ "import": {
13
+ "types": "./dist/esm/index.d.ts",
14
+ "default": "./dist/esm/index.js"
15
+ },
16
+ "require": {
17
+ "types": "./dist/cjs/index.d.cts",
18
+ "default": "./dist/cjs/index.cjs"
19
+ }
20
+ }
21
+ },
22
+ "source": "index.ts",
23
+ "files": [
24
+ "dist",
25
+ "src"
26
+ ],
27
+ "scripts": {
28
+ "build": "tsup",
29
+ "test": "tsx test/index.test.ts",
30
+ "tsc": "tsc --noEmit --watch",
31
+ "biome": "biome check src test --apply",
32
+ "biome-check": "biome check src test"
33
+ },
34
+ "homepage": "https://github.com/protomaps/pmtiles",
35
+ "author": "Brandon Liu",
36
+ "license": "BSD-3-Clause",
37
+ "devDependencies": {
38
+ "@biomejs/biome": "^1.5.3",
39
+ "@types/leaflet": "^1.9.8",
40
+ "@types/node": "^20.19.26",
41
+ "msw": "^2.5.0",
42
+ "tsup": "^8.4.0",
43
+ "tsx": "^4.19.3",
44
+ "typedoc": "^0.25.7",
45
+ "typescript": "^5.0.0"
46
+ },
47
+ "dependencies": {
48
+ "fflate": "^0.8.2"
49
+ }
50
+ }