uomtiles 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/7KYNy7kZ.js +1 -0
  3. package/.output/public/_nuxt/7Rgc2iDI2.js +1 -0
  4. package/.output/public/_nuxt/BA52uD81.js +1 -0
  5. package/.output/public/_nuxt/{B2648adu2.js → BHSn2vP72.js} +2 -2
  6. package/.output/public/_nuxt/BRsHq3Fz2.js +1 -0
  7. package/.output/public/_nuxt/Bh2Uv1S7.js +1 -0
  8. package/.output/public/_nuxt/BiRI-vq-.js +1 -0
  9. package/.output/public/_nuxt/Bpc1HTfh.js +1 -0
  10. package/.output/public/_nuxt/C-b4mqsD.js +1 -0
  11. package/.output/public/_nuxt/C5Y76DD6.js +1 -0
  12. package/.output/public/_nuxt/CD84FXNW.js +1 -0
  13. package/.output/public/_nuxt/CGkIG2vL2.js +1 -0
  14. package/.output/public/_nuxt/CM9IbYJz.js +1 -0
  15. package/.output/public/_nuxt/CUJ4QmLF.js +1 -0
  16. package/.output/public/_nuxt/CUQ3MZqI.js +1 -0
  17. package/.output/public/_nuxt/CVwoxklV.js +1 -0
  18. package/.output/public/_nuxt/CeHZqNQ0.js +1 -0
  19. package/.output/public/_nuxt/CgcnoKpi.js +1 -0
  20. package/.output/public/_nuxt/CkfS_Wbu.js +3 -0
  21. package/.output/public/_nuxt/CoPjdBwX.js +1 -0
  22. package/.output/public/_nuxt/CxkDmpVY.js +1 -0
  23. package/.output/public/_nuxt/CzRdWh7s2.js +1 -0
  24. package/.output/public/_nuxt/D-IOtyQX.js +1 -0
  25. package/.output/public/_nuxt/D3Us7gX72.js +1 -0
  26. package/.output/public/_nuxt/{54er8ZVX.js → D8GHPYwQ.js} +44 -44
  27. package/.output/public/_nuxt/DLIy3f3M.js +1 -0
  28. package/.output/public/_nuxt/{dj2oMyB1.js → DQ8r1OSk.js} +1 -1
  29. package/.output/public/_nuxt/D_9SjQFe.js +1 -0
  30. package/.output/public/_nuxt/D_Ggu6R_2.js +1 -0
  31. package/.output/public/_nuxt/{DC3bhq63.js → DnVJUY7B.js} +1 -1
  32. package/.output/public/_nuxt/{BiWblTbb.js → DuGgjt-h2.js} +1 -1
  33. package/.output/public/_nuxt/GEOST6As.js +1 -0
  34. package/.output/public/_nuxt/GqgcWtrL.js +1 -0
  35. package/.output/public/_nuxt/{BQlj8Xoe.js → Hbp_Okvs.js} +1 -1
  36. package/.output/public/_nuxt/JdUwgqKv.js +1 -0
  37. package/.output/public/_nuxt/KttxEAyP2.js +1 -0
  38. package/.output/public/_nuxt/L0GXeO1Y2.js +1 -0
  39. package/.output/public/_nuxt/builds/latest.json +1 -1
  40. package/.output/public/_nuxt/builds/meta/ad8f3148-5aa4-4a0f-8e7a-e55147c5de1a.json +1 -0
  41. package/.output/public/_nuxt/entry.U-KS0GEu.css +1 -0
  42. package/.output/public/_nuxt/sMWyPZfC2.js +1 -0
  43. package/.output/public/_nuxt/zUWhKXtw2.js +1 -0
  44. package/.output/server/chunks/_/antigravity-nfz.mjs +629 -0
  45. package/.output/server/chunks/_/antigravity-nfz.mjs.map +1 -0
  46. package/.output/server/chunks/_/config.mjs +53 -6
  47. package/.output/server/chunks/_/config.mjs.map +1 -1
  48. package/.output/server/chunks/_/export.mjs +7 -0
  49. package/.output/server/chunks/_/export.mjs.map +1 -0
  50. package/.output/server/chunks/_/file-workspace.mjs +131 -36
  51. package/.output/server/chunks/_/file-workspace.mjs.map +1 -1
  52. package/.output/server/chunks/_/map-layer-update-manager.mjs +770 -0
  53. package/.output/server/chunks/_/map-layer-update-manager.mjs.map +1 -0
  54. package/.output/server/chunks/_/map-service.mjs +1 -1
  55. package/.output/server/chunks/_/pixel-diff.mjs +1 -1
  56. package/.output/server/chunks/_/uom-auth.mjs +1 -1
  57. package/.output/server/chunks/build/{Alert-CBMepLwP.mjs → CompletedTaskSelect-Ba03kTs9.mjs} +30 -725
  58. package/.output/server/chunks/build/CompletedTaskSelect-Ba03kTs9.mjs.map +1 -0
  59. package/.output/server/chunks/build/{Empty-CkW3mADt.mjs → Empty-CKvANuoV.mjs} +4 -103
  60. package/.output/server/chunks/build/Empty-CKvANuoV.mjs.map +1 -0
  61. package/.output/server/chunks/build/{FormField-CEUZHcv7.mjs → FormField-BJHVyy1m.mjs} +4 -35
  62. package/.output/server/chunks/build/FormField-BJHVyy1m.mjs.map +1 -0
  63. package/.output/server/chunks/build/{Input-BeNavYXb.mjs → Input-DnAric-z.mjs} +1 -1
  64. package/.output/server/chunks/build/{Input-BeNavYXb.mjs.map → Input-DnAric-z.mjs.map} +1 -1
  65. package/.output/server/chunks/build/MapLayerControl-DpNmYvcU.mjs +5720 -0
  66. package/.output/server/chunks/build/MapLayerControl-DpNmYvcU.mjs.map +1 -0
  67. package/.output/server/chunks/build/{Modal-D-dPQW3w.mjs → Modal-BLhN9Eg2.mjs} +12 -18
  68. package/.output/server/chunks/build/{Modal-D-dPQW3w.mjs.map → Modal-BLhN9Eg2.mjs.map} +1 -1
  69. package/.output/server/chunks/build/{OnlineMap-CKwiuqUY.mjs → OnlineMap-B-sCfHkC.mjs} +6 -3
  70. package/.output/server/chunks/build/OnlineMap-B-sCfHkC.mjs.map +1 -0
  71. package/.output/server/chunks/build/{Pagination-CkUsaatC.mjs → Pagination-CUzoLc_-.mjs} +1 -1
  72. package/.output/server/chunks/build/{Pagination-CkUsaatC.mjs.map → Pagination-CUzoLc_-.mjs.map} +1 -1
  73. package/.output/server/chunks/build/Skeleton-CHp-GjOx.mjs +59 -0
  74. package/.output/server/chunks/build/Skeleton-CHp-GjOx.mjs.map +1 -0
  75. package/.output/server/chunks/build/{Slider-CRpk8Y2j.mjs → Slider-CrIUK3pl.mjs} +10 -25
  76. package/.output/server/chunks/build/Slider-CrIUK3pl.mjs.map +1 -0
  77. package/.output/server/chunks/build/{MapBaseLayerTabs-Xu5bXAvH.mjs → Tabs-cdLsZZoL.mjs} +429 -931
  78. package/.output/server/chunks/build/Tabs-cdLsZZoL.mjs.map +1 -0
  79. package/.output/server/chunks/build/{Tooltip-BQHl07T-.mjs → Tooltip-DExIlyhu.mjs} +4 -196
  80. package/.output/server/chunks/build/Tooltip-DExIlyhu.mjs.map +1 -0
  81. package/.output/server/chunks/build/{advanced-C2aEmUTl.mjs → advanced-DaSpS8Px.mjs} +31 -35
  82. package/.output/server/chunks/build/advanced-DaSpS8Px.mjs.map +1 -0
  83. package/.output/server/chunks/build/clamp-CdZXprXk.mjs +65 -0
  84. package/.output/server/chunks/build/clamp-CdZXprXk.mjs.map +1 -0
  85. package/.output/server/chunks/build/{compare-NMjjryG_.mjs → compare-DaE10Dhp.mjs} +59 -40
  86. package/.output/server/chunks/build/compare-DaE10Dhp.mjs.map +1 -0
  87. package/.output/server/chunks/build/cookie-CziAmOf1.mjs +175 -0
  88. package/.output/server/chunks/build/cookie-CziAmOf1.mjs.map +1 -0
  89. package/.output/server/chunks/build/{dashboard-DYapNywh.mjs → dashboard-Dq8mphss.mjs} +21 -8
  90. package/.output/server/chunks/build/{dashboard-DYapNywh.mjs.map → dashboard-Dq8mphss.mjs.map} +1 -1
  91. package/.output/server/chunks/build/{details-Cyq3FQAG.mjs → details-DCNvSBgn.mjs} +5 -4
  92. package/.output/server/chunks/build/{details-Cyq3FQAG.mjs.map → details-DCNvSBgn.mjs.map} +1 -1
  93. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +1 -1
  94. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +1 -1
  95. package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs +104 -0
  96. package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs.map +1 -0
  97. package/.output/server/chunks/build/{interval-BxUMpo78.mjs → interval-i5OZnTaK.mjs} +2 -2
  98. package/.output/server/chunks/build/{interval-BxUMpo78.mjs.map → interval-i5OZnTaK.mjs.map} +1 -1
  99. package/.output/server/chunks/build/layers-50nqoWES.mjs +553 -0
  100. package/.output/server/chunks/build/layers-50nqoWES.mjs.map +1 -0
  101. package/.output/server/chunks/build/{login-gQQfuSWN.mjs → login-BHSHtO-R.mjs} +6 -5
  102. package/.output/server/chunks/build/{login-gQQfuSWN.mjs.map → login-BHSHtO-R.mjs.map} +1 -1
  103. package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs +86 -0
  104. package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs.map +1 -0
  105. package/.output/server/chunks/build/{PopperArrow-xcjACqm-.mjs → overlay-BS4_B29H.mjs} +974 -5
  106. package/.output/server/chunks/build/overlay-BS4_B29H.mjs.map +1 -0
  107. package/.output/server/chunks/build/pages-5yYRS5nX.mjs +37 -0
  108. package/.output/server/chunks/build/pages-5yYRS5nX.mjs.map +1 -0
  109. package/.output/server/chunks/build/{pages-CLVitjz2.mjs → pages-DfOPr0fC.mjs} +21 -22
  110. package/.output/server/chunks/build/pages-DfOPr0fC.mjs.map +1 -0
  111. package/.output/server/chunks/build/{services-C9oQ6UZi.mjs → services-DWlDpsbi.mjs} +46 -42
  112. package/.output/server/chunks/build/{services-C9oQ6UZi.mjs.map → services-DWlDpsbi.mjs.map} +1 -1
  113. package/.output/server/chunks/build/tasks-4b6D39Uy.mjs +6065 -0
  114. package/.output/server/chunks/build/tasks-4b6D39Uy.mjs.map +1 -0
  115. package/.output/server/chunks/build/{tasks-HCUoEUbh.mjs → tasks-BPPx2UMG.mjs} +10 -6
  116. package/.output/server/chunks/build/tasks-BPPx2UMG.mjs.map +1 -0
  117. package/.output/server/chunks/nitro/nitro.mjs +305 -244
  118. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs +29 -0
  119. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs.map +1 -0
  120. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs +31 -0
  121. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs.map +1 -0
  122. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs +39 -0
  123. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs.map +1 -0
  124. package/.output/server/chunks/routes/api/map/layers/status.get.mjs +60 -0
  125. package/.output/server/chunks/routes/api/map/layers/status.get.mjs.map +1 -0
  126. package/.output/server/chunks/routes/api/map/live/status.get.mjs +1 -1
  127. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +1 -1
  128. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +1 -1
  129. package/.output/server/chunks/routes/api/map-service/config.post.mjs +1 -0
  130. package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/map-service/file.post.mjs +1 -0
  132. package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -1
  133. package/.output/server/chunks/routes/api/map-service/source.post.mjs +1 -0
  134. package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/map-service/status.get.mjs +1 -0
  136. package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -1
  137. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +2 -1
  138. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -1
  139. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +2 -1
  140. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +10 -3
  142. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +39 -0
  144. package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs.map +1 -0
  145. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +3 -2
  146. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +2 -1
  148. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +2 -1
  150. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +2 -1
  152. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/workspace/compare.post.mjs +1 -0
  154. package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +1 -0
  156. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/workspace/files.get.mjs +1 -0
  158. package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/workspace/files.post.mjs +2 -1
  160. package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +2 -1
  162. package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -1
  163. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +3 -2
  164. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -1
  165. package/.output/server/chunks/routes/renderer.mjs +3 -3
  166. package/.output/server/chunks/routes/services/wms.get.mjs +2 -1
  167. package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -1
  168. package/.output/server/chunks/routes/services/wmts.get.mjs +2 -1
  169. package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -1
  170. package/.output/server/chunks/virtual/entry.mjs +320 -443
  171. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  172. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  173. package/.output/server/chunks/virtual/styles.mjs +1 -1
  174. package/.output/server/node_modules/undici/index.js +234 -0
  175. package/.output/server/node_modules/undici/lib/api/abort-signal.js +59 -0
  176. package/.output/server/node_modules/undici/lib/api/api-connect.js +110 -0
  177. package/.output/server/node_modules/undici/lib/api/api-pipeline.js +252 -0
  178. package/.output/server/node_modules/undici/lib/api/api-request.js +214 -0
  179. package/.output/server/node_modules/undici/lib/api/api-stream.js +209 -0
  180. package/.output/server/node_modules/undici/lib/api/api-upgrade.js +111 -0
  181. package/.output/server/node_modules/undici/lib/api/index.js +7 -0
  182. package/.output/server/node_modules/undici/lib/api/readable.js +580 -0
  183. package/.output/server/node_modules/undici/lib/cache/memory-cache-store.js +279 -0
  184. package/.output/server/node_modules/undici/lib/cache/sqlite-cache-store.js +467 -0
  185. package/.output/server/node_modules/undici/lib/core/connect.js +153 -0
  186. package/.output/server/node_modules/undici/lib/core/constants.js +143 -0
  187. package/.output/server/node_modules/undici/lib/core/diagnostics.js +227 -0
  188. package/.output/server/node_modules/undici/lib/core/errors.js +477 -0
  189. package/.output/server/node_modules/undici/lib/core/request.js +464 -0
  190. package/.output/server/node_modules/undici/lib/core/socks5-client.js +422 -0
  191. package/.output/server/node_modules/undici/lib/core/socks5-utils.js +212 -0
  192. package/.output/server/node_modules/undici/lib/core/symbols.js +75 -0
  193. package/.output/server/node_modules/undici/lib/core/tree.js +160 -0
  194. package/.output/server/node_modules/undici/lib/core/util.js +992 -0
  195. package/.output/server/node_modules/undici/lib/dispatcher/agent.js +158 -0
  196. package/.output/server/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  197. package/.output/server/node_modules/undici/lib/dispatcher/client-h1.js +1731 -0
  198. package/.output/server/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  199. package/.output/server/node_modules/undici/lib/dispatcher/client.js +664 -0
  200. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  201. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  202. package/.output/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  203. package/.output/server/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  204. package/.output/server/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  205. package/.output/server/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  206. package/.output/server/node_modules/undici/lib/dispatcher/pool.js +118 -0
  207. package/.output/server/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
  208. package/.output/server/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  209. package/.output/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  210. package/.output/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +260 -0
  211. package/.output/server/node_modules/undici/lib/encoding/index.js +33 -0
  212. package/.output/server/node_modules/undici/lib/global.js +59 -0
  213. package/.output/server/node_modules/undici/lib/handler/cache-handler.js +760 -0
  214. package/.output/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  215. package/.output/server/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  216. package/.output/server/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  217. package/.output/server/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  218. package/.output/server/node_modules/undici/lib/handler/retry-handler.js +418 -0
  219. package/.output/server/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
  220. package/.output/server/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  221. package/.output/server/node_modules/undici/lib/interceptor/cache.js +602 -0
  222. package/.output/server/node_modules/undici/lib/interceptor/decompress.js +259 -0
  223. package/.output/server/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  224. package/.output/server/node_modules/undici/lib/interceptor/dns.js +571 -0
  225. package/.output/server/node_modules/undici/lib/interceptor/dump.js +112 -0
  226. package/.output/server/node_modules/undici/lib/interceptor/redirect.js +21 -0
  227. package/.output/server/node_modules/undici/lib/interceptor/response-error.js +95 -0
  228. package/.output/server/node_modules/undici/lib/interceptor/retry.js +19 -0
  229. package/.output/server/node_modules/undici/lib/llhttp/constants.js +531 -0
  230. package/.output/server/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  231. package/.output/server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  232. package/.output/server/node_modules/undici/lib/llhttp/utils.js +12 -0
  233. package/.output/server/node_modules/undici/lib/mock/mock-agent.js +232 -0
  234. package/.output/server/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  235. package/.output/server/node_modules/undici/lib/mock/mock-client.js +68 -0
  236. package/.output/server/node_modules/undici/lib/mock/mock-errors.js +29 -0
  237. package/.output/server/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  238. package/.output/server/node_modules/undici/lib/mock/mock-pool.js +68 -0
  239. package/.output/server/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  240. package/.output/server/node_modules/undici/lib/mock/mock-utils.js +486 -0
  241. package/.output/server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  242. package/.output/server/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  243. package/.output/server/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  244. package/.output/server/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  245. package/.output/server/node_modules/undici/lib/util/cache.js +676 -0
  246. package/.output/server/node_modules/undici/lib/util/date.js +670 -0
  247. package/.output/server/node_modules/undici/lib/util/promise.js +28 -0
  248. package/.output/server/node_modules/undici/lib/util/runtime-features.js +124 -0
  249. package/.output/server/node_modules/undici/lib/util/stats.js +32 -0
  250. package/.output/server/node_modules/undici/lib/util/timers.js +425 -0
  251. package/.output/server/node_modules/undici/lib/web/cache/cache.js +864 -0
  252. package/.output/server/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  253. package/.output/server/node_modules/undici/lib/web/cache/util.js +45 -0
  254. package/.output/server/node_modules/undici/lib/web/cookies/constants.js +12 -0
  255. package/.output/server/node_modules/undici/lib/web/cookies/index.js +199 -0
  256. package/.output/server/node_modules/undici/lib/web/cookies/parse.js +314 -0
  257. package/.output/server/node_modules/undici/lib/web/cookies/util.js +352 -0
  258. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  259. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  260. package/.output/server/node_modules/undici/lib/web/eventsource/util.js +29 -0
  261. package/.output/server/node_modules/undici/lib/web/fetch/body.js +509 -0
  262. package/.output/server/node_modules/undici/lib/web/fetch/constants.js +131 -0
  263. package/.output/server/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  264. package/.output/server/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  265. package/.output/server/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  266. package/.output/server/node_modules/undici/lib/web/fetch/global.js +40 -0
  267. package/.output/server/node_modules/undici/lib/web/fetch/headers.js +719 -0
  268. package/.output/server/node_modules/undici/lib/web/fetch/index.js +2413 -0
  269. package/.output/server/node_modules/undici/lib/web/fetch/request.js +1115 -0
  270. package/.output/server/node_modules/undici/lib/web/fetch/response.js +641 -0
  271. package/.output/server/node_modules/undici/lib/web/fetch/util.js +1522 -0
  272. package/.output/server/node_modules/undici/lib/web/infra/index.js +229 -0
  273. package/.output/server/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  274. package/.output/server/node_modules/undici/lib/web/webidl/index.js +1006 -0
  275. package/.output/server/node_modules/undici/lib/web/websocket/connection.js +329 -0
  276. package/.output/server/node_modules/undici/lib/web/websocket/constants.js +126 -0
  277. package/.output/server/node_modules/undici/lib/web/websocket/events.js +331 -0
  278. package/.output/server/node_modules/undici/lib/web/websocket/frame.js +133 -0
  279. package/.output/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  280. package/.output/server/node_modules/undici/lib/web/websocket/receiver.js +507 -0
  281. package/.output/server/node_modules/undici/lib/web/websocket/sender.js +109 -0
  282. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  283. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +498 -0
  284. package/.output/server/node_modules/undici/lib/web/websocket/util.js +347 -0
  285. package/.output/server/node_modules/undici/lib/web/websocket/websocket.js +758 -0
  286. package/.output/server/node_modules/undici/package.json +152 -0
  287. package/.output/server/package.json +2 -1
  288. package/LICENSE +201 -2
  289. package/README.md +23 -5
  290. package/dist/package.json +3 -2
  291. package/dist/shared/antigravity-schema.js +45 -0
  292. package/dist/shared/dji-grid.js +62 -0
  293. package/dist/shared/export.js +4 -0
  294. package/dist/shared/types/export.js +1 -0
  295. package/dist/shared/types/map-layers.js +2 -0
  296. package/dist/src/cli.js +67 -6
  297. package/dist/src/core/dji-snapshot.js +135 -0
  298. package/dist/src/core/grid-renderer.js +29 -15
  299. package/dist/src/core/map-layer-paths.js +11 -0
  300. package/dist/src/core/png.js +59 -6
  301. package/dist/src/core/uomtiles.js +96 -13
  302. package/dist/src/map-layer-update.js +646 -0
  303. package/package.json +3 -2
  304. package/.output/public/_nuxt/BBJwRf9k.js +0 -1
  305. package/.output/public/_nuxt/BWYASl8D.js +0 -1
  306. package/.output/public/_nuxt/B_S8P0kE2.js +0 -1
  307. package/.output/public/_nuxt/BalC97Hq2.js +0 -1
  308. package/.output/public/_nuxt/Bd0XS-K-.js +0 -1
  309. package/.output/public/_nuxt/BdQwPExE.js +0 -1
  310. package/.output/public/_nuxt/Bt5oyQw_.js +0 -1
  311. package/.output/public/_nuxt/BuYkCss52.js +0 -1
  312. package/.output/public/_nuxt/BvQDTQww.js +0 -1
  313. package/.output/public/_nuxt/By4gkuDZ.js +0 -1
  314. package/.output/public/_nuxt/ByRlKR9F.js +0 -1
  315. package/.output/public/_nuxt/C4qlzA4o.js +0 -1
  316. package/.output/public/_nuxt/C6YoBcbT.js +0 -1
  317. package/.output/public/_nuxt/CNs_Ozdc.js +0 -1
  318. package/.output/public/_nuxt/D4tzFemo.js +0 -1
  319. package/.output/public/_nuxt/DCT2aLwC.js +0 -1
  320. package/.output/public/_nuxt/DIt0vOP7.js +0 -1
  321. package/.output/public/_nuxt/DV5CwoOP2.js +0 -1
  322. package/.output/public/_nuxt/DkcySee1.js +0 -1
  323. package/.output/public/_nuxt/Dq-XSsAz.js +0 -1
  324. package/.output/public/_nuxt/DrLbKQlJ.js +0 -3
  325. package/.output/public/_nuxt/DtFVCXI9.js +0 -1
  326. package/.output/public/_nuxt/Dz7VMlHR.js +0 -1
  327. package/.output/public/_nuxt/P_icVLkX.js +0 -1
  328. package/.output/public/_nuxt/XZ59tThl.js +0 -1
  329. package/.output/public/_nuxt/builds/meta/0e6b25d2-67d5-42d2-8971-b7374bfbdda5.json +0 -1
  330. package/.output/public/_nuxt/entry.BmEdVIZg.css +0 -1
  331. package/.output/public/_nuxt/yq0nsLQU.js +0 -1
  332. package/.output/server/chunks/build/Alert-CBMepLwP.mjs.map +0 -1
  333. package/.output/server/chunks/build/DashboardSidebarToggle-D24DGyKq.mjs +0 -569
  334. package/.output/server/chunks/build/DashboardSidebarToggle-D24DGyKq.mjs.map +0 -1
  335. package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +0 -1
  336. package/.output/server/chunks/build/FocusScope-BJ-B0nKb.mjs +0 -207
  337. package/.output/server/chunks/build/FocusScope-BJ-B0nKb.mjs.map +0 -1
  338. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +0 -1
  339. package/.output/server/chunks/build/MapBaseLayerTabs-Xu5bXAvH.mjs.map +0 -1
  340. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +0 -1
  341. package/.output/server/chunks/build/PopperArrow-xcjACqm-.mjs.map +0 -1
  342. package/.output/server/chunks/build/ScrollArea-QgwoohKb.mjs +0 -379
  343. package/.output/server/chunks/build/ScrollArea-QgwoohKb.mjs.map +0 -1
  344. package/.output/server/chunks/build/Slider-CRpk8Y2j.mjs.map +0 -1
  345. package/.output/server/chunks/build/Tooltip-BQHl07T-.mjs.map +0 -1
  346. package/.output/server/chunks/build/advanced-C2aEmUTl.mjs.map +0 -1
  347. package/.output/server/chunks/build/compare-NMjjryG_.mjs.map +0 -1
  348. package/.output/server/chunks/build/pages-CLVitjz2.mjs.map +0 -1
  349. package/.output/server/chunks/build/tasks-Cr8nWwss.mjs +0 -915
  350. package/.output/server/chunks/build/tasks-Cr8nWwss.mjs.map +0 -1
  351. package/.output/server/chunks/build/tasks-HCUoEUbh.mjs.map +0 -1
