@zuplo/cli 6.73.30 → 6.73.31

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 (614) hide show
  1. package/dist/test/invoke-test.d.ts.map +1 -1
  2. package/dist/test/invoke-test.js +4 -3
  3. package/dist/test/invoke-test.js.map +1 -1
  4. package/dist/test/invoke-test.test.d.ts +2 -0
  5. package/dist/test/invoke-test.test.d.ts.map +1 -0
  6. package/dist/test/invoke-test.test.js +57 -0
  7. package/dist/test/invoke-test.test.js.map +1 -0
  8. package/dist/tsconfig.tsbuildinfo +1 -1
  9. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  10. package/node_modules/@posthog/core/dist/posthog-core.js +18 -1
  11. package/node_modules/@posthog/core/dist/posthog-core.mjs +18 -1
  12. package/node_modules/@posthog/core/package.json +1 -1
  13. package/node_modules/@posthog/core/src/posthog-core.ts +28 -1
  14. package/node_modules/@zuplo/core/package.json +1 -1
  15. package/node_modules/@zuplo/editor/node_modules/hono/LICENSE +21 -0
  16. package/node_modules/@zuplo/editor/node_modules/hono/README.md +85 -0
  17. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +24 -0
  18. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/aws-lambda/handler.js +364 -0
  19. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/aws-lambda/index.js +9 -0
  20. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/aws-lambda/types.js +0 -0
  21. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/conninfo.js +27 -0
  22. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/index.js +16 -0
  23. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/serve-static.js +30 -0
  24. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/server.js +5 -0
  25. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/ssg.js +17 -0
  26. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/bun/websocket.js +73 -0
  27. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +9 -0
  28. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +67 -0
  29. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-pages/index.js +9 -0
  30. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +9 -0
  31. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/index.js +9 -0
  32. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
  33. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +22 -0
  34. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +35 -0
  35. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +41 -0
  36. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/conninfo.js +14 -0
  37. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/deno.d.js +0 -0
  38. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/index.js +12 -0
  39. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/serve-static.js +40 -0
  40. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/ssg.js +18 -0
  41. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/deno/websocket.js +32 -0
  42. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +9 -0
  43. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/lambda-edge/handler.js +96 -0
  44. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/lambda-edge/index.js +7 -0
  45. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/netlify/conninfo.js +9 -0
  46. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/netlify/handler.js +9 -0
  47. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/netlify/index.js +2 -0
  48. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/netlify/mod.js +7 -0
  49. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/service-worker/handler.js +20 -0
  50. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/service-worker/index.js +9 -0
  51. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/service-worker/types.js +0 -0
  52. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/vercel/conninfo.js +10 -0
  53. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/vercel/handler.js +7 -0
  54. package/node_modules/@zuplo/editor/node_modules/hono/dist/adapter/vercel/index.js +7 -0
  55. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
  56. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +395 -0
  57. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +34 -0
  58. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +15 -0
  59. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +49 -0
  60. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/index.js +45 -0
  61. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +52 -0
  62. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/server.js +27 -0
  63. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/ssg.js +40 -0
  64. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/bun/websocket.js +98 -0
  65. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
  66. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
  67. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
  68. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
  69. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
  70. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
  71. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
  72. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
  73. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
  74. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +36 -0
  75. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/deno.d.js +0 -0
  76. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/index.js +38 -0
  77. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +62 -0
  78. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/ssg.js +41 -0
  79. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/deno/websocket.js +54 -0
  80. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
  81. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +130 -0
  82. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +30 -0
  83. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +31 -0
  84. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/netlify/handler.js +31 -0
  85. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/netlify/index.js +21 -0
  86. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/netlify/mod.js +30 -0
  87. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +42 -0
  88. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/service-worker/index.js +32 -0
  89. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/service-worker/types.js +15 -0
  90. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +32 -0
  91. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/vercel/handler.js +29 -0
  92. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/adapter/vercel/index.js +30 -0
  93. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/client/client.js +204 -0
  94. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/client/fetch-result-please.js +85 -0
  95. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/client/index.js +32 -0
  96. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/client/types.js +15 -0
  97. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/client/utils.js +105 -0
  98. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/compose.js +68 -0
  99. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/context.js +435 -0
  100. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/accepts/accepts.js +43 -0
  101. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/accepts/index.js +27 -0
  102. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/adapter/index.js +81 -0
  103. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/conninfo/index.js +15 -0
  104. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/conninfo/types.js +15 -0
  105. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/cookie/index.js +130 -0
  106. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/css/common.js +273 -0
  107. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/css/index.js +157 -0
  108. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/dev/index.js +79 -0
  109. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/factory/index.js +54 -0
  110. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/html/index.js +64 -0
  111. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/proxy/index.js +111 -0
  112. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/route/index.js +71 -0
  113. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/ssg/index.js +43 -0
  114. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/ssg/middleware.js +73 -0
  115. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/ssg/plugins.js +70 -0
  116. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/ssg/ssg.js +320 -0
  117. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/ssg/utils.js +93 -0
  118. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/streaming/index.js +35 -0
  119. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/streaming/sse.js +91 -0
  120. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/streaming/stream.js +56 -0
  121. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/streaming/text.js +34 -0
  122. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/streaming/utils.js +35 -0
  123. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/testing/index.js +33 -0
  124. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/helper/websocket/index.js +81 -0
  125. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/hono-base.js +405 -0
  126. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/hono.js +43 -0
  127. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/http-exception.js +57 -0
  128. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/index.js +30 -0
  129. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/base.js +374 -0
  130. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/children.js +44 -0
  131. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/components.js +221 -0
  132. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/constants.js +42 -0
  133. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/context.js +188 -0
  134. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/client.js +76 -0
  135. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/components.js +55 -0
  136. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/context.js +71 -0
  137. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/css.js +168 -0
  138. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +74 -0
  139. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/index.js +181 -0
  140. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
  141. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
  142. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
  143. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/render.js +641 -0
  144. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/server.js +67 -0
  145. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/dom/utils.js +32 -0
  146. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/hooks/index.js +370 -0
  147. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/index.js +138 -0
  148. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +50 -0
  149. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +189 -0
  150. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +15 -0
  151. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
  152. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +71 -0
  153. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/streaming.js +179 -0
  154. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/types.js +15 -0
  155. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/jsx/utils.js +200 -0
  156. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +88 -0
  157. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +114 -0
  158. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/body-limit/index.js +75 -0
  159. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/cache/index.js +124 -0
  160. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/combine/index.js +101 -0
  161. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/compress/index.js +92 -0
  162. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/context-storage/index.js +47 -0
  163. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/cors/index.js +106 -0
  164. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/csrf/index.js +77 -0
  165. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/etag/digest.js +55 -0
  166. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/etag/index.js +96 -0
  167. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +176 -0
  168. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +82 -0
  169. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/jwk/index.js +27 -0
  170. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +134 -0
  171. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/jwt/index.js +38 -0
  172. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +140 -0
  173. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/language/index.js +35 -0
  174. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/language/language.js +199 -0
  175. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/logger/index.js +72 -0
  176. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/method-override/index.js +106 -0
  177. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/powered-by/index.js +32 -0
  178. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +37 -0
  179. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/request-id/index.js +27 -0
  180. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +43 -0
  181. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +29 -0
  182. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
  183. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +195 -0
  184. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/serve-static/index.js +99 -0
  185. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/serve-static/path.js +40 -0
  186. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/timeout/index.js +47 -0
  187. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/timing/index.js +35 -0
  188. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/timing/timing.js +130 -0
  189. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +62 -0
  190. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/package.json +3 -0
  191. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/preset/quick.js +38 -0
  192. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/preset/tiny.js +34 -0
  193. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/request/constants.js +27 -0
  194. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/request.js +344 -0
  195. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/linear-router/index.js +27 -0
  196. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/linear-router/router.js +140 -0
  197. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/pattern-router/index.js +27 -0
  198. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/pattern-router/router.js +70 -0
  199. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +34 -0
  200. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +48 -0
  201. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +134 -0
  202. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
  203. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +208 -0
  204. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +81 -0
  205. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/smart-router/index.js +27 -0
  206. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/smart-router/router.js +80 -0
  207. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/trie-router/index.js +27 -0
  208. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/trie-router/node.js +210 -0
  209. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router/trie-router/router.js +48 -0
  210. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/router.js +40 -0
  211. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/types.js +28 -0
  212. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/accept.js +245 -0
  213. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/basic-auth.js +45 -0
  214. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/body.js +111 -0
  215. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/buffer.js +103 -0
  216. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/color.js +48 -0
  217. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/compress.js +27 -0
  218. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/concurrent.js +61 -0
  219. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/constants.js +27 -0
  220. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/cookie.js +198 -0
  221. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/crypto.js +69 -0
  222. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/encode.js +54 -0
  223. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/filepath.js +58 -0
  224. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/handler.js +36 -0
  225. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/headers.js +15 -0
  226. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/html.js +150 -0
  227. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/http-status.js +15 -0
  228. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/ipaddr.js +318 -0
  229. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/index.js +28 -0
  230. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/jwa.js +42 -0
  231. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/jws.js +215 -0
  232. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/jwt.js +219 -0
  233. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/types.js +161 -0
  234. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/jwt/utf8.js +30 -0
  235. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/mime.js +106 -0
  236. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/stream.js +103 -0
  237. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/types.js +15 -0
  238. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/utils/url.js +256 -0
  239. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/validator/index.js +27 -0
  240. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/validator/utils.js +15 -0
  241. package/node_modules/@zuplo/editor/node_modules/hono/dist/cjs/validator/validator.js +108 -0
  242. package/node_modules/@zuplo/editor/node_modules/hono/dist/client/client.js +189 -0
  243. package/node_modules/@zuplo/editor/node_modules/hono/dist/client/fetch-result-please.js +62 -0
  244. package/node_modules/@zuplo/editor/node_modules/hono/dist/client/index.js +8 -0
  245. package/node_modules/@zuplo/editor/node_modules/hono/dist/client/types.js +0 -0
  246. package/node_modules/@zuplo/editor/node_modules/hono/dist/client/utils.js +76 -0
  247. package/node_modules/@zuplo/editor/node_modules/hono/dist/compose.js +46 -0
  248. package/node_modules/@zuplo/editor/node_modules/hono/dist/context.js +412 -0
  249. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/accepts/accepts.js +20 -0
  250. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/accepts/index.js +5 -0
  251. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/adapter/index.js +56 -0
  252. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/conninfo/index.js +0 -0
  253. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/conninfo/types.js +0 -0
  254. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/cookie/index.js +102 -0
  255. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/css/common.js +236 -0
  256. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/css/index.js +140 -0
  257. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/dev/index.js +55 -0
  258. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/factory/index.js +30 -0
  259. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/html/index.js +41 -0
  260. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/proxy/index.js +89 -0
  261. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/route/index.js +46 -0
  262. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/ssg/index.js +19 -0
  263. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/ssg/middleware.js +45 -0
  264. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/ssg/plugins.js +47 -0
  265. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/ssg/ssg.js +297 -0
  266. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/ssg/utils.js +67 -0
  267. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/streaming/index.js +10 -0
  268. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/streaming/sse.js +68 -0
  269. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/streaming/stream.js +34 -0
  270. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/streaming/text.js +12 -0
  271. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/streaming/utils.js +13 -0
  272. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/testing/index.js +11 -0
  273. package/node_modules/@zuplo/editor/node_modules/hono/dist/helper/websocket/index.js +57 -0
  274. package/node_modules/@zuplo/editor/node_modules/hono/dist/hono-base.js +383 -0
  275. package/node_modules/@zuplo/editor/node_modules/hono/dist/hono.js +21 -0
  276. package/node_modules/@zuplo/editor/node_modules/hono/dist/http-exception.js +35 -0
  277. package/node_modules/@zuplo/editor/node_modules/hono/dist/index.js +7 -0
  278. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/base.js +342 -0
  279. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/children.js +21 -0
  280. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/components.js +198 -0
  281. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/constants.js +15 -0
  282. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/context.js +162 -0
  283. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/client.js +53 -0
  284. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/components.js +32 -0
  285. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/context.js +48 -0
  286. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/css.js +150 -0
  287. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/hooks/index.js +48 -0
  288. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/index.js +142 -0
  289. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +374 -0
  290. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +19 -0
  291. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/jsx-runtime.js +8 -0
  292. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/render.js +617 -0
  293. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/server.js +33 -0
  294. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/dom/utils.js +10 -0
  295. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/hooks/index.js +328 -0
  296. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/index.js +103 -0
  297. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/intrinsic-element/common.js +24 -0
  298. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/intrinsic-element/components.js +165 -0
  299. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/intrinsic-elements.js +0 -0
  300. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/jsx-dev-runtime.js +18 -0
  301. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/jsx-runtime.js +44 -0
  302. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/streaming.js +155 -0
  303. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/types.js +0 -0
  304. package/node_modules/@zuplo/editor/node_modules/hono/dist/jsx/utils.js +175 -0
  305. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/basic-auth/index.js +66 -0
  306. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/bearer-auth/index.js +92 -0
  307. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/body-limit/index.js +53 -0
  308. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/cache/index.js +102 -0
  309. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/combine/index.js +77 -0
  310. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/compress/index.js +69 -0
  311. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/context-storage/index.js +23 -0
  312. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/cors/index.js +84 -0
  313. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/csrf/index.js +55 -0
  314. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/etag/digest.js +33 -0
  315. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/etag/index.js +73 -0
  316. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/ip-restriction/index.js +162 -0
  317. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/jsx-renderer/index.js +58 -0
  318. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/jwk/index.js +5 -0
  319. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/jwk/jwk.js +112 -0
  320. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/jwt/index.js +11 -0
  321. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/jwt/jwt.js +114 -0
  322. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/language/index.js +15 -0
  323. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/language/language.js +168 -0
  324. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/logger/index.js +44 -0
  325. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/method-override/index.js +84 -0
  326. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/powered-by/index.js +10 -0
  327. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/pretty-json/index.js +15 -0
  328. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/request-id/index.js +5 -0
  329. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/request-id/request-id.js +21 -0
  330. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/secure-headers/index.js +6 -0
  331. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +0 -0
  332. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +172 -0
  333. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/serve-static/index.js +77 -0
  334. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/serve-static/path.js +18 -0
  335. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/timeout/index.js +25 -0
  336. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/timing/index.js +9 -0
  337. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/timing/timing.js +104 -0
  338. package/node_modules/@zuplo/editor/node_modules/hono/dist/middleware/trailing-slash/index.js +39 -0
  339. package/node_modules/@zuplo/editor/node_modules/hono/dist/preset/quick.js +16 -0
  340. package/node_modules/@zuplo/editor/node_modules/hono/dist/preset/tiny.js +12 -0
  341. package/node_modules/@zuplo/editor/node_modules/hono/dist/request/constants.js +5 -0
  342. package/node_modules/@zuplo/editor/node_modules/hono/dist/request.js +321 -0
  343. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/linear-router/index.js +5 -0
  344. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/linear-router/router.js +118 -0
  345. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/pattern-router/index.js +5 -0
  346. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/pattern-router/router.js +48 -0
  347. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/index.js +9 -0
  348. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/matcher.js +25 -0
  349. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/node.js +111 -0
  350. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +142 -0
  351. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/router.js +190 -0
  352. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/reg-exp-router/trie.js +59 -0
  353. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/smart-router/index.js +5 -0
  354. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/smart-router/router.js +58 -0
  355. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/trie-router/index.js +5 -0
  356. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/trie-router/node.js +188 -0
  357. package/node_modules/@zuplo/editor/node_modules/hono/dist/router/trie-router/router.js +26 -0
  358. package/node_modules/@zuplo/editor/node_modules/hono/dist/router.js +14 -0
  359. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
  360. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
  361. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +8 -0
  362. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +153 -0
  363. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +7 -0
  364. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/index.d.ts +10 -0
  365. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +3 -0
  366. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/server.d.ts +12 -0
  367. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +13 -0
  368. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +39 -0
  369. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
  370. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
  371. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
  372. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
  373. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
  374. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
  375. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
  376. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
  377. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
  378. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +7 -0
  379. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/deno/index.d.ts +8 -0
  380. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +3 -0
  381. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +13 -0
  382. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +2 -0
  383. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
  384. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
  385. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +7 -0
  386. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +21 -0
  387. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +2 -0
  388. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/netlify/index.d.ts +5 -0
  389. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +2 -0
  390. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +16 -0
  391. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +28 -0
  392. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -0
  393. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +2 -0
  394. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +2 -0
  395. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/adapter/vercel/index.d.ts +6 -0
  396. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/client/client.d.ts +4 -0
  397. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/client/fetch-result-please.d.ts +35 -0
  398. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/client/index.d.ts +7 -0
  399. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/client/types.d.ts +229 -0
  400. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/client/utils.d.ts +18 -0
  401. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/compose.d.ts +14 -0
  402. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/context.d.ts +455 -0
  403. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +30 -0
  404. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/accepts/index.d.ts +5 -0
  405. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/adapter/index.d.ts +12 -0
  406. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/conninfo/index.d.ts +5 -0
  407. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/conninfo/types.d.ts +36 -0
  408. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/cookie/index.d.ts +24 -0
  409. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/css/common.d.ts +59 -0
  410. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/css/index.d.ts +80 -0
  411. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/dev/index.d.ts +20 -0
  412. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/factory/index.d.ts +82 -0
  413. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/html/index.d.ts +8 -0
  414. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/proxy/index.d.ts +72 -0
  415. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/route/index.d.ts +75 -0
  416. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/ssg/index.d.ts +7 -0
  417. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +44 -0
  418. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +27 -0
  419. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +91 -0
  420. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/ssg/utils.d.ts +16 -0
  421. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/streaming/index.d.ts +8 -0
  422. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/streaming/sse.d.ts +13 -0
  423. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/streaming/stream.d.ts +3 -0
  424. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/streaming/text.d.ts +3 -0
  425. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/streaming/utils.d.ts +1 -0
  426. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/testing/index.d.ts +12 -0
  427. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/helper/websocket/index.d.ts +69 -0
  428. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/hono-base.d.ts +220 -0
  429. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/hono.d.ts +19 -0
  430. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/http-exception.d.ts +59 -0
  431. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/index.d.ts +37 -0
  432. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/base.d.ts +56 -0
  433. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/children.d.ts +9 -0
  434. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/components.d.ts +15 -0
  435. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/constants.d.ts +6 -0
  436. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/context.d.ts +51 -0
  437. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/client.d.ts +31 -0
  438. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/components.d.ts +10 -0
  439. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -0
  440. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/css.d.ts +83 -0
  441. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +39 -0
  442. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/index.d.ts +88 -0
  443. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
  444. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
  445. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
  446. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/render.d.ts +73 -0
  447. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/server.d.ts +106 -0
  448. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/dom/utils.d.ts +1 -0
  449. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/hooks/index.d.ts +45 -0
  450. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/index.d.ts +75 -0
  451. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
  452. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
  453. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +722 -0
  454. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
  455. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +12 -0
  456. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/streaming.d.ts +36 -0
  457. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/types.d.ts +35 -0
  458. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/jsx/utils.d.ts +4 -0
  459. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +75 -0
  460. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +92 -0
  461. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +45 -0
  462. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/cache/index.d.ts +43 -0
  463. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/combine/index.d.ts +85 -0
  464. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/compress/index.d.ts +40 -0
  465. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +40 -0
  466. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/cors/index.d.ts +55 -0
  467. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/csrf/index.d.ts +78 -0
  468. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/etag/digest.d.ts +1 -0
  469. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/etag/index.d.ts +42 -0
  470. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +67 -0
  471. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
  472. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/jwk/index.d.ts +1 -0
  473. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +54 -0
  474. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/jwt/index.d.ts +8 -0
  475. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +67 -0
  476. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/language/index.d.ts +7 -0
  477. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/language/language.d.ts +120 -0
  478. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/logger/index.d.ts +24 -0
  479. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/method-override/index.d.ts +48 -0
  480. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +29 -0
  481. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +42 -0
  482. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/request-id/index.d.ts +7 -0
  483. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +37 -0
  484. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +8 -0
  485. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
  486. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
  487. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +31 -0
  488. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +5 -0
  489. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/timeout/index.d.ts +31 -0
  490. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/timing/index.d.ts +7 -0
  491. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/timing/timing.d.ts +129 -0
  492. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +94 -0
  493. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/package.json +3 -0
  494. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/preset/quick.d.ts +10 -0
  495. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/preset/tiny.d.ts +10 -0
  496. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/request/constants.d.ts +1 -0
  497. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/request.d.ts +324 -0
  498. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/linear-router/index.d.ts +5 -0
  499. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -0
  500. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/pattern-router/index.d.ts +5 -0
  501. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -0
  502. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +6 -0
  503. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
  504. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +10 -0
  505. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
  506. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +11 -0
  507. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -0
  508. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/smart-router/index.d.ts +5 -0
  509. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -0
  510. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/trie-router/index.d.ts +5 -0
  511. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/trie-router/node.d.ts +7 -0
  512. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router/trie-router/router.d.ts +8 -0
  513. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/router.d.ts +97 -0
  514. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/types.d.ts +573 -0
  515. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/accept.d.ts +6 -0
  516. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/basic-auth.d.ts +5 -0
  517. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/body.d.ts +79 -0
  518. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/buffer.d.ts +17 -0
  519. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/color.d.ts +21 -0
  520. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/compress.d.ts +8 -0
  521. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/concurrent.d.ts +11 -0
  522. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/constants.d.ts +4 -0
  523. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/cookie.d.ts +40 -0
  524. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/crypto.d.ts +15 -0
  525. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/encode.d.ts +8 -0
  526. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/filepath.d.ts +12 -0
  527. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/handler.d.ts +6 -0
  528. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/headers.d.ts +8 -0
  529. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/html.d.ts +44 -0
  530. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/http-status.d.ts +32 -0
  531. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/ipaddr.d.ts +56 -0
  532. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -0
  533. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +23 -0
  534. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/jws.d.ts +12 -0
  535. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +43 -0
  536. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/types.d.ts +86 -0
  537. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +6 -0
  538. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/mime.d.ts +70 -0
  539. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/stream.d.ts +31 -0
  540. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/types.d.ts +74 -0
  541. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/utils/url.d.ts +39 -0
  542. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/validator/index.d.ts +7 -0
  543. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/validator/utils.d.ts +29 -0
  544. package/node_modules/@zuplo/editor/node_modules/hono/dist/types/validator/validator.d.ts +16 -0
  545. package/node_modules/@zuplo/editor/node_modules/hono/dist/types.js +6 -0
  546. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/accept.js +223 -0
  547. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/basic-auth.js +23 -0
  548. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/body.js +89 -0
  549. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/buffer.js +78 -0
  550. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/color.js +25 -0
  551. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/compress.js +5 -0
  552. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/concurrent.js +39 -0
  553. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/constants.js +5 -0
  554. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/cookie.js +173 -0
  555. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/crypto.js +44 -0
  556. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/encode.js +29 -0
  557. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/filepath.js +35 -0
  558. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/handler.js +13 -0
  559. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/headers.js +0 -0
  560. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/html.js +123 -0
  561. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/http-status.js +0 -0
  562. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/ipaddr.js +288 -0
  563. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/index.js +6 -0
  564. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/jwa.js +20 -0
  565. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/jws.js +192 -0
  566. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/jwt.js +207 -0
  567. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/types.js +124 -0
  568. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/jwt/utf8.js +7 -0
  569. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/mime.js +82 -0
  570. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/stream.js +81 -0
  571. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/types.js +0 -0
  572. package/node_modules/@zuplo/editor/node_modules/hono/dist/utils/url.js +222 -0
  573. package/node_modules/@zuplo/editor/node_modules/hono/dist/validator/index.js +5 -0
  574. package/node_modules/@zuplo/editor/node_modules/hono/dist/validator/utils.js +0 -0
  575. package/node_modules/@zuplo/editor/node_modules/hono/dist/validator/validator.js +86 -0
  576. package/node_modules/@zuplo/editor/node_modules/hono/package.json +699 -0
  577. package/node_modules/@zuplo/graphql/package.json +1 -1
  578. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  579. package/node_modules/@zuplo/otel/out/esm/chunk-6UX7NFNJ.js +26 -0
  580. package/node_modules/@zuplo/otel/out/esm/chunk-6UX7NFNJ.js.map +1 -0
  581. package/node_modules/@zuplo/otel/out/esm/index.js +1 -1
  582. package/node_modules/@zuplo/otel/package.json +1 -1
  583. package/node_modules/@zuplo/runtime/out/esm/chunk-TOMTVLZA.js +405 -0
  584. package/node_modules/@zuplo/runtime/out/esm/chunk-TOMTVLZA.js.map +1 -0
  585. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  586. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  587. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  588. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
  589. package/node_modules/@zuplo/runtime/out/types/index.d.ts +18 -0
  590. package/node_modules/@zuplo/runtime/package.json +1 -1
  591. package/node_modules/fast-uri/index.js +37 -1
  592. package/node_modules/fast-uri/package.json +1 -1
  593. package/node_modules/fast-uri/test/security.test.js +136 -0
  594. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +14 -11
  595. package/node_modules/hono/dist/cjs/utils/cookie.js +2 -1
  596. package/node_modules/hono/dist/jsx/hooks/index.js +14 -11
  597. package/node_modules/hono/dist/utils/cookie.js +2 -1
  598. package/node_modules/hono/package.json +2 -3
  599. package/node_modules/ip-address/README.md +142 -128
  600. package/node_modules/ip-address/dist/common.d.ts +6 -0
  601. package/node_modules/ip-address/dist/common.js +17 -1
  602. package/node_modules/ip-address/dist/common.js.map +1 -1
  603. package/node_modules/ip-address/dist/ipv4.js +3 -12
  604. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  605. package/node_modules/ip-address/dist/ipv6.d.ts +9 -2
  606. package/node_modules/ip-address/dist/ipv6.js +35 -16
  607. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  608. package/node_modules/ip-address/package.json +5 -3
  609. package/package.json +6 -6
  610. package/node_modules/@zuplo/otel/out/esm/chunk-6IEB7H3W.js +0 -26
  611. package/node_modules/@zuplo/otel/out/esm/chunk-6IEB7H3W.js.map +0 -1
  612. package/node_modules/@zuplo/runtime/out/esm/chunk-6E46244D.js +0 -405
  613. package/node_modules/@zuplo/runtime/out/esm/chunk-6E46244D.js.map +0 -1
  614. /package/node_modules/@zuplo/runtime/out/esm/{chunk-6E46244D.js.LEGAL.txt → chunk-TOMTVLZA.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ipv4.js","sourceRoot":"","sources":["../src/ipv4.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n\nimport * as common from './common';\nimport * as constants from './v4/constants';\nimport { AddressError } from './address-error';\n\nconst isCorrect4 = common.isCorrect(constants.BITS);\n\n/**\n * Represents an IPv4 address\n * @param {string} address - An IPv4 address string\n */\nexport class Address4 {\n address: string;\n addressMinusSuffix: string = '';\n groups: number = constants.GROUPS;\n parsedAddress: string[] = [];\n parsedSubnet: string = '';\n subnet: string = '/32';\n subnetMask: number = 32;\n v4: boolean = true;\n private _binaryZeroPad?: string;\n\n constructor(address: string) {\n this.address = address;\n\n const subnet = constants.RE_SUBNET_STRING.exec(address);\n\n if (subnet) {\n this.parsedSubnet = subnet[0].replace('/', '');\n this.subnetMask = parseInt(this.parsedSubnet, 10);\n this.subnet = `/${this.subnetMask}`;\n\n if (this.subnetMask < 0 || this.subnetMask > constants.BITS) {\n throw new AddressError('Invalid subnet mask.');\n }\n\n address = address.replace(constants.RE_SUBNET_STRING, '');\n }\n\n this.addressMinusSuffix = address;\n\n this.parsedAddress = this.parse(address);\n }\n\n /**\n * Returns true if the given string is a valid IPv4 address (with optional\n * CIDR subnet), false otherwise. Host bits in the subnet portion are\n * allowed (e.g. `192.168.1.5/24` is valid); for strict network-address\n * validation compare `correctForm()` to `startAddress().correctForm()`,\n * or use `networkForm()`.\n */\n static isValid(address: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new Address4(address);\n\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Parses an IPv4 address string into its four octet groups and stores the\n * result on `this.parsedAddress`. Called automatically by the constructor;\n * you typically don't need to call it directly. Throws `AddressError` if\n * the input is not a valid IPv4 address.\n */\n parse(address: string) {\n const groups = address.split('.');\n\n // Checked before the general match so the error names the actual problem.\n // Address6 rejects the same notation on its v4-in-v6 path.\n if (groups.some((group) => /^0\\d/.test(group))) {\n throw new AddressError(\"IPv4 addresses can't have leading zeroes.\");\n }\n\n if (!address.match(constants.RE_ADDRESS)) {\n throw new AddressError('Invalid IPv4 address.');\n }\n\n return groups;\n }\n\n /**\n * Returns the address in correct form: octets joined with `.` and any\n * leading zeros stripped (e.g. `192.168.1.1`). For IPv4 this matches the\n * canonical dotted-decimal representation.\n */\n correctForm(): string {\n return this.parsedAddress.map((part) => parseInt(part, 10)).join('.');\n }\n\n /**\n * Returns true if the address is correct, false otherwise\n * @returns {Boolean}\n */\n isCorrect = isCorrect4;\n\n /**\n * Construct an `Address4` from an address and a dotted-decimal subnet\n * mask given as separate strings (e.g. as returned by Node's\n * `os.networkInterfaces()`). Throws `AddressError` if the mask is\n * non-contiguous (e.g. `255.0.255.0`).\n * @example\n * var address = Address4.fromAddressAndMask('192.168.1.1', '255.255.255.0');\n * address.subnetMask; // 24\n */\n static fromAddressAndMask(address: string, mask: string): Address4 {\n const bits = common.prefixLengthFromMask(new Address4(mask).bigInt(), constants.BITS);\n return new Address4(`${address}/${bits}`);\n }\n\n /**\n * Construct an `Address4` from an address and a Cisco-style wildcard mask\n * given as separate strings (e.g. `0.0.0.255` for a `/24`). The wildcard\n * mask is the bitwise inverse of the subnet mask. Throws `AddressError`\n * if the mask is non-contiguous (e.g. `0.255.0.255`).\n * @example\n * var address = Address4.fromAddressAndWildcardMask('10.0.0.1', '0.0.0.255');\n * address.subnetMask; // 24\n */\n static fromAddressAndWildcardMask(address: string, wildcardMask: string): Address4 {\n const wildcard = new Address4(wildcardMask).bigInt();\n const allOnes = (BigInt(1) << BigInt(constants.BITS)) - BigInt(1);\n // eslint-disable-next-line no-bitwise\n const mask = wildcard ^ allOnes;\n const bits = common.prefixLengthFromMask(mask, constants.BITS);\n return new Address4(`${address}/${bits}`);\n }\n\n /**\n * Construct an `Address4` from a wildcard pattern with trailing `*`\n * octets. The number of trailing wildcards determines the prefix\n * length: each `*` represents 8 bits.\n *\n * Only trailing whole-octet wildcards are supported. Partial-octet\n * wildcards (e.g. `192.168.0.1*`) and interior wildcards (e.g.\n * `192.*.0.1`) throw `AddressError`.\n * @example\n * Address4.fromWildcard('192.168.0.*').subnet; // '/24'\n * Address4.fromWildcard('192.168.*.*').subnet; // '/16'\n * Address4.fromWildcard('*.*.*.*').subnet; // '/0'\n */\n static fromWildcard(input: string): Address4 {\n const groups = input.split('.');\n\n if (groups.length !== constants.GROUPS) {\n throw new AddressError('Wildcard pattern must have 4 octets');\n }\n\n let firstWildcard = -1;\n\n for (let i = 0; i < groups.length; i++) {\n if (groups[i] === '*') {\n if (firstWildcard === -1) {\n firstWildcard = i;\n }\n } else if (firstWildcard !== -1) {\n throw new AddressError(\n 'Wildcard `*` must only appear in trailing octets (e.g. `192.168.0.*`)',\n );\n }\n }\n\n const trailing = firstWildcard === -1 ? 0 : groups.length - firstWildcard;\n const replaced = groups.map((g) => (g === '*' ? '0' : g));\n const subnetBits = constants.BITS - trailing * 8;\n\n return new Address4(`${replaced.join('.')}/${subnetBits}`);\n }\n\n /**\n * Converts a hex string to an IPv4 address object. Accepts 8 hex digits\n * with optional `:` separators (e.g. `'7f000001'` or `'7f:00:00:01'`).\n * Throws `AddressError` for any other length or for non-hex characters.\n * @param {string} hex - a hex string to convert\n * @returns {Address4}\n */\n static fromHex(hex: string): Address4 {\n const stripped = hex.replace(/:/g, '');\n\n if (!/^[0-9a-fA-F]{8}$/.test(stripped)) {\n throw new AddressError('IPv4 hex must be exactly 8 hex digits');\n }\n\n const groups = [];\n\n for (let i = 0; i < 8; i += 2) {\n groups.push(parseInt(stripped.slice(i, i + 2), 16));\n }\n\n return new Address4(groups.join('.'));\n }\n\n /**\n * Converts an integer into a IPv4 address object. The integer must be a\n * non-negative safe integer in the range `[0, 2**32 - 1]`; otherwise\n * `AddressError` is thrown.\n * @param {integer} integer - a number to convert\n * @returns {Address4}\n */\n static fromInteger(integer: number): Address4 {\n if (!Number.isInteger(integer) || integer < 0 || integer > 0xffffffff) {\n throw new AddressError('IPv4 integer must be in the range 0 to 2**32 - 1');\n }\n\n return Address4.fromHex(integer.toString(16).padStart(8, '0'));\n }\n\n /**\n * Return an address from in-addr.arpa form\n * @param {string} arpaFormAddress - an 'in-addr.arpa' form ipv4 address\n * @returns {Adress4}\n * @example\n * var address = Address4.fromArpa(42.2.0.192.in-addr.arpa.)\n * address.correctForm(); // '192.0.2.42'\n */\n static fromArpa(arpaFormAddress: string): Address4 {\n // remove ending \".in-addr.arpa.\" or just \".\"\n const leader = arpaFormAddress.replace(/(\\.in-addr\\.arpa)?\\.$/, '');\n\n const address = leader.split('.').reverse().join('.');\n\n return new Address4(address);\n }\n\n /**\n * Converts an IPv4 address object to a hex string\n * @returns {String}\n */\n toHex(): string {\n return this.parsedAddress.map((part) => common.stringToPaddedHex(part)).join(':');\n }\n\n /**\n * Converts an IPv4 address object to an array of bytes.\n *\n * To get a Node.js `Buffer`, wrap the result: `Buffer.from(address.toArray())`.\n * @returns {Array}\n */\n toArray(): number[] {\n return this.parsedAddress.map((part) => parseInt(part, 10));\n }\n\n /**\n * Converts an IPv4 address object to an IPv6 address group\n * @returns {String}\n */\n toGroup6(): string {\n const output = [];\n let i;\n\n for (i = 0; i < constants.GROUPS; i += 2) {\n output.push(\n `${common.stringToPaddedHex(this.parsedAddress[i])}${common.stringToPaddedHex(\n this.parsedAddress[i + 1],\n )}`,\n );\n }\n\n return output.join(':');\n }\n\n /**\n * Returns the address as a `bigint`\n * @returns {bigint}\n */\n bigInt(): bigint {\n return BigInt(`0x${this.parsedAddress.map((n) => common.stringToPaddedHex(n)).join('')}`);\n }\n\n /**\n * Helper function getting start address.\n * @returns {bigint}\n */\n _startAddress(): bigint {\n return BigInt(`0b${this.mask() + '0'.repeat(constants.BITS - this.subnetMask)}`);\n }\n\n /**\n * The first address in the range given by this address' subnet.\n * Often referred to as the Network Address.\n * @returns {Address4}\n */\n startAddress(): Address4 {\n return Address4.fromBigInt(this._startAddress());\n }\n\n /**\n * The first host address in the range given by this address's subnet ie\n * the first address after the Network Address\n * @returns {Address4}\n */\n startAddressExclusive(): Address4 {\n const adjust = BigInt('1');\n return Address4.fromBigInt(this._startAddress() + adjust);\n }\n\n /**\n * Helper function getting end address.\n * @returns {bigint}\n */\n _endAddress(): bigint {\n return BigInt(`0b${this.mask() + '1'.repeat(constants.BITS - this.subnetMask)}`);\n }\n\n /**\n * The last address in the range given by this address' subnet\n * Often referred to as the Broadcast\n * @returns {Address4}\n */\n endAddress(): Address4 {\n return Address4.fromBigInt(this._endAddress());\n }\n\n /**\n * The last host address in the range given by this address's subnet ie\n * the last address prior to the Broadcast Address\n * @returns {Address4}\n */\n endAddressExclusive(): Address4 {\n const adjust = BigInt('1');\n return Address4.fromBigInt(this._endAddress() - adjust);\n }\n\n /**\n * The dotted-decimal form of the subnet mask, e.g. `255.255.240.0` for\n * a `/20`. Returns an `Address4`; call `.correctForm()` for the string.\n * @returns {Address4}\n */\n subnetMaskAddress(): Address4 {\n return Address4.fromBigInt(\n BigInt(`0b${'1'.repeat(this.subnetMask)}${'0'.repeat(constants.BITS - this.subnetMask)}`),\n );\n }\n\n /**\n * The Cisco-style wildcard mask, e.g. `0.0.0.255` for a `/24`. This is\n * the bitwise inverse of `subnetMaskAddress()`. Returns an `Address4`;\n * call `.correctForm()` for the string.\n * @returns {Address4}\n */\n wildcardMask(): Address4 {\n return Address4.fromBigInt(\n BigInt(`0b${'0'.repeat(this.subnetMask)}${'1'.repeat(constants.BITS - this.subnetMask)}`),\n );\n }\n\n /**\n * The network address in CIDR string form, e.g. `192.168.1.0/24` for\n * `192.168.1.5/24`. For an address with no explicit subnet the prefix is\n * `/32`, e.g. `networkForm()` on `192.168.1.5` returns `192.168.1.5/32`.\n * @returns {string}\n */\n networkForm(): string {\n return `${this.startAddress().correctForm()}/${this.subnetMask}`;\n }\n\n /**\n * Converts a BigInt to a v4 address object. The value must be in the\n * range `[0, 2**32 - 1]`; otherwise `AddressError` is thrown.\n * @param {bigint} bigInt - a BigInt to convert\n * @returns {Address4}\n */\n static fromBigInt(bigInt: bigint): Address4 {\n if (bigInt < 0n || bigInt > 0xffffffffn) {\n throw new AddressError('IPv4 BigInt must be in the range 0 to 2**32 - 1');\n }\n\n return Address4.fromHex(bigInt.toString(16).padStart(8, '0'));\n }\n\n /**\n * Convert a byte array to an Address4 object.\n *\n * To convert from a Node.js `Buffer`, spread it: `Address4.fromByteArray([...buf])`.\n * @param {Array<number>} bytes - an array of 4 bytes (0-255)\n * @returns {Address4}\n */\n static fromByteArray(bytes: Array<number>): Address4 {\n if (bytes.length !== 4) {\n throw new AddressError('IPv4 addresses require exactly 4 bytes');\n }\n\n // Validate that all bytes are within valid range (0-255)\n for (let i = 0; i < bytes.length; i++) {\n if (!Number.isInteger(bytes[i]) || bytes[i] < 0 || bytes[i] > 255) {\n throw new AddressError('All bytes must be integers between 0 and 255');\n }\n }\n\n return this.fromUnsignedByteArray(bytes);\n }\n\n /**\n * Convert an unsigned byte array to an Address4 object\n * @param {Array<number>} bytes - an array of 4 unsigned bytes (0-255)\n * @returns {Address4}\n */\n static fromUnsignedByteArray(bytes: Array<number>): Address4 {\n if (bytes.length !== 4) {\n throw new AddressError('IPv4 addresses require exactly 4 bytes');\n }\n\n const address = bytes.join('.');\n return new Address4(address);\n }\n\n /**\n * Returns the first n bits of the address, defaulting to the\n * subnet mask\n * @returns {String}\n */\n mask(mask?: number): string {\n if (mask === undefined) {\n mask = this.subnetMask;\n }\n\n return this.getBitsBase2(0, mask);\n }\n\n /**\n * Returns the bits in the given range as a base-2 string\n * @returns {string}\n */\n getBitsBase2(start: number, end: number): string {\n return this.binaryZeroPad().slice(start, end);\n }\n\n /**\n * Return the reversed ip6.arpa form of the address\n * @param {Object} options\n * @param {boolean} options.omitSuffix - omit the \"in-addr.arpa\" suffix\n * @returns {String}\n */\n reverseForm(options?: common.ReverseFormOptions): string {\n if (!options) {\n options = {};\n }\n\n const reversed = this.correctForm().split('.').reverse().join('.');\n\n if (options.omitSuffix) {\n return reversed;\n }\n\n return `${reversed}.in-addr.arpa.`;\n }\n\n /**\n * Returns true if the given address is in the subnet of the current address\n * @returns {boolean}\n */\n isInSubnet = common.isInSubnet;\n\n /**\n * Returns true if this address's host bits fall inside the given subnet,\n * ignoring this address's own subnet mask. See\n * {@link common.isHostInSubnet}.\n * @returns {boolean}\n */\n isHostInSubnet = common.isHostInSubnet;\n\n /**\n * Returns true if the given address is a multicast address\n * @returns {boolean}\n */\n isMulticast(): boolean {\n return this.isHostInSubnet(MULTICAST_V4);\n }\n\n /**\n * Returns true if the address is in one of the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address ranges (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`).\n * @returns {boolean}\n */\n isPrivate(): boolean {\n return PRIVATE_V4.some((subnet) => this.isHostInSubnet(subnet));\n }\n\n /**\n * Returns true if the address is in the loopback range `127.0.0.0/8` ([RFC 1122](https://datatracker.ietf.org/doc/html/rfc1122)).\n * @returns {boolean}\n */\n isLoopback(): boolean {\n return this.isHostInSubnet(LOOPBACK_V4);\n }\n\n /**\n * Returns true if the address is in the link-local range `169.254.0.0/16` ([RFC 3927](https://datatracker.ietf.org/doc/html/rfc3927)).\n * @returns {boolean}\n */\n isLinkLocal(): boolean {\n return this.isHostInSubnet(LINK_LOCAL_V4);\n }\n\n /**\n * Returns true if the address is the unspecified address `0.0.0.0`.\n * @returns {boolean}\n */\n isUnspecified(): boolean {\n return this.isHostInSubnet(UNSPECIFIED_V4);\n }\n\n /**\n * Returns true if the address is the limited broadcast address `255.255.255.255` ([RFC 919](https://datatracker.ietf.org/doc/html/rfc919)).\n * @returns {boolean}\n */\n isBroadcast(): boolean {\n return this.isHostInSubnet(BROADCAST_V4);\n }\n\n /**\n * Returns true if the address is in the carrier-grade NAT range `100.64.0.0/10` ([RFC 6598](https://datatracker.ietf.org/doc/html/rfc6598)).\n * @returns {boolean}\n */\n isCGNAT(): boolean {\n return this.isHostInSubnet(CGNAT_V4);\n }\n\n /**\n * Returns a zero-padded base-2 string representation of the address\n * @returns {string}\n */\n binaryZeroPad(): string {\n if (this._binaryZeroPad === undefined) {\n this._binaryZeroPad = this.bigInt().toString(2).padStart(constants.BITS, '0');\n }\n return this._binaryZeroPad;\n }\n\n /**\n * Groups an IPv4 address for inclusion at the end of an IPv6 address\n * @returns {String}\n */\n groupForV6(): string {\n const segments = this.parsedAddress;\n\n return this.correctForm().replace(\n constants.RE_ADDRESS,\n `<span class=\"hover-group group-v4 group-6\">${segments\n .slice(0, 2)\n .join('.')}</span>.<span class=\"hover-group group-v4 group-7\">${segments\n .slice(2, 4)\n .join('.')}</span>`,\n );\n }\n}\n\nconst MULTICAST_V4 = new Address4('224.0.0.0/4');\nconst PRIVATE_V4 = [\n new Address4('10.0.0.0/8'),\n new Address4('172.16.0.0/12'),\n new Address4('192.168.0.0/16'),\n];\nconst LOOPBACK_V4 = new Address4('127.0.0.0/8');\nconst LINK_LOCAL_V4 = new Address4('169.254.0.0/16');\nconst UNSPECIFIED_V4 = new Address4('0.0.0.0/32');\nconst BROADCAST_V4 = new Address4('255.255.255.255/32');\nconst CGNAT_V4 = new Address4('100.64.0.0/10');\n"]}
1
+ {"version":3,"file":"ipv4.js","sourceRoot":"","sources":["../src/ipv4.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n\nimport * as common from './common';\nimport * as constants from './v4/constants';\nimport { AddressError } from './address-error';\n\nconst isCorrect4 = common.isCorrect(constants.BITS);\n\n/**\n * Represents an IPv4 address\n * @param {string} address - An IPv4 address string\n */\nexport class Address4 {\n address: string;\n addressMinusSuffix: string = '';\n groups: number = constants.GROUPS;\n parsedAddress: string[] = [];\n parsedSubnet: string = '';\n subnet: string = '/32';\n subnetMask: number = 32;\n v4: boolean = true;\n private _binaryZeroPad?: string;\n\n constructor(address: string) {\n this.address = address;\n\n const subnet = constants.RE_SUBNET_STRING.exec(address);\n\n if (subnet) {\n this.parsedSubnet = subnet[0].replace('/', '');\n this.subnetMask = parseInt(this.parsedSubnet, 10);\n this.subnet = `/${this.subnetMask}`;\n\n if (this.subnetMask < 0 || this.subnetMask > constants.BITS) {\n throw new AddressError('Invalid subnet mask.');\n }\n\n address = address.replace(constants.RE_SUBNET_STRING, '');\n }\n\n this.addressMinusSuffix = address;\n\n this.parsedAddress = this.parse(address);\n }\n\n /**\n * Returns true if the given string is a valid IPv4 address (with optional\n * CIDR subnet), false otherwise. Host bits in the subnet portion are\n * allowed (e.g. `192.168.1.5/24` is valid); for strict network-address\n * validation compare `correctForm()` to `startAddress().correctForm()`,\n * or use `networkForm()`.\n */\n static isValid(address: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new Address4(address);\n\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Parses an IPv4 address string into its four octet groups and stores the\n * result on `this.parsedAddress`. Called automatically by the constructor;\n * you typically don't need to call it directly. Throws `AddressError` if\n * the input is not a valid IPv4 address.\n */\n parse(address: string) {\n const groups = address.split('.');\n\n // Checked before the general match so the error names the actual problem.\n // Address6 rejects the same notation on its v4-in-v6 path.\n if (groups.some((group) => /^0\\d/.test(group))) {\n throw new AddressError(\"IPv4 addresses can't have leading zeroes.\");\n }\n\n if (!address.match(constants.RE_ADDRESS)) {\n throw new AddressError('Invalid IPv4 address.');\n }\n\n return groups;\n }\n\n /**\n * Returns the address in correct form: octets joined with `.` and any\n * leading zeros stripped (e.g. `192.168.1.1`). For IPv4 this matches the\n * canonical dotted-decimal representation.\n */\n correctForm(): string {\n return this.parsedAddress.map((part) => parseInt(part, 10)).join('.');\n }\n\n /**\n * Returns true if the address is correct, false otherwise\n * @returns {Boolean}\n */\n isCorrect = isCorrect4;\n\n /**\n * Construct an `Address4` from an address and a dotted-decimal subnet\n * mask given as separate strings (e.g. as returned by Node's\n * `os.networkInterfaces()`). Throws `AddressError` if the mask is\n * non-contiguous (e.g. `255.0.255.0`).\n * @example\n * var address = Address4.fromAddressAndMask('192.168.1.1', '255.255.255.0');\n * address.subnetMask; // 24\n */\n static fromAddressAndMask(address: string, mask: string): Address4 {\n const bits = common.prefixLengthFromMask(new Address4(mask).bigInt(), constants.BITS);\n return new Address4(`${address}/${bits}`);\n }\n\n /**\n * Construct an `Address4` from an address and a Cisco-style wildcard mask\n * given as separate strings (e.g. `0.0.0.255` for a `/24`). The wildcard\n * mask is the bitwise inverse of the subnet mask. Throws `AddressError`\n * if the mask is non-contiguous (e.g. `0.255.0.255`).\n * @example\n * var address = Address4.fromAddressAndWildcardMask('10.0.0.1', '0.0.0.255');\n * address.subnetMask; // 24\n */\n static fromAddressAndWildcardMask(address: string, wildcardMask: string): Address4 {\n const wildcard = new Address4(wildcardMask).bigInt();\n const allOnes = (BigInt(1) << BigInt(constants.BITS)) - BigInt(1);\n const mask = wildcard ^ allOnes;\n const bits = common.prefixLengthFromMask(mask, constants.BITS);\n return new Address4(`${address}/${bits}`);\n }\n\n /**\n * Construct an `Address4` from a wildcard pattern with trailing `*`\n * octets. The number of trailing wildcards determines the prefix\n * length: each `*` represents 8 bits.\n *\n * Only trailing whole-octet wildcards are supported. Partial-octet\n * wildcards (e.g. `192.168.0.1*`) and interior wildcards (e.g.\n * `192.*.0.1`) throw `AddressError`.\n * @example\n * Address4.fromWildcard('192.168.0.*').subnet; // '/24'\n * Address4.fromWildcard('192.168.*.*').subnet; // '/16'\n * Address4.fromWildcard('*.*.*.*').subnet; // '/0'\n */\n static fromWildcard(input: string): Address4 {\n const groups = input.split('.');\n\n if (groups.length !== constants.GROUPS) {\n throw new AddressError('Wildcard pattern must have 4 octets');\n }\n\n let firstWildcard = -1;\n\n for (let i = 0; i < groups.length; i++) {\n if (groups[i] === '*') {\n if (firstWildcard === -1) {\n firstWildcard = i;\n }\n } else if (firstWildcard !== -1) {\n throw new AddressError(\n 'Wildcard `*` must only appear in trailing octets (e.g. `192.168.0.*`)',\n );\n }\n }\n\n const trailing = firstWildcard === -1 ? 0 : groups.length - firstWildcard;\n const replaced = groups.map((g) => (g === '*' ? '0' : g));\n const subnetBits = constants.BITS - trailing * 8;\n\n return new Address4(`${replaced.join('.')}/${subnetBits}`);\n }\n\n /**\n * Converts a hex string to an IPv4 address object. Accepts 8 hex digits\n * with optional `:` separators (e.g. `'7f000001'` or `'7f:00:00:01'`).\n * Throws `AddressError` for any other length or for non-hex characters.\n * @param {string} hex - a hex string to convert\n * @returns {Address4}\n */\n static fromHex(hex: string): Address4 {\n const stripped = hex.replace(/:/g, '');\n\n if (!/^[0-9a-fA-F]{8}$/.test(stripped)) {\n throw new AddressError('IPv4 hex must be exactly 8 hex digits');\n }\n\n const groups = [];\n\n for (let i = 0; i < 8; i += 2) {\n groups.push(parseInt(stripped.slice(i, i + 2), 16));\n }\n\n return new Address4(groups.join('.'));\n }\n\n /**\n * Converts an integer into a IPv4 address object. The integer must be a\n * non-negative safe integer in the range `[0, 2**32 - 1]`; otherwise\n * `AddressError` is thrown.\n * @param {integer} integer - a number to convert\n * @returns {Address4}\n */\n static fromInteger(integer: number): Address4 {\n if (!Number.isInteger(integer) || integer < 0 || integer > 0xffffffff) {\n throw new AddressError('IPv4 integer must be in the range 0 to 2**32 - 1');\n }\n\n return Address4.fromHex(integer.toString(16).padStart(8, '0'));\n }\n\n /**\n * Return an address from in-addr.arpa form\n * @param {string} arpaFormAddress - an 'in-addr.arpa' form ipv4 address\n * @returns {Adress4}\n * @example\n * var address = Address4.fromArpa(42.2.0.192.in-addr.arpa.)\n * address.correctForm(); // '192.0.2.42'\n */\n static fromArpa(arpaFormAddress: string): Address4 {\n // remove ending \".in-addr.arpa.\" or just \".\"\n const leader = arpaFormAddress.replace(/(\\.in-addr\\.arpa)?\\.$/, '');\n\n const address = leader.split('.').reverse().join('.');\n\n return new Address4(address);\n }\n\n /**\n * Converts an IPv4 address object to a hex string\n * @returns {String}\n */\n toHex(): string {\n return this.parsedAddress.map((part) => common.stringToPaddedHex(part)).join(':');\n }\n\n /**\n * Converts an IPv4 address object to an array of bytes.\n *\n * To get a Node.js `Buffer`, wrap the result: `Buffer.from(address.toArray())`.\n * @returns {Array}\n */\n toArray(): number[] {\n return this.parsedAddress.map((part) => parseInt(part, 10));\n }\n\n /**\n * Converts an IPv4 address object to an IPv6 address group\n * @returns {String}\n */\n toGroup6(): string {\n const output = [];\n let i;\n\n for (i = 0; i < constants.GROUPS; i += 2) {\n output.push(\n `${common.stringToPaddedHex(this.parsedAddress[i])}${common.stringToPaddedHex(\n this.parsedAddress[i + 1],\n )}`,\n );\n }\n\n return output.join(':');\n }\n\n /**\n * Returns the address as a `bigint`\n * @returns {bigint}\n */\n bigInt(): bigint {\n return BigInt(`0x${this.parsedAddress.map((n) => common.stringToPaddedHex(n)).join('')}`);\n }\n\n /**\n * Helper function getting start address.\n * @returns {bigint}\n */\n _startAddress(): bigint {\n return BigInt(`0b${this.mask() + '0'.repeat(constants.BITS - this.subnetMask)}`);\n }\n\n /**\n * The first address in the range given by this address' subnet.\n * Often referred to as the Network Address.\n * @returns {Address4}\n */\n startAddress(): Address4 {\n return Address4.fromBigInt(this._startAddress());\n }\n\n /**\n * The first host address in the range given by this address's subnet ie\n * the first address after the Network Address\n * @returns {Address4}\n */\n startAddressExclusive(): Address4 {\n const adjust = BigInt('1');\n return Address4.fromBigInt(this._startAddress() + adjust);\n }\n\n /**\n * Helper function getting end address.\n * @returns {bigint}\n */\n _endAddress(): bigint {\n return BigInt(`0b${this.mask() + '1'.repeat(constants.BITS - this.subnetMask)}`);\n }\n\n /**\n * The last address in the range given by this address' subnet\n * Often referred to as the Broadcast\n * @returns {Address4}\n */\n endAddress(): Address4 {\n return Address4.fromBigInt(this._endAddress());\n }\n\n /**\n * The last host address in the range given by this address's subnet ie\n * the last address prior to the Broadcast Address\n * @returns {Address4}\n */\n endAddressExclusive(): Address4 {\n const adjust = BigInt('1');\n return Address4.fromBigInt(this._endAddress() - adjust);\n }\n\n /**\n * The dotted-decimal form of the subnet mask, e.g. `255.255.240.0` for\n * a `/20`. Returns an `Address4`; call `.correctForm()` for the string.\n * @returns {Address4}\n */\n subnetMaskAddress(): Address4 {\n return Address4.fromBigInt(\n BigInt(`0b${'1'.repeat(this.subnetMask)}${'0'.repeat(constants.BITS - this.subnetMask)}`),\n );\n }\n\n /**\n * The Cisco-style wildcard mask, e.g. `0.0.0.255` for a `/24`. This is\n * the bitwise inverse of `subnetMaskAddress()`. Returns an `Address4`;\n * call `.correctForm()` for the string.\n * @returns {Address4}\n */\n wildcardMask(): Address4 {\n return Address4.fromBigInt(\n BigInt(`0b${'0'.repeat(this.subnetMask)}${'1'.repeat(constants.BITS - this.subnetMask)}`),\n );\n }\n\n /**\n * The network address in CIDR string form, e.g. `192.168.1.0/24` for\n * `192.168.1.5/24`. For an address with no explicit subnet the prefix is\n * `/32`, e.g. `networkForm()` on `192.168.1.5` returns `192.168.1.5/32`.\n * @returns {string}\n */\n networkForm(): string {\n return `${this.startAddress().correctForm()}/${this.subnetMask}`;\n }\n\n /**\n * Converts a BigInt to a v4 address object. The value must be in the\n * range `[0, 2**32 - 1]`; otherwise `AddressError` is thrown.\n * @param {bigint} bigInt - a BigInt to convert\n * @returns {Address4}\n */\n static fromBigInt(bigInt: bigint): Address4 {\n if (bigInt < BigInt(0) || bigInt > BigInt(0xffffffff)) {\n throw new AddressError('IPv4 BigInt must be in the range 0 to 2**32 - 1');\n }\n\n return Address4.fromHex(bigInt.toString(16).padStart(8, '0'));\n }\n\n /**\n * Convert a byte array to an Address4 object.\n *\n * To convert from a Node.js `Buffer`, spread it: `Address4.fromByteArray([...buf])`.\n * @param {Array<number>} bytes - an array of 4 bytes (0-255)\n * @returns {Address4}\n */\n static fromByteArray(bytes: Array<number>): Address4 {\n common.assertByteArray(bytes, 4, 'IPv4', 0);\n\n return this.fromUnsignedByteArray(bytes);\n }\n\n /**\n * Convert an unsigned byte array to an Address4 object\n * @param {Array<number>} bytes - an array of 4 unsigned bytes (0-255)\n * @returns {Address4}\n */\n static fromUnsignedByteArray(bytes: Array<number>): Address4 {\n if (bytes.length !== 4) {\n throw new AddressError('IPv4 addresses require exactly 4 bytes');\n }\n\n const address = bytes.join('.');\n return new Address4(address);\n }\n\n /**\n * Returns the first n bits of the address, defaulting to the\n * subnet mask\n * @returns {String}\n */\n mask(mask?: number): string {\n if (mask === undefined) {\n mask = this.subnetMask;\n }\n\n return this.getBitsBase2(0, mask);\n }\n\n /**\n * Returns the bits in the given range as a base-2 string\n * @returns {string}\n */\n getBitsBase2(start: number, end: number): string {\n return this.binaryZeroPad().slice(start, end);\n }\n\n /**\n * Return the reversed ip6.arpa form of the address\n * @param {Object} options\n * @param {boolean} options.omitSuffix - omit the \"in-addr.arpa\" suffix\n * @returns {String}\n */\n reverseForm(options?: common.ReverseFormOptions): string {\n if (!options) {\n options = {};\n }\n\n const reversed = this.correctForm().split('.').reverse().join('.');\n\n if (options.omitSuffix) {\n return reversed;\n }\n\n return `${reversed}.in-addr.arpa.`;\n }\n\n /**\n * Returns true if the given address is in the subnet of the current address\n * @returns {boolean}\n */\n isInSubnet = common.isInSubnet;\n\n /**\n * Returns true if this address's host bits fall inside the given subnet,\n * ignoring this address's own subnet mask. See\n * {@link common.isHostInSubnet}.\n * @returns {boolean}\n */\n isHostInSubnet = common.isHostInSubnet;\n\n /**\n * Returns true if the given address is a multicast address\n * @returns {boolean}\n */\n isMulticast(): boolean {\n return this.isHostInSubnet(MULTICAST_V4);\n }\n\n /**\n * Returns true if the address is in one of the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address ranges (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`).\n * @returns {boolean}\n */\n isPrivate(): boolean {\n return PRIVATE_V4.some((subnet) => this.isHostInSubnet(subnet));\n }\n\n /**\n * Returns true if the address is in the loopback range `127.0.0.0/8` ([RFC 1122](https://datatracker.ietf.org/doc/html/rfc1122)).\n * @returns {boolean}\n */\n isLoopback(): boolean {\n return this.isHostInSubnet(LOOPBACK_V4);\n }\n\n /**\n * Returns true if the address is in the link-local range `169.254.0.0/16` ([RFC 3927](https://datatracker.ietf.org/doc/html/rfc3927)).\n * @returns {boolean}\n */\n isLinkLocal(): boolean {\n return this.isHostInSubnet(LINK_LOCAL_V4);\n }\n\n /**\n * Returns true if the address is the unspecified address `0.0.0.0`.\n * @returns {boolean}\n */\n isUnspecified(): boolean {\n return this.isHostInSubnet(UNSPECIFIED_V4);\n }\n\n /**\n * Returns true if the address is the limited broadcast address `255.255.255.255` ([RFC 919](https://datatracker.ietf.org/doc/html/rfc919)).\n * @returns {boolean}\n */\n isBroadcast(): boolean {\n return this.isHostInSubnet(BROADCAST_V4);\n }\n\n /**\n * Returns true if the address is in the carrier-grade NAT range `100.64.0.0/10` ([RFC 6598](https://datatracker.ietf.org/doc/html/rfc6598)).\n * @returns {boolean}\n */\n isCGNAT(): boolean {\n return this.isHostInSubnet(CGNAT_V4);\n }\n\n /**\n * Returns a zero-padded base-2 string representation of the address\n * @returns {string}\n */\n binaryZeroPad(): string {\n if (this._binaryZeroPad === undefined) {\n this._binaryZeroPad = this.bigInt().toString(2).padStart(constants.BITS, '0');\n }\n return this._binaryZeroPad;\n }\n\n /**\n * Groups an IPv4 address for inclusion at the end of an IPv6 address\n * @returns {String}\n */\n groupForV6(): string {\n const segments = this.parsedAddress;\n\n return this.correctForm().replace(\n constants.RE_ADDRESS,\n `<span class=\"hover-group group-v4 group-6\">${segments\n .slice(0, 2)\n .join('.')}</span>.<span class=\"hover-group group-v4 group-7\">${segments\n .slice(2, 4)\n .join('.')}</span>`,\n );\n }\n}\n\nconst MULTICAST_V4 = new Address4('224.0.0.0/4');\nconst PRIVATE_V4 = [\n new Address4('10.0.0.0/8'),\n new Address4('172.16.0.0/12'),\n new Address4('192.168.0.0/16'),\n];\nconst LOOPBACK_V4 = new Address4('127.0.0.0/8');\nconst LINK_LOCAL_V4 = new Address4('169.254.0.0/16');\nconst UNSPECIFIED_V4 = new Address4('0.0.0.0/32');\nconst BROADCAST_V4 = new Address4('255.255.255.255/32');\nconst CGNAT_V4 = new Address4('100.64.0.0/10');\n"]}
@@ -368,17 +368,24 @@ export declare class Address6 {
368
368
  /**
369
369
  * Convert a byte array to an Address6 object.
370
370
  *
371
+ * Accepts unsigned bytes (0 to 255) or signed bytes (-128 to 127, as an
372
+ * `Int8Array` or a Java `byte[]` holds them), folding signed values to their
373
+ * unsigned equivalent. Throws `AddressError` unless given exactly 16
374
+ * integers from -128 to 255.
375
+ *
371
376
  * To convert from a Node.js `Buffer`, spread it: `Address6.fromByteArray([...buf])`.
372
377
  * @returns {Address6}
373
378
  */
374
- static fromByteArray(bytes: Array<any>): Address6;
379
+ static fromByteArray(bytes: Array<number>): Address6;
375
380
  /**
376
381
  * Convert an unsigned byte array to an Address6 object.
377
382
  *
383
+ * Throws `AddressError` unless given exactly 16 integers from 0 to 255.
384
+ *
378
385
  * To convert from a Node.js `Buffer`, spread it: `Address6.fromUnsignedByteArray([...buf])`.
379
386
  * @returns {Address6}
380
387
  */
381
- static fromUnsignedByteArray(bytes: Array<any>): Address6;
388
+ static fromUnsignedByteArray(bytes: Array<number>): Address6;
382
389
  /**
383
390
  * Returns true if the given address is in the subnet of the current address
384
391
  * @returns {boolean}
@@ -73,7 +73,6 @@ function paddedHex(octet) {
73
73
  return parseInt(octet, 16).toString(16).padStart(4, '0');
74
74
  }
75
75
  function unsignByte(b) {
76
- // eslint-disable-next-line no-bitwise
77
76
  return b & 0xff;
78
77
  }
79
78
  /**
@@ -155,7 +154,7 @@ class Address6 {
155
154
  new Address6(address);
156
155
  return true;
157
156
  }
158
- catch (e) {
157
+ catch {
159
158
  return false;
160
159
  }
161
160
  }
@@ -170,7 +169,7 @@ class Address6 {
170
169
  * address.correctForm(); // '::e8:d4a5:1000'
171
170
  */
172
171
  static fromBigInt(bigInt) {
173
- if (bigInt < 0n || bigInt > (1n << BigInt(constants6.BITS)) - 1n) {
172
+ if (bigInt < BigInt(0) || bigInt > (BigInt(1) << BigInt(constants6.BITS)) - BigInt(1)) {
174
173
  throw new address_error_1.AddressError('IPv6 BigInt must be in the range 0 to 2**128 - 1');
175
174
  }
176
175
  const hex = bigInt.toString(16).padStart(32, '0');
@@ -191,6 +190,7 @@ class Address6 {
191
190
  * addressAndPort.port; // 8080
192
191
  */
193
192
  static fromURL(url) {
193
+ var _a;
194
194
  let host;
195
195
  let port = null;
196
196
  let result;
@@ -218,7 +218,7 @@ class Address6 {
218
218
  port: null,
219
219
  };
220
220
  }
221
- host = result[1] ?? result[2];
221
+ host = (_a = result[1]) !== null && _a !== void 0 ? _a : result[2];
222
222
  }
223
223
  // If there's a port convert it to an integer
224
224
  if (port) {
@@ -262,7 +262,6 @@ class Address6 {
262
262
  static fromAddressAndWildcardMask(address, wildcardMask) {
263
263
  const wildcard = new Address6(wildcardMask).bigInt();
264
264
  const allOnes = (BigInt(1) << BigInt(constants6.BITS)) - BigInt(1);
265
- // eslint-disable-next-line no-bitwise
266
265
  const mask = wildcard ^ allOnes;
267
266
  const bits = common.prefixLengthFromMask(mask, constants6.BITS);
268
267
  return new Address6(`${address}/${bits}`);
@@ -644,7 +643,8 @@ class Address6 {
644
643
  // message with the offending octet highlighted, rather than falling
645
644
  // through as an unrecognized group.
646
645
  const v4Octets = lastGroup.split('.');
647
- if (v4Octets.length === constants4.GROUPS && v4Octets.every((octet) => /^\d{1,3}$/.test(octet))) {
646
+ if (v4Octets.length === constants4.GROUPS &&
647
+ v4Octets.every((octet) => /^\d{1,3}$/.test(octet))) {
648
648
  if (v4Octets.some((octet) => /^0\d/.test(octet))) {
649
649
  // The prefix groups haven't been through the bad-character check
650
650
  // yet, so escape them before including in the error HTML.
@@ -756,7 +756,9 @@ class Address6 {
756
756
  */
757
757
  to4() {
758
758
  const binary = this.binaryZeroPad().split('');
759
- const hex = BigInt(`0b${binary.slice(96, 128).join('')}`).toString(16).padStart(8, '0');
759
+ const hex = BigInt(`0b${binary.slice(96, 128).join('')}`)
760
+ .toString(16)
761
+ .padStart(8, '0');
760
762
  if (this.subnetMask >= 96) {
761
763
  const v4Mask = this.subnetMask - 96;
762
764
  const groups = [];
@@ -811,11 +813,9 @@ class Address6 {
811
813
  */
812
814
  const prefix = this.getBitsBase16(0, 32);
813
815
  const bitsForUdpPort = this.getBits(80, 96);
814
- // eslint-disable-next-line no-bitwise
815
816
  const udpPort = (bitsForUdpPort ^ BigInt('0xffff')).toString();
816
817
  const server4 = ipv4_1.Address4.fromHex(this.getBitsBase16(32, 64));
817
818
  const bitsForClient4 = this.getBits(96, 128);
818
- // eslint-disable-next-line no-bitwise
819
819
  const client4 = ipv4_1.Address4.fromHex((bitsForClient4 ^ BigInt('0xffffffff')).toString(16).padStart(8, '0'));
820
820
  const flagsBase2 = this.getBitsBase2(64, 80);
821
821
  const coneNat = (0, common_1.testBit)(flagsBase2, 15);
@@ -897,12 +897,14 @@ class Address6 {
897
897
  }
898
898
  else {
899
899
  const beforeU = 64 - pl;
900
- bits =
901
- prefixBits.slice(0, pl) +
902
- v4Bits.slice(0, beforeU) +
903
- '00000000' +
904
- v4Bits.slice(beforeU) +
905
- '0'.repeat(128 - 72 - (32 - beforeU));
900
+ bits = [
901
+ prefixBits.slice(0, pl),
902
+ v4Bits.slice(0, beforeU),
903
+ // Bits 64 to 71 are the reserved u octet and are always zero.
904
+ '00000000',
905
+ v4Bits.slice(beforeU),
906
+ '0'.repeat(128 - 72 - (32 - beforeU)),
907
+ ].join('');
906
908
  }
907
909
  const hex = BigInt(`0b${bits}`).toString(16).padStart(32, '0');
908
910
  const groups = [];
@@ -950,7 +952,9 @@ class Address6 {
950
952
  * @returns {Array}
951
953
  */
952
954
  toByteArray() {
953
- const value = this.bigInt().toString(16).padStart(constants6.BITS / 4, '0');
955
+ const value = this.bigInt()
956
+ .toString(16)
957
+ .padStart(constants6.BITS / 4, '0');
954
958
  const bytes = [];
955
959
  for (let i = 0, length = value.length; i < length; i += 2) {
956
960
  bytes.push(parseInt(value.substring(i, i + 2), 16));
@@ -964,24 +968,39 @@ class Address6 {
964
968
  * @returns {Array}
965
969
  */
966
970
  toUnsignedByteArray() {
971
+ // toByteArray() emits 0 to 255, so unsigning it is an identity mapping and
972
+ // the two methods return equal arrays. 11.0.0 keeps one of them and makes
973
+ // this a deprecated alias; test/common-test.ts fails at that version.
967
974
  return this.toByteArray().map(unsignByte);
968
975
  }
969
976
  /**
970
977
  * Convert a byte array to an Address6 object.
971
978
  *
979
+ * Accepts unsigned bytes (0 to 255) or signed bytes (-128 to 127, as an
980
+ * `Int8Array` or a Java `byte[]` holds them), folding signed values to their
981
+ * unsigned equivalent. Throws `AddressError` unless given exactly 16
982
+ * integers from -128 to 255.
983
+ *
972
984
  * To convert from a Node.js `Buffer`, spread it: `Address6.fromByteArray([...buf])`.
973
985
  * @returns {Address6}
974
986
  */
975
987
  static fromByteArray(bytes) {
988
+ // Address4.fromByteArray takes unsigned bytes only. 11.0.0 aligns this
989
+ // method with it, at which point the -128 floor here, unsignByte, and the
990
+ // mapping below all go; test/common-test.ts fails at that version.
991
+ common.assertByteArray(bytes, 16, 'IPv6', -128);
976
992
  return this.fromUnsignedByteArray(bytes.map(unsignByte));
977
993
  }
978
994
  /**
979
995
  * Convert an unsigned byte array to an Address6 object.
980
996
  *
997
+ * Throws `AddressError` unless given exactly 16 integers from 0 to 255.
998
+ *
981
999
  * To convert from a Node.js `Buffer`, spread it: `Address6.fromUnsignedByteArray([...buf])`.
982
1000
  * @returns {Address6}
983
1001
  */
984
1002
  static fromUnsignedByteArray(bytes) {
1003
+ common.assertByteArray(bytes, 16, 'IPv6', 0);
985
1004
  const BYTE_MAX = BigInt('256');
986
1005
  let result = BigInt('0');
987
1006
  let multiplier = BigInt('1');