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.
- package/.output/nitro.json +15 -0
- package/.output/public/_nuxt/1d1PDhA4.js +1 -0
- package/.output/public/_nuxt/3B2XYGg4.js +1 -0
- package/.output/public/_nuxt/981KwFWf.js +1 -0
- package/.output/public/_nuxt/B30dSvM4.js +1 -0
- package/.output/public/_nuxt/BN1Gp4Dm.js +1 -0
- package/.output/public/_nuxt/BQlj8Xoe.js +6 -0
- package/.output/public/_nuxt/BRkljK8J.js +1 -0
- package/.output/public/_nuxt/BSdHYVlE2.js +1 -0
- package/.output/public/_nuxt/B_MqTg2k2.js +1 -0
- package/.output/public/_nuxt/BiWblTbb2.js +64 -0
- package/.output/public/_nuxt/BrPwntMr.js +1 -0
- package/.output/public/_nuxt/BskybydR.js +1 -0
- package/.output/public/_nuxt/ByRlKR9F.js +1 -0
- package/.output/public/_nuxt/C0Zdl2EE2.js +1 -0
- package/.output/public/_nuxt/C4qlzA4o.js +1 -0
- package/.output/public/_nuxt/C7HxHbxA.js +1 -0
- package/.output/public/_nuxt/C97TfNgP.js +3 -0
- package/.output/public/_nuxt/CNs_Ozdc.js +1 -0
- package/.output/public/_nuxt/CPuhwLY1.js +1 -0
- package/.output/public/_nuxt/CVE291Pi.js +1 -0
- package/.output/public/_nuxt/C_0VY3Cv2.js +4 -0
- package/.output/public/_nuxt/Ce26t8_Y.js +1 -0
- package/.output/public/_nuxt/CfW544W5.js +1 -0
- package/.output/public/_nuxt/CgMd2Y5s.js +2 -0
- package/.output/public/_nuxt/CgdzV712.js +1 -0
- package/.output/public/_nuxt/D1wVNWS0.js +1 -0
- package/.output/public/_nuxt/DC3bhq63.js +1 -0
- package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
- package/.output/public/_nuxt/DL1MZZLI.js +1 -0
- package/.output/public/_nuxt/DXm-42Fi.js +1 -0
- package/.output/public/_nuxt/Djg3Kzfv.js +1 -0
- package/.output/public/_nuxt/DkcySee1.js +1 -0
- package/.output/public/_nuxt/DmN-PKW1.js +1 -0
- package/.output/public/_nuxt/DtFVCXI9.js +1 -0
- package/.output/public/_nuxt/Dz7VMlHR.js +1 -0
- package/.output/public/_nuxt/NL65vbjG2.js +1 -0
- package/.output/public/_nuxt/Oxy7pKSk.js +3 -0
- package/.output/public/_nuxt/Pik8or8N2.js +1 -0
- package/.output/public/_nuxt/XZ59tThl.js +1 -0
- package/.output/public/_nuxt/ZpWjFsgV.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +1 -0
- package/.output/public/_nuxt/dXz6dFgW2.js +1 -0
- package/.output/public/_nuxt/entry.P6tFNE31.css +1 -0
- package/.output/public/_nuxt/error-404.Biv0P6cJ.css +1 -0
- package/.output/public/_nuxt/error-500.8ok468rV.css +1 -0
- package/.output/public/_nuxt/j0MRD-c3.js +1 -0
- package/.output/public/_nuxt/local-pixel-diff.worker-C6RdZoCq.js +2 -0
- package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +6 -0
- package/.output/public/_nuxt/nearest-area.worker-iSLH0Y_s.js +2 -0
- package/.output/public/_nuxt/q7DkoVkj.js +828 -0
- package/.output/public/_nuxt/raster-tile.worker-BFlOgJig.js +2 -0
- package/.output/public/_nuxt/services._3nQizF8.css +1 -0
- package/.output/public/_nuxt/sql-wasm.DfANybxk.wasm +0 -0
- package/.output/public/_nuxt/tile-diff.worker-CvWWI_eu.js +1 -0
- package/.output/public/_nuxt/zZ1EGR7Y.js +1 -0
- package/.output/public/apple-touch-icon.png +0 -0
- package/.output/public/favicon.ico +0 -0
- package/.output/public/favicon.svg +8 -0
- package/.output/public/icon-192.png +0 -0
- package/.output/public/icon-512.png +0 -0
- package/.output/public/site.webmanifest +11 -0
- package/.output/server/chunks/_/config.mjs +208 -0
- package/.output/server/chunks/_/config.mjs.map +1 -0
- package/.output/server/chunks/_/data-directory.mjs +24 -0
- package/.output/server/chunks/_/data-directory.mjs.map +1 -0
- package/.output/server/chunks/_/error-500.mjs +20 -0
- package/.output/server/chunks/_/error-500.mjs.map +1 -0
- package/.output/server/chunks/_/file-workspace.mjs +910 -0
- package/.output/server/chunks/_/file-workspace.mjs.map +1 -0
- package/.output/server/chunks/_/icons.mjs +6269 -0
- package/.output/server/chunks/_/icons.mjs.map +1 -0
- package/.output/server/chunks/_/map-service.mjs +233 -0
- package/.output/server/chunks/_/map-service.mjs.map +1 -0
- package/.output/server/chunks/_/missing-tile.mjs +104 -0
- package/.output/server/chunks/_/missing-tile.mjs.map +1 -0
- package/.output/server/chunks/_/pixel-diff.mjs +78 -0
- package/.output/server/chunks/_/pixel-diff.mjs.map +1 -0
- package/.output/server/chunks/_/uom-auth.mjs +334 -0
- package/.output/server/chunks/_/uom-auth.mjs.map +1 -0
- package/.output/server/chunks/_/uom-map.mjs +265 -0
- package/.output/server/chunks/_/uom-map.mjs.map +1 -0
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs +5076 -0
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +1 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +569 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +1 -0
- package/.output/server/chunks/build/Empty-CkW3mADt.mjs +359 -0
- package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +1 -0
- package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs +207 -0
- package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs.map +1 -0
- package/.output/server/chunks/build/FormField-CEUZHcv7.mjs +278 -0
- package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +1 -0
- package/.output/server/chunks/build/Input-BeNavYXb.mjs +592 -0
- package/.output/server/chunks/build/Input-BeNavYXb.mjs.map +1 -0
- package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs +2003 -0
- package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs.map +1 -0
- package/.output/server/chunks/build/Modal-DNZtVxca.mjs +1326 -0
- package/.output/server/chunks/build/Modal-DNZtVxca.mjs.map +1 -0
- package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs +146 -0
- package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +1 -0
- package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs +1025 -0
- package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs.map +1 -0
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs +2066 -0
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +1 -0
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +379 -0
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +1 -0
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs +1087 -0
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs +1345 -0
- package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs.map +1 -0
- package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs +7 -0
- package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs.map +1 -0
- package/.output/server/chunks/build/advanced-D1onodoF.mjs +1430 -0
- package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +1 -0
- package/.output/server/chunks/build/compare-DmSAW8oA.mjs +1093 -0
- package/.output/server/chunks/build/compare-DmSAW8oA.mjs.map +1 -0
- package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs +3217 -0
- package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs.map +1 -0
- package/.output/server/chunks/build/details-CBMqXYyo.mjs +3714 -0
- package/.output/server/chunks/build/details-CBMqXYyo.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +86 -0
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs +9 -0
- package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +74 -0
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs +9 -0
- package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs.map +1 -0
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +1121 -0
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -0
- package/.output/server/chunks/build/interval-BxUMpo78.mjs +411 -0
- package/.output/server/chunks/build/interval-BxUMpo78.mjs.map +1 -0
- package/.output/server/chunks/build/login-lbtjN0MV.mjs +642 -0
- package/.output/server/chunks/build/login-lbtjN0MV.mjs.map +1 -0
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs +220 -0
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +1 -0
- package/.output/server/chunks/build/services-DuJwjAB8.mjs +3005 -0
- package/.output/server/chunks/build/services-DuJwjAB8.mjs.map +1 -0
- package/.output/server/chunks/build/services-styles.eoO16BY9.mjs +9 -0
- package/.output/server/chunks/build/services-styles.eoO16BY9.mjs.map +1 -0
- package/.output/server/chunks/build/tasks-CyN9x492.mjs +915 -0
- package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +1 -0
- package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs +87 -0
- package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +6215 -0
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs +21 -0
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs +27 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +22 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs +22 -0
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +31 -0
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs +21 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +44 -0
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs +32 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +48 -0
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +46 -0
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs +38 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/file.post.mjs +41 -0
- package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs +35 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs +32 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +47 -0
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +42 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +48 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +45 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +32 -0
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs +27 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/files.post.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs +32 -0
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +36 -0
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +422 -0
- package/.output/server/chunks/routes/renderer.mjs.map +1 -0
- package/.output/server/chunks/routes/services/wms.get.mjs +54 -0
- package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -0
- package/.output/server/chunks/routes/services/wmts.get.mjs +54 -0
- package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/.output/server/chunks/virtual/entry.mjs +18545 -0
- package/.output/server/chunks/virtual/entry.mjs.map +1 -0
- package/.output/server/chunks/virtual/precomputed.mjs +4 -0
- package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
- package/.output/server/chunks/virtual/styles.mjs +10 -0
- package/.output/server/chunks/virtual/styles.mjs.map +1 -0
- package/.output/server/index.mjs +12 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
- package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
- package/.output/server/node_modules/@iconify/utils/package.json +119 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/.output/server/node_modules/consola/dist/core.mjs +512 -0
- package/.output/server/node_modules/consola/dist/index.mjs +651 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/.output/server/node_modules/consola/package.json +136 -0
- package/.output/server/node_modules/devalue/index.js +17 -0
- package/.output/server/node_modules/devalue/package.json +39 -0
- package/.output/server/node_modules/devalue/src/base64.js +60 -0
- package/.output/server/node_modules/devalue/src/constants.js +12 -0
- package/.output/server/node_modules/devalue/src/operations.js +193 -0
- package/.output/server/node_modules/devalue/src/parse.js +270 -0
- package/.output/server/node_modules/devalue/src/stringify.js +428 -0
- package/.output/server/node_modules/devalue/src/uneval.js +582 -0
- package/.output/server/node_modules/devalue/src/utils.js +185 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +120 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
- package/.output/server/node_modules/fflate/package.json +128 -0
- package/.output/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
- package/.output/server/node_modules/fnv1a-64/package.json +75 -0
- package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
- package/.output/server/node_modules/hookable/package.json +53 -0
- package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
- package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
- package/.output/server/node_modules/nostics/package.json +125 -0
- package/.output/server/node_modules/object-identity/index.js +60 -0
- package/.output/server/node_modules/object-identity/package.json +40 -0
- package/.output/server/node_modules/p-limit/index.js +104 -0
- package/.output/server/node_modules/p-limit/package.json +58 -0
- package/.output/server/node_modules/pmtiles/dist/esm/index.js +2 -0
- package/.output/server/node_modules/pmtiles/package.json +50 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/package.json +89 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
- package/.output/server/node_modules/ufo/package.json +48 -0
- package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
- package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
- package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
- package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
- package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
- package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +585 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +223 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +19 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
- package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
- package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
- package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
- package/.output/server/node_modules/unhead/package.json +179 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
- package/.output/server/node_modules/yocto-queue/index.js +90 -0
- package/.output/server/node_modules/yocto-queue/package.json +48 -0
- package/.output/server/node_modules/zod/index.js +4 -0
- package/.output/server/node_modules/zod/package.json +135 -0
- package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
- package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
- package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
- package/.output/server/node_modules/zod/v4/classic/errors.js +48 -0
- package/.output/server/node_modules/zod/v4/classic/external.js +20 -0
- package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
- package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
- package/.output/server/node_modules/zod/v4/classic/parse.js +15 -0
- package/.output/server/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/.output/server/node_modules/zod/v4/core/api.js +1087 -0
- package/.output/server/node_modules/zod/v4/core/checks.js +575 -0
- package/.output/server/node_modules/zod/v4/core/core.js +78 -0
- package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
- package/.output/server/node_modules/zod/v4/core/errors.js +185 -0
- package/.output/server/node_modules/zod/v4/core/index.js +16 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
- package/.output/server/node_modules/zod/v4/core/package.json +7 -0
- package/.output/server/node_modules/zod/v4/core/parse.js +93 -0
- package/.output/server/node_modules/zod/v4/core/regexes.js +139 -0
- package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
- package/.output/server/node_modules/zod/v4/core/schemas.js +2239 -0
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/.output/server/node_modules/zod/v4/core/util.js +674 -0
- package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/ar.js +106 -0
- package/.output/server/node_modules/zod/v4/locales/az.js +105 -0
- package/.output/server/node_modules/zod/v4/locales/be.js +156 -0
- package/.output/server/node_modules/zod/v4/locales/bg.js +120 -0
- package/.output/server/node_modules/zod/v4/locales/ca.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/cs.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/da.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/de.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/el.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/en.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/eo.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/es.js +132 -0
- package/.output/server/node_modules/zod/v4/locales/fa.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/fi.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/fr.js +125 -0
- package/.output/server/node_modules/zod/v4/locales/he.js +214 -0
- package/.output/server/node_modules/zod/v4/locales/hr.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/hu.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
- package/.output/server/node_modules/zod/v4/locales/id.js +106 -0
- package/.output/server/node_modules/zod/v4/locales/index.js +52 -0
- package/.output/server/node_modules/zod/v4/locales/is.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/it.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ja.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/ka.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/km.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/ko.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/lt.js +203 -0
- package/.output/server/node_modules/zod/v4/locales/mk.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/ms.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/nl.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/no.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ota.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
- package/.output/server/node_modules/zod/v4/locales/pl.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/ps.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/pt.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ro.js +119 -0
- package/.output/server/node_modules/zod/v4/locales/ru.js +156 -0
- package/.output/server/node_modules/zod/v4/locales/sl.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/sv.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/ta.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/th.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/tr.js +105 -0
- package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/uk.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ur.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/uz.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/vi.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/yo.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/.output/server/package.json +37 -0
- package/LICENSE +3 -0
- package/README.md +125 -0
- package/dist/src/bbox.js +55 -0
- package/dist/src/cli.js +255 -0
- package/dist/src/config.js +56 -0
- package/dist/src/core/fetch-process.js +19 -0
- package/dist/src/core/grid-renderer.js +149 -0
- package/dist/src/core/lease.js +103 -0
- package/dist/src/core/paths.js +13 -0
- package/dist/src/core/png.js +192 -0
- package/dist/src/core/raster-style.js +33 -0
- package/dist/src/core/uomtiles.js +307 -0
- package/dist/src/fetcher.js +208 -0
- package/dist/src/geographic-grid.js +162 -0
- package/dist/src/grid-crawl.js +478 -0
- package/dist/src/mask-image.js +16 -0
- package/dist/src/official-grid.js +51 -0
- package/dist/src/quality.js +30 -0
- package/dist/src/token.js +206 -0
- package/package.json +68 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +8 -0
- package/public/icon-192.png +0 -0
- package/public/icon-512.png +0 -0
- 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
|
+
}
|