@@ -0,0 +1,184 @@
1
+ 'use strict'
2
+
3
+ const Dispatcher = require('./dispatcher')
4
+ const UnwrapHandler = require('../handler/unwrap-handler')
5
+ const {
6
+ ClientDestroyedError,
7
+ ClientClosedError,
8
+ InvalidArgumentError
9
+ } = require('../core/errors')
10
+ const { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require('../core/symbols')
11
+
12
+ const kOnDestroyed = Symbol('onDestroyed')
13
+ const kOnClosed = Symbol('onClosed')
14
+ const kWebSocketOptions = Symbol('webSocketOptions')
15
+
16
+ class DispatcherBase extends Dispatcher {
17
+ /** @type {boolean} */
18
+ [kDestroyed] = false;
19
+
20
+ /** @type {Array<Function|null} */
21
+ [kOnDestroyed] = null;
22
+
23
+ /** @type {boolean} */
24
+ [kClosed] = false;
25
+
26
+ /** @type {Array<Function>|null} */
27
+ [kOnClosed] = null
28
+
29
+ /**
30
+ * @param {import('../../types/dispatcher').DispatcherOptions} [opts]
31
+ */
32
+ constructor (opts) {
33
+ super()
34
+ this[kWebSocketOptions] = opts?.webSocket ?? {}
35
+ }
36
+
37
+ /**
38
+ * @returns {import('../../types/dispatcher').WebSocketOptions}
39
+ */
40
+ get webSocketOptions () {
41
+ return {
42
+ maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
43
+ maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024 // 128 MB default
44
+ }
45
+ }
46
+
47
+ /** @returns {boolean} */
48
+ get destroyed () {
49
+ return this[kDestroyed]
50
+ }
51
+
52
+ /** @returns {boolean} */
53
+ get closed () {
54
+ return this[kClosed]
55
+ }
56
+
57
+ close (callback) {
58
+ if (callback === undefined) {
59
+ return new Promise((resolve, reject) => {
60
+ this.close((err, data) => {
61
+ return err ? reject(err) : resolve(data)
62
+ })
63
+ })
64
+ }
65
+
66
+ if (typeof callback !== 'function') {
67
+ throw new InvalidArgumentError('invalid callback')
68
+ }
69
+
70
+ if (this[kDestroyed]) {
71
+ const err = new ClientDestroyedError()
72
+ queueMicrotask(() => callback(err, null))
73
+ return
74
+ }
75
+
76
+ if (this[kClosed]) {
77
+ if (this[kOnClosed]) {
78
+ this[kOnClosed].push(callback)
79
+ } else {
80
+ queueMicrotask(() => callback(null, null))
81
+ }
82
+ return
83
+ }
84
+
85
+ this[kClosed] = true
86
+ this[kOnClosed] ??= []
87
+ this[kOnClosed].push(callback)
88
+
89
+ const onClosed = () => {
90
+ const callbacks = this[kOnClosed]
91
+ this[kOnClosed] = null
92
+ for (let i = 0; i < callbacks.length; i++) {
93
+ callbacks[i](null, null)
94
+ }
95
+ }
96
+
97
+ // Should not error.
98
+ this[kClose]()
99
+ .then(() => this.destroy())
100
+ .then(() => queueMicrotask(onClosed))
101
+ }
102
+
103
+ destroy (err, callback) {
104
+ if (typeof err === 'function') {
105
+ callback = err
106
+ err = null
107
+ }
108
+
109
+ if (callback === undefined) {
110
+ return new Promise((resolve, reject) => {
111
+ this.destroy(err, (err, data) => {
112
+ return err ? reject(err) : resolve(data)
113
+ })
114
+ })
115
+ }
116
+
117
+ if (typeof callback !== 'function') {
118
+ throw new InvalidArgumentError('invalid callback')
119
+ }
120
+
121
+ if (this[kDestroyed]) {
122
+ if (this[kOnDestroyed]) {
123
+ this[kOnDestroyed].push(callback)
124
+ } else {
125
+ queueMicrotask(() => callback(null, null))
126
+ }
127
+ return
128
+ }
129
+
130
+ if (!err) {
131
+ err = new ClientDestroyedError()
132
+ }
133
+
134
+ this[kDestroyed] = true
135
+ this[kOnDestroyed] ??= []
136
+ this[kOnDestroyed].push(callback)
137
+
138
+ const onDestroyed = () => {
139
+ const callbacks = this[kOnDestroyed]
140
+ this[kOnDestroyed] = null
141
+ for (let i = 0; i < callbacks.length; i++) {
142
+ callbacks[i](null, null)
143
+ }
144
+ }
145
+
146
+ // Should not error.
147
+ this[kDestroy](err)
148
+ .then(() => queueMicrotask(onDestroyed))
149
+ }
150
+
151
+ dispatch (opts, handler) {
152
+ if (!handler || typeof handler !== 'object') {
153
+ throw new InvalidArgumentError('handler must be an object')
154
+ }
155
+
156
+ handler = UnwrapHandler.unwrap(handler)
157
+
158
+ try {
159
+ if (!opts || typeof opts !== 'object') {
160
+ throw new InvalidArgumentError('opts must be an object.')
161
+ }
162
+
163
+ if (this[kDestroyed] || this[kOnDestroyed]) {
164
+ throw new ClientDestroyedError()
165
+ }
166
+
167
+ if (this[kClosed]) {
168
+ throw new ClientClosedError()
169
+ }
170
+
171
+ return this[kDispatch](opts, handler)
172
+ } catch (err) {
173
+ if (typeof handler.onError !== 'function') {
174
+ throw err
175
+ }
176
+
177
+ handler.onError(err)
178
+
179
+ return false
180
+ }
181
+ }
182
+ }
183
+
184
+ module.exports = DispatcherBase
@@ -0,0 +1,48 @@
1
+ 'use strict'
2
+ const EventEmitter = require('node:events')
3
+ const WrapHandler = require('../handler/wrap-handler')
4
+
5
+ const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler))
6
+
7
+ class Dispatcher extends EventEmitter {
8
+ dispatch () {
9
+ throw new Error('not implemented')
10
+ }
11
+
12
+ close () {
13
+ throw new Error('not implemented')
14
+ }
15
+
16
+ destroy () {
17
+ throw new Error('not implemented')
18
+ }
19
+
20
+ compose (...args) {
21
+ // So we handle [interceptor1, interceptor2] or interceptor1, interceptor2, ...
22
+ const interceptors = Array.isArray(args[0]) ? args[0] : args
23
+ let dispatch = this.dispatch.bind(this)
24
+
25
+ for (const interceptor of interceptors) {
26
+ if (interceptor == null) {
27
+ continue
28
+ }
29
+
30
+ if (typeof interceptor !== 'function') {
31
+ throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`)
32
+ }
33
+
34
+ dispatch = interceptor(dispatch)
35
+ dispatch = wrapInterceptor(dispatch)
36
+
37
+ if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) {
38
+ throw new TypeError('invalid interceptor')
39
+ }
40
+ }
41
+
42
+ return new Proxy(this, {
43
+ get: (target, key) => key === 'dispatch' ? dispatch : target[key]
44
+ })
45
+ }
46
+ }
47
+
48
+ module.exports = Dispatcher
@@ -0,0 +1,146 @@
1
+ 'use strict'
2
+
3
+ const DispatcherBase = require('./dispatcher-base')
4
+ const { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require('../core/symbols')
5
+ const ProxyAgent = require('./proxy-agent')
6
+ const Agent = require('./agent')
7
+
8
+ const DEFAULT_PORTS = {
9
+ 'http:': 80,
10
+ 'https:': 443
11
+ }
12
+
13
+ class EnvHttpProxyAgent extends DispatcherBase {
14
+ #noProxyValue = null
15
+ #noProxyEntries = null
16
+ #opts = null
17
+
18
+ constructor (opts = {}) {
19
+ super()
20
+ this.#opts = opts
21
+
22
+ const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts
23
+
24
+ this[kNoProxyAgent] = new Agent(agentOpts)
25
+
26
+ const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY
27
+ if (HTTP_PROXY) {
28
+ this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY })
29
+ } else {
30
+ this[kHttpProxyAgent] = this[kNoProxyAgent]
31
+ }
32
+
33
+ const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY
34
+ if (HTTPS_PROXY) {
35
+ this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY })
36
+ } else {
37
+ this[kHttpsProxyAgent] = this[kHttpProxyAgent]
38
+ }
39
+
40
+ this.#parseNoProxy()
41
+ }
42
+
43
+ [kDispatch] (opts, handler) {
44
+ const url = new URL(opts.origin)
45
+ const agent = this.#getProxyAgentForUrl(url)
46
+ return agent.dispatch(opts, handler)
47
+ }
48
+
49
+ [kClose] () {
50
+ return Promise.all([
51
+ this[kNoProxyAgent].close(),
52
+ !this[kHttpProxyAgent][kClosed] && this[kHttpProxyAgent].close(),
53
+ !this[kHttpsProxyAgent][kClosed] && this[kHttpsProxyAgent].close()
54
+ ])
55
+ }
56
+
57
+ [kDestroy] (err) {
58
+ return Promise.all([
59
+ this[kNoProxyAgent].destroy(err),
60
+ !this[kHttpProxyAgent][kDestroyed] && this[kHttpProxyAgent].destroy(err),
61
+ !this[kHttpsProxyAgent][kDestroyed] && this[kHttpsProxyAgent].destroy(err)
62
+ ])
63
+ }
64
+
65
+ #getProxyAgentForUrl (url) {
66
+ let { protocol, host: hostname, port } = url
67
+
68
+ // Stripping ports in this way instead of using parsedUrl.hostname to make
69
+ // sure that the brackets around IPv6 addresses are kept.
70
+ hostname = hostname.replace(/:\d*$/, '').toLowerCase()
71
+ port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0
72
+ if (!this.#shouldProxy(hostname, port)) {
73
+ return this[kNoProxyAgent]
74
+ }
75
+ if (protocol === 'https:') {
76
+ return this[kHttpsProxyAgent]
77
+ }
78
+ return this[kHttpProxyAgent]
79
+ }
80
+
81
+ #shouldProxy (hostname, port) {
82
+ if (this.#noProxyChanged) {
83
+ this.#parseNoProxy()
84
+ }
85
+
86
+ if (this.#noProxyEntries.length === 0) {
87
+ return true // Always proxy if NO_PROXY is not set or empty.
88
+ }
89
+ if (this.#noProxyValue === '*') {
90
+ return false // Never proxy if wildcard is set.
91
+ }
92
+
93
+ for (let i = 0; i < this.#noProxyEntries.length; i++) {
94
+ const entry = this.#noProxyEntries[i]
95
+ if (entry.port && entry.port !== port) {
96
+ continue // Skip if ports don't match.
97
+ }
98
+ // Don't proxy if the hostname is equal with the no_proxy host.
99
+ if (hostname === entry.hostname) {
100
+ return false
101
+ }
102
+ // Don't proxy if the hostname is the subdomain of the no_proxy host.
103
+ // Reference - https://github.com/denoland/deno/blob/6fbce91e40cc07fc6da74068e5cc56fdd40f7b4c/ext/fetch/proxy.rs#L485
104
+ if (hostname.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) {
105
+ return false
106
+ }
107
+ }
108
+
109
+ return true
110
+ }
111
+
112
+ #parseNoProxy () {
113
+ const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv
114
+ const noProxySplit = noProxyValue.split(/[,\s]/)
115
+ const noProxyEntries = []
116
+
117
+ for (let i = 0; i < noProxySplit.length; i++) {
118
+ const entry = noProxySplit[i]
119
+ if (!entry) {
120
+ continue
121
+ }
122
+ const parsed = entry.match(/^(.+):(\d+)$/)
123
+ noProxyEntries.push({
124
+ // strip leading dot or asterisk with dot
125
+ hostname: (parsed ? parsed[1] : entry).replace(/^\*?\./, '').toLowerCase(),
126
+ port: parsed ? Number.parseInt(parsed[2], 10) : 0
127
+ })
128
+ }
129
+
130
+ this.#noProxyValue = noProxyValue
131
+ this.#noProxyEntries = noProxyEntries
132
+ }
133
+
134
+ get #noProxyChanged () {
135
+ if (this.#opts.noProxy !== undefined) {
136
+ return false
137
+ }
138
+ return this.#noProxyValue !== this.#noProxyEnv
139
+ }
140
+
141
+ get #noProxyEnv () {
142
+ return process.env.no_proxy ?? process.env.NO_PROXY ?? ''
143
+ }
144
+ }
145
+
146
+ module.exports = EnvHttpProxyAgent
@@ -0,0 +1,135 @@
1
+ 'use strict'
2
+
3
+ // Extracted from node/lib/internal/fixed_queue.js
4
+
5
+ // Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two.
6
+ const kSize = 2048
7
+ const kMask = kSize - 1
8
+
9
+ // The FixedQueue is implemented as a singly-linked list of fixed-size
10
+ // circular buffers. It looks something like this:
11
+ //
12
+ // head tail
13
+ // | |
14
+ // v v
15
+ // +-----------+ <-----\ +-----------+ <------\ +-----------+
16
+ // | [null] | \----- | next | \------- | next |
17
+ // +-----------+ +-----------+ +-----------+
18
+ // | item | <-- bottom | item | <-- bottom | undefined |
19
+ // | item | | item | | undefined |
20
+ // | item | | item | | undefined |
21
+ // | item | | item | | undefined |
22
+ // | item | | item | bottom --> | item |
23
+ // | item | | item | | item |
24
+ // | ... | | ... | | ... |
25
+ // | item | | item | | item |
26
+ // | item | | item | | item |
27
+ // | undefined | <-- top | item | | item |
28
+ // | undefined | | item | | item |
29
+ // | undefined | | undefined | <-- top top --> | undefined |
30
+ // +-----------+ +-----------+ +-----------+
31
+ //
32
+ // Or, if there is only one circular buffer, it looks something
33
+ // like either of these:
34
+ //
35
+ // head tail head tail
36
+ // | | | |
37
+ // v v v v
38
+ // +-----------+ +-----------+
39
+ // | [null] | | [null] |
40
+ // +-----------+ +-----------+
41
+ // | undefined | | item |
42
+ // | undefined | | item |
43
+ // | item | <-- bottom top --> | undefined |
44
+ // | item | | undefined |
45
+ // | undefined | <-- top bottom --> | item |
46
+ // | undefined | | item |
47
+ // +-----------+ +-----------+
48
+ //
49
+ // Adding a value means moving `top` forward by one, removing means
50
+ // moving `bottom` forward by one. After reaching the end, the queue
51
+ // wraps around.
52
+ //
53
+ // When `top === bottom` the current queue is empty and when
54
+ // `top + 1 === bottom` it's full. This wastes a single space of storage
55
+ // but allows much quicker checks.
56
+
57
+ /**
58
+ * @type {FixedCircularBuffer}
59
+ * @template T
60
+ */
61
+ class FixedCircularBuffer {
62
+ /** @type {number} */
63
+ bottom = 0
64
+ /** @type {number} */
65
+ top = 0
66
+ /** @type {Array<T|undefined>} */
67
+ list = new Array(kSize).fill(undefined)
68
+ /** @type {T|null} */
69
+ next = null
70
+
71
+ /** @returns {boolean} */
72
+ isEmpty () {
73
+ return this.top === this.bottom
74
+ }
75
+
76
+ /** @returns {boolean} */
77
+ isFull () {
78
+ return ((this.top + 1) & kMask) === this.bottom
79
+ }
80
+
81
+ /**
82
+ * @param {T} data
83
+ * @returns {void}
84
+ */
85
+ push (data) {
86
+ this.list[this.top] = data
87
+ this.top = (this.top + 1) & kMask
88
+ }
89
+
90
+ /** @returns {T|null} */
91
+ shift () {
92
+ const nextItem = this.list[this.bottom]
93
+ if (nextItem === undefined) { return null }
94
+ this.list[this.bottom] = undefined
95
+ this.bottom = (this.bottom + 1) & kMask
96
+ return nextItem
97
+ }
98
+ }
99
+
100
+ /**
101
+ * @template T
102
+ */
103
+ module.exports = class FixedQueue {
104
+ constructor () {
105
+ /** @type {FixedCircularBuffer<T>} */
106
+ this.head = this.tail = new FixedCircularBuffer()
107
+ }
108
+
109
+ /** @returns {boolean} */
110
+ isEmpty () {
111
+ return this.head.isEmpty()
112
+ }
113
+
114
+ /** @param {T} data */
115
+ push (data) {
116
+ if (this.head.isFull()) {
117
+ // Head is full: Creates a new queue, sets the old queue's `.next` to it,
118
+ // and sets it as the new main queue.
119
+ this.head = this.head.next = new FixedCircularBuffer()
120
+ }
121
+ this.head.push(data)
122
+ }
123
+
124
+ /** @returns {T|null} */
125
+ shift () {
126
+ const tail = this.tail
127
+ const next = tail.shift()
128
+ if (tail.isEmpty() && tail.next !== null) {
129
+ // If there is another queue, it forms the new tail.
130
+ this.tail = tail.next
131
+ tail.next = null
132
+ }
133
+ return next
134
+ }
135
+ }
@@ -0,0 +1,51 @@
1
+ 'use strict'
2
+
3
+ const { InvalidArgumentError } = require('../core/errors')
4
+ const Client = require('./client')
5
+
6
+ class H2CClient extends Client {
7
+ constructor (origin, clientOpts) {
8
+ if (typeof origin === 'string') {
9
+ origin = new URL(origin)
10
+ }
11
+
12
+ if (origin.protocol !== 'http:') {
13
+ throw new InvalidArgumentError(
14
+ 'h2c-client: Only h2c protocol is supported'
15
+ )
16
+ }
17
+
18
+ const { maxConcurrentStreams, pipelining, ...opts } =
19
+ clientOpts ?? {}
20
+ let defaultMaxConcurrentStreams = 100
21
+ let defaultPipelining = 100
22
+
23
+ if (
24
+ maxConcurrentStreams != null &&
25
+ Number.isInteger(maxConcurrentStreams) &&
26
+ maxConcurrentStreams > 0
27
+ ) {
28
+ defaultMaxConcurrentStreams = maxConcurrentStreams
29
+ }
30
+
31
+ if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
32
+ defaultPipelining = pipelining
33
+ }
34
+
35
+ if (defaultPipelining > defaultMaxConcurrentStreams) {
36
+ throw new InvalidArgumentError(
37
+ 'h2c-client: pipelining cannot be greater than maxConcurrentStreams'
38
+ )
39
+ }
40
+
41
+ super(origin, {
42
+ ...opts,
43
+ maxConcurrentStreams: defaultMaxConcurrentStreams,
44
+ pipelining: defaultPipelining,
45
+ allowH2: true,
46
+ useH2c: true
47
+ })
48
+ }
49
+ }
50
+
51
+ module.exports = H2CClient