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 @@
|
|
|
1
|
+
{"version":3,"file":"icons.mjs","sources":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { c as createError } from '../nitro/nitro.mjs';
|
|
2
|
+
import { createWriteStream, existsSync, statSync, unlinkSync, mkdirSync, writeFileSync, renameSync, chmodSync, copyFileSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { extname, dirname, resolve } from 'node:path';
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
import { pipeline } from 'node:stream/promises';
|
|
6
|
+
import { e as encodeIndexedPng, d as decodeCanonicalAlphaMask } from './config.mjs';
|
|
7
|
+
import { s as serverDataDirectory } from './data-directory.mjs';
|
|
8
|
+
import { j as cleanWorkspaceFilename, v as validateTileFile, r as resolveWorkspaceFile, k as hasActiveSqliteLease, c as readTileFiles } from './file-workspace.mjs';
|
|
9
|
+
|
|
10
|
+
const WEB_MERCATOR_HALF_WORLD = 20037508342789244e-9;
|
|
11
|
+
const WEB_MERCATOR_WORLD = WEB_MERCATOR_HALF_WORLD * 2;
|
|
12
|
+
function parseHexColor(color) {
|
|
13
|
+
if (!/^#[0-9a-f]{6}$/i.test(color)) throw new RangeError("color must use #RRGGBB");
|
|
14
|
+
return [Number.parseInt(color.slice(1, 3), 16), Number.parseInt(color.slice(3, 5), 16), Number.parseInt(color.slice(5, 7), 16)];
|
|
15
|
+
}
|
|
16
|
+
function encodeStyledMask(mask, width, height, color, opacity) {
|
|
17
|
+
if (mask.length !== width * height) throw new RangeError("mask dimensions do not match output");
|
|
18
|
+
if (!Number.isInteger(opacity) || opacity < 0 || opacity > 100) throw new RangeError("opacity must be an integer from 0 to 100");
|
|
19
|
+
const [red, green, blue] = parseHexColor(color);
|
|
20
|
+
return encodeIndexedPng(width, height, mask, Uint8Array.of(0, 0, 0, red, green, blue), Uint8Array.of(0, Math.round(opacity * 2.55)));
|
|
21
|
+
}
|
|
22
|
+
function zoomForMercatorImage(bbox, width, height, maxZoom = 18) {
|
|
23
|
+
const resolution = Math.max((bbox.maxx - bbox.minx) / width, (bbox.maxy - bbox.miny) / height);
|
|
24
|
+
return Math.max(0, Math.min(maxZoom, Math.round(Math.log2(WEB_MERCATOR_WORLD / (256 * resolution)))));
|
|
25
|
+
}
|
|
26
|
+
function mercatorPixel(bbox, width, height, column, row, zoom) {
|
|
27
|
+
const mercatorX = bbox.minx + (column + 0.5) / width * (bbox.maxx - bbox.minx);
|
|
28
|
+
const mercatorY = bbox.maxy - (row + 0.5) / height * (bbox.maxy - bbox.miny);
|
|
29
|
+
const worldPixels = 256 * 2 ** zoom;
|
|
30
|
+
const globalX = Math.floor((mercatorX + WEB_MERCATOR_HALF_WORLD) / WEB_MERCATOR_WORLD * worldPixels);
|
|
31
|
+
const globalY = Math.floor((WEB_MERCATOR_HALF_WORLD - mercatorY) / WEB_MERCATOR_WORLD * worldPixels);
|
|
32
|
+
return {
|
|
33
|
+
tileX: Math.floor(globalX / 256),
|
|
34
|
+
tileY: Math.floor(globalY / 256),
|
|
35
|
+
pixelX: (globalX % 256 + 256) % 256,
|
|
36
|
+
pixelY: (globalY % 256 + 256) % 256
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const defaults = { color: "#2980b9", opacity: 88};
|
|
41
|
+
function configPath() {
|
|
42
|
+
return resolve(serverDataDirectory(), "map-service.json");
|
|
43
|
+
}
|
|
44
|
+
function serviceFilePath() {
|
|
45
|
+
return resolve(serverDataDirectory(), "map-service.tiles");
|
|
46
|
+
}
|
|
47
|
+
function readStoredConfig() {
|
|
48
|
+
const path = configPath();
|
|
49
|
+
if (!existsSync(path)) return {};
|
|
50
|
+
try {
|
|
51
|
+
return JSON.parse(readFileSync(path, "utf8"));
|
|
52
|
+
} catch {
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function writeStoredConfig(config) {
|
|
57
|
+
const path = configPath(), temporary = `${path}.${process.pid}.tmp`;
|
|
58
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
59
|
+
writeFileSync(temporary, `${JSON.stringify(config, null, 2)}
|
|
60
|
+
`, { mode: 384 });
|
|
61
|
+
renameSync(temporary, path);
|
|
62
|
+
}
|
|
63
|
+
function serviceFileView(metadata) {
|
|
64
|
+
if (!metadata || !existsSync(serviceFilePath())) return null;
|
|
65
|
+
try {
|
|
66
|
+
validateTileFile(serviceFilePath(), metadata.kind);
|
|
67
|
+
} catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const stat = statSync(serviceFilePath());
|
|
71
|
+
return { filename: metadata.filename, kind: metadata.kind, bytes: stat.size, modifiedAt: stat.mtime.toISOString() };
|
|
72
|
+
}
|
|
73
|
+
function copyServiceFile(sourcePath, metadata) {
|
|
74
|
+
const target = serviceFilePath();
|
|
75
|
+
const temporary = `${target}.${process.pid}.${randomUUID()}.tmp`;
|
|
76
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
77
|
+
try {
|
|
78
|
+
copyFileSync(sourcePath, temporary);
|
|
79
|
+
chmodSync(temporary, 384);
|
|
80
|
+
renameSync(temporary, target);
|
|
81
|
+
for (const suffix of ["-wal", "-shm"]) {
|
|
82
|
+
const sidecar = `${target}${suffix}`;
|
|
83
|
+
if (existsSync(sidecar)) unlinkSync(sidecar);
|
|
84
|
+
}
|
|
85
|
+
return serviceFileView({ ...metadata, bytes: 0, modifiedAt: "" });
|
|
86
|
+
} catch (error) {
|
|
87
|
+
if (existsSync(temporary)) unlinkSync(temporary);
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function finalizeUploadedServiceFile(temporary, metadata) {
|
|
92
|
+
const target = serviceFilePath();
|
|
93
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
94
|
+
try {
|
|
95
|
+
chmodSync(temporary, 384);
|
|
96
|
+
renameSync(temporary, target);
|
|
97
|
+
for (const suffix of ["-wal", "-shm"]) {
|
|
98
|
+
const sidecar = `${target}${suffix}`;
|
|
99
|
+
if (existsSync(sidecar)) unlinkSync(sidecar);
|
|
100
|
+
}
|
|
101
|
+
return serviceFileView({ ...metadata, bytes: 0, modifiedAt: "" });
|
|
102
|
+
} catch (error) {
|
|
103
|
+
if (existsSync(temporary)) unlinkSync(temporary);
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function saveServiceFile(metadata) {
|
|
108
|
+
const current = mapServiceConfig();
|
|
109
|
+
const next = { ...current, file: metadata, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
110
|
+
writeStoredConfig(next);
|
|
111
|
+
return next;
|
|
112
|
+
}
|
|
113
|
+
function mapServiceConfig() {
|
|
114
|
+
const value = readStoredConfig();
|
|
115
|
+
const storedFile = value.file;
|
|
116
|
+
const metadata = storedFile && !storedFile.filename && storedFile.name ? { ...storedFile, filename: storedFile.name } : storedFile || null;
|
|
117
|
+
const file = serviceFileView(metadata);
|
|
118
|
+
const config = {
|
|
119
|
+
enabled: Boolean(value.enabled) && Boolean(file),
|
|
120
|
+
file,
|
|
121
|
+
color: typeof value.color === "string" ? value.color : defaults.color,
|
|
122
|
+
opacity: Number.isInteger(value.opacity) ? Number(value.opacity) : defaults.opacity,
|
|
123
|
+
updatedAt: typeof value.updatedAt === "string" ? value.updatedAt : null
|
|
124
|
+
};
|
|
125
|
+
if (JSON.stringify(value) !== JSON.stringify(config)) writeStoredConfig(config);
|
|
126
|
+
return config;
|
|
127
|
+
}
|
|
128
|
+
function configureMapService(input) {
|
|
129
|
+
const current = mapServiceConfig();
|
|
130
|
+
if (input.enabled && !current.file) throw createError({ statusCode: 400, statusMessage: "\u542F\u7528\u5730\u56FE\u670D\u52A1\u524D\u5FC5\u987B\u5148\u9009\u62E9\u670D\u52A1\u6587\u4EF6" });
|
|
131
|
+
const config = { ...input, file: current.file, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
132
|
+
writeStoredConfig(config);
|
|
133
|
+
return config;
|
|
134
|
+
}
|
|
135
|
+
function copyWorkspaceToMapService(filename) {
|
|
136
|
+
const source = resolveWorkspaceFile(filename);
|
|
137
|
+
if (source.kind === "uomtiles" && hasActiveSqliteLease(source.path, "writer")) {
|
|
138
|
+
throw createError({ statusCode: 409, statusMessage: "\u4E0B\u8F7D\u4E2D\u7684\u4EFB\u52A1\u4E0D\u80FD\u590D\u5236\u5230\u5730\u56FE\u670D\u52A1\uFF0C\u8BF7\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210" });
|
|
139
|
+
}
|
|
140
|
+
const copied = copyServiceFile(source.path, { filename: source.filename, kind: source.kind });
|
|
141
|
+
return saveServiceFile(copied);
|
|
142
|
+
}
|
|
143
|
+
async function uploadMapServiceFile(filename, input) {
|
|
144
|
+
const clean = cleanWorkspaceFilename(filename);
|
|
145
|
+
const extension = extname(clean).slice(1).toLowerCase();
|
|
146
|
+
if (!["uomtiles", "mbtiles", "pmtiles"].includes(extension)) throw createError({ statusCode: 400, statusMessage: "\u4EC5\u652F\u6301 .uomtiles\u3001.mbtiles\u3001.pmtiles" });
|
|
147
|
+
const target = serviceFilePath();
|
|
148
|
+
const temporary = `${target}.${process.pid}.${randomUUID()}.upload`;
|
|
149
|
+
try {
|
|
150
|
+
await pipeline(input, createWriteStream(temporary, { flags: "wx", mode: 384 }));
|
|
151
|
+
if (!existsSync(temporary) || statSync(temporary).size === 0) throw createError({ statusCode: 400, statusMessage: "\u6587\u4EF6\u4E3A\u7A7A" });
|
|
152
|
+
const kind = extension;
|
|
153
|
+
try {
|
|
154
|
+
validateTileFile(temporary, kind);
|
|
155
|
+
} catch (error) {
|
|
156
|
+
throw createError({ statusCode: 400, statusMessage: `\u6587\u4EF6\u683C\u5F0F\u65E0\u6548\uFF1A${error instanceof Error ? error.message : String(error)}` });
|
|
157
|
+
}
|
|
158
|
+
const uploaded = finalizeUploadedServiceFile(temporary, { filename: clean, kind });
|
|
159
|
+
return saveServiceFile(uploaded);
|
|
160
|
+
} catch (error) {
|
|
161
|
+
if (existsSync(temporary)) unlinkSync(temporary);
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function activeMapService() {
|
|
166
|
+
const config = mapServiceConfig();
|
|
167
|
+
if (!config.enabled || !config.file) throw createError({ statusCode: 503, statusMessage: "\u5730\u56FE\u670D\u52A1\u5C1A\u672A\u542F\u7528" });
|
|
168
|
+
return { config, file: { path: serviceFilePath(), kind: config.file.kind } };
|
|
169
|
+
}
|
|
170
|
+
async function mapServiceTile(z, x, y) {
|
|
171
|
+
const active = activeMapService();
|
|
172
|
+
const [tile] = await readTileFiles(active.file, [{ z, x, y }]);
|
|
173
|
+
const mask = tile ? decodeCanonicalAlphaMask(tile, 256) : new Uint8Array(256 * 256);
|
|
174
|
+
return encodeStyledMask(mask, 256, 256, active.config.color, active.config.opacity);
|
|
175
|
+
}
|
|
176
|
+
async function mapServiceImage(bbox, width, height) {
|
|
177
|
+
var _a;
|
|
178
|
+
const active = activeMapService();
|
|
179
|
+
const zoom = zoomForMercatorImage(bbox, width, height);
|
|
180
|
+
const samples = new Array(width * height);
|
|
181
|
+
const coordinates = /* @__PURE__ */ new Map();
|
|
182
|
+
for (let row = 0; row < height; row++) for (let column = 0; column < width; column++) {
|
|
183
|
+
const sample = mercatorPixel(bbox, width, height, column, row, zoom);
|
|
184
|
+
samples[row * width + column] = sample;
|
|
185
|
+
if (sample.tileX < 0 || sample.tileY < 0 || sample.tileX >= 2 ** zoom || sample.tileY >= 2 ** zoom) continue;
|
|
186
|
+
coordinates.set(`${sample.tileX}/${sample.tileY}`, { z: zoom, x: sample.tileX, y: sample.tileY });
|
|
187
|
+
}
|
|
188
|
+
const keys = [...coordinates.keys()];
|
|
189
|
+
const tiles = await readTileFiles(active.file, [...coordinates.values()]);
|
|
190
|
+
const masks = /* @__PURE__ */ new Map();
|
|
191
|
+
keys.forEach((key, index) => {
|
|
192
|
+
const tile = tiles[index];
|
|
193
|
+
if (tile) masks.set(key, decodeCanonicalAlphaMask(tile, 256));
|
|
194
|
+
});
|
|
195
|
+
const output = new Uint8Array(width * height);
|
|
196
|
+
for (let index = 0; index < samples.length; index++) {
|
|
197
|
+
const sample = samples[index];
|
|
198
|
+
output[index] = ((_a = masks.get(`${sample.tileX}/${sample.tileY}`)) == null ? void 0 : _a[sample.pixelY * 256 + sample.pixelX]) || 0;
|
|
199
|
+
}
|
|
200
|
+
return encodeStyledMask(output, width, height, active.config.color, active.config.opacity);
|
|
201
|
+
}
|
|
202
|
+
function xml(value) {
|
|
203
|
+
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll('"', """);
|
|
204
|
+
}
|
|
205
|
+
function wmsCapabilities(endpoint) {
|
|
206
|
+
const href = xml(endpoint);
|
|
207
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
208
|
+
<WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
209
|
+
<Service><Name>WMS</Name><Title>UOM\u9002\u98DE\u5730\u56FE</Title><OnlineResource xlink:type="simple" xlink:href="${href}"/></Service>
|
|
210
|
+
<Capability>
|
|
211
|
+
<Request>
|
|
212
|
+
<GetCapabilities><Format>text/xml</Format><DCPType><HTTP><Get><OnlineResource xlink:type="simple" xlink:href="${href}"/></Get></HTTP></DCPType></GetCapabilities>
|
|
213
|
+
<GetMap><Format>image/png</Format><DCPType><HTTP><Get><OnlineResource xlink:type="simple" xlink:href="${href}"/></Get></HTTP></DCPType></GetMap>
|
|
214
|
+
</Request>
|
|
215
|
+
<Layer><Title>UOM\u9002\u98DE\u5730\u56FE</Title><CRS>EPSG:3857</CRS><EX_GeographicBoundingBox><westBoundLongitude>-180</westBoundLongitude><eastBoundLongitude>180</eastBoundLongitude><southBoundLatitude>-85.05112878</southBoundLatitude><northBoundLatitude>85.05112878</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox CRS="EPSG:3857" minx="-${WEB_MERCATOR_HALF_WORLD}" miny="-${WEB_MERCATOR_HALF_WORLD}" maxx="${WEB_MERCATOR_HALF_WORLD}" maxy="${WEB_MERCATOR_HALF_WORLD}"/><Layer queryable="0"><Name>uomtiles</Name><Title>UOM \u9002\u98DE\u7A7A\u57DF</Title><CRS>EPSG:3857</CRS></Layer></Layer>
|
|
216
|
+
</Capability>
|
|
217
|
+
</WMS_Capabilities>`;
|
|
218
|
+
}
|
|
219
|
+
function wmtsCapabilities(endpoint) {
|
|
220
|
+
const href = xml(endpoint);
|
|
221
|
+
const matrices = Array.from({ length: 19 }, (_, zoom) => `
|
|
222
|
+
<TileMatrix><ows:Identifier>${zoom}</ows:Identifier><ScaleDenominator>${5590822640287178e-7 / 2 ** zoom}</ScaleDenominator><TopLeftCorner>-${WEB_MERCATOR_HALF_WORLD} ${WEB_MERCATOR_HALF_WORLD}</TopLeftCorner><TileWidth>256</TileWidth><TileHeight>256</TileHeight><MatrixWidth>${2 ** zoom}</MatrixWidth><MatrixHeight>${2 ** zoom}</MatrixHeight></TileMatrix>`).join("");
|
|
223
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
224
|
+
<Capabilities version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
225
|
+
<ows:ServiceIdentification><ows:Title>UOM\u9002\u98DE\u5730\u56FE</ows:Title><ows:ServiceType>OGC WMTS</ows:ServiceType><ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion></ows:ServiceIdentification>
|
|
226
|
+
<ows:OperationsMetadata><ows:Operation name="GetCapabilities"><ows:DCP><ows:HTTP><ows:Get xlink:href="${href}"/></ows:HTTP></ows:DCP></ows:Operation><ows:Operation name="GetTile"><ows:DCP><ows:HTTP><ows:Get xlink:href="${href}"/></ows:HTTP></ows:DCP></ows:Operation></ows:OperationsMetadata>
|
|
227
|
+
<Contents><Layer><ows:Title>UOM \u9002\u98DE\u7A7A\u57DF</ows:Title><ows:Identifier>uomtiles</ows:Identifier><Style isDefault="true"><ows:Identifier>default</ows:Identifier></Style><Format>image/png</Format><TileMatrixSetLink><TileMatrixSet>WebMercatorQuad</TileMatrixSet></TileMatrixSetLink></Layer><TileMatrixSet><ows:Identifier>WebMercatorQuad</ows:Identifier><ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>${matrices}
|
|
228
|
+
</TileMatrixSet></Contents>
|
|
229
|
+
</Capabilities>`;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export { copyWorkspaceToMapService as a, activeMapService as b, configureMapService as c, mapServiceImage as d, wmtsCapabilities as e, mapServiceTile as f, mapServiceConfig as m, uploadMapServiceFile as u, wmsCapabilities as w };
|
|
233
|
+
//# sourceMappingURL=map-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-service.mjs","sources":["../../../../src/core/raster-style.ts","../../../../server/utils/map-service.ts"],"names":[],"mappings":";;;;;;;;;AASO,MAAM,uBAAA,GAA0B,oBAAA;AAChC,MAAM,qBAAqB,uBAAA,GAA0B,CAAA;AAErD,SAAS,cAAc,KAAA,EAAyC;AACrE,EAAA,IAAI,CAAC,kBAAkB,IAAA,CAAK,KAAK,GAAG,MAAM,IAAI,WAAW,wBAAwB,CAAA;AACjF,EAAA,OAAO,CAAC,MAAA,CAAO,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,EAAG,EAAE,CAAA,EAAG,MAAA,CAAO,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,EAAG,EAAE,CAAA,EAAG,MAAA,CAAO,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA;AAChI;AAEO,SAAS,gBAAA,CAAiB,IAAA,EAAkB,KAAA,EAAe,MAAA,EAAgB,OAAe,OAAA,EAAyB;AACxH,EAAA,IAAI,KAAK,MAAA,KAAW,KAAA,GAAQ,QAAQ,MAAM,IAAI,WAAW,qCAAqC,CAAA;AAC9F,EAAA,IAAI,CAAC,MAAA,CAAO,SAAA,CAAU,OAAO,CAAA,IAAK,OAAA,GAAU,CAAA,IAAK,OAAA,GAAU,GAAA,EAAK,MAAM,IAAI,UAAA,CAAW,0CAA0C,CAAA;AAC/H,EAAA,MAAM,CAAC,GAAA,EAAK,KAAA,EAAO,IAAI,CAAA,GAAI,cAAc,KAAK,CAAA;AAC9C,EAAA,OAAO,gBAAA,CAAiB,OAAO,MAAA,EAAQ,IAAA,EAAM,WAAW,EAAA,CAAG,CAAA,EAAG,GAAG,CAAA,EAAG,GAAA,EAAK,OAAO,IAAI,CAAA,EAAG,WAAW,EAAA,CAAG,CAAA,EAAG,KAAK,KAAA,CAAM,OAAA,GAAU,IAAI,CAAC,CAAC,CAAA;AACrI;AAEO,SAAS,oBAAA,CAAqB,IAAA,EAAoB,KAAA,EAAe,MAAA,EAAgB,UAAU,EAAA,EAAY;AAC5G,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,GAAA,CAAA,CAAK,IAAA,CAAK,IAAA,GAAO,IAAA,CAAK,IAAA,IAAQ,KAAA,EAAA,CAAQ,IAAA,CAAK,IAAA,GAAO,IAAA,CAAK,IAAA,IAAQ,MAAM,CAAA;AAC7F,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,IAAI,OAAA,EAAS,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,KAAK,kBAAA,IAAsB,GAAA,GAAM,UAAA,CAAW,CAAC,CAAC,CAAC,CAAA;AACtG;AAEO,SAAS,cAAc,IAAA,EAAoB,KAAA,EAAe,MAAA,EAAgB,MAAA,EAAgB,KAAa,IAAA,EAAc;AAC1H,EAAA,MAAM,SAAA,GAAY,KAAK,IAAA,GAAA,CAAQ,MAAA,GAAS,OAAO,KAAA,IAAS,IAAA,CAAK,OAAO,IAAA,CAAK,IAAA,CAAA;AACzE,EAAA,MAAM,SAAA,GAAY,KAAK,IAAA,GAAA,CAAQ,GAAA,GAAM,OAAO,MAAA,IAAU,IAAA,CAAK,OAAO,IAAA,CAAK,IAAA,CAAA;AACvE,EAAA,MAAM,WAAA,GAAc,MAAM,CAAA,IAAK,IAAA;AAC/B,EAAA,MAAM,UAAU,IAAA,CAAK,KAAA,CAAA,CAAO,SAAA,GAAY,uBAAA,IAA2B,qBAAqB,WAAW,CAAA;AACnG,EAAA,MAAM,UAAU,IAAA,CAAK,KAAA,CAAA,CAAO,uBAAA,GAA0B,SAAA,IAAa,qBAAqB,WAAW,CAAA;AACnG,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,CAAA;AAAA,IAC/B,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,CAAA;AAAA,IAC/B,MAAA,EAAA,CAAU,OAAA,GAAU,GAAA,GAAO,GAAA,IAAO,GAAA;AAAA,IAClC,MAAA,EAAA,CAAU,OAAA,GAAU,GAAA,GAAO,GAAA,IAAO;AAAA,GACpC;AACF;;AC7BA,MAAA,QAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,OAAA,EAAA,EAAA,CAAA;AAEA,SAAA,UAAA,GAAA;AACA,EAAA,OAAA,OAAA,CAAA,mBAAA,EAAA,EAAA,kBAAA,CAAA;AACA;AAEA,SAAA,eAAA,GAAA;AACA,EAAA,OAAA,OAAA,CAAA,mBAAA,EAAA,EAAA,mBAAA,CAAA;AACA;AAIA,SAAA,gBAAA,GAAA;AACA,EAAA,MAAA,OAAA,UAAA,EAAA;AACA,EAAA,IAAA,CAAA,UAAA,CAAA,IAAA,CAAA,SAAA,EAAA;AACA,EAAA,IAAA;AAAA,IAAA,OAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAAA,EAAA,CAAA,CAAA,MAAA;AAAA,IAAA,OAAA,EAAA;AAAA,EAAA;AACA;AAEA,SAAA,kBAAA,MAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,YAAA,EAAA,SAAA,GAAA,GAAA,IAAA,CAAA,CAAA,EAAA,QAAA,GAAA,CAAA,IAAA,CAAA;AACA,EAAA,SAAA,CAAA,QAAA,IAAA,CAAA,EAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AACA,EAAA,aAAA,CAAA,WAAA,CAAA,EAAA,IAAA,CAAA,UAAA,MAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,CAAA,EAAA,EAAA,IAAA,EAAA,GAAA,EAAA,CAAA;AACA,EAAA,UAAA,CAAA,WAAA,IAAA,CAAA;AACA;AAEA,SAAA,gBAAA,QAAA,EAAA;AACA,EAAA,IAAA,CAAA,QAAA,IAAA,CAAA,WAAA,eAAA,EAAA,GAAA,OAAA,IAAA;AACA,EAAA,IAAA;AAAA,IAAA,gBAAA,CAAA,eAAA,EAAA,EAAA,QAAA,CAAA,IAAA,CAAA;AAAA,EAAA,CAAA,CAAA,MAAA;AAAA,IAAA,OAAA,IAAA;AAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,QAAA,CAAA,eAAA,EAAA,CAAA;AACA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,CAAA,QAAA,EAAA,MAAA,QAAA,CAAA,IAAA,EAAA,KAAA,EAAA,IAAA,CAAA,IAAA,EAAA,UAAA,EAAA,IAAA,CAAA,KAAA,CAAA,aAAA,EAAA;AACA;AAEA,SAAA,eAAA,CAAA,YAAA,QAAA,EAAA;AACA,EAAA,MAAA,SAAA,eAAA,EAAA;AACA,EAAA,MAAA,SAAA,GAAA,GAAA,MAAA,CAAA,CAAA,EAAA,QAAA,GAAA,CAAA,CAAA,EAAA,YAAA,CAAA,IAAA,CAAA;AACA,EAAA,SAAA,CAAA,QAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AACA,EAAA,IAAA;AACA,IAAA,YAAA,CAAA,YAAA,SAAA,CAAA;AACA,IAAA,SAAA,CAAA,WAAA,GAAA,CAAA;AACA,IAAA,UAAA,CAAA,WAAA,MAAA,CAAA;AACA,IAAA,KAAA,MAAA,MAAA,IAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,UAAA,CAAA,OAAA,CAAA,EAAA,UAAA,CAAA,OAAA,CAAA;AAAA,IACA;AACA,IAAA,OAAA,eAAA,CAAA,EAAA,GAAA,QAAA,EAAA,OAAA,CAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,IAAA,UAAA,CAAA,SAAA,CAAA,EAAA,UAAA,CAAA,SAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA;AAEA,SAAA,2BAAA,CAAA,WAAA,QAAA,EAAA;AACA,EAAA,MAAA,SAAA,eAAA,EAAA;AACA,EAAA,SAAA,CAAA,QAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AACA,EAAA,IAAA;AACA,IAAA,SAAA,CAAA,WAAA,GAAA,CAAA;AACA,IAAA,UAAA,CAAA,WAAA,MAAA,CAAA;AACA,IAAA,KAAA,MAAA,MAAA,IAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,UAAA,CAAA,OAAA,CAAA,EAAA,UAAA,CAAA,OAAA,CAAA;AAAA,IACA;AACA,IAAA,OAAA,eAAA,CAAA,EAAA,GAAA,QAAA,EAAA,OAAA,CAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,IAAA,UAAA,CAAA,SAAA,CAAA,EAAA,UAAA,CAAA,SAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA;AAEA,SAAA,gBAAA,QAAA,EAAA;AACA,EAAA,MAAA,UAAA,gBAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,EAAA,GAAA,OAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,iBAAA,IAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA;AACA,EAAA,iBAAA,CAAA,IAAA,CAAA;AACA,EAAA,OAAA,IAAA;AACA;AAEA,SAAA,gBAAA,GAAA;AACA,EAAA,MAAA,QAAA,gBAAA,EAAA;AACA,EAAA,MAAA,aAAA,KAAA,CAAA,IAAA;AACA,EAAA,MAAA,QAAA,GAAA,UAAA,IAAA,CAAA,UAAA,CAAA,YAAA,UAAA,CAAA,IAAA,GACA,EAAA,GAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,IAAA,KACA,UAAA,IAAA,IAAA;AACA,EAAA,MAAA,IAAA,GAAA,gBAAA,QAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA;AAAA,IACA,SAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,IAAA,QAAA,IAAA,CAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA,OAAA,KAAA,CAAA,UAAA,QAAA,GAAA,KAAA,CAAA,QAAA,QAAA,CAAA,KAAA;AAAA,IACA,OAAA,EAAA,MAAA,CAAA,SAAA,CAAA,KAAA,CAAA,OAAA,IAAA,MAAA,CAAA,KAAA,CAAA,OAAA,CAAA,GAAA,QAAA,CAAA,OAAA;AAAA,IACA,WAAA,OAAA,KAAA,CAAA,SAAA,KAAA,QAAA,GAAA,MAAA,SAAA,GAAA;AAAA,GACA;AACA,EAAA,IAAA,IAAA,CAAA,UAAA,KAAA,CAAA,KAAA,KAAA,SAAA,CAAA,MAAA,CAAA,EAAA,iBAAA,CAAA,MAAA,CAAA;AACA,EAAA,OAAA,MAAA;AACA;AAEA,SAAA,oBAAA,KAAA,EAAA;AACA,EAAA,MAAA,UAAA,gBAAA,EAAA;AACA,EAAA,IAAA,KAAA,CAAA,OAAA,IAAA,CAAA,OAAA,CAAA,IAAA,EAAA,MAAA,WAAA,CAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,kGAAA,EAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,EAAA,OAAA,CAAA,IAAA,EAAA,SAAA,EAAA,iBAAA,IAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA;AACA,EAAA,iBAAA,CAAA,MAAA,CAAA;AACA,EAAA,OAAA,MAAA;AACA;AAEA,SAAA,0BAAA,QAAA,EAAA;AACA,EAAA,MAAA,MAAA,GAAA,qBAAA,QAAA,CAAA;AACA,EAAA,IAAA,OAAA,IAAA,KAAA,UAAA,IAAA,qBAAA,MAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,8IAAA,CAAA;AAAA,EACA;AACA,EAAA,MAAA,MAAA,GAAA,eAAA,CAAA,MAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EAAA,MAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,CAAA,IAAA,EAAA,CAAA;AACA,EAAA,OAAA,gBAAA,MAAA,CAAA;AACA;AAEA,eAAA,oBAAA,CAAA,UAAA,KAAA,EAAA;AACA,EAAA,MAAA,KAAA,GAAA,uBAAA,QAAA,CAAA;AACA,EAAA,MAAA,YAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA,EAAA,WAAA,EAAA;AACA,EAAA,IAAA,CAAA,CAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,SAAA,CAAA,EAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,4DAAA,CAAA;AACA,EAAA,MAAA,SAAA,eAAA,EAAA;AACA,EAAA,MAAA,SAAA,GAAA,GAAA,MAAA,CAAA,CAAA,EAAA,QAAA,GAAA,CAAA,CAAA,EAAA,YAAA,CAAA,OAAA,CAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,QAAA,CAAA,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,EAAA,OAAA,IAAA,EAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,CAAA,SAAA,CAAA,IAAA,QAAA,CAAA,SAAA,CAAA,CAAA,IAAA,KAAA,CAAA,EAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,4BAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,SAAA;AACA,IAAA,IAAA;AAAA,MAAA,gBAAA,CAAA,WAAA,IAAA,CAAA;AAAA,IAAA,SACA,KAAA,EAAA;AAAA,MAAA,MAAA,WAAA,CAAA,EAAA,UAAA,EAAA,GAAA,EAAA,eAAA,CAAA,0CAAA,EAAA,KAAA,YAAA,KAAA,GAAA,KAAA,CAAA,OAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AACA,IAAA,MAAA,WAAA,2BAAA,CAAA,SAAA,EAAA,EAAA,QAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AACA,IAAA,OAAA,gBAAA,QAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,IAAA,UAAA,CAAA,SAAA,CAAA,EAAA,UAAA,CAAA,SAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA;AAEA,SAAA,gBAAA,GAAA;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AACA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA,IAAA,CAAA,MAAA,CAAA,IAAA,EAAA,MAAA,WAAA,CAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,oDAAA,CAAA;AACA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAA,EAAA;AACA;AAEA,eAAA,cAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AACA,EAAA,MAAA,CAAA,IAAA,CAAA,GAAA,MAAA,aAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,OAAA,wBAAA,CAAA,IAAA,EAAA,GAAA,CAAA,GAAA,IAAA,UAAA,CAAA,GAAA,GAAA,GAAA,CAAA;AACA,EAAA,OAAA,gBAAA,CAAA,MAAA,GAAA,EAAA,GAAA,EAAA,OAAA,MAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA;AACA;AAEA,eAAA,eAAA,CAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA;;AACA,EAAA,MAAA,SAAA,gBAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,oBAAA,CAAA,IAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,EAAA,MAAA,WAAA,uBAAA,GAAA,EAAA;AACA,EAAA,KAAA,IAAA,GAAA,GAAA,CAAA,EAAA,GAAA,GAAA,MAAA,EAAA,GAAA,EAAA,WAAA,MAAA,GAAA,CAAA,EAAA,MAAA,GAAA,KAAA,EAAA,MAAA,EAAA,EAAA;AACA,IAAA,MAAA,SAAA,aAAA,CAAA,IAAA,EAAA,OAAA,MAAA,EAAA,MAAA,EAAA,KAAA,IAAA,CAAA;AACA,IAAA,OAAA,CAAA,GAAA,GAAA,KAAA,GAAA,MAAA,CAAA,GAAA,MAAA;AACA,IAAA,IAAA,MAAA,CAAA,KAAA,GAAA,CAAA,IAAA,MAAA,CAAA,KAAA,GAAA,CAAA,IAAA,MAAA,CAAA,KAAA,IAAA,CAAA,IAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,KAAA,IAAA,EAAA;AACA,IAAA,WAAA,CAAA,IAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,EAAA,OAAA,KAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,OAAA,CAAA,EAAA,MAAA,CAAA,OAAA,CAAA;AAAA,EACA;AACA,EAAA,MAAA,IAAA,GAAA,CAAA,GAAA,WAAA,CAAA,MAAA,CAAA;AACA,EAAA,MAAA,KAAA,GAAA,MAAA,aAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,GAAA,WAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AACA,EAAA,MAAA,KAAA,uBAAA,GAAA,EAAA;AACA,EAAA,IAAA,CAAA,OAAA,CAAA,CAAA,GAAA,EAAA,KAAA,KAAA;AACA,IAAA,MAAA,IAAA,GAAA,MAAA,KAAA,CAAA;AACA,IAAA,IAAA,MAAA,KAAA,CAAA,GAAA,CAAA,KAAA,wBAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;AAAA,EACA,CAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,EAAA,KAAA,IAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,OAAA,CAAA,QAAA,KAAA,EAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,KAAA,CAAA;AACA,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,EAAA,OAAA,KAAA,CAAA,CAAA,EAAA,MAAA,CAAA,KAAA,EAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,MAAA,GAAA,GAAA,GAAA,OAAA,MAAA,CAAA,KAAA,CAAA;AAAA,EACA;AACA,EAAA,OAAA,gBAAA,CAAA,QAAA,KAAA,EAAA,MAAA,EAAA,OAAA,MAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA;AACA;AAEA,SAAA,IAAA,KAAA,EAAA;AACA,EAAA,OAAA,KAAA,CAAA,UAAA,CAAA,GAAA,EAAA,OAAA,CAAA,CAAA,UAAA,CAAA,GAAA,EAAA,MAAA,CAAA,CAAA,UAAA,CAAA,GAAA,EAAA,QAAA,CAAA;AACA;AAEA,SAAA,gBAAA,QAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAA,QAAA,CAAA;AACA,EAAA,OAAA,CAAA;AAAA;AAAA,qHAAA,EAEA,IAAA,CAAA;AAAA;AAAA;AAAA,oHAAA,EAGA,IAAA,CAAA;AAAA,4GAAA,EACA,IAAA,CAAA;AAAA;AAAA,oWAAA,EAEA,uBAAA,CAAA,SAAA,EAAA,uBAAA,CAAA,QAAA,EAAA,uBAAA,WAAA,uBAAA,CAAA;AAAA;AAAA,mBAAA,CAAA;AAGA;AAEA,SAAA,iBAAA,QAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAA,QAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,MAAA,IAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,IAAA,KAAA;AAAA,oCAAA,EACA,IAAA,CAAA,mCAAA,EAAA,mBAAA,GAAA,KAAA,IAAA,CAAA,mCAAA,EAAA,uBAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,mFAAA,EAAA,CAAA,IAAA,IAAA,CAAA,4BAAA,EAAA,CAAA,IAAA,IAAA,CAAA,4BAAA,CAAA,CAAA,CAAA,KAAA,EAAA,CAAA;AACA,EAAA,OAAA,CAAA;AAAA;AAAA;AAAA,wGAAA,EAGA,IAAA,iHAAA,IAAA,CAAA;AAAA,4aAAA,EACA,QAAA;AAAA;AAAA,eAAA,CAAA;AAGA;;;;"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { e as encodeIndexedPng } from './config.mjs';
|
|
2
|
+
|
|
3
|
+
const LOADING_TILE = Buffer.from(
|
|
4
|
+
"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",
|
|
5
|
+
"base64"
|
|
6
|
+
);
|
|
7
|
+
function loadingTilePng() {
|
|
8
|
+
return Promise.resolve(LOADING_TILE);
|
|
9
|
+
}
|
|
10
|
+
const progressGlyphs = {
|
|
11
|
+
"0": ["111", "101", "101", "101", "111"],
|
|
12
|
+
"1": ["010", "110", "010", "010", "111"],
|
|
13
|
+
"2": ["111", "001", "111", "100", "111"],
|
|
14
|
+
"3": ["111", "001", "111", "001", "111"],
|
|
15
|
+
"4": ["101", "101", "111", "001", "001"],
|
|
16
|
+
"5": ["111", "100", "111", "001", "111"],
|
|
17
|
+
"6": ["111", "100", "111", "101", "111"],
|
|
18
|
+
"7": ["111", "001", "010", "010", "010"],
|
|
19
|
+
"8": ["111", "101", "111", "101", "111"],
|
|
20
|
+
"9": ["111", "101", "111", "001", "111"],
|
|
21
|
+
"/": ["001", "001", "010", "100", "100"]
|
|
22
|
+
};
|
|
23
|
+
function taskProgressTilePng(completed, total) {
|
|
24
|
+
const label = `${completed}/${total}`;
|
|
25
|
+
const indexes = new Uint8Array(256 * 256);
|
|
26
|
+
for (let y = 0; y < 256; y++) for (let x = 0; x < 256; x++) {
|
|
27
|
+
indexes[y * 256 + x] = (x + y) % 32 < 2 ? 1 : 0;
|
|
28
|
+
}
|
|
29
|
+
const barLeft = 36, barTop = 151, barWidth = 184, barHeight = 8;
|
|
30
|
+
const filled = Math.round(barWidth * completed / total);
|
|
31
|
+
for (let y = barTop; y < barTop + barHeight; y++) for (let x = barLeft; x < barLeft + barWidth; x++) {
|
|
32
|
+
indexes[y * 256 + x] = x - barLeft < filled ? 3 : 1;
|
|
33
|
+
}
|
|
34
|
+
const scale = Math.max(2, Math.min(4, Math.floor(184 / Math.max(1, label.length * 4))));
|
|
35
|
+
const glyphWidth = 3 * scale, gap = scale;
|
|
36
|
+
const left = Math.floor((256 - (label.length * glyphWidth + (label.length - 1) * gap)) / 2);
|
|
37
|
+
const top = 120;
|
|
38
|
+
for (let characterIndex = 0; characterIndex < label.length; characterIndex++) {
|
|
39
|
+
const glyph = progressGlyphs[label[characterIndex]];
|
|
40
|
+
if (!glyph) throw new Error(`missing progress glyph ${label[characterIndex]}`);
|
|
41
|
+
const glyphLeft = left + characterIndex * (glyphWidth + gap);
|
|
42
|
+
for (let row = 0; row < glyph.length; row++) for (let column = 0; column < 3; column++) {
|
|
43
|
+
if (glyph[row][column] !== "1") continue;
|
|
44
|
+
for (let dy = 0; dy < scale; dy++) for (let dx = 0; dx < scale; dx++) {
|
|
45
|
+
indexes[(top + row * scale + dy) * 256 + glyphLeft + column * scale + dx] = 2;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return encodeIndexedPng(
|
|
50
|
+
256,
|
|
51
|
+
256,
|
|
52
|
+
indexes,
|
|
53
|
+
Uint8Array.of(238, 241, 239, 201, 208, 204, 83, 97, 91, 41, 128, 185),
|
|
54
|
+
Uint8Array.of(152, 184, 224, 214)
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
const placeholderGlyphs = Object.fromEntries(Object.entries({
|
|
58
|
+
"\u52A0": "GH5+fn9mE2YTZhNmE2YzZjNmM2ZjZmN+zn4EQAAAAAA=",
|
|
59
|
+
"\u8F7D": "f6QMJH/+CCAYJn/kNDw2PH+4BjgHsn/7Zn4GzgAAAAA=",
|
|
60
|
+
"\u4E2D": "AYB//n/+YYZhhmGGYYZ//n/+AYABgAGAAYABgAAAAAA=",
|
|
61
|
+
"\u91CD": "AYB//gGAP/wxjD/8MYwxjD/8AYA//AGAf/4AAAAAAAA=",
|
|
62
|
+
"\u8BD5": "GBYL/gf/cBBwEBAQE/gRmBGYEZgV+x/vOw4ABgAAAAA=",
|
|
63
|
+
"\uFF08": "AAQADAAIABgAGAAYABgAGAAYABgACAAMAAYAAgAAAAA=",
|
|
64
|
+
"\uFF09": "YAAwABAAGAAYABgAGAAYABgAGAAQADAAYABAAAAAAAA=",
|
|
65
|
+
"1": "AYAHgAeAAYABgAGAAYABgAGAAYAH4A/wAAAAAAAAAAA=",
|
|
66
|
+
"2": "A8AH4AwwADAAYABgAMADgAMABgAP4A/wAAAAAAAAAAA=",
|
|
67
|
+
"3": "A8AH4AwwADAA4APAAeAAMAwwDDAP4AfAAAAAAAAAAAA=",
|
|
68
|
+
"\u5931": "GYA//D/4YYBhgH/+f/4DwAPABmAOcBw4cA5AAgAAAAA=",
|
|
69
|
+
"\u8D25": "YmBqfnrEesR7zHvMemh6aHo4GDAUODZsY8ZAggAAAAA="
|
|
70
|
+
}).map(([character, encoded]) => [character, Buffer.from(encoded, "base64")]));
|
|
71
|
+
function onlineTilePlaceholderPng(status) {
|
|
72
|
+
const failed = status.state === "failed";
|
|
73
|
+
const label = status.state === "loading" ? "\u52A0\u8F7D\u4E2D" : status.state === "retrying" ? `\u91CD\u8BD5\u52A0\u8F7D\u4E2D\uFF08${status.attempt}\uFF09` : "\u52A0\u8F7D\u5931\u8D25";
|
|
74
|
+
const indexes = new Uint8Array(256 * 256);
|
|
75
|
+
for (let y = 0; y < 256; y++) for (let x = 0; x < 256; x++) {
|
|
76
|
+
const edge = x < 2 || y < 2 || x >= 254 || y >= 254;
|
|
77
|
+
const hatch = (x + y) % 32 < 2;
|
|
78
|
+
indexes[y * 256 + x] = edge ? 2 : hatch ? 1 : 0;
|
|
79
|
+
}
|
|
80
|
+
const characters = [...label];
|
|
81
|
+
const glyphWidth = 16, gap = 2;
|
|
82
|
+
const left = Math.floor((256 - (characters.length * glyphWidth + (characters.length - 1) * gap)) / 2);
|
|
83
|
+
const top = 120;
|
|
84
|
+
indexes.fill(0, 106 * 256 + 32, 106 * 256 + 224);
|
|
85
|
+
for (let y = 107; y < 150; y++) indexes.fill(y === 149 ? 2 : 0, y * 256 + 32, y * 256 + 224);
|
|
86
|
+
for (let y = 106; y < 150; y++) {
|
|
87
|
+
indexes[y * 256 + 32] = 2;
|
|
88
|
+
indexes[y * 256 + 223] = 2;
|
|
89
|
+
}
|
|
90
|
+
for (let characterIndex = 0; characterIndex < characters.length; characterIndex++) {
|
|
91
|
+
const glyph = placeholderGlyphs[characters[characterIndex]];
|
|
92
|
+
if (!glyph) throw new Error(`missing placeholder glyph ${characters[characterIndex]}`);
|
|
93
|
+
const glyphLeft = left + characterIndex * (glyphWidth + gap);
|
|
94
|
+
for (let pixel = 0; pixel < 256; pixel++) {
|
|
95
|
+
if (!(glyph[pixel >> 3] & 1 << 7 - (pixel & 7))) continue;
|
|
96
|
+
indexes[(top + Math.floor(pixel / 16)) * 256 + glyphLeft + pixel % 16] = 2;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const palette = failed ? Uint8Array.of(248, 232, 230, 223, 170, 165, 167, 59, 54) : Uint8Array.of(238, 241, 239, 201, 208, 204, 83, 97, 91);
|
|
100
|
+
return encodeIndexedPng(256, 256, indexes, palette, Uint8Array.of(168, 196, 232));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { loadingTilePng as l, onlineTilePlaceholderPng as o, taskProgressTilePng as t };
|
|
104
|
+
//# sourceMappingURL=missing-tile.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-tile.mjs","sources":["../../../../server/utils/missing-tile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { c as createError } from '../nitro/nitro.mjs';
|
|
2
|
+
import { r as resolveWorkspaceFile, c as readTileFiles, f as tileFileCoordinates } from './file-workspace.mjs';
|
|
3
|
+
import { statSync } from 'node:fs';
|
|
4
|
+
|
|
5
|
+
const indexes = /* @__PURE__ */ new Map();
|
|
6
|
+
function compareKeys(left, right) {
|
|
7
|
+
return left.z - right.z || left.x - right.x || left.y - right.y;
|
|
8
|
+
}
|
|
9
|
+
function mergeKeys(left, right) {
|
|
10
|
+
const merged = [];
|
|
11
|
+
let leftIndex = 0, rightIndex = 0;
|
|
12
|
+
while (leftIndex < left.length || rightIndex < right.length) {
|
|
13
|
+
const leftKey = left[leftIndex], rightKey = right[rightIndex];
|
|
14
|
+
if (!leftKey) {
|
|
15
|
+
merged.push(rightKey);
|
|
16
|
+
rightIndex++;
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (!rightKey) {
|
|
20
|
+
merged.push(leftKey);
|
|
21
|
+
leftIndex++;
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const order = compareKeys(leftKey, rightKey);
|
|
25
|
+
if (order <= 0) {
|
|
26
|
+
merged.push(leftKey);
|
|
27
|
+
leftIndex++;
|
|
28
|
+
}
|
|
29
|
+
if (order >= 0) {
|
|
30
|
+
if (order > 0) merged.push(rightKey);
|
|
31
|
+
rightIndex++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return merged;
|
|
35
|
+
}
|
|
36
|
+
async function comparisonIndex(leftFilename, rightFilename) {
|
|
37
|
+
if (leftFilename === rightFilename) throw createError({ statusCode: 400, message: "\u8BF7\u9009\u62E9\u4E24\u4E2A\u4E0D\u540C\u7684\u6587\u4EF6" });
|
|
38
|
+
const left = resolveWorkspaceFile(leftFilename), right = resolveWorkspaceFile(rightFilename);
|
|
39
|
+
const leftStat = statSync(left.path), rightStat = statSync(right.path);
|
|
40
|
+
const cacheKey = `${left.filename}:${leftStat.size}:${leftStat.mtimeMs}:${right.filename}:${rightStat.size}:${rightStat.mtimeMs}`;
|
|
41
|
+
const cached = indexes.get(cacheKey);
|
|
42
|
+
if (cached) return cached;
|
|
43
|
+
const keys = mergeKeys(await tileFileCoordinates(left), await tileFileCoordinates(right));
|
|
44
|
+
const created = {
|
|
45
|
+
cacheKey,
|
|
46
|
+
leftPath: left.path,
|
|
47
|
+
rightPath: right.path,
|
|
48
|
+
keys,
|
|
49
|
+
totalTiles: keys.length
|
|
50
|
+
};
|
|
51
|
+
indexes.set(cacheKey, created);
|
|
52
|
+
while (indexes.size > 4) indexes.delete(indexes.keys().next().value);
|
|
53
|
+
return created;
|
|
54
|
+
}
|
|
55
|
+
async function workspacePixelDiffManifest(leftFilename, rightFilename) {
|
|
56
|
+
const { totalTiles } = await comparisonIndex(leftFilename, rightFilename);
|
|
57
|
+
return { totalTiles };
|
|
58
|
+
}
|
|
59
|
+
async function workspacePixelDiffBatch(leftFilename, rightFilename, offset, limit) {
|
|
60
|
+
const comparison = await comparisonIndex(leftFilename, rightFilename);
|
|
61
|
+
const leftFile = resolveWorkspaceFile(leftFilename), rightFile = resolveWorkspaceFile(rightFilename);
|
|
62
|
+
const coordinates = comparison.keys.slice(offset, offset + limit);
|
|
63
|
+
const [leftTiles, rightTiles] = await Promise.all([readTileFiles(leftFile, coordinates), readTileFiles(rightFile, coordinates)]);
|
|
64
|
+
const items = coordinates.map(({ z, x, y }, index) => {
|
|
65
|
+
const left = leftTiles[index], right = rightTiles[index];
|
|
66
|
+
return {
|
|
67
|
+
z,
|
|
68
|
+
x,
|
|
69
|
+
y,
|
|
70
|
+
left: left ? left.toString("base64") : null,
|
|
71
|
+
right: right ? right.toString("base64") : null
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
return { offset, totalTiles: comparison.totalTiles, items };
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { workspacePixelDiffBatch as a, workspacePixelDiffManifest as w };
|
|
78
|
+
//# sourceMappingURL=pixel-diff.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixel-diff.mjs","sources":["../../../../server/utils/pixel-diff.ts"],"names":[],"mappings":"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"}
|