@envin/cli 1.1.9 → 1.1.11

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 (234) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cli/index.mjs +21 -30
  3. package/dist/preview/.next/BUILD_ID +1 -1
  4. package/dist/preview/.next/app-path-routes-manifest.json +1 -0
  5. package/dist/preview/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
  6. package/dist/preview/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
  7. package/dist/preview/.next/build/chunks/[root-of-the-server]__b9a30b01._.js +233 -0
  8. package/dist/preview/.next/build/chunks/[root-of-the-server]__b9a30b01._.js.map +8 -0
  9. package/dist/preview/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
  10. package/dist/preview/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
  11. package/dist/preview/.next/build/chunks/[root-of-the-server]__e1331f3c._.js +500 -0
  12. package/dist/preview/.next/build/chunks/[root-of-the-server]__e1331f3c._.js.map +11 -0
  13. package/dist/preview/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_f8ac0875._.js +13 -0
  14. package/dist/preview/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_f8ac0875._.js.map +5 -0
  15. package/dist/preview/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
  16. package/dist/preview/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
  17. package/dist/preview/.next/build/chunks/[turbopack]_runtime.js +770 -0
  18. package/dist/preview/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
  19. package/dist/preview/.next/build/chunks/node_modules_fe693df6._.js +6758 -0
  20. package/dist/preview/.next/build/chunks/node_modules_fe693df6._.js.map +47 -0
  21. package/dist/preview/.next/build/package.json +1 -0
  22. package/dist/preview/.next/build/postcss.js +6 -0
  23. package/dist/preview/.next/build/postcss.js.map +5 -0
  24. package/dist/preview/.next/build/webpack-loaders.js +6 -0
  25. package/dist/preview/.next/build/webpack-loaders.js.map +5 -0
  26. package/dist/preview/.next/build-manifest.json +13 -26
  27. package/dist/preview/.next/diagnostics/build-diagnostics.json +1 -1
  28. package/dist/preview/.next/diagnostics/framework.json +1 -1
  29. package/dist/preview/.next/fallback-build-manifest.json +12 -0
  30. package/dist/preview/.next/images-manifest.json +12 -3
  31. package/dist/preview/.next/next-minimal-server.js.nft.json +1 -1
  32. package/dist/preview/.next/next-server.js.nft.json +1 -1
  33. package/dist/preview/.next/prerender-manifest.json +56 -4
  34. package/dist/preview/.next/required-server-files.json +69 -68
  35. package/dist/preview/.next/routes-manifest.json +14 -5
  36. package/dist/preview/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  37. package/dist/preview/.next/server/app/_global-error/page/build-manifest.json +17 -0
  38. package/dist/preview/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  39. package/dist/preview/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  40. package/dist/preview/.next/server/app/_global-error/page.js +11 -0
  41. package/dist/preview/.next/server/app/_global-error/page.js.map +5 -0
  42. package/dist/preview/.next/server/app/_global-error/page.js.nft.json +1 -0
  43. package/dist/preview/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  44. package/dist/preview/.next/server/app/_global-error.html +2 -0
  45. package/dist/preview/.next/server/app/_global-error.meta +15 -0
  46. package/dist/preview/.next/server/app/_global-error.rsc +13 -0
  47. package/dist/preview/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  48. package/dist/preview/.next/server/app/_global-error.segments/_full.segment.rsc +13 -0
  49. package/dist/preview/.next/server/app/_global-error.segments/_head.segment.rsc +8 -0
  50. package/dist/preview/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  51. package/dist/preview/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  52. package/dist/preview/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  53. package/dist/preview/.next/server/app/_not-found/page/build-manifest.json +17 -0
  54. package/dist/preview/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  55. package/dist/preview/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  56. package/dist/preview/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  57. package/dist/preview/.next/server/app/_not-found/page.js +14 -2
  58. package/dist/preview/.next/server/app/_not-found/page.js.map +5 -0
  59. package/dist/preview/.next/server/app/_not-found/page.js.nft.json +1 -1
  60. package/dist/preview/.next/server/app/_not-found/page_client-reference-manifest.js +2 -1
  61. package/dist/preview/.next/server/app/_not-found.html +1 -1
  62. package/dist/preview/.next/server/app/_not-found.meta +9 -1
  63. package/dist/preview/.next/server/app/_not-found.rsc +13 -17
  64. package/dist/preview/.next/server/app/_not-found.segments/_full.segment.rsc +14 -0
  65. package/dist/preview/.next/server/app/_not-found.segments/_head.segment.rsc +8 -0
  66. package/dist/preview/.next/server/app/_not-found.segments/_index.segment.rsc +5 -0
  67. package/dist/preview/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  68. package/dist/preview/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  69. package/dist/preview/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  70. package/dist/preview/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  71. package/dist/preview/.next/server/app/favicon.ico/route/build-manifest.json +11 -0
  72. package/dist/preview/.next/server/app/favicon.ico/route.js +6 -1
  73. package/dist/preview/.next/server/app/favicon.ico/route.js.map +5 -0
  74. package/dist/preview/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  75. package/dist/preview/.next/server/app/page/app-paths-manifest.json +3 -0
  76. package/dist/preview/.next/server/app/page/build-manifest.json +17 -0
  77. package/dist/preview/.next/server/app/page/next-font-manifest.json +11 -0
  78. package/dist/preview/.next/server/app/page/react-loadable-manifest.json +1 -0
  79. package/dist/preview/.next/server/app/page/server-reference-manifest.json +65 -0
  80. package/dist/preview/.next/server/app/page.js +17 -133
  81. package/dist/preview/.next/server/app/page.js.map +5 -0
  82. package/dist/preview/.next/server/app/page.js.nft.json +1 -1
  83. package/dist/preview/.next/server/app/page_client-reference-manifest.js +2 -1
  84. package/dist/preview/.next/server/app-paths-manifest.json +1 -0
  85. package/dist/preview/.next/server/chunks/[root-of-the-server]__838f166b._.js +21 -0
  86. package/dist/preview/.next/server/chunks/[root-of-the-server]__838f166b._.js.map +1 -0
  87. package/dist/preview/.next/server/chunks/[root-of-the-server]__a6d89067._.js +3 -0
  88. package/dist/preview/.next/server/chunks/[root-of-the-server]__a6d89067._.js.map +1 -0
  89. package/dist/preview/.next/server/chunks/[turbopack]_runtime.js +770 -0
  90. package/dist/preview/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  91. package/dist/preview/.next/server/chunks/packages_cli__next-internal_server_app_favicon_ico_route_actions_16935a63.js +3 -0
  92. package/dist/preview/.next/server/chunks/packages_cli__next-internal_server_app_favicon_ico_route_actions_16935a63.js.map +1 -0
  93. package/dist/preview/.next/server/chunks/ssr/[externals]_node:readline_e1ac3fd6._.js +3 -0
  94. package/dist/preview/.next/server/chunks/ssr/[externals]_node:readline_e1ac3fd6._.js.map +1 -0
  95. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__02434b4b._.js +3 -0
  96. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__02434b4b._.js.map +1 -0
  97. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__10e1b9ab._.js +3 -0
  98. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__10e1b9ab._.js.map +1 -0
  99. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__302f9ef2._.js +3 -0
  100. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__302f9ef2._.js.map +1 -0
  101. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__3aaf07ce._.js +29 -0
  102. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__3aaf07ce._.js.map +1 -0
  103. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__568fcbd4._.js +3 -0
  104. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__568fcbd4._.js.map +1 -0
  105. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__6583c525._.js +3 -0
  106. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__6583c525._.js.map +1 -0
  107. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__9f74f2d1._.js +3 -0
  108. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__9f74f2d1._.js.map +1 -0
  109. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__a457c799._.js +3 -0
  110. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__a457c799._.js.map +1 -0
  111. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__b9356576._.js +4 -0
  112. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__b9356576._.js.map +1 -0
  113. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e2e728e5._.js +3 -0
  114. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e2e728e5._.js.map +1 -0
  115. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e3d1c002._.js +55 -0
  116. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e3d1c002._.js.map +1 -0
  117. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e874a6e0._.js +3 -0
  118. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__e874a6e0._.js.map +1 -0
  119. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__ff7d2fa8._.js +3 -0
  120. package/dist/preview/.next/server/chunks/ssr/[root-of-the-server]__ff7d2fa8._.js.map +1 -0
  121. package/dist/preview/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
  122. package/dist/preview/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  123. package/dist/preview/.next/server/chunks/ssr/_5c101821._.js +4 -0
  124. package/dist/preview/.next/server/chunks/ssr/_5c101821._.js.map +1 -0
  125. package/dist/preview/.next/server/chunks/ssr/_73703b11._.js +3 -0
  126. package/dist/preview/.next/server/chunks/ssr/_73703b11._.js.map +1 -0
  127. package/dist/preview/.next/server/chunks/ssr/node_modules_423e7141._.js +6 -0
  128. package/dist/preview/.next/server/chunks/ssr/node_modules_423e7141._.js.map +1 -0
  129. package/dist/preview/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_11acbe8c._.js +47 -0
  130. package/dist/preview/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_11acbe8c._.js.map +1 -0
  131. package/dist/preview/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_bd2521b0._.js +47 -0
  132. package/dist/preview/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_bd2521b0._.js.map +1 -0
  133. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_43356b1f._.js +4 -0
  134. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_43356b1f._.js.map +1 -0
  135. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_982e7503._.js +3 -0
  136. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_982e7503._.js.map +1 -0
  137. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +3 -0
  138. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js.map +1 -0
  139. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +3 -0
  140. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js.map +1 -0
  141. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +3 -0
  142. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js.map +1 -0
  143. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js +3 -0
  144. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js.map +1 -0
  145. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_esm_3fe9760a._.js +6 -0
  146. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_esm_3fe9760a._.js.map +1 -0
  147. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_368abded.js +4 -0
  148. package/dist/preview/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_368abded.js.map +1 -0
  149. package/dist/preview/.next/server/chunks/ssr/packages_cli__next-internal_server_app__global-error_page_actions_58b3e447.js +3 -0
  150. package/dist/preview/.next/server/chunks/ssr/packages_cli__next-internal_server_app__global-error_page_actions_58b3e447.js.map +1 -0
  151. package/dist/preview/.next/server/chunks/ssr/packages_cli__next-internal_server_app__not-found_page_actions_9e2ea381.js +3 -0
  152. package/dist/preview/.next/server/chunks/ssr/packages_cli__next-internal_server_app__not-found_page_actions_9e2ea381.js.map +1 -0
  153. package/dist/preview/.next/server/chunks/ssr/packages_cli_src_app_9ef401ea._.js +3 -0
  154. package/dist/preview/.next/server/chunks/ssr/packages_cli_src_app_9ef401ea._.js.map +1 -0
  155. package/dist/preview/.next/server/middleware-build-manifest.js +21 -1
  156. package/dist/preview/.next/server/middleware-manifest.json +2 -2
  157. package/dist/preview/.next/server/next-font-manifest.js +1 -1
  158. package/dist/preview/.next/server/next-font-manifest.json +15 -1
  159. package/dist/preview/.next/server/pages/404.html +1 -1
  160. package/dist/preview/.next/server/pages/500.html +2 -1
  161. package/dist/preview/.next/server/pages-manifest.json +2 -4
  162. package/dist/preview/.next/server/server-reference-manifest.js +1 -1
  163. package/dist/preview/.next/server/server-reference-manifest.json +66 -1
  164. package/dist/preview/.next/static/chunks/17cd0f75d9eb7ad0.js +26 -0
  165. package/dist/preview/.next/static/chunks/30d1403f7c74b0a8.css +3 -0
  166. package/dist/preview/.next/static/chunks/73ff44ecd0b4dad4.js +4 -0
  167. package/dist/preview/.next/static/chunks/82d7580f2e728405.js +1 -0
  168. package/dist/preview/.next/static/chunks/bd4ab1517efdc1c3.js +1 -0
  169. package/dist/preview/.next/static/chunks/cbd55ab9639e1e66.js +1 -0
  170. package/dist/preview/.next/static/chunks/edda14529ded6063.js +2 -0
  171. package/dist/preview/.next/static/chunks/turbopack-3a0f146c672debbd.js +3 -0
  172. package/dist/preview/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  173. package/dist/preview/.next/static/media/favicon.5e7f5916.ico +0 -0
  174. package/dist/preview/.next/static/uJflanlbvalEUDtpddOXj/_buildManifest.js +11 -0
  175. package/dist/preview/.next/static/uJflanlbvalEUDtpddOXj/_clientMiddlewareManifest.json +1 -0
  176. package/dist/preview/.next/trace +1 -19
  177. package/dist/preview/.next/trace-build +1 -0
  178. package/dist/preview/.next/turbopack +0 -0
  179. package/dist/preview/.next/types/routes.d.ts +57 -0
  180. package/dist/preview/.next/types/validator.ts +61 -0
  181. package/next-env.d.ts +1 -0
  182. package/next.config.js +1 -16
  183. package/package.json +22 -31
  184. package/src/app/layout.tsx +1 -0
  185. package/src/components/ui/accordion.tsx +1 -1
  186. package/src/components/ui/form.tsx +1 -1
  187. package/src/components/ui/label.tsx +1 -1
  188. package/src/components/ui/scroll-area.tsx +1 -1
  189. package/src/components/ui/select.tsx +1 -1
  190. package/src/components/ui/toggle.tsx +1 -1
  191. package/src/components/ui/tooltip.tsx +1 -1
  192. package/tsconfig.json +8 -2
  193. package/dist/preview/.next/app-build-manifest.json +0 -27
  194. package/dist/preview/.next/server/chunks/155.js +0 -45
  195. package/dist/preview/.next/server/chunks/496.js +0 -6
  196. package/dist/preview/.next/server/chunks/55.js +0 -7
  197. package/dist/preview/.next/server/chunks/569.js +0 -45
  198. package/dist/preview/.next/server/chunks/692.js +0 -45
  199. package/dist/preview/.next/server/chunks/699.js +0 -22
  200. package/dist/preview/.next/server/middleware-react-loadable-manifest.js +0 -1
  201. package/dist/preview/.next/server/pages/_app.js +0 -1
  202. package/dist/preview/.next/server/pages/_app.js.nft.json +0 -1
  203. package/dist/preview/.next/server/pages/_document.js +0 -1
  204. package/dist/preview/.next/server/pages/_document.js.nft.json +0 -1
  205. package/dist/preview/.next/server/pages/_error.js +0 -19
  206. package/dist/preview/.next/server/pages/_error.js.nft.json +0 -1
  207. package/dist/preview/.next/server/webpack-runtime.js +0 -1
  208. package/dist/preview/.next/static/ZvEeNnQCdsowPRhsnLzyQ/_buildManifest.js +0 -1
  209. package/dist/preview/.next/static/chunks/442-41ca9bf0a86c9fdd.js +0 -22
  210. package/dist/preview/.next/static/chunks/87c73c54-1f4741035a95c140.js +0 -1
  211. package/dist/preview/.next/static/chunks/902-a1b735a0b0a65f38.js +0 -1
  212. package/dist/preview/.next/static/chunks/app/_not-found/page-4d317ef7aff02905.js +0 -1
  213. package/dist/preview/.next/static/chunks/app/layout-e5f42c1da65f0b8c.js +0 -1
  214. package/dist/preview/.next/static/chunks/app/page-9a7418754a1a178e.js +0 -1
  215. package/dist/preview/.next/static/chunks/framework-c638b7ce6a6487b4.js +0 -1
  216. package/dist/preview/.next/static/chunks/main-app-ef4fe5383916541f.js +0 -1
  217. package/dist/preview/.next/static/chunks/main-df3bdf5f1b8063cf.js +0 -1
  218. package/dist/preview/.next/static/chunks/pages/_app-a050a8e6e4fb04cf.js +0 -1
  219. package/dist/preview/.next/static/chunks/pages/_error-3e422ffd891594de.js +0 -1
  220. package/dist/preview/.next/static/chunks/webpack-6fd1f9e039b848f1.js +0 -1
  221. package/dist/preview/.next/static/css/0244da177bae1d09.css +0 -3
  222. package/dist/preview/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  223. package/dist/preview/.next/types/app/layout.ts +0 -84
  224. package/dist/preview/.next/types/app/page.ts +0 -84
  225. package/dist/preview/.next/types/cache-life.d.ts +0 -141
  226. package/dist/preview/.next/types/package.json +0 -1
  227. /package/dist/preview/.next/{react-loadable-manifest.json → server/app/_global-error/page/react-loadable-manifest.json} +0 -0
  228. /package/dist/preview/.next/static/chunks/{polyfills-42372ed130431b0a.js → a6dad97d9634a72d.js} +0 -0
  229. /package/dist/preview/.next/static/media/{9610d9e46709d722-s.woff2 → 4fa387ec64143e14-s.c1fdd6c2.woff2} +0 -0
  230. /package/dist/preview/.next/static/media/{ba015fad6dcf6784-s.woff2 → 7178b3e590c64307-s.b97b3418.woff2} +0 -0
  231. /package/dist/preview/.next/static/media/{93f479601ee12b01-s.p.woff2 → 797e433ab948586e-s.p.dbea232f.woff2} +0 -0
  232. /package/dist/preview/.next/static/media/{8d697b304b401681-s.woff2 → 8a480f0b521d4e75-s.8e0177b5.woff2} +0 -0
  233. /package/dist/preview/.next/static/media/{747892c23ea88013-s.woff2 → bbc41e54d2fcbd21-s.799d8ef8.woff2} +0 -0
  234. /package/dist/preview/.next/static/{ZvEeNnQCdsowPRhsnLzyQ → uJflanlbvalEUDtpddOXj}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../../packages/cli/src/components/filters/index.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/cli/src/components/filters/context.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/cli/src/components/variables/form.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/cli/src/components/variables/preview.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/cli/src/components/variables/context.tsx/__nextjs-internal-proxy.mjs","turbopack:///[project]/node_modules/dotenv/package.json","../../../../../../node_modules/dotenv/lib/main.js","../../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../../node_modules/source-map-js/lib/base64.js","../../../../../../node_modules/source-map-js/lib/base64-vlq.js","../../../../../../node_modules/source-map-js/lib/util.js","../../../../../../node_modules/source-map-js/lib/array-set.js","../../../../../../node_modules/source-map-js/lib/mapping-list.js","../../../../../../node_modules/source-map-js/lib/source-map-generator.js","../../../../../../node_modules/source-map-js/lib/binary-search.js","../../../../../../node_modules/source-map-js/lib/quick-sort.js","../../../../../../node_modules/source-map-js/lib/source-map-consumer.js","../../../../../../node_modules/source-map-js/lib/source-node.js","../../../../../../node_modules/source-map-js/source-map.js","../../../../../../packages/cli/src/components/envin.tsx","../../../../../../packages/cli/src/app/page.tsx","../../../../../../node_modules/zod/v4/core/registries.js","../../../../../../node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","../../../../../../node_modules/consola/dist/core.mjs","../../../../../../node_modules/consola/dist/shared/consola.DRwqZj3T.mjs","../../../../../../node_modules/consola/dist/shared/consola.DXBYu-KD.mjs","../../../../../../packages/core/dist/index.js","../../../../../../node_modules/%40ark/util/out/isomorphic.js","../../../../../../packages/cli/src/components/variables/index.tsx","../../../../../../packages/cli/src/utils/static-node-modules-for-vm.ts","../../../../../../node_modules/valibot/dist/index.js","../../../../../../node_modules/zod/v4/core/doc.js","../../../../../../node_modules/arktype/out/parser/shift/operator/default.js","../../../../../../node_modules/%40ark/util/out/domain.js","../../../../../../node_modules/%40ark/util/out/errors.js","../../../../../../node_modules/%40ark/util/out/lazily.js","../../../../../../node_modules/%40ark/util/out/strings.js","../../../../../../node_modules/%40ark/util/out/primitive.js","../../../../../../node_modules/arktype/out/parser/ast/validate.js","../../../../../../node_modules/arktype/out/parser/reduce/shared.js","../../../../../../node_modules/arktype/out/parser/shift/operator/brand.js","../../../../../../node_modules/zod/v4/core/versions.js","../../../../../../packages/core/dist/presets/zod.js","../../../../../../packages/core/dist/presets/valibot.js","../../../../../../packages/core/dist/presets/arktype.js","../../../../../../node_modules/zod/v4/locales/uk.js","../../../../../../node_modules/zod/v4/locales/ar.js","../../../../../../node_modules/zod/v4/locales/az.js","../../../../../../node_modules/zod/v4/locales/be.js","../../../../../../node_modules/zod/v4/locales/ca.js","../../../../../../node_modules/zod/v4/locales/cs.js","../../../../../../node_modules/zod/v4/locales/da.js","../../../../../../node_modules/zod/v4/locales/de.js","../../../../../../node_modules/zod/v4/locales/es.js","../../../../../../node_modules/zod/v4/locales/fa.js","../../../../../../node_modules/zod/v4/locales/fi.js","../../../../../../node_modules/zod/v4/locales/fr.js","../../../../../../node_modules/zod/v4/locales/fr-CA.js","../../../../../../node_modules/zod/v4/locales/he.js","../../../../../../node_modules/zod/v4/locales/hu.js","../../../../../../node_modules/zod/v4/locales/id.js","../../../../../../node_modules/zod/v4/locales/it.js","../../../../../../node_modules/zod/v4/locales/ja.js","../../../../../../node_modules/zod/v4/locales/km.js","../../../../../../node_modules/zod/v4/locales/mk.js","../../../../../../node_modules/zod/v4/locales/ms.js","../../../../../../node_modules/%40ark/util/out/hkt.js","../../../../../../node_modules/zod/v4/locales/nl.js","../../../../../../node_modules/zod/v4/locales/no.js","../../../../../../node_modules/zod/v4/locales/ota.js","../../../../../../node_modules/zod/v4/locales/ps.js","../../../../../../node_modules/zod/v4/locales/pl.js","../../../../../../node_modules/zod/v4/locales/pt.js","../../../../../../node_modules/zod/v4/locales/ur.js","../../../../../../node_modules/zod/v4/locales/vi.js","../../../../../../node_modules/zod/v4/locales/zh-CN.js","../../../../../../node_modules/zod/v4/locales/zh-TW.js","../../../../../../node_modules/zod/v4/locales/ru.js","../../../../../../node_modules/zod/v4/locales/sl.js","../../../../../../node_modules/zod/v4/locales/yo.js","../../../../../../packages/cli/src/utils/improve-error-with-sourcemap.ts","../../../../../../node_modules/zod/v4/locales/sv.js","../../../../../../node_modules/zod/v4/locales/ta.js","../../../../../../node_modules/zod/v4/locales/ko.js","../../../../../../node_modules/zod/v4/locales/th.js","../../../../../../node_modules/%40ark/schema/out/shared/registry.js","../../../../../../node_modules/%40ark/schema/out/shared/toJsonSchema.js","../../../../../../packages/cli/src/utils/run-bundled-code.ts","../../../../../../node_modules/zod/v4/locales/ka.js","../../../../../../node_modules/arktype/out/parser/shift/scanner.js","../../../../../../node_modules/zod/v4/core/util.js","../../../../../../node_modules/zod/v4/locales/tr.js","../../../../../../node_modules/%40ark/util/out/flatMorph.js","../../../../../../node_modules/%40ark/util/out/generics.js","../../../../../../node_modules/zod/v4/locales/bg.js","../../../../../../node_modules/arktype/out/parser/shift/operator/divisor.js","../../../../../../node_modules/zod/v4/core/regexes.js","../../../../../../node_modules/zod/v4/locales/en.js","../../../../../../node_modules/zod/v4/locales/eo.js","../../../../../../node_modules/arktype/out/keywords/TypedArray.js","../../../../../../node_modules/arktype/out/module.js","../../../../../../node_modules/zod/v4/core/core.js","../../../../../../node_modules/zod/v4/locales/lt.js","../../../../../../node_modules/arktype/out/parser/shift/operand/genericArgs.js","../../../../../../node_modules/%40ark/util/out/scanner.js","../../../../../../node_modules/%40ark/schema/out/shared/utils.js","../../../../../../node_modules/%40ark/schema/out/structure/shared.js","../../../../../../node_modules/arktype/out/parser/shift/operand/date.js","../../../../../../node_modules/zod/v4/locales/is.js","../../../../../../node_modules/%40ark/schema/out/structure/required.js","../../../../../../packages/cli/src/lib/variables/index.ts","../../../../../../node_modules/zod/v4/core/errors.js","../../../../../../node_modules/%40ark/util/out/numbers.js","../../../../../../node_modules/arktype/out/config.js","../../../../../../node_modules/%40ark/util/out/clone.js","../../../../../../node_modules/arktype/out/match.js","../../../../../../node_modules/arktype/out/parser/property.js","../../../../../../node_modules/arktype/out/type.js","../../../../../../node_modules/arktype/out/parser/shift/operand/enclosed.js","../../../../../../node_modules/%40ark/util/out/functions.js","../../../../../../packages/cli/src/cli/utils/logger.ts","../../../../../../node_modules/zod/v4/classic/parse.js","../../../../../../packages/cli/src/app/env.ts","../../../../../../node_modules/%40ark/schema/out/shared/compile.js","../../../../../../node_modules/%40ark/schema/out/shared/errors.js","../../../../../../node_modules/%40ark/schema/out/refinements/range.js","../../../../../../node_modules/%40ark/schema/out/roots/utils.js","../../../../../../node_modules/%40ark/schema/out/roots/basis.js","../../../../../../node_modules/zod/v4/core/to-json-schema.js","../../../../../../node_modules/zod/v4/classic/iso.js","../../../../../../node_modules/%40ark/schema/out/module.js","../../../../../../node_modules/zod/v4/locales/ua.js","../../../../../../node_modules/zod/v4/locales/kh.js","../../../../../../node_modules/%40ark/schema/out/predicate.js","../../../../../../node_modules/%40ark/schema/out/refinements/min.js","../../../../../../node_modules/%40ark/schema/out/refinements/pattern.js","../../../../../../packages/cli/src/utils/get-config-file.ts","../../../../../../packages/cli/src/lib/variables/description.ts","../../../../../../node_modules/%40ark/schema/out/intrinsic.js","../../../../../../node_modules/consola/dist/index.mjs","../../../../../../node_modules/arktype/out/keywords/builtins.js","../../../../../../node_modules/arktype/out/keywords/Array.js","../../../../../../node_modules/arktype/out/keywords/FormData.js","../../../../../../node_modules/zod/v4/classic/errors.js","../../../../../../packages/cli/src/lib/variables/default.ts","../../../../../../node_modules/%40ark/schema/out/config.js","../../../../../../node_modules/%40ark/schema/out/shared/intersections.js","../../../../../../node_modules/zod/v4/core/parse.js","../../../../../../node_modules/arktype/out/parser/shift/operand/operand.js","../../../../../../node_modules/arktype/out/parser/objectLiteral.js","../../../../../../node_modules/arktype/out/parser/tupleLiteral.js","../../../../../../node_modules/%40ark/schema/out/shared/implement.js","../../../../../../node_modules/arktype/out/keywords/ts.js","../../../../../../node_modules/%40ark/schema/out/shared/traversal.js","../../../../../../node_modules/%40ark/schema/out/shared/disjoint.js","../../../../../../node_modules/%40ark/schema/out/generic.js","../../../../../../node_modules/%40ark/schema/out/roots/domain.js","../../../../../../node_modules/%40ark/util/out/traits.js","../../../../../../node_modules/%40ark/schema/out/refinements/after.js","../../../../../../node_modules/%40ark/schema/out/refinements/max.js","../../../../../../node_modules/%40ark/schema/out/refinements/minLength.js","../../../../../../node_modules/%40ark/schema/out/refinements/divisor.js","../../../../../../node_modules/arktype/out/generic.js","../../../../../../node_modules/zod/v4/core/checks.js","../../../../../../node_modules/%40ark/util/out/objectKinds.js","../../../../../../node_modules/arktype/out/parser/tupleExpressions.js","../../../../../../node_modules/arktype/out/parser/shift/operand/unenclosed.js","../../../../../../node_modules/zod/v4/core/api.js","../../../../../../node_modules/%40ark/util/out/serialize.js","../../../../../../node_modules/arktype/out/parser/shift/operator/bounds.js","../../../../../../node_modules/%40ark/util/out/path.js","../../../../../../node_modules/arktype/out/keywords/constructors.js","../../../../../../node_modules/%40ark/schema/out/refinements/before.js","../../../../../../node_modules/%40ark/schema/out/refinements/maxLength.js","../../../../../../node_modules/arktype/out/keywords/string.js","../../../../../../node_modules/arktype/out/parser/shift/operator/operator.js","../../../../../../node_modules/arktype/out/parser/string.js","../../../../../../node_modules/%40ark/schema/out/node.js","../../../../../../node_modules/arktype/out/parser/reduce/dynamic.js","../../../../../../node_modules/zod/v4/classic/schemas.js","../../../../../../node_modules/%40ark/schema/out/roots/unit.js","../../../../../../node_modules/%40ark/schema/out/refinements/exactLength.js","../../../../../../node_modules/%40ark/schema/out/roots/proto.js","../../../../../../node_modules/arktype/out/parser/definition.js","../../../../../../node_modules/arktype/out/keywords/keywords.js","../../../../../../node_modules/%40ark/schema/out/parse.js","../../../../../../node_modules/%40ark/util/out/records.js","../../../../../../node_modules/%40ark/util/out/arrays.js","../../../../../../node_modules/%40ark/schema/out/constraint.js","../../../../../../node_modules/zod/v4/core/schemas.js","../../../../../../node_modules/%40ark/schema/out/refinements/kinds.js","../../../../../../node_modules/%40ark/schema/out/structure/index.js","../../../../../../node_modules/%40ark/schema/out/structure/optional.js","../../../../../../node_modules/%40ark/schema/out/roots/morph.js","../../../../../../node_modules/%40ark/schema/out/roots/intersection.js","../../../../../../node_modules/%40ark/schema/out/structure/prop.js","../../../../../../node_modules/%40ark/util/out/registry.js","../../../../../../node_modules/arktype/out/scope.js","../../../../../../node_modules/arktype/out/keywords/number.js","../../../../../../node_modules/%40ark/schema/out/roots/alias.js","../../../../../../packages/cli/src/lib/types.ts","../../../../../../node_modules/%40ark/schema/out/structure/sequence.js","../../../../../../node_modules/%40ark/schema/out/roots/union.js","../../../../../../node_modules/lucide-react/src/icons/ban.ts","../../../../../../node_modules/%40ark/schema/out/scope.js","../../../../../../node_modules/%40ark/schema/out/roots/root.js","../../../../../../node_modules/%40ark/schema/out/structure/structure.js","../../../../../../packages/cli/src/utils/result.ts","../../../../../../node_modules/%40ark/schema/out/kinds.js"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const Filters = registerClientReference(\n function() { throw new Error(\"Attempted to call Filters() from the server but Filters is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/filters/index.tsx\",\n \"Filters\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const FiltersProvider = registerClientReference(\n function() { throw new Error(\"Attempted to call FiltersProvider() from the server but FiltersProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/filters/context.tsx\",\n \"FiltersProvider\",\n);\nexport const useFilters = registerClientReference(\n function() { throw new Error(\"Attempted to call useFilters() from the server but useFilters is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/filters/context.tsx\",\n \"useFilters\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const Form = registerClientReference(\n function() { throw new Error(\"Attempted to call Form() from the server but Form is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/form.tsx\",\n \"Form\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const FileContent = registerClientReference(\n function() { throw new Error(\"Attempted to call FileContent() from the server but FileContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/preview.tsx\",\n \"FileContent\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const VariablesContext = registerClientReference(\n function() { throw new Error(\"Attempted to call VariablesContext() from the server but VariablesContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/context.tsx\",\n \"VariablesContext\",\n);\nexport const VariablesProvider = registerClientReference(\n function() { throw new Error(\"Attempted to call VariablesProvider() from the server but VariablesProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/context.tsx\",\n \"VariablesProvider\",\n);\nexport const useVariable = registerClientReference(\n function() { throw new Error(\"Attempted to call useVariable() from the server but useVariable is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/context.tsx\",\n \"useVariable\",\n);\nexport const useVariables = registerClientReference(\n function() { throw new Error(\"Attempted to call useVariables() from the server but useVariables is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/cli/src/components/variables/context.tsx\",\n \"useVariables\",\n);\n","{\"name\":\"dotenv\",\"version\":\"16.5.0\",\"description\":\"Loads environment variables from .env file\",\"main\":\"lib/main.js\",\"types\":\"lib/main.d.ts\",\"exports\":{\".\":{\"types\":\"./lib/main.d.ts\",\"require\":\"./lib/main.js\",\"default\":\"./lib/main.js\"},\"./config\":\"./config.js\",\"./config.js\":\"./config.js\",\"./lib/env-options\":\"./lib/env-options.js\",\"./lib/env-options.js\":\"./lib/env-options.js\",\"./lib/cli-options\":\"./lib/cli-options.js\",\"./lib/cli-options.js\":\"./lib/cli-options.js\",\"./package.json\":\"./package.json\"},\"scripts\":{\"dts-check\":\"tsc --project tests/types/tsconfig.json\",\"lint\":\"standard\",\"pretest\":\"npm run lint && npm run dts-check\",\"test\":\"tap run --allow-empty-coverage --disable-coverage --timeout=60000\",\"test:coverage\":\"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov\",\"prerelease\":\"npm test\",\"release\":\"standard-version\"},\"repository\":{\"type\":\"git\",\"url\":\"git://github.com/motdotla/dotenv.git\"},\"homepage\":\"https://github.com/motdotla/dotenv#readme\",\"funding\":\"https://dotenvx.com\",\"keywords\":[\"dotenv\",\"env\",\".env\",\"environment\",\"variables\",\"config\",\"settings\"],\"readmeFilename\":\"README.md\",\"license\":\"BSD-2-Clause\",\"devDependencies\":{\"@types/node\":\"^18.11.3\",\"decache\":\"^4.6.2\",\"sinon\":\"^14.0.1\",\"standard\":\"^17.0.0\",\"standard-version\":\"^9.5.0\",\"tap\":\"^19.2.0\",\"typescript\":\"^4.8.4\"},\"engines\":{\"node\":\">=12\"},\"browser\":{\"fs\":false}}","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n const debug = Boolean(options && options.debug)\n if (debug) {\n _debug('Loading env from encrypted .env.vault')\n }\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n","// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nvar MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n var cache = [];\n\n return function(input) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n var temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n var result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nvar normalize = lruMemoize(function normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n // Split the path into parts between `/` characters. This is much faster than\n // using `.split(/\\/+/g)`.\n var parts = [];\n var start = 0;\n var i = 0;\n while (true) {\n start = i;\n i = path.indexOf(\"/\", start);\n if (i === -1) {\n parts.push(path.slice(start));\n break;\n } else {\n parts.push(path.slice(start, i));\n while (i < path.length && path[i] === \"/\") {\n i++;\n }\n }\n }\n\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n});\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\nfunction compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {\n var cmp\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, {\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n }));\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n if (this._validateMapping(generated, original, source, name) === false) {\n return;\n }\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n var message = 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message);\n }\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n var message = 'Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n });\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message)\n }\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\nfunction SortTemplate(comparator) {\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot, false) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n return doQuickSort;\n}\n\nfunction cloneSort(comparator) {\n let template = SortTemplate.toString();\n let templateFn = new Function(`return ${template}`)();\n return templateFn(comparator);\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\n\nlet sortCache = new WeakMap();\nexports.quickSort = function (ary, comparator, start = 0) {\n let doQuickSort = sortCache.get(comparator);\n if (doQuickSort === void 0) {\n doQuickSort = cloneSort(comparator);\n sortCache.set(comparator, doQuickSort);\n }\n doQuickSort(ary, comparator, start, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n var boundCallback = aCallback.bind(context);\n var names = this._names;\n var sources = this._sources;\n var sourceMapURL = this._sourceMapURL;\n\n for (var i = 0, n = mappings.length; i < n; i++) {\n var mapping = mappings[i];\n var source = mapping.source === null ? null : sources.at(mapping.source);\n if(source !== null) {\n source = util.computeSourceURL(sourceRoot, source, sourceMapURL);\n }\n boundCallback({\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : names.at(mapping.name)\n });\n }\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\n\nconst compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine;\nfunction sortGenerated(array, start) {\n let l = array.length;\n let n = array.length - start;\n if (n <= 1) {\n return;\n } else if (n == 2) {\n let a = array[start];\n let b = array[start + 1];\n if (compareGenerated(a, b) > 0) {\n array[start] = b;\n array[start + 1] = a;\n }\n } else if (n < 20) {\n for (let i = start; i < l; i++) {\n for (let j = i; j > start; j--) {\n let a = array[j - 1];\n let b = array[j];\n if (compareGenerated(a, b) <= 0) {\n break;\n }\n array[j - 1] = b;\n array[j] = a;\n }\n }\n } else {\n quickSort(array, compareGenerated, start);\n }\n}\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n let subarrayStart = 0;\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n\n sortGenerated(generatedMappings, subarrayStart);\n subarrayStart = generatedMappings.length;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n let currentSource = mapping.source;\n while (originalMappings.length <= currentSource) {\n originalMappings.push(null);\n }\n if (originalMappings[currentSource] === null) {\n originalMappings[currentSource] = [];\n }\n originalMappings[currentSource].push(mapping);\n }\n }\n }\n\n sortGenerated(generatedMappings, subarrayStart);\n this.__generatedMappings = generatedMappings;\n\n for (var i = 0; i < originalMappings.length; i++) {\n if (originalMappings[i] != null) {\n quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource);\n }\n }\n this.__originalMappings = [].concat(...originalMappings);\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content || content === '') {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n if(source !== null) {\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n }\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","import { Filters } from \"@/components/filters\";\nimport { FiltersProvider } from \"@/components/filters/context\";\nimport { Variables } from \"@/components/variables\";\nimport { VariablesProvider } from \"@/components/variables/context\";\nimport type { Variables as VariablesType } from \"@/lib/types\";\n\ntype EnvinProps = {\n readonly variables: VariablesType;\n};\n\nexport const Envin = ({ variables }: EnvinProps) => {\n return (\n <FiltersProvider>\n <VariablesProvider variables={variables}>\n <Filters />\n <Variables />\n </VariablesProvider>\n </FiltersProvider>\n );\n};\n","import path from \"node:path\";\nimport { Ban } from \"lucide-react\";\nimport { Envin } from \"@/components/envin\";\nimport { getVariables } from \"@/lib/variables\";\nimport { getConfigFile } from \"@/utils/get-config-file\";\nimport { envDirectoryAbsolutePath } from \"./env\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport const envConfigFilePath = path.join(\n envDirectoryAbsolutePath ?? \"\",\n \"env.config.ts\",\n);\n\nexport default async function Home() {\n const { config, error } = await getConfigFile(envConfigFilePath);\n\n if (!config || error) {\n return (\n <div className=\"flex grow h-full border-destructive border-dashed border-2 rounded-lg flex-col items-center justify-center\">\n <Ban className=\"size-20 mb-6 text-destructive\" />\n {error.name && (\n <code className=\"text-muted-foreground bg-muted py-0.5 px-2.5 rounded-md mb-2\">\n {error.name}\n </code>\n )}\n <span className=\"text-2xl font-medium\">\n There was an error loading the config.\n </span>\n <p className=\"text-muted-foreground\">\n {error?.message ?? \"Please check the config file and try again.\"}\n </p>\n\n {error.stack && (\n <pre className=\"text-muted-foreground bg-muted py-4 px-6 max-w-4xl mt-6 rounded-md overflow-x-auto\">\n {error.stack}\n </pre>\n )}\n </div>\n );\n }\n\n const variables = await getVariables(config);\n\n return <Envin variables={variables} />;\n}\n","var _a;\nexport const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n if (this._idmap.has(meta.id)) {\n throw new Error(`ID ${meta.id} already exists in the registry`);\n }\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n","var UNKNOWN_FUNCTION = '<unknown>';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","const LogLevels = {\n silent: Number.NEGATIVE_INFINITY,\n fatal: 0,\n error: 0,\n warn: 1,\n log: 2,\n info: 3,\n success: 3,\n fail: 3,\n ready: 3,\n start: 3,\n box: 3,\n debug: 4,\n trace: 5,\n verbose: Number.POSITIVE_INFINITY\n};\nconst LogTypes = {\n // Silent\n silent: {\n level: -1\n },\n // Level 0\n fatal: {\n level: LogLevels.fatal\n },\n error: {\n level: LogLevels.error\n },\n // Level 1\n warn: {\n level: LogLevels.warn\n },\n // Level 2\n log: {\n level: LogLevels.log\n },\n // Level 3\n info: {\n level: LogLevels.info\n },\n success: {\n level: LogLevels.success\n },\n fail: {\n level: LogLevels.fail\n },\n ready: {\n level: LogLevels.info\n },\n start: {\n level: LogLevels.info\n },\n box: {\n level: LogLevels.info\n },\n // Level 4\n debug: {\n level: LogLevels.debug\n },\n // Level 5\n trace: {\n level: LogLevels.trace\n },\n // Verbose\n verbose: {\n level: LogLevels.verbose\n }\n};\n\nfunction isPlainObject$1(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject$1(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = Object.assign({}, defaults);\n for (const key in baseObject) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject$1(value) && isPlainObject$1(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\n\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isLogObj(arg) {\n if (!isPlainObject(arg)) {\n return false;\n }\n if (!arg.message && !arg.args) {\n return false;\n }\n if (arg.stack) {\n return false;\n }\n return true;\n}\n\nlet paused = false;\nconst queue = [];\nclass Consola {\n options;\n _lastLog;\n _mockFn;\n /**\n * Creates an instance of Consola with specified options or defaults.\n *\n * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance.\n */\n constructor(options = {}) {\n const types = options.types || LogTypes;\n this.options = defu(\n {\n ...options,\n defaults: { ...options.defaults },\n level: _normalizeLogLevel(options.level, types),\n reporters: [...options.reporters || []]\n },\n {\n types: LogTypes,\n throttle: 1e3,\n throttleMin: 5,\n formatOptions: {\n date: true,\n colors: false,\n compact: true\n }\n }\n );\n for (const type in types) {\n const defaults = {\n type,\n ...this.options.defaults,\n ...types[type]\n };\n this[type] = this._wrapLogFn(defaults);\n this[type].raw = this._wrapLogFn(\n defaults,\n true\n );\n }\n if (this.options.mockFn) {\n this.mockTypes();\n }\n this._lastLog = {};\n }\n /**\n * Gets the current log level of the Consola instance.\n *\n * @returns {number} The current log level.\n */\n get level() {\n return this.options.level;\n }\n /**\n * Sets the minimum log level that will be output by the instance.\n *\n * @param {number} level - The new log level to set.\n */\n set level(level) {\n this.options.level = _normalizeLogLevel(\n level,\n this.options.types,\n this.options.level\n );\n }\n /**\n * Displays a prompt to the user and returns the response.\n * Throw an error if `prompt` is not supported by the current configuration.\n *\n * @template T\n * @param {string} message - The message to display in the prompt.\n * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}.\n * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}.\n */\n prompt(message, opts) {\n if (!this.options.prompt) {\n throw new Error(\"prompt is not supported!\");\n }\n return this.options.prompt(message, opts);\n }\n /**\n * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides.\n *\n * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n create(options) {\n const instance = new Consola({\n ...this.options,\n ...options\n });\n if (this._mockFn) {\n instance.mockTypes(this._mockFn);\n }\n return instance;\n }\n /**\n * Creates a new Consola instance with the specified default log object properties.\n *\n * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withDefaults(defaults) {\n return this.create({\n ...this.options,\n defaults: {\n ...this.options.defaults,\n ...defaults\n }\n });\n }\n /**\n * Creates a new Consola instance with a specified tag, which will be included in every log.\n *\n * @param {string} tag - The tag to include in each log of the new instance.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withTag(tag) {\n return this.withDefaults({\n tag: this.options.defaults.tag ? this.options.defaults.tag + \":\" + tag : tag\n });\n }\n /**\n * Adds a custom reporter to the Consola instance.\n * Reporters will be called for each log message, depending on their implementation and log level.\n *\n * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n addReporter(reporter) {\n this.options.reporters.push(reporter);\n return this;\n }\n /**\n * Removes a custom reporter from the Consola instance.\n * If no reporter is specified, all reporters will be removed.\n *\n * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n removeReporter(reporter) {\n if (reporter) {\n const i = this.options.reporters.indexOf(reporter);\n if (i !== -1) {\n return this.options.reporters.splice(i, 1);\n }\n } else {\n this.options.reporters.splice(0);\n }\n return this;\n }\n /**\n * Replaces all reporters of the Consola instance with the specified array of reporters.\n *\n * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n setReporters(reporters) {\n this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];\n return this;\n }\n wrapAll() {\n this.wrapConsole();\n this.wrapStd();\n }\n restoreAll() {\n this.restoreConsole();\n this.restoreStd();\n }\n /**\n * Overrides console methods with Consola logging methods for consistent logging.\n */\n wrapConsole() {\n for (const type in this.options.types) {\n if (!console[\"__\" + type]) {\n console[\"__\" + type] = console[type];\n }\n console[type] = this[type].raw;\n }\n }\n /**\n * Restores the original console methods, removing Consola overrides.\n */\n restoreConsole() {\n for (const type in this.options.types) {\n if (console[\"__\" + type]) {\n console[type] = console[\"__\" + type];\n delete console[\"__\" + type];\n }\n }\n }\n /**\n * Overrides standard output and error streams to redirect them through Consola.\n */\n wrapStd() {\n this._wrapStream(this.options.stdout, \"log\");\n this._wrapStream(this.options.stderr, \"log\");\n }\n _wrapStream(stream, type) {\n if (!stream) {\n return;\n }\n if (!stream.__write) {\n stream.__write = stream.write;\n }\n stream.write = (data) => {\n this[type].raw(String(data).trim());\n };\n }\n /**\n * Restores the original standard output and error streams, removing the Consola redirection.\n */\n restoreStd() {\n this._restoreStream(this.options.stdout);\n this._restoreStream(this.options.stderr);\n }\n _restoreStream(stream) {\n if (!stream) {\n return;\n }\n if (stream.__write) {\n stream.write = stream.__write;\n delete stream.__write;\n }\n }\n /**\n * Pauses logging, queues incoming logs until resumed.\n */\n pauseLogs() {\n paused = true;\n }\n /**\n * Resumes logging, processing any queued logs.\n */\n resumeLogs() {\n paused = false;\n const _queue = queue.splice(0);\n for (const item of _queue) {\n item[0]._logFn(item[1], item[2]);\n }\n }\n /**\n * Replaces logging methods with mocks if a mock function is provided.\n *\n * @param {ConsolaOptions[\"mockFn\"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions[\"mockFn\"]}.\n */\n mockTypes(mockFn) {\n const _mockFn = mockFn || this.options.mockFn;\n this._mockFn = _mockFn;\n if (typeof _mockFn !== \"function\") {\n return;\n }\n for (const type in this.options.types) {\n this[type] = _mockFn(type, this.options.types[type]) || this[type];\n this[type].raw = this[type];\n }\n }\n _wrapLogFn(defaults, isRaw) {\n return (...args) => {\n if (paused) {\n queue.push([this, defaults, args, isRaw]);\n return;\n }\n return this._logFn(defaults, args, isRaw);\n };\n }\n _logFn(defaults, args, isRaw) {\n if ((defaults.level || 0) > this.level) {\n return false;\n }\n const logObj = {\n date: /* @__PURE__ */ new Date(),\n args: [],\n ...defaults,\n level: _normalizeLogLevel(defaults.level, this.options.types)\n };\n if (!isRaw && args.length === 1 && isLogObj(args[0])) {\n Object.assign(logObj, args[0]);\n } else {\n logObj.args = [...args];\n }\n if (logObj.message) {\n logObj.args.unshift(logObj.message);\n delete logObj.message;\n }\n if (logObj.additional) {\n if (!Array.isArray(logObj.additional)) {\n logObj.additional = logObj.additional.split(\"\\n\");\n }\n logObj.args.push(\"\\n\" + logObj.additional.join(\"\\n\"));\n delete logObj.additional;\n }\n logObj.type = typeof logObj.type === \"string\" ? logObj.type.toLowerCase() : \"log\";\n logObj.tag = typeof logObj.tag === \"string\" ? logObj.tag : \"\";\n const resolveLog = (newLog = false) => {\n const repeated = (this._lastLog.count || 0) - this.options.throttleMin;\n if (this._lastLog.object && repeated > 0) {\n const args2 = [...this._lastLog.object.args];\n if (repeated > 1) {\n args2.push(`(repeated ${repeated} times)`);\n }\n this._log({ ...this._lastLog.object, args: args2 });\n this._lastLog.count = 1;\n }\n if (newLog) {\n this._lastLog.object = logObj;\n this._log(logObj);\n }\n };\n clearTimeout(this._lastLog.timeout);\n const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;\n this._lastLog.time = logObj.date;\n if (diffTime < this.options.throttle) {\n try {\n const serializedLog = JSON.stringify([\n logObj.type,\n logObj.tag,\n logObj.args\n ]);\n const isSameLog = this._lastLog.serialized === serializedLog;\n this._lastLog.serialized = serializedLog;\n if (isSameLog) {\n this._lastLog.count = (this._lastLog.count || 0) + 1;\n if (this._lastLog.count > this.options.throttleMin) {\n this._lastLog.timeout = setTimeout(\n resolveLog,\n this.options.throttle\n );\n return;\n }\n }\n } catch {\n }\n }\n resolveLog(true);\n }\n _log(logObj) {\n for (const reporter of this.options.reporters) {\n reporter.log(logObj, {\n options: this.options\n });\n }\n }\n}\nfunction _normalizeLogLevel(input, types = {}, defaultLevel = 3) {\n if (input === void 0) {\n return defaultLevel;\n }\n if (typeof input === \"number\") {\n return input;\n }\n if (types[input] && types[input].level !== void 0) {\n return types[input].level;\n }\n return defaultLevel;\n}\nConsola.prototype.add = Consola.prototype.addReporter;\nConsola.prototype.remove = Consola.prototype.removeReporter;\nConsola.prototype.clear = Consola.prototype.removeReporter;\nConsola.prototype.withScope = Consola.prototype.withTag;\nConsola.prototype.mock = Consola.prototype.mockTypes;\nConsola.prototype.pause = Consola.prototype.pauseLogs;\nConsola.prototype.resume = Consola.prototype.resumeLogs;\nfunction createConsola(options = {}) {\n return new Consola(options);\n}\n\nexport { Consola, LogLevels, LogTypes, createConsola };\n","import { formatWithOptions } from 'node:util';\nimport { sep } from 'node:path';\n\nfunction parseStack(stack, message) {\n const cwd = process.cwd() + sep;\n const lines = stack.split(\"\\n\").splice(message.split(\"\\n\").length).map((l) => l.trim().replace(\"file://\", \"\").replace(cwd, \"\"));\n return lines;\n}\n\nfunction writeStream(data, stream) {\n const write = stream.__write || stream.write;\n return write.call(stream, data);\n}\n\nconst bracket = (x) => x ? `[${x}]` : \"\";\nclass BasicReporter {\n formatStack(stack, message, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return indent + parseStack(stack, message).join(`\n${indent}`);\n }\n formatError(err, opts) {\n const message = err.message ?? formatWithOptions(opts, err);\n const stack = err.stack ? this.formatStack(err.stack, message, opts) : \"\";\n const level = opts?.errorLevel || 0;\n const causedPrefix = level > 0 ? `${\" \".repeat(level)}[cause]: ` : \"\";\n const causedError = err.cause ? \"\\n\\n\" + this.formatError(err.cause, { ...opts, errorLevel: level + 1 }) : \"\";\n return causedPrefix + message + \"\\n\" + stack + causedError;\n }\n formatArgs(args, opts) {\n const _args = args.map((arg) => {\n if (arg && typeof arg.stack === \"string\") {\n return this.formatError(arg, opts);\n }\n return arg;\n });\n return formatWithOptions(opts, ..._args);\n }\n formatDate(date, opts) {\n return opts.date ? date.toLocaleTimeString() : \"\";\n }\n filterAndJoin(arr) {\n return arr.filter(Boolean).join(\" \");\n }\n formatLogObj(logObj, opts) {\n const message = this.formatArgs(logObj.args, opts);\n if (logObj.type === \"box\") {\n return \"\\n\" + [\n bracket(logObj.tag),\n logObj.title && logObj.title,\n ...message.split(\"\\n\")\n ].filter(Boolean).map((l) => \" > \" + l).join(\"\\n\") + \"\\n\";\n }\n return this.filterAndJoin([\n bracket(logObj.type),\n bracket(logObj.tag),\n message\n ]);\n }\n log(logObj, ctx) {\n const line = this.formatLogObj(logObj, {\n columns: ctx.options.stdout.columns || 0,\n ...ctx.options.formatOptions\n });\n return writeStream(\n line + \"\\n\",\n logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout\n );\n }\n}\n\nexport { BasicReporter as B, parseStack as p };\n","import * as tty from 'node:tty';\n\nconst {\n env = {},\n argv = [],\n platform = \"\"\n} = typeof process === \"undefined\" ? {} : process;\nconst isDisabled = \"NO_COLOR\" in env || argv.includes(\"--no-color\");\nconst isForced = \"FORCE_COLOR\" in env || argv.includes(\"--color\");\nconst isWindows = platform === \"win32\";\nconst isDumbTerminal = env.TERM === \"dumb\";\nconst isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;\nconst isCI = \"CI\" in env && (\"GITHUB_ACTIONS\" in env || \"GITLAB_CI\" in env || \"CIRCLECI\" in env);\nconst isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);\nfunction replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {\n return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));\n}\nfunction clearBleed(index, string, open, close, replace) {\n return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;\n}\nfunction filterEmpty(open, close, replace = open, at = open.length + 1) {\n return (string) => string || !(string === \"\" || string === void 0) ? clearBleed(\n (\"\" + string).indexOf(close, at),\n string,\n open,\n close,\n replace\n ) : \"\";\n}\nfunction init(open, close, replace) {\n return filterEmpty(`\\x1B[${open}m`, `\\x1B[${close}m`, replace);\n}\nconst colorDefs = {\n reset: init(0, 0),\n bold: init(1, 22, \"\\x1B[22m\\x1B[1m\"),\n dim: init(2, 22, \"\\x1B[22m\\x1B[2m\"),\n italic: init(3, 23),\n underline: init(4, 24),\n inverse: init(7, 27),\n hidden: init(8, 28),\n strikethrough: init(9, 29),\n black: init(30, 39),\n red: init(31, 39),\n green: init(32, 39),\n yellow: init(33, 39),\n blue: init(34, 39),\n magenta: init(35, 39),\n cyan: init(36, 39),\n white: init(37, 39),\n gray: init(90, 39),\n bgBlack: init(40, 49),\n bgRed: init(41, 49),\n bgGreen: init(42, 49),\n bgYellow: init(43, 49),\n bgBlue: init(44, 49),\n bgMagenta: init(45, 49),\n bgCyan: init(46, 49),\n bgWhite: init(47, 49),\n blackBright: init(90, 39),\n redBright: init(91, 39),\n greenBright: init(92, 39),\n yellowBright: init(93, 39),\n blueBright: init(94, 39),\n magentaBright: init(95, 39),\n cyanBright: init(96, 39),\n whiteBright: init(97, 39),\n bgBlackBright: init(100, 49),\n bgRedBright: init(101, 49),\n bgGreenBright: init(102, 49),\n bgYellowBright: init(103, 49),\n bgBlueBright: init(104, 49),\n bgMagentaBright: init(105, 49),\n bgCyanBright: init(106, 49),\n bgWhiteBright: init(107, 49)\n};\nfunction createColors(useColor = isColorSupported) {\n return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String]));\n}\nconst colors = createColors();\nfunction getColor(color, fallback = \"reset\") {\n return colors[color] || colors[fallback];\n}\nfunction colorize(color, text) {\n return getColor(color)(text);\n}\n\nconst ansiRegex = [\n String.raw`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)`,\n String.raw`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))`\n].join(\"|\");\nfunction stripAnsi(text) {\n return text.replace(new RegExp(ansiRegex, \"g\"), \"\");\n}\nfunction centerAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n const freeLeft = Math.floor(free / 2);\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < freeLeft || i >= freeLeft + str.length ? space : str[i - freeLeft];\n }\n return _str;\n}\nfunction rightAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < free ? space : str[i - free];\n }\n return _str;\n}\nfunction leftAlign(str, len, space = \" \") {\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < str.length ? str[i] : space;\n }\n return _str;\n}\nfunction align(alignment, str, len, space = \" \") {\n switch (alignment) {\n case \"left\": {\n return leftAlign(str, len, space);\n }\n case \"right\": {\n return rightAlign(str, len, space);\n }\n case \"center\": {\n return centerAlign(str, len, space);\n }\n default: {\n return str;\n }\n }\n}\n\nconst boxStylePresets = {\n solid: {\n tl: \"\\u250C\",\n tr: \"\\u2510\",\n bl: \"\\u2514\",\n br: \"\\u2518\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n },\n double: {\n tl: \"\\u2554\",\n tr: \"\\u2557\",\n bl: \"\\u255A\",\n br: \"\\u255D\",\n h: \"\\u2550\",\n v: \"\\u2551\"\n },\n doubleSingle: {\n tl: \"\\u2553\",\n tr: \"\\u2556\",\n bl: \"\\u2559\",\n br: \"\\u255C\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n doubleSingleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n singleThick: {\n tl: \"\\u250F\",\n tr: \"\\u2513\",\n bl: \"\\u2517\",\n br: \"\\u251B\",\n h: \"\\u2501\",\n v: \"\\u2503\"\n },\n singleDouble: {\n tl: \"\\u2552\",\n tr: \"\\u2555\",\n bl: \"\\u2558\",\n br: \"\\u255B\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n singleDoubleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n rounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n }\n};\nconst defaultStyle = {\n borderColor: \"white\",\n borderStyle: \"rounded\",\n valign: \"center\",\n padding: 2,\n marginLeft: 1,\n marginTop: 1,\n marginBottom: 1\n};\nfunction box(text, _opts = {}) {\n const opts = {\n ..._opts,\n style: {\n ...defaultStyle,\n ..._opts.style\n }\n };\n const textLines = text.split(\"\\n\");\n const boxLines = [];\n const _color = getColor(opts.style.borderColor);\n const borderStyle = {\n ...typeof opts.style.borderStyle === \"string\" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle\n };\n if (_color) {\n for (const key in borderStyle) {\n borderStyle[key] = _color(\n borderStyle[key]\n );\n }\n }\n const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1;\n const height = textLines.length + paddingOffset;\n const width = Math.max(\n ...textLines.map((line) => stripAnsi(line).length),\n opts.title ? stripAnsi(opts.title).length : 0\n ) + paddingOffset;\n const widthOffset = width + paddingOffset;\n const leftSpace = opts.style.marginLeft > 0 ? \" \".repeat(opts.style.marginLeft) : \"\";\n if (opts.style.marginTop > 0) {\n boxLines.push(\"\".repeat(opts.style.marginTop));\n }\n if (opts.title) {\n const title = _color ? _color(opts.title) : opts.title;\n const left = borderStyle.h.repeat(\n Math.floor((width - stripAnsi(opts.title).length) / 2)\n );\n const right = borderStyle.h.repeat(\n width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset\n );\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${left}${title}${right}${borderStyle.tr}`\n );\n } else {\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}`\n );\n }\n const valignOffset = opts.style.valign === \"center\" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === \"top\" ? height - textLines.length - paddingOffset : height - textLines.length;\n for (let i = 0; i < height; i++) {\n if (i < valignOffset || i >= valignOffset + textLines.length) {\n boxLines.push(\n `${leftSpace}${borderStyle.v}${\" \".repeat(widthOffset)}${borderStyle.v}`\n );\n } else {\n const line = textLines[i - valignOffset];\n const left = \" \".repeat(paddingOffset);\n const right = \" \".repeat(width - stripAnsi(line).length);\n boxLines.push(\n `${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}`\n );\n }\n }\n boxLines.push(\n `${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}`\n );\n if (opts.style.marginBottom > 0) {\n boxLines.push(\"\".repeat(opts.style.marginBottom));\n }\n return boxLines.join(\"\\n\");\n}\n\nexport { centerAlign as a, align as b, colorize as c, box as d, colors as e, getColor as g, leftAlign as l, rightAlign as r, stripAnsi as s };\n","function y(e,t){if(e instanceof Promise)throw new Error(t)}function O(e,t){let s={},c=[];for(let a in e){let o=e[a]?.[\"~standard\"].validate(t[a]);if(y(o,`Validation must be synchronous, but ${a} returned a Promise.`),o?.issues){c.push(...o.issues.map(d=>({...d,path:[a,...d.path??[]]})));continue}s[a]=o?.value}return c.length?{issues:c}:{value:s}}var h=e=>[\"function\",\"object\"].includes(typeof e)&&!!e&&\"~standard\"in e&&typeof e[\"~standard\"]==\"object\"&&!!e[\"~standard\"]&&\"validate\"in e[\"~standard\"],v=e=>{if(!(typeof e!=\"object\"||e===null)){if(\"default\"in e&&![\"object\",\"function\"].includes(typeof e.default))return e.default;if(\"_def\"in e&&typeof e._def==\"object\"&&e._def!==null&&\"defaultValue\"in e._def)return typeof e._def.defaultValue==\"function\"?e._def.defaultValue?.():e._def.defaultValue}},D=e=>Object.fromEntries(Object.entries(e).map(([t,s])=>[t,v(s)]));var V=e=>[\"__esModule\",\"$$typeof\"].includes(e),I=(e,t)=>({...e.shared&&e.shared,...e.server&&t&&e.server,...e.client&&e.client}),k=(e,t)=>{let s=a=>({...a.extends?.reduce((d,u)=>({...d,...s(u)}),{})??{},...I(a,t)});return{...e.extends?.reduce((a,o)=>({...a,...s(o)}),{})??{},...I(e,t)}},f=class extends Error{constructor(t){super(t),this.name=\"EnvError\"}};function j(e){let t=e.envStrict??e.env??process.env;for(let[n,r]of Object.entries(t))r===\"\"&&delete t[n];let s=e.isServer??(typeof window>\"u\"||\"Deno\"in window),c=e.onError??(n=>{throw console.error(\"\\u274C Invalid environment variables:\",n),new f(\"Invalid environment variables\")}),a=e.onInvalidAccess??(n=>{throw new f(`\\u274C Attempted to access a server-side environment variable on the client: ${n}`)}),o=!!e.skip,d=k(e,s),u=e.transform?.(d,s)??d,S=h(u)?v(u):D(u),P=Object.fromEntries(Object.entries(t).map(([n,r])=>r!==void 0?[n,r]:[n,S&&n in S?S[n]:void 0]));if(o)return{...S,...P,_schema:d};let l=h(u)?u[\"~standard\"].validate(t):O(d,t);if(y(l,\"Validation must be synchronous!\"),l.issues)return c(l.issues);let g=n=>{let r=i=>{let p={keys:Object.keys(i.client??{}),prefix:i.clientPrefix},x=(i.extends??[]).flatMap(m=>r(m));return[p,...x]},F=i=>{let p=Object.keys(i.shared??{}),x=(i.extends??[]).flatMap(m=>F(m));return[...p,...x]},E=r(e).some(i=>i.keys.includes(n)&&(!i.prefix||n.startsWith(i.prefix)));return!F(e).includes(n)&&!E},b=n=>s||!g(n);return new Proxy(\"value\"in l?l.value:{},{get(n,r){if(typeof r==\"string\"&&!V(r))return r===\"_schema\"?d:b(r)?Reflect.get(n,r):a(r)}})}export{j as defineEnv};\n","// based on the util of the same name in @ark/fs\n// isolated here for use with registry\n/** get a CJS/ESM compatible string representing the current file */\nconst fileName = () => {\n try {\n const error = new Error();\n const stackLine = error.stack?.split(\"\\n\")[2]?.trim() || \"\"; // [1]=this func, [2]=caller\n const filePath = stackLine.match(/\\(?(.+?)(?::\\d+:\\d+)?\\)?$/)?.[1] || \"unknown\";\n return filePath.replace(/^file:\\/\\//, \"\");\n }\n catch {\n return \"unknown\";\n }\n};\nconst env = globalThis.process?.env ?? {};\nexport const isomorphic = {\n fileName,\n env\n};\n","import { Form } from \"@/components/variables/form\";\nimport { FileContent } from \"@/components/variables/preview\";\n\nexport const Variables = () => {\n return (\n <div className=\"flex gap-4 min-h-0 h-full\">\n <Form />\n <FileContent />\n </div>\n );\n};\n","import assert from \"node:assert\";\nimport asyncHooks from \"node:async_hooks\";\nimport buffer from \"node:buffer\";\nimport childProcess from \"node:child_process\";\nimport cluster from \"node:cluster\";\nimport console from \"node:console\";\nimport constants from \"node:constants\";\nimport crypto from \"node:crypto\";\nimport dgram from \"node:dgram\";\nimport diagnosticsChannel from \"node:diagnostics_channel\";\nimport dns from \"node:dns\";\nimport domain from \"node:domain\";\nimport events from \"node:events\";\nimport fs from \"node:fs\";\nimport fsPromises from \"node:fs/promises\";\nimport http from \"node:http\";\nimport http2 from \"node:http2\";\nimport https from \"node:https\";\nimport inspector from \"node:inspector\";\nimport module from \"node:module\";\nimport net from \"node:net\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport perfHooks from \"node:perf_hooks\";\nimport process from \"node:process\";\nimport querystring from \"node:querystring\";\nimport readline from \"node:readline\";\nimport repl from \"node:repl\";\nimport stream from \"node:stream\";\nimport stringDecoder from \"node:string_decoder\";\nimport timers from \"node:timers\";\nimport timersPromises from \"node:timers/promises\";\nimport tls from \"node:tls\";\nimport tty from \"node:tty\";\nimport url from \"node:url\";\nimport util from \"node:util\";\nimport utilTypes from \"node:util/types\";\nimport v8 from \"node:v8\";\nimport vm from \"node:vm\";\nimport workerThreads from \"node:worker_threads\";\nimport zlib from \"node:zlib\";\n\n/**\n * A map of the name of the modules (including `node:` prefixed ones)\n * provided by Node because dynamic requires of them, even on the server\n * will not be resolved properly\n */\nexport const staticNodeModulesForVM = {\n assert,\n async_hooks: asyncHooks,\n buffer,\n child_process: childProcess,\n cluster,\n console,\n constants,\n crypto,\n dgram,\n diagnostics_channel: diagnosticsChannel,\n dns,\n domain,\n events,\n fs,\n \"fs/promises\": fsPromises,\n http,\n http2,\n https,\n inspector,\n module,\n net,\n os,\n path,\n perf_hooks: perfHooks,\n process,\n querystring,\n readline,\n repl,\n stream,\n string_decoder: stringDecoder,\n timers,\n \"timers/promises\": timersPromises,\n tls,\n tty,\n url,\n util,\n \"util/types\": utilTypes,\n v8,\n vm,\n worker_threads: workerThreads,\n zlib,\n};\n","// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\n// @__NO_SIDE_EFFECTS__\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message2, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message2, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message2, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\n// @__NO_SIDE_EFFECTS__\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message2 = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message2 !== void 0) {\n issue.message = typeof message2 === \"function\" ? (\n // @ts-expect-error\n message2(issue)\n ) : message2;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_getByteCount/_getByteCount.ts\nvar textEncoder;\n// @__NO_SIDE_EFFECTS__\nfunction _getByteCount(input) {\n if (!textEncoder) {\n textEncoder = new TextEncoder();\n }\n return textEncoder.encode(input).length;\n}\n\n// src/utils/_getGraphemeCount/_getGraphemeCount.ts\nvar segmenter;\n// @__NO_SIDE_EFFECTS__\nfunction _getGraphemeCount(input) {\n if (!segmenter) {\n segmenter = new Intl.Segmenter();\n }\n const segments = segmenter.segment(input);\n let count = 0;\n for (const _ of segments) {\n count++;\n }\n return count;\n}\n\n// src/utils/_getLastMetadata/_getLastMetadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction _getLastMetadata(schema, type) {\n if (\"pipe\" in schema) {\n const nestedSchemas = [];\n for (let index = schema.pipe.length - 1; index >= 0; index--) {\n const item = schema.pipe[index];\n if (item.kind === \"schema\" && \"pipe\" in item) {\n nestedSchemas.push(item);\n } else if (item.kind === \"metadata\" && item.type === type) {\n return item[type];\n }\n }\n for (const nestedSchema of nestedSchemas) {\n const result = /* @__PURE__ */ _getLastMetadata(nestedSchema, type);\n if (result !== void 0) {\n return result;\n }\n }\n }\n}\n\n// src/utils/_getStandardProps/_getStandardProps.ts\n// @__NO_SIDE_EFFECTS__\nfunction _getStandardProps(context) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(value2) {\n return context[\"~run\"]({ value: value2 }, getGlobalConfig());\n }\n };\n}\n\n// src/utils/_getWordCount/_getWordCount.ts\nvar store5;\n// @__NO_SIDE_EFFECTS__\nfunction _getWordCount(locales, input) {\n if (!store5) {\n store5 = /* @__PURE__ */ new Map();\n }\n if (!store5.get(locales)) {\n store5.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n }\n const segments = store5.get(locales).segment(input);\n let count = 0;\n for (const segment of segments) {\n if (segment.isWordLike) {\n count++;\n }\n }\n return count;\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\n// @__NO_SIDE_EFFECTS__\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\n// @__NO_SIDE_EFFECTS__\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\n// @__NO_SIDE_EFFECTS__\nfunction _joinExpects(values2, separator) {\n const list = [...new Set(values2)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\n// @__NO_SIDE_EFFECTS__\nfunction entriesFromList(list, schema) {\n const entries2 = {};\n for (const key of list) {\n entries2[key] = schema;\n }\n return entries2;\n}\n\n// src/utils/entriesFromObjects/entriesFromObjects.ts\n// @__NO_SIDE_EFFECTS__\nfunction entriesFromObjects(schemas) {\n const entries2 = {};\n for (const schema of schemas) {\n Object.assign(entries2, schema.entries);\n }\n return entries2;\n}\n\n// src/utils/getDotPath/getDotPath.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\n// @__NO_SIDE_EFFECTS__\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\n// @__NO_SIDE_EFFECTS__\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\n// @__NO_SIDE_EFFECTS__\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/args/args.ts\n// @__NO_SIDE_EFFECTS__\nfunction args(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: args,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const argsDataset = this.schema[\"~run\"]({ value: args_ }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/args/argsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction argsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: argsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args2) => {\n const argsDataset = await schema[\"~run\"]({ value: args2 }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/await/awaitAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~run\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?(?:\\d*\\.)?\\d+$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-fA-F]+$/u;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-fA-F]{3,4}|[\\da-fA-F]{6}|[\\da-fA-F]{8})$/u;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;\nvar RFC_EMAIL_REGEX = (\n // eslint-disable-next-line regexp/prefer-w, no-useless-escape, regexp/no-useless-escape, regexp/require-unicode-regexp\n /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n);\nvar SLUG_REGEX = /^[\\da-z]+(?:[-_][\\da-z]+)*$/u;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$/u;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/actions/base64/base64.ts\n// @__NO_SIDE_EFFECTS__\nfunction base64(message2) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\n// @__NO_SIDE_EFFECTS__\nfunction bic(message2) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\n// @__NO_SIDE_EFFECTS__\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction bytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\n// @__NO_SIDE_EFFECTS__\nfunction check(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkAsync(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkItems(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItemsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkItemsAsync(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItemsAsync,\n async: true,\n expects: null,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const requirementResults = await Promise.all(\n dataset.value.map(this.requirement)\n );\n for (let index = 0; index < dataset.value.length; index++) {\n if (!requirementResults[index]) {\n const item = dataset.value[index];\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n // eslint-disable-next-line redos-detector/no-unsafe-regex\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\n// @__NO_SIDE_EFFECTS__\nfunction creditCard(message2) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\n// @__NO_SIDE_EFFECTS__\nfunction cuid2(message2) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\n// @__NO_SIDE_EFFECTS__\nfunction decimal(message2) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\n// @__NO_SIDE_EFFECTS__\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\n// @__NO_SIDE_EFFECTS__\nfunction digits(message2) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\n// @__NO_SIDE_EFFECTS__\nfunction email(message2) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\n// @__NO_SIDE_EFFECTS__\nfunction emoji(message2) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\n// @__NO_SIDE_EFFECTS__\nfunction empty(message2) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\n// @__NO_SIDE_EFFECTS__\nfunction endsWith(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/entries/entries.ts\n// @__NO_SIDE_EFFECTS__\nfunction entries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"entries\",\n reference: entries,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count !== this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction everyItem(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\n// @__NO_SIDE_EFFECTS__\nfunction excludes(requirement, message2) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\n// @__NO_SIDE_EFFECTS__\nfunction finite(message2) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/flavor/flavor.ts\n// @__NO_SIDE_EFFECTS__\nfunction flavor(name) {\n return {\n kind: \"transformation\",\n type: \"flavor\",\n reference: flavor,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/graphemes/graphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction graphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"graphemes\",\n reference: graphemes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/gtValue/gtValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction gtValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"gt_value\",\n reference: gtValue,\n async: false,\n expects: `>${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value > this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\n// @__NO_SIDE_EFFECTS__\nfunction hash(types, message2) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\n// @__NO_SIDE_EFFECTS__\nfunction hexadecimal(message2) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\n// @__NO_SIDE_EFFECTS__\nfunction hexColor(message2) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\n// @__NO_SIDE_EFFECTS__\nfunction imei(message2) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\n// @__NO_SIDE_EFFECTS__\nfunction includes(requirement, message2) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\n// @__NO_SIDE_EFFECTS__\nfunction integer(message2) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\n// @__NO_SIDE_EFFECTS__\nfunction ip(message2) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\n// @__NO_SIDE_EFFECTS__\nfunction ipv4(message2) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\n// @__NO_SIDE_EFFECTS__\nfunction ipv6(message2) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoDate(message2) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoDateTime(message2) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTime(message2) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTimeSecond(message2) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTimestamp(message2) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoWeek(message2) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\n// @__NO_SIDE_EFFECTS__\nfunction length(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ltValue/ltValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction ltValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"lt_value\",\n reference: ltValue,\n async: false,\n expects: `<${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value < this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac(message2) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac48(message2) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac64(message2) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxEntries/maxEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_entries\",\n reference: maxEntries,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count > this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxGraphemes/maxGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_graphemes\",\n reference: maxGraphemes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value <= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxWords/maxWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_words\",\n reference: maxWords,\n async: false,\n expects: `<=${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\n// @__NO_SIDE_EFFECTS__\nfunction mimeType(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction minBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minEntries/minEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction minEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_entries\",\n reference: minEntries,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count < this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minGraphemes/minGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction minGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_graphemes\",\n reference: minGraphemes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction minLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction minSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction minValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value >= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minWords/minWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction minWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_words\",\n reference: minWords,\n async: false,\n expects: `>=${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\n// @__NO_SIDE_EFFECTS__\nfunction multipleOf(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement != 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\n// @__NO_SIDE_EFFECTS__\nfunction nanoid(message2) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonEmpty(message2) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\n// @__NO_SIDE_EFFECTS__\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~run\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction notBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notEntries/notEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction notEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_entries\",\n reference: notEntries,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count === this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notGraphemes/notGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction notGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_graphemes\",\n reference: notGraphemes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction notLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction notSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction notValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValues/notValues.ts\n// @__NO_SIDE_EFFECTS__\nfunction notValues(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_values\",\n reference: notValues,\n async: false,\n expects: `!${_joinExpects(\n requirement.map(\n (value2) => value2 instanceof Date ? value2.toJSON() : _stringify(value2)\n ),\n \"|\"\n )}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement.some(\n (value2) => value2 <= dataset.value && value2 >= dataset.value\n )) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notWords/notWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction notWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_words\",\n reference: notWords,\n async: false,\n expects: `!${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\n// @__NO_SIDE_EFFECTS__\nfunction octal(message2) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/parseJson/parseJson.ts\n// @__NO_SIDE_EFFECTS__\nfunction parseJson(config2, message2) {\n return {\n kind: \"transformation\",\n type: \"parse_json\",\n reference: parseJson,\n config: config2,\n message: message2,\n async: false,\n \"~run\"(dataset, config3) {\n try {\n dataset.value = JSON.parse(dataset.value, this.config?.reviver);\n } catch (error) {\n if (error instanceof Error) {\n _addIssue(this, \"JSON\", dataset, config3, {\n received: `\"${error.message}\"`\n });\n dataset.typed = false;\n } else {\n throw error;\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\n// @__NO_SIDE_EFFECTS__\nfunction _isPartiallyTyped(dataset, paths) {\n if (dataset.issues) {\n for (const path of paths) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (\n // @ts-expect-error\n path[index] !== issue.path[index].key && // @ts-expect-error\n (path[index] !== \"$\" || issue.path[index].type !== \"array\")\n ) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialCheck(paths, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n paths,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if ((dataset.typed || _isPartiallyTyped(dataset, paths)) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialCheckAsync(paths, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n paths,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if ((dataset.typed || _isPartiallyTyped(dataset, paths)) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~run\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~run\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~run\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~run\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\n// @__NO_SIDE_EFFECTS__\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~run\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\n// @__NO_SIDE_EFFECTS__\nfunction regex(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returns.ts\n// @__NO_SIDE_EFFECTS__\nfunction returns(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returns,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const returnsDataset = this.schema[\"~run\"](\n { value: func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returnsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction returnsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returnsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args_) => {\n const returnsDataset = await this.schema[\"~run\"](\n { value: await func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/rfcEmail/rfcEmail.ts\n// @__NO_SIDE_EFFECTS__\nfunction rfcEmail(message2) {\n return {\n kind: \"validation\",\n type: \"rfc_email\",\n reference: rfcEmail,\n expects: null,\n async: false,\n requirement: RFC_EMAIL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeInteger(message2) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\n// @__NO_SIDE_EFFECTS__\nfunction size(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/slug/slug.ts\n// @__NO_SIDE_EFFECTS__\nfunction slug(message2) {\n return {\n kind: \"validation\",\n type: \"slug\",\n reference: slug,\n async: false,\n expects: null,\n requirement: SLUG_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"slug\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction someItem(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\n// @__NO_SIDE_EFFECTS__\nfunction startsWith(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/stringifyJson/stringifyJson.ts\n// @__NO_SIDE_EFFECTS__\nfunction stringifyJson(config2, message2) {\n return {\n kind: \"transformation\",\n type: \"stringify_json\",\n reference: stringifyJson,\n message: message2,\n config: config2,\n async: false,\n \"~run\"(dataset, config3) {\n try {\n const output = JSON.stringify(\n dataset.value,\n // @ts-expect-error\n this.config?.replacer,\n this.config?.space\n );\n if (output === void 0) {\n _addIssue(this, \"JSON\", dataset, config3);\n dataset.typed = false;\n }\n dataset.value = output;\n } catch (error) {\n if (error instanceof Error) {\n _addIssue(this, \"JSON\", dataset, config3, {\n received: `\"${error.message}\"`\n });\n dataset.typed = false;\n } else {\n throw error;\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\n// @__NO_SIDE_EFFECTS__\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\n// @__NO_SIDE_EFFECTS__\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\n// @__NO_SIDE_EFFECTS__\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\n// @__NO_SIDE_EFFECTS__\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~run\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\n// @__NO_SIDE_EFFECTS__\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\n// @__NO_SIDE_EFFECTS__\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\n// @__NO_SIDE_EFFECTS__\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\n// @__NO_SIDE_EFFECTS__\nfunction ulid(message2) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\n// @__NO_SIDE_EFFECTS__\nfunction url(message2) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\n// @__NO_SIDE_EFFECTS__\nfunction uuid(message2) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\n// @__NO_SIDE_EFFECTS__\nfunction value(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/values/values.ts\n// @__NO_SIDE_EFFECTS__\nfunction values(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"values\",\n reference: values,\n async: false,\n expects: `${_joinExpects(\n requirement.map(\n (value2) => value2 instanceof Date ? value2.toJSON() : _stringify(value2)\n ),\n \"|\"\n )}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.some(\n (value2) => value2 <= dataset.value && value2 >= dataset.value\n )) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/words/words.ts\n// @__NO_SIDE_EFFECTS__\nfunction words(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"words\",\n reference: words,\n async: false,\n expects: `${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/assert/assert.ts\nfunction assert(schema, input) {\n const issues = schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n if (issues) {\n throw new ValiError(issues);\n }\n}\n\n// src/methods/config/config.ts\n// @__NO_SIDE_EFFECTS__\nfunction config(schema, config2) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config_) {\n return schema[\"~run\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\n// @__NO_SIDE_EFFECTS__\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\n// @__NO_SIDE_EFFECTS__\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const outputDataset = schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const outputDataset = await schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\n// @__NO_SIDE_EFFECTS__\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\n// @__NO_SIDE_EFFECTS__\nfunction forward(action, path) {\n return {\n ...action,\n \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of path) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction forwardAsync(action, path) {\n return {\n ...action,\n async: true,\n async \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = await action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of path) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = /* @__PURE__ */ getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await /* @__PURE__ */ getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getDescription/getDescription.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDescription(schema) {\n return _getLastMetadata(schema, \"description\");\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\n// @__NO_SIDE_EFFECTS__\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = /* @__PURE__ */ getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await /* @__PURE__ */ getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/getMetadata/getMetadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction getMetadata(schema) {\n const result = {};\n function depthFirstMerge(schema2) {\n if (\"pipe\" in schema2) {\n for (const item of schema2.pipe) {\n if (item.kind === \"schema\" && \"pipe\" in item) {\n depthFirstMerge(item);\n } else if (item.kind === \"metadata\" && item.type === \"metadata\") {\n Object.assign(result, item.metadata);\n }\n }\n }\n }\n depthFirstMerge(schema);\n return result;\n}\n\n// src/methods/getTitle/getTitle.ts\n// @__NO_SIDE_EFFECTS__\nfunction getTitle(schema) {\n return _getLastMetadata(schema, \"title\");\n}\n\n// src/methods/is/is.ts\n// @__NO_SIDE_EFFECTS__\nfunction is(schema, input) {\n return !schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\n// @__NO_SIDE_EFFECTS__\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\n// @__NO_SIDE_EFFECTS__\nfunction array(item, message2) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction arrayAsync(item, message2) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~run\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\n// @__NO_SIDE_EFFECTS__\nfunction bigint(message2) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\n// @__NO_SIDE_EFFECTS__\nfunction blob(message2) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\n// @__NO_SIDE_EFFECTS__\nfunction boolean(message2) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\n// @__NO_SIDE_EFFECTS__\nfunction custom(check2, message2) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction customAsync(check2, message2) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\n// @__NO_SIDE_EFFECTS__\nfunction date(message2) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\n// @__NO_SIDE_EFFECTS__\nfunction enum_(enum__, message2) {\n const options = [];\n for (const key in enum__) {\n if (`${+key}` !== key || typeof enum__[key] !== \"string\" || !Object.is(enum__[enum__[key]], +key)) {\n options.push(enum__[key]);\n }\n }\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/exactOptional/exactOptional.ts\n// @__NO_SIDE_EFFECTS__\nfunction exactOptional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"exact_optional\",\n reference: exactOptional,\n expects: wrapped.expects,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/exactOptional/exactOptionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction exactOptionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"exact_optional\",\n reference: exactOptionalAsync,\n expects: wrapped.expects,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/file/file.ts\n// @__NO_SIDE_EFFECTS__\nfunction file(message2) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\n// @__NO_SIDE_EFFECTS__\nfunction function_(message2) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\n// @__NO_SIDE_EFFECTS__\nfunction instance(class_, message2) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\n// @__NO_SIDE_EFFECTS__\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = /* @__PURE__ */ _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = /* @__PURE__ */ _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\n// @__NO_SIDE_EFFECTS__\nfunction intersect(options, message2) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction intersectAsync(options, message2) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map((schema) => schema[\"~run\"]({ value: input }, config2))\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\n// @__NO_SIDE_EFFECTS__\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.getter(dataset.value)[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return (await this.getter(dataset.value))[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\n// @__NO_SIDE_EFFECTS__\nfunction literal(literal_, message2) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseObject(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseObjectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseTuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseTupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\n// @__NO_SIDE_EFFECTS__\nfunction map(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~run\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction mapAsync(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~run\"]({ value: inputKey }, config2),\n this.value[\"~run\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\n// @__NO_SIDE_EFFECTS__\nfunction nan(message2) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\n// @__NO_SIDE_EFFECTS__\nfunction never(message2) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullable(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullableAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullish(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullishAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonOptional(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonOptionalAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/null/null.ts\n// @__NO_SIDE_EFFECTS__\nfunction null_(message2) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullish(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullishAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/number/number.ts\n// @__NO_SIDE_EFFECTS__\nfunction number(message2) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\n// @__NO_SIDE_EFFECTS__\nfunction object(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectWithRest(entries2, rest, message2) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries: entries2,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const valueDataset = this.rest[\"~run\"](\n // @ts-expect-error\n { value: input[key] },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectWithRestAsync(entries2, rest, message2) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // If key is present or its an optional schema with a default value,\n // parse input of key or default value asynchronously\n Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n ),\n // Parse other entries with rest schema asynchronously\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueSchema, valueDataset] of normalDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\n// @__NO_SIDE_EFFECTS__\nfunction optional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction optionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\n// @__NO_SIDE_EFFECTS__\nfunction picklist(options, message2) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\n// @__NO_SIDE_EFFECTS__\nfunction promise(message2) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\n// @__NO_SIDE_EFFECTS__\nfunction record(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~run\"]({ value: entryKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction recordAsync(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~run\"]({ value: entryKey }, config2),\n this.value[\"~run\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\n// @__NO_SIDE_EFFECTS__\nfunction set(value2, message2) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction setAsync(value2, message2) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~run\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictObject(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n _addIssue(this, \"key\", dataset, config2, {\n input: key,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictObjectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n _addIssue(this, \"key\", dataset, config2, {\n input: key,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictTuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n _addIssue(this, \"type\", dataset, config2, {\n input: input[this.items.length],\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: input[this.items.length]\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictTupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n _addIssue(this, \"type\", dataset, config2, {\n input: input[this.items.length],\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: input[this.items.length]\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\n// @__NO_SIDE_EFFECTS__\nfunction string(message2) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\n// @__NO_SIDE_EFFECTS__\nfunction symbol(message2) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction tuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleWithRest(items, rest, message2) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleWithRestAsync(items, rest, message2) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefined_(message2) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefinedable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefinedableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\n// @__NO_SIDE_EFFECTS__\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\n// @__NO_SIDE_EFFECTS__\nfunction union(options, message2) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: dataset.value }, config2);\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction unionAsync(options, message2) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~run\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\n// @__NO_SIDE_EFFECTS__\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\n// @__NO_SIDE_EFFECTS__\nfunction variant(key, options, message2) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n const discriminatorSchema = schema.entries[currentKey];\n if (currentKey in input ? discriminatorSchema[\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n { abortEarly: true }\n ).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction variantAsync(key, options, message2) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n const discriminatorSchema = schema.entries[currentKey];\n if (currentKey in input ? (await discriminatorSchema[\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n { abortEarly: true }\n )).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~run\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\n// @__NO_SIDE_EFFECTS__\nfunction void_(message2) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\n// @__NO_SIDE_EFFECTS__\nfunction keyof(schema, message2) {\n return picklist(Object.keys(schema.entries), message2);\n}\n\n// src/methods/message/message.ts\n// @__NO_SIDE_EFFECTS__\nfunction message(schema, message_) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return schema[\"~run\"](dataset, { ...config2, message: message_ });\n }\n };\n}\n\n// src/methods/omit/omit.ts\n// @__NO_SIDE_EFFECTS__\nfunction omit(schema, keys) {\n const entries2 = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries2[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\n// @__NO_SIDE_EFFECTS__\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\n// @__NO_SIDE_EFFECTS__\nfunction partial(schema, keys) {\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/partial/partialAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialAsync(schema, keys) {\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pick/pick.ts\n// @__NO_SIDE_EFFECTS__\nfunction pick(schema, keys) {\n const entries2 = {};\n for (const key of keys) {\n entries2[key] = schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pipe/pipe.ts\n// @__NO_SIDE_EFFECTS__\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\n// @__NO_SIDE_EFFECTS__\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message2 = Array.isArray(arg2) ? arg3 : arg2;\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message2) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/required/requiredAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message2 = Array.isArray(arg2) ? arg3 : arg2;\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message2) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/safeParse/safeParse.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/summarize/summarize.ts\n// @__NO_SIDE_EFFECTS__\nfunction summarize(issues) {\n let summary = \"\";\n for (const issue of issues) {\n if (summary) {\n summary += \"\\n\";\n }\n summary += `\\xD7 ${issue.message}`;\n const dotPath = getDotPath(issue);\n if (dotPath) {\n summary += `\n \\u2192 at ${dotPath}`;\n }\n }\n return summary;\n}\n\n// src/methods/unwrap/unwrap.ts\n// @__NO_SIDE_EFFECTS__\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n RFC_EMAIL_REGEX,\n SLUG_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _getByteCount,\n _getGraphemeCount,\n _getLastMetadata,\n _getStandardProps,\n _getWordCount,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n args,\n argsAsync,\n array,\n arrayAsync,\n assert,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n checkItemsAsync,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entries,\n entriesFromList,\n entriesFromObjects,\n enum_ as enum,\n enum_,\n everyItem,\n exactOptional,\n exactOptionalAsync,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n flavor,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDescription,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getMetadata,\n getSchemaMessage,\n getSpecificMessage,\n getTitle,\n graphemes,\n gtValue,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n ltValue,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxEntries,\n maxGraphemes,\n maxLength,\n maxSize,\n maxValue,\n maxWords,\n message,\n metadata,\n mimeType,\n minBytes,\n minEntries,\n minGraphemes,\n minLength,\n minSize,\n minValue,\n minWords,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notEntries,\n notGraphemes,\n notLength,\n notSize,\n notValue,\n notValues,\n notWords,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parseJson,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n returns,\n returnsAsync,\n rfcEmail,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n slug,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n stringifyJson,\n summarize,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n values,\n variant,\n variantAsync,\n void_ as void,\n void_,\n words\n};\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","export const parseDefault = (s) => {\n // store the node that will be bounded\n const baseNode = s.unsetRoot();\n s.parseOperand();\n const defaultNode = s.unsetRoot();\n // after parsing the next operand, use the locations to get the\n // token from which it was parsed\n if (!defaultNode.hasKind(\"unit\"))\n return s.error(writeNonLiteralDefaultMessage(defaultNode.expression));\n const defaultValue = defaultNode.unit instanceof Date ?\n () => new Date(defaultNode.unit)\n : defaultNode.unit;\n return [baseNode, \"=\", defaultValue];\n};\nexport const writeNonLiteralDefaultMessage = (defaultDef) => `Default value '${defaultDef}' must a literal value`;\n","export const hasDomain = (data, kind) => domainOf(data) === kind;\nexport const domainOf = (data) => {\n const builtinType = typeof data;\n return (builtinType === \"object\" ?\n data === null ?\n \"null\"\n : \"object\"\n : builtinType === \"function\" ? \"object\"\n : builtinType);\n};\n/** Each domain's completion for the phrase \"must be _____\" */\nexport const domainDescriptions = {\n boolean: \"boolean\",\n null: \"null\",\n undefined: \"undefined\",\n bigint: \"a bigint\",\n number: \"a number\",\n object: \"an object\",\n string: \"a string\",\n symbol: \"a symbol\"\n};\nexport const jsTypeOfDescriptions = {\n ...domainDescriptions,\n function: \"a function\"\n};\n","export class InternalArktypeError extends Error {\n}\nexport const throwInternalError = message => throwError(message, InternalArktypeError);\nexport const throwError = (message, ctor = Error) => {\n throw new ctor(message);\n};\nexport class ParseError extends Error {\n name = \"ParseError\";\n}\nexport const throwParseError = message => throwError(message, ParseError);\n/**\n * TypeScript won't suggest strings beginning with a space as properties.\n * Useful for symbol-like string properties.\n */\nexport const noSuggest = (s) => ` ${s}`;\n/** \"Hair Space\" character, used as a non-rendered sentinel for an error message string:\n * https://www.compart.com/en/unicode/U+200A\n */\nexport const zeroWidthSpace = \" \";\n","export const lazily = (thunk) => {\n let cached;\n return new Proxy({}, {\n get: (_, prop) => {\n if (!cached)\n cached = thunk();\n return cached[prop];\n },\n set: (_, prop, value) => {\n if (!cached)\n cached = thunk();\n cached[prop] = value;\n return true;\n }\n });\n};\n","export const capitalize = (s) => (s[0].toUpperCase() + s.slice(1));\nexport const uncapitalize = (s) => (s[0].toLowerCase() + s.slice(1));\nexport const anchoredRegex = (regex) => new RegExp(anchoredSource(regex), typeof regex === \"string\" ? \"\" : regex.flags);\nexport const deanchoredRegex = (regex) => new RegExp(deanchoredSource(regex), typeof regex === \"string\" ? \"\" : regex.flags);\nexport const anchoredSource = (regex) => {\n const source = typeof regex === \"string\" ? regex : regex.source;\n return `^(?:${source})$`;\n};\nexport const deanchoredSource = (regex) => {\n const source = typeof regex === \"string\" ? regex : regex.source;\n if (source.startsWith(\"^(?:\") && source.endsWith(\")$\"))\n return source.slice(4, -2);\n return source.slice(source[0] === \"^\" ? 1 : 0, source.at(-1) === \"$\" ? -1 : undefined);\n};\nexport const RegexPatterns = {\n negativeLookahead: (pattern) => `(?!${pattern})`,\n nonCapturingGroup: (pattern) => `(?:${pattern})`\n};\nexport const escapeChar = \"\\\\\";\nexport const whitespaceChars = {\n \" \": 1,\n \"\\n\": 1,\n \"\\t\": 1\n};\nexport const emojiToUnicode = (emoji) => emoji\n .split(\"\")\n .map(char => {\n const codePoint = char.codePointAt(0);\n return codePoint ? `\\\\u${codePoint.toString(16).padStart(4, \"0\")}` : \"\";\n})\n .join(\"\");\n","export const serializePrimitive = (value) => (typeof value === \"string\" ? JSON.stringify(value)\n : typeof value === \"bigint\" ? `${value}n`\n : `${value}`);\n","export const writePrefixedPrivateReferenceMessage = (name) => `Private type references should not include '#'. Use '${name}' instead.`;\nexport const shallowOptionalMessage = \"Optional definitions like 'string?' are only valid as properties in an object or tuple\";\nexport const shallowDefaultableMessage = \"Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple\";\n","export const minComparators = {\n \">\": true,\n \">=\": true\n};\nexport const maxComparators = {\n \"<\": true,\n \"<=\": true\n};\nexport const comparators = {\n \">\": true,\n \">=\": true,\n \"<\": true,\n \"<=\": true,\n \"==\": true\n};\nexport const invertedComparators = {\n \"<\": \">\",\n \">\": \"<\",\n \"<=\": \">=\",\n \">=\": \"<=\",\n \"==\": \"==\"\n};\nexport const writeUnmatchedGroupCloseMessage = (unscanned) => `Unmatched )${(unscanned === \"\" ? \"\" : ` before ${unscanned}`)}`;\nexport const writeUnclosedGroupMessage = (missingChar) => `Missing ${missingChar}`;\nexport const writeOpenRangeMessage = (min, comparator) => `Left bounds are only valid when paired with right bounds (try ...${comparator}${min})`;\nexport const writeUnpairableComparatorMessage = (comparator) => `Left-bounded expressions must specify their limits using < or <= (was ${comparator})`;\nexport const writeMultipleLeftBoundsMessage = (openLimit, openComparator, limit, comparator) => `An expression may have at most one left bound (parsed ${openLimit}${invertedComparators[openComparator]}, ${limit}${invertedComparators[comparator]})`;\n","export const parseBrand = (s) => {\n s.scanner.shiftUntilNonWhitespace();\n const brandName = s.scanner.shiftUntilNextTerminator();\n s.root = s.root.brand(brandName);\n};\n","export const version = {\n major: 4,\n minor: 1,\n patch: 13,\n};\n","import*as t from\"zod\";var o={id:\"vercel\",server:{VERCEL:t.string().optional(),CI:t.string().optional(),VERCEL_ENV:t.enum([\"development\",\"preview\",\"production\"]).optional().default(\"development\"),VERCEL_TARGET_ENV:t.string().optional(),VERCEL_URL:t.string().optional(),VERCEL_PROJECT_PRODUCTION_URL:t.string().optional(),VERCEL_BRANCH_URL:t.string().optional(),VERCEL_REGION:t.string().optional(),VERCEL_DEPLOYMENT_ID:t.string().optional(),VERCEL_SKEW_PROTECTION_ENABLED:t.string().optional(),VERCEL_AUTOMATION_BYPASS_SECRET:t.string().optional(),VERCEL_GIT_PROVIDER:t.string().optional(),VERCEL_GIT_REPO_SLUG:t.string().optional(),VERCEL_GIT_REPO_OWNER:t.string().optional(),VERCEL_GIT_REPO_ID:t.string().optional(),VERCEL_GIT_COMMIT_REF:t.string().optional(),VERCEL_GIT_COMMIT_SHA:t.string().optional(),VERCEL_GIT_COMMIT_MESSAGE:t.string().optional(),VERCEL_GIT_COMMIT_AUTHOR_LOGIN:t.string().optional(),VERCEL_GIT_COMMIT_AUTHOR_NAME:t.string().optional(),VERCEL_GIT_PREVIOUS_SHA:t.string().optional(),VERCEL_GIT_PULL_REQUEST_ID:t.string().optional()}},n={id:\"neon-vercel\",server:{DATABASE_URL:t.string(),DATABASE_URL_UNPOOLED:t.string().optional(),PGHOST:t.string().optional(),PGHOST_UNPOOLED:t.string().optional(),PGUSER:t.string().optional(),PGDATABASE:t.string().optional(),PGPASSWORD:t.string().optional(),POSTGRES_URL:t.url().optional(),POSTGRES_URL_NON_POOLING:t.url().optional(),POSTGRES_USER:t.string().optional(),POSTGRES_HOST:t.string().optional(),POSTGRES_PASSWORD:t.string().optional(),POSTGRES_DATABASE:t.string().optional(),POSTGRES_URL_NO_SSL:t.url().optional(),POSTGRES_PRISMA_URL:t.url().optional()}},i={id:\"uploadthing\",server:{UPLOADTHING_TOKEN:t.string()}},r={id:\"render\",server:{IS_PULL_REQUEST:t.string().optional(),RENDER_DISCOVERY_SERVICE:t.string().optional(),RENDER_EXTERNAL_HOSTNAME:t.string().optional(),RENDER_EXTERNAL_URL:t.url().optional(),RENDER_GIT_BRANCH:t.string().optional(),RENDER_GIT_COMMIT:t.string().optional(),RENDER_GIT_REPO_SLUG:t.string().optional(),RENDER_INSTANCE_ID:t.string().optional(),RENDER_SERVICE_ID:t.string().optional(),RENDER_SERVICE_NAME:t.string().optional(),RENDER_SERVICE_TYPE:t.enum([\"web\",\"pserv\",\"cron\",\"worker\",\"static\"]).optional(),RENDER:t.string().optional()}},e={id:\"railway\",server:{RAILWAY_PUBLIC_DOMAIN:t.string().optional(),RAILWAY_PRIVATE_DOMAIN:t.string().optional(),RAILWAY_TCP_PROXY_DOMAIN:t.string().optional(),RAILWAY_TCP_PROXY_PORT:t.string().optional(),RAILWAY_TCP_APPLICATION_PORT:t.string().optional(),RAILWAY_PROJECT_NAME:t.string().optional(),RAILWAY_PROJECT_ID:t.string().optional(),RAILWAY_ENVIRONMENT_NAME:t.string().optional(),RAILWAY_ENVIRONMENT_ID:t.string().optional(),RAILWAY_SERVICE_NAME:t.string().optional(),RAILWAY_SERVICE_ID:t.string().optional(),RAILWAY_REPLICA_ID:t.string().optional(),RAILWAY_DEPLOYMENT_ID:t.string().optional(),RAILWAY_SNAPSHOT_ID:t.string().optional(),RAILWAY_VOLUME_NAME:t.string().optional(),RAILWAY_VOLUME_MOUNT_PATH:t.string().optional(),RAILWAY_RUN_UID:t.string().optional(),RAILWAY_GIT_COMMIT_SHA:t.string().optional(),RAILWAY_GIT_AUTHOR_EMAIL:t.string().optional(),RAILWAY_GIT_BRANCH:t.string().optional(),RAILWAY_GIT_REPO_NAME:t.string().optional(),RAILWAY_GIT_REPO_OWNER:t.string().optional(),RAILWAY_GIT_COMMIT_MESSAGE:t.string().optional()}},s={id:\"fly\",server:{FLY_APP_NAME:t.string().optional(),FLY_MACHINE_ID:t.string().optional(),FLY_ALLOC_ID:t.string().optional(),FLY_REGION:t.string().optional(),FLY_PUBLIC_IP:t.string().optional(),FLY_IMAGE_REF:t.string().optional(),FLY_MACHINE_VERSION:t.string().optional(),FLY_PRIVATE_IP:t.string().optional(),FLY_PROCESS_GROUP:t.string().optional(),FLY_VM_MEMORY_MB:t.string().optional(),PRIMARY_REGION:t.string().optional()}},E={id:\"netlify\",server:{NETLIFY:t.string().optional(),BUILD_ID:t.string().optional(),CONTEXT:t.enum([\"production\",\"deploy-preview\",\"branch-deploy\",\"dev\"]).optional(),REPOSITORY_URL:t.string().optional(),BRANCH:t.string().optional(),URL:t.string().optional(),DEPLOY_URL:t.string().optional(),DEPLOY_PRIME_URL:t.string().optional(),DEPLOY_ID:t.string().optional(),SITE_NAME:t.string().optional(),SITE_ID:t.string().optional()}},_={id:\"upstash-redis\",server:{UPSTASH_REDIS_REST_URL:t.url(),UPSTASH_REDIS_REST_TOKEN:t.string()}},p={id:\"coolify\",server:{COOLIFY_FQDN:t.string().optional(),COOLIFY_URL:t.string().optional(),COOLIFY_BRANCH:t.string().optional(),COOLIFY_RESOURCE_UUID:t.string().optional(),COOLIFY_CONTAINER_NAME:t.string().optional(),SOURCE_COMMIT:t.string().optional(),PORT:t.string().optional(),HOST:t.string().optional()}},R={id:\"supabase-vercel\",clientPrefix:\"NEXT_PUBLIC_\",server:{POSTGRES_URL:t.url(),POSTGRES_PRISMA_URL:t.url().optional(),POSTGRES_URL_NON_POOLING:t.url().optional(),POSTGRES_USER:t.string().optional(),POSTGRES_HOST:t.string().optional(),POSTGRES_PASSWORD:t.string().optional(),POSTGRES_DATABASE:t.string().optional(),SUPABASE_SERVICE_ROLE_KEY:t.string().optional(),SUPABASE_ANON_KEY:t.string().optional(),SUPABASE_URL:t.url().optional(),SUPABASE_JWT_SECRET:t.string().optional()},client:{NEXT_PUBLIC_SUPABASE_ANON_KEY:t.string().optional(),NEXT_PUBLIC_SUPABASE_URL:t.url().optional()}},a={id:\"vite\",shared:{BASE_URL:t.string().optional(),MODE:t.string().optional(),DEV:t.boolean().optional(),PROD:t.boolean().optional(),SSR:t.boolean().optional()}},l={id:\"wxt\",server:{MANIFEST_VERSION:t.preprocess(Number,t.union([t.literal(2),t.literal(3)])).optional(),BROWSER:t.enum([\"chrome\",\"firefox\",\"safari\",\"edge\",\"opera\"]).optional(),CHROME:t.boolean().optional(),FIREFOX:t.boolean().optional(),SAFARI:t.boolean().optional(),EDGE:t.boolean().optional(),OPERA:t.boolean().optional()}};export{p as coolify,s as fly,n as neonVercel,E as netlify,e as railway,r as render,R as supabaseVercel,i as uploadthing,_ as upstashRedis,o as vercel,a as vite,l as wxt};\n","import*as t from\"valibot\";var o={id:\"vercel\",server:{VERCEL:t.optional(t.string()),CI:t.optional(t.string()),VERCEL_ENV:t.optional(t.picklist([\"development\",\"preview\",\"production\"]),\"development\"),VERCEL_URL:t.optional(t.string()),VERCEL_PROJECT_PRODUCTION_URL:t.optional(t.string()),VERCEL_BRANCH_URL:t.optional(t.string()),VERCEL_REGION:t.optional(t.string()),VERCEL_DEPLOYMENT_ID:t.optional(t.string()),VERCEL_SKEW_PROTECTION_ENABLED:t.optional(t.string()),VERCEL_AUTOMATION_BYPASS_SECRET:t.optional(t.string()),VERCEL_GIT_PROVIDER:t.optional(t.string()),VERCEL_GIT_REPO_SLUG:t.optional(t.string()),VERCEL_GIT_REPO_OWNER:t.optional(t.string()),VERCEL_GIT_REPO_ID:t.optional(t.string()),VERCEL_GIT_COMMIT_REF:t.optional(t.string()),VERCEL_GIT_COMMIT_SHA:t.optional(t.string()),VERCEL_GIT_COMMIT_MESSAGE:t.optional(t.string()),VERCEL_GIT_COMMIT_AUTHOR_LOGIN:t.optional(t.string()),VERCEL_GIT_COMMIT_AUTHOR_NAME:t.optional(t.string()),VERCEL_GIT_PREVIOUS_SHA:t.optional(t.string()),VERCEL_GIT_PULL_REQUEST_ID:t.optional(t.string())}},i={id:\"neon-vercel\",server:{DATABASE_URL:t.string(),DATABASE_URL_UNPOOLED:t.optional(t.string()),PGHOST:t.optional(t.string()),PGHOST_UNPOOLED:t.optional(t.string()),PGUSER:t.optional(t.string()),PGDATABASE:t.optional(t.string()),PGPASSWORD:t.optional(t.string()),POSTGRES_URL:t.optional(t.pipe(t.string(),t.url())),POSTGRES_URL_NON_POOLING:t.optional(t.pipe(t.string(),t.url())),POSTGRES_USER:t.optional(t.string()),POSTGRES_HOST:t.optional(t.string()),POSTGRES_PASSWORD:t.optional(t.string()),POSTGRES_DATABASE:t.optional(t.string()),POSTGRES_URL_NO_SSL:t.optional(t.pipe(t.string(),t.url())),POSTGRES_PRISMA_URL:t.optional(t.pipe(t.string(),t.url()))}},n={id:\"uploadthing\",server:{UPLOADTHING_TOKEN:t.string()}},v={id:\"render\",server:{IS_PULL_REQUEST:t.optional(t.string()),RENDER_DISCOVERY_SERVICE:t.optional(t.string()),RENDER_EXTERNAL_HOSTNAME:t.optional(t.string()),RENDER_EXTERNAL_URL:t.optional(t.pipe(t.string(),t.url())),RENDER_GIT_BRANCH:t.optional(t.string()),RENDER_GIT_COMMIT:t.optional(t.string()),RENDER_GIT_REPO_SLUG:t.optional(t.string()),RENDER_INSTANCE_ID:t.optional(t.string()),RENDER_SERVICE_ID:t.optional(t.string()),RENDER_SERVICE_NAME:t.optional(t.string()),RENDER_SERVICE_TYPE:t.optional(t.picklist([\"web\",\"pserv\",\"cron\",\"worker\",\"static\"])),RENDER:t.optional(t.string())}},r={id:\"railway\",server:{RAILWAY_PUBLIC_DOMAIN:t.optional(t.string()),RAILWAY_PRIVATE_DOMAIN:t.optional(t.string()),RAILWAY_TCP_PROXY_DOMAIN:t.optional(t.string()),RAILWAY_TCP_PROXY_PORT:t.optional(t.string()),RAILWAY_TCP_APPLICATION_PORT:t.optional(t.string()),RAILWAY_PROJECT_NAME:t.optional(t.string()),RAILWAY_PROJECT_ID:t.optional(t.string()),RAILWAY_ENVIRONMENT_NAME:t.optional(t.string()),RAILWAY_ENVIRONMENT_ID:t.optional(t.string()),RAILWAY_SERVICE_NAME:t.optional(t.string()),RAILWAY_SERVICE_ID:t.optional(t.string()),RAILWAY_REPLICA_ID:t.optional(t.string()),RAILWAY_DEPLOYMENT_ID:t.optional(t.string()),RAILWAY_SNAPSHOT_ID:t.optional(t.string()),RAILWAY_VOLUME_NAME:t.optional(t.string()),RAILWAY_VOLUME_MOUNT_PATH:t.optional(t.string()),RAILWAY_RUN_UID:t.optional(t.string()),RAILWAY_GIT_COMMIT_SHA:t.optional(t.string()),RAILWAY_GIT_AUTHOR_EMAIL:t.optional(t.string()),RAILWAY_GIT_BRANCH:t.optional(t.string()),RAILWAY_GIT_REPO_NAME:t.optional(t.string()),RAILWAY_GIT_REPO_OWNER:t.optional(t.string()),RAILWAY_GIT_COMMIT_MESSAGE:t.optional(t.string())}},s={id:\"fly\",server:{FLY_APP_NAME:t.optional(t.string()),FLY_MACHINE_ID:t.optional(t.string()),FLY_ALLOC_ID:t.optional(t.string()),FLY_REGION:t.optional(t.string()),FLY_PUBLIC_IP:t.optional(t.string()),FLY_IMAGE_REF:t.optional(t.string()),FLY_MACHINE_VERSION:t.optional(t.string()),FLY_PRIVATE_IP:t.optional(t.string()),FLY_PROCESS_GROUP:t.optional(t.string()),FLY_VM_MEMORY_MB:t.optional(t.string()),PRIMARY_REGION:t.optional(t.string())}},e={id:\"netlify\",server:{NETLIFY:t.optional(t.string()),BUILD_ID:t.optional(t.string()),CONTEXT:t.optional(t.picklist([\"production\",\"deploy-preview\",\"branch-deploy\",\"dev\"])),REPOSITORY_URL:t.optional(t.string()),BRANCH:t.optional(t.string()),URL:t.optional(t.string()),DEPLOY_URL:t.optional(t.string()),DEPLOY_PRIME_URL:t.optional(t.string()),DEPLOY_ID:t.optional(t.string()),SITE_NAME:t.optional(t.string()),SITE_ID:t.optional(t.string())}},p={id:\"upstash-redis\",server:{UPSTASH_REDIS_REST_URL:t.pipe(t.string(),t.url()),UPSTASH_REDIS_REST_TOKEN:t.string()}},E={id:\"coolify\",server:{COOLIFY_FQDN:t.optional(t.string()),COOLIFY_URL:t.optional(t.string()),COOLIFY_BRANCH:t.optional(t.string()),COOLIFY_RESOURCE_UUID:t.optional(t.string()),COOLIFY_CONTAINER_NAME:t.optional(t.string()),SOURCE_COMMIT:t.optional(t.string()),PORT:t.optional(t.string()),HOST:t.optional(t.string())}},_={id:\"supabase-vercel\",clientPrefix:\"NEXT_PUBLIC_\",server:{POSTGRES_URL:t.pipe(t.string(),t.url()),POSTGRES_PRISMA_URL:t.optional(t.pipe(t.string(),t.url())),POSTGRES_URL_NON_POOLING:t.optional(t.pipe(t.string(),t.url())),POSTGRES_USER:t.optional(t.string()),POSTGRES_HOST:t.optional(t.string()),POSTGRES_PASSWORD:t.optional(t.string()),POSTGRES_DATABASE:t.optional(t.string()),SUPABASE_SERVICE_ROLE_KEY:t.optional(t.string()),SUPABASE_ANON_KEY:t.optional(t.string()),SUPABASE_URL:t.optional(t.pipe(t.string(),t.url())),SUPABASE_JWT_SECRET:t.optional(t.string())},client:{NEXT_PUBLIC_SUPABASE_ANON_KEY:t.optional(t.string()),NEXT_PUBLIC_SUPABASE_URL:t.optional(t.pipe(t.string(),t.url()))}},R={id:\"vite\",shared:{BASE_URL:t.optional(t.string()),MODE:t.optional(t.string()),DEV:t.optional(t.boolean()),PROD:t.optional(t.boolean()),SSR:t.optional(t.boolean())}},a={id:\"wxt\",server:{MANIFEST_VERSION:t.optional(t.pipe(t.union([t.literal(2),t.literal(3)]),t.transform(Number))),BROWSER:t.optional(t.picklist([\"chrome\",\"firefox\",\"safari\",\"edge\",\"opera\"])),CHROME:t.optional(t.boolean()),FIREFOX:t.optional(t.boolean()),SAFARI:t.optional(t.boolean()),EDGE:t.optional(t.boolean()),OPERA:t.optional(t.boolean())}};export{E as coolify,s as fly,i as neonVercel,e as netlify,r as railway,v as render,_ as supabaseVercel,n as uploadthing,p as upstashRedis,o as vercel,R as vite,a as wxt};\n","import{type as e}from\"arktype\";var t={id:\"vercel\",server:{VERCEL:e(\"string | undefined\"),CI:e(\"string | undefined\"),VERCEL_ENV:e(\"'development'|'preview'|'production' | undefined\"),VERCEL_URL:e(\"string.url | undefined\"),VERCEL_PROJECT_PRODUCTION_URL:e(\"string.url | undefined\"),VERCEL_BRANCH_URL:e(\"string.url | undefined\"),VERCEL_REGION:e(\"string | undefined\"),VERCEL_DEPLOYMENT_ID:e(\"string | undefined\"),VERCEL_SKEW_PROTECTION_ENABLED:e(\"string | undefined\"),VERCEL_AUTOMATION_BYPASS_SECRET:e(\"string | undefined\"),VERCEL_GIT_PROVIDER:e(\"string | undefined\"),VERCEL_GIT_REPO_SLUG:e(\"string | undefined\"),VERCEL_GIT_REPO_OWNER:e(\"string | undefined\"),VERCEL_GIT_REPO_ID:e(\"string | undefined\"),VERCEL_GIT_COMMIT_REF:e(\"string | undefined\"),VERCEL_GIT_COMMIT_SHA:e(\"string | undefined\"),VERCEL_GIT_COMMIT_MESSAGE:e(\"string | undefined\"),VERCEL_GIT_COMMIT_AUTHOR_LOGIN:e(\"string | undefined\"),VERCEL_GIT_COMMIT_AUTHOR_NAME:e(\"string | undefined\"),VERCEL_GIT_PREVIOUS_SHA:e(\"string | undefined\"),VERCEL_GIT_PULL_REQUEST_ID:e(\"string | undefined\")}},d={id:\"neon-vercel\",server:{DATABASE_URL:e(\"string.url\"),DATABASE_URL_UNPOOLED:e(\"string.url | undefined\"),PGHOST:e(\"string | undefined\"),PGHOST_UNPOOLED:e(\"string | undefined\"),PGUSER:e(\"string | undefined\"),PGDATABASE:e(\"string | undefined\"),PGPASSWORD:e(\"string | undefined\"),POSTGRES_URL:e(\"string.url | undefined\"),POSTGRES_URL_NON_POOLING:e(\"string.url | undefined\"),POSTGRES_USER:e(\"string | undefined\"),POSTGRES_HOST:e(\"string | undefined\"),POSTGRES_PASSWORD:e(\"string | undefined\"),POSTGRES_DATABASE:e(\"string | undefined\"),POSTGRES_URL_NO_SSL:e(\"string.url | undefined\"),POSTGRES_PRISMA_URL:e(\"string.url | undefined\")}},r={id:\"uploadthing\",server:{UPLOADTHING_TOKEN:e(\"string\")}},s={id:\"render\",server:{IS_PULL_REQUEST:e(\"string | undefined\"),RENDER_DISCOVERY_SERVICE:e(\"string | undefined\"),RENDER_EXTERNAL_HOSTNAME:e(\"string | undefined\"),RENDER_EXTERNAL_URL:e(\"string.url | undefined\"),RENDER_GIT_BRANCH:e(\"string | undefined\"),RENDER_GIT_COMMIT:e(\"string | undefined\"),RENDER_GIT_REPO_SLUG:e(\"string | undefined\"),RENDER_INSTANCE_ID:e(\"string | undefined\"),RENDER_SERVICE_ID:e(\"string | undefined\"),RENDER_SERVICE_NAME:e(\"string | undefined\"),RENDER_SERVICE_TYPE:e(\"'web'|'pserv'|'cron'|'worker'|'static' | undefined\"),RENDER:e(\"string | undefined\")}},E={id:\"railway\",server:{RAILWAY_PUBLIC_DOMAIN:e(\"string.url | undefined\"),RAILWAY_PRIVATE_DOMAIN:e(\"string.url | undefined\"),RAILWAY_TCP_PROXY_DOMAIN:e(\"string.url | undefined\"),RAILWAY_TCP_PROXY_PORT:e(\"string | undefined\"),RAILWAY_TCP_APPLICATION_PORT:e(\"string | undefined\"),RAILWAY_PROJECT_NAME:e(\"string | undefined\"),RAILWAY_PROJECT_ID:e(\"string | undefined\"),RAILWAY_ENVIRONMENT_NAME:e(\"string | undefined\"),RAILWAY_ENVIRONMENT_ID:e(\"string | undefined\"),RAILWAY_SERVICE_NAME:e(\"string | undefined\"),RAILWAY_SERVICE_ID:e(\"string | undefined\"),RAILWAY_REPLICA_ID:e(\"string | undefined\"),RAILWAY_DEPLOYMENT_ID:e(\"string | undefined\"),RAILWAY_SNAPSHOT_ID:e(\"string | undefined\"),RAILWAY_VOLUME_NAME:e(\"string | undefined\"),RAILWAY_VOLUME_MOUNT_PATH:e(\"string | undefined\"),RAILWAY_RUN_UID:e(\"string | undefined\"),RAILWAY_GIT_COMMIT_SHA:e(\"string | undefined\"),RAILWAY_GIT_AUTHOR_EMAIL:e(\"string | undefined\"),RAILWAY_GIT_BRANCH:e(\"string | undefined\"),RAILWAY_GIT_REPO_NAME:e(\"string | undefined\"),RAILWAY_GIT_REPO_OWNER:e(\"string | undefined\"),RAILWAY_GIT_COMMIT_MESSAGE:e(\"string | undefined\")}},_={id:\"fly\",server:{FLY_APP_NAME:e(\"string | undefined\"),FLY_MACHINE_ID:e(\"string | undefined\"),FLY_ALLOC_ID:e(\"string | undefined\"),FLY_REGION:e(\"string | undefined\"),FLY_PUBLIC_IP:e(\"string | undefined\"),FLY_IMAGE_REF:e(\"string | undefined\"),FLY_MACHINE_VERSION:e(\"string | undefined\"),FLY_PRIVATE_IP:e(\"string | undefined\"),FLY_PROCESS_GROUP:e(\"string | undefined\"),FLY_VM_MEMORY_MB:e(\"string | undefined\"),PRIMARY_REGION:e(\"string | undefined\")}},R={id:\"netlify\",server:{NETLIFY:e(\"string | undefined\"),BUILD_ID:e(\"string | undefined\"),CONTEXT:e(\"'production'|'deploy-preview'|'branch-deploy'|'dev' | undefined\"),REPOSITORY_URL:e(\"string.url | undefined\"),BRANCH:e(\"string | undefined\"),URL:e(\"string.url | undefined\"),DEPLOY_URL:e(\"string.url | undefined\"),DEPLOY_PRIME_URL:e(\"string.url | undefined\"),DEPLOY_ID:e(\"string | undefined\"),SITE_NAME:e(\"string | undefined\"),SITE_ID:e(\"string | undefined\")}},u={id:\"upstash-redis\",server:{UPSTASH_REDIS_REST_URL:e(\"string.url\"),UPSTASH_REDIS_REST_TOKEN:e(\"string\")}},f={id:\"coolify\",server:{COOLIFY_FQDN:e(\"string | undefined\"),COOLIFY_URL:e(\"string | undefined\"),COOLIFY_BRANCH:e(\"string | undefined\"),COOLIFY_RESOURCE_UUID:e(\"string | undefined\"),COOLIFY_CONTAINER_NAME:e(\"string | undefined\"),SOURCE_COMMIT:e(\"string | undefined\"),PORT:e(\"string | undefined\"),HOST:e(\"string | undefined\")}},I={id:\"supabase-vercel\",clientPrefix:\"NEXT_PUBLIC_\",server:{POSTGRES_URL:e(\"string\"),POSTGRES_PRISMA_URL:e(\"string | undefined\"),POSTGRES_URL_NON_POOLING:e(\"string | undefined\"),POSTGRES_USER:e(\"string | undefined\"),POSTGRES_HOST:e(\"string | undefined\"),POSTGRES_PASSWORD:e(\"string | undefined\"),POSTGRES_DATABASE:e(\"string | undefined\"),SUPABASE_SERVICE_ROLE_KEY:e(\"string | undefined\"),SUPABASE_ANON_KEY:e(\"string | undefined\"),SUPABASE_URL:e(\"string | undefined\"),SUPABASE_JWT_SECRET:e(\"string | undefined\")},client:{NEXT_PUBLIC_SUPABASE_ANON_KEY:e(\"string | undefined\"),NEXT_PUBLIC_SUPABASE_URL:e(\"string | undefined\")}},O={id:\"vite\",shared:{BASE_URL:e(\"string | undefined\"),MODE:e(\"string | undefined\"),DEV:e(\"boolean | undefined\"),PROD:e(\"boolean | undefined\"),SSR:e(\"boolean | undefined\")}},A={id:\"wxt\",server:{MANIFEST_VERSION:e(\"'2' | '3' | undefined\").pipe(n=>n?Number.parseInt(n,10):void 0),BROWSER:e(\"'chrome'|'firefox'|'safari'|'edge'|'opera' | undefined\"),CHROME:e(\"boolean | undefined\"),FIREFOX:e(\"boolean | undefined\"),SAFARI:e(\"boolean | undefined\"),EDGE:e(\"boolean | undefined\"),OPERA:e(\"boolean | undefined\")}};export{f as coolify,_ as fly,d as neonVercel,R as netlify,E as railway,s as render,I as supabaseVercel,r as uploadthing,u as upstashRedis,t as vercel,O as vite,A as wxt};\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"символів\", verb: \"матиме\" },\n file: { unit: \"байтів\", verb: \"матиме\" },\n array: { unit: \"елементів\", verb: \"матиме\" },\n set: { unit: \"елементів\", verb: \"матиме\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"число\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"масив\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"вхідні дані\",\n email: \"адреса електронної пошти\",\n url: \"URL\",\n emoji: \"емодзі\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"дата та час ISO\",\n date: \"дата ISO\",\n time: \"час ISO\",\n duration: \"тривалість ISO\",\n ipv4: \"адреса IPv4\",\n ipv6: \"адреса IPv6\",\n cidrv4: \"діапазон IPv4\",\n cidrv6: \"діапазон IPv6\",\n base64: \"рядок у кодуванні base64\",\n base64url: \"рядок у кодуванні base64url\",\n json_string: \"рядок JSON\",\n e164: \"номер E.164\",\n jwt: \"JWT\",\n template_literal: \"вхідні дані\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${parsedType(issue.input)}`;\n // return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Неправильні вхідні дані: очікується ${util.stringifyPrimitive(issue.values[0])}`;\n return `Неправильна опція: очікується одне з ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Занадто велике: очікується, що ${issue.origin ?? \"значення\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"елементів\"}`;\n return `Занадто велике: очікується, що ${issue.origin ?? \"значення\"} буде ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Неправильний рядок: повинен починатися з \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Неправильний рядок: повинен закінчуватися на \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Неправильний рядок: повинен містити \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;\n return `Неправильний ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Неправильне число: повинно бути кратним ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Нерозпізнаний ключ${issue.keys.length > 1 ? \"і\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Неправильний ключ у ${issue.origin}`;\n case \"invalid_union\":\n return \"Неправильні вхідні дані\";\n case \"invalid_element\":\n return `Неправильне значення у ${issue.origin}`;\n default:\n return `Неправильні вхідні дані`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"حرف\", verb: \"أن يحوي\" },\n file: { unit: \"بايت\", verb: \"أن يحوي\" },\n array: { unit: \"عنصر\", verb: \"أن يحوي\" },\n set: { unit: \"عنصر\", verb: \"أن يحوي\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"مدخل\",\n email: \"بريد إلكتروني\",\n url: \"رابط\",\n emoji: \"إيموجي\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"تاريخ ووقت بمعيار ISO\",\n date: \"تاريخ بمعيار ISO\",\n time: \"وقت بمعيار ISO\",\n duration: \"مدة بمعيار ISO\",\n ipv4: \"عنوان IPv4\",\n ipv6: \"عنوان IPv6\",\n cidrv4: \"مدى عناوين بصيغة IPv4\",\n cidrv6: \"مدى عناوين بصيغة IPv6\",\n base64: \"نَص بترميز base64-encoded\",\n base64url: \"نَص بترميز base64url-encoded\",\n json_string: \"نَص على هيئة JSON\",\n e164: \"رقم هاتف بمعيار E.164\",\n jwt: \"JWT\",\n template_literal: \"مدخل\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `مدخلات غير مقبولة: يفترض إدخال ${issue.expected}، ولكن تم إدخال ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `مدخلات غير مقبولة: يفترض إدخال ${util.stringifyPrimitive(issue.values[0])}`;\n return `اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return ` أكبر من اللازم: يفترض أن تكون ${issue.origin ?? \"القيمة\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"عنصر\"}`;\n return `أكبر من اللازم: يفترض أن تكون ${issue.origin ?? \"القيمة\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `نَص غير مقبول: يجب أن يبدأ بـ \"${issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `نَص غير مقبول: يجب أن ينتهي بـ \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `نَص غير مقبول: يجب أن يتضمَّن \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} غير مقبول`;\n }\n case \"not_multiple_of\":\n return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `معرف${issue.keys.length > 1 ? \"ات\" : \"\"} غريب${issue.keys.length > 1 ? \"ة\" : \"\"}: ${util.joinValues(issue.keys, \"، \")}`;\n case \"invalid_key\":\n return `معرف غير مقبول في ${issue.origin}`;\n case \"invalid_union\":\n return \"مدخل غير مقبول\";\n case \"invalid_element\":\n return `مدخل غير مقبول في ${issue.origin}`;\n default:\n return \"مدخل غير مقبول\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"simvol\", verb: \"olmalıdır\" },\n file: { unit: \"bayt\", verb: \"olmalıdır\" },\n array: { unit: \"element\", verb: \"olmalıdır\" },\n set: { unit: \"element\", verb: \"olmalıdır\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Yanlış dəyər: gözlənilən ${issue.expected}, daxil olan ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Yanlış dəyər: gözlənilən ${util.stringifyPrimitive(issue.values[0])}`;\n return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Çox böyük: gözlənilən ${issue.origin ?? \"dəyər\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `Çox böyük: gözlənilən ${issue.origin ?? \"dəyər\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Yanlış mətn: \"${_issue.prefix}\" ilə başlamalıdır`;\n if (_issue.format === \"ends_with\")\n return `Yanlış mətn: \"${_issue.suffix}\" ilə bitməlidir`;\n if (_issue.format === \"includes\")\n return `Yanlış mətn: \"${_issue.includes}\" daxil olmalıdır`;\n if (_issue.format === \"regex\")\n return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;\n return `Yanlış ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Yanlış ədəd: ${issue.divisor} ilə bölünə bilən olmalıdır`;\n case \"unrecognized_keys\":\n return `Tanınmayan açar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} daxilində yanlış açar`;\n case \"invalid_union\":\n return \"Yanlış dəyər\";\n case \"invalid_element\":\n return `${issue.origin} daxilində yanlış dəyər`;\n default:\n return `Yanlış dəyər`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nfunction getBelarusianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"сімвал\",\n few: \"сімвалы\",\n many: \"сімвалаў\",\n },\n verb: \"мець\",\n },\n array: {\n unit: {\n one: \"элемент\",\n few: \"элементы\",\n many: \"элементаў\",\n },\n verb: \"мець\",\n },\n set: {\n unit: {\n one: \"элемент\",\n few: \"элементы\",\n many: \"элементаў\",\n },\n verb: \"мець\",\n },\n file: {\n unit: {\n one: \"байт\",\n few: \"байты\",\n many: \"байтаў\",\n },\n verb: \"мець\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"лік\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"масіў\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"увод\",\n email: \"email адрас\",\n url: \"URL\",\n emoji: \"эмодзі\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO дата і час\",\n date: \"ISO дата\",\n time: \"ISO час\",\n duration: \"ISO працягласць\",\n ipv4: \"IPv4 адрас\",\n ipv6: \"IPv6 адрас\",\n cidrv4: \"IPv4 дыяпазон\",\n cidrv6: \"IPv6 дыяпазон\",\n base64: \"радок у фармаце base64\",\n base64url: \"радок у фармаце base64url\",\n json_string: \"JSON радок\",\n e164: \"нумар E.164\",\n jwt: \"JWT\",\n template_literal: \"увод\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Няправільны ўвод: чакаўся ${issue.expected}, атрымана ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Няправільны ўвод: чакалася ${util.stringifyPrimitive(issue.values[0])}`;\n return `Няправільны варыянт: чакаўся адзін з ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `Занадта вялікі: чакалася, што ${issue.origin ?? \"значэнне\"} павінна ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `Занадта вялікі: чакалася, што ${issue.origin ?? \"значэнне\"} павінна быць ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `Занадта малы: чакалася, што ${issue.origin} павінна ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `Занадта малы: чакалася, што ${issue.origin} павінна быць ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Няправільны радок: павінен пачынацца з \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Няправільны радок: павінен заканчвацца на \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Няправільны радок: павінен змяшчаць \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;\n return `Няправільны ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Няправільны лік: павінен быць кратным ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Нераспазнаны ${issue.keys.length > 1 ? \"ключы\" : \"ключ\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Няправільны ключ у ${issue.origin}`;\n case \"invalid_union\":\n return \"Няправільны ўвод\";\n case \"invalid_element\":\n return `Няправільнае значэнне ў ${issue.origin}`;\n default:\n return `Няправільны ўвод`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caràcters\", verb: \"contenir\" },\n file: { unit: \"bytes\", verb: \"contenir\" },\n array: { unit: \"elements\", verb: \"contenir\" },\n set: { unit: \"elements\", verb: \"contenir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"entrada\",\n email: \"adreça electrònica\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"durada ISO\",\n ipv4: \"adreça IPv4\",\n ipv6: \"adreça IPv6\",\n cidrv4: \"rang IPv4\",\n cidrv6: \"rang IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"cadena codificada en base64url\",\n json_string: \"cadena JSON\",\n e164: \"número E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${parsedType(issue.input)}`;\n // return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Valor invàlid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opció invàlida: s'esperava una de ${util.joinValues(issue.values, \" o \")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"com a màxim\" : \"menys de\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} contingués ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} fos ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"com a mínim\" : \"més de\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Massa petit: s'esperava que ${issue.origin} contingués ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Format invàlid: ha de començar amb \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Format invàlid: ha d'acabar amb \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Format invàlid: ha d'incloure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;\n return `Format invàlid per a ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Número invàlid: ha de ser múltiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clau${issue.keys.length > 1 ? \"s\" : \"\"} no reconeguda${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clau invàlida a ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada invàlida\"; // Could also be \"Tipus d'unió invàlid\" but \"Entrada invàlida\" is more general\n case \"invalid_element\":\n return `Element invàlid a ${issue.origin}`;\n default:\n return `Entrada invàlida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znaků\", verb: \"mít\" },\n file: { unit: \"bajtů\", verb: \"mít\" },\n array: { unit: \"prvků\", verb: \"mít\" },\n set: { unit: \"prvků\", verb: \"mít\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"číslo\";\n }\n case \"string\": {\n return \"řetězec\";\n }\n case \"boolean\": {\n return \"boolean\";\n }\n case \"bigint\": {\n return \"bigint\";\n }\n case \"function\": {\n return \"funkce\";\n }\n case \"symbol\": {\n return \"symbol\";\n }\n case \"undefined\": {\n return \"undefined\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"pole\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"regulární výraz\",\n email: \"e-mailová adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"datum a čas ve formátu ISO\",\n date: \"datum ve formátu ISO\",\n time: \"čas ve formátu ISO\",\n duration: \"doba trvání ISO\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n cidrv4: \"rozsah IPv4\",\n cidrv6: \"rozsah IPv6\",\n base64: \"řetězec zakódovaný ve formátu base64\",\n base64url: \"řetězec zakódovaný ve formátu base64url\",\n json_string: \"řetězec ve formátu JSON\",\n e164: \"číslo E.164\",\n jwt: \"JWT\",\n template_literal: \"vstup\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Neplatný vstup: očekáváno ${issue.expected}, obdrženo ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neplatný vstup: očekáváno ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neplatná možnost: očekávána jedna z hodnot ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je příliš velká: ${issue.origin ?? \"hodnota\"} musí mít ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"prvků\"}`;\n }\n return `Hodnota je příliš velká: ${issue.origin ?? \"hodnota\"} musí být ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je příliš malá: ${issue.origin ?? \"hodnota\"} musí mít ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"prvků\"}`;\n }\n return `Hodnota je příliš malá: ${issue.origin ?? \"hodnota\"} musí být ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neplatný řetězec: musí začínat na \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neplatný řetězec: musí končit na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neplatný řetězec: musí obsahovat \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;\n return `Neplatný formát ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neplatné číslo: musí být násobkem ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neznámé klíče: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neplatný klíč v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neplatný vstup\";\n case \"invalid_element\":\n return `Neplatná hodnota v ${issue.origin}`;\n default:\n return `Neplatný vstup`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"havde\" },\n file: { unit: \"bytes\", verb: \"havde\" },\n array: { unit: \"elementer\", verb: \"indeholdt\" },\n set: { unit: \"elementer\", verb: \"indeholdt\" },\n };\n const TypeNames = {\n string: \"streng\",\n number: \"tal\",\n boolean: \"boolean\",\n array: \"liste\",\n object: \"objekt\",\n set: \"sæt\",\n file: \"fil\",\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n function getTypeName(type) {\n return TypeNames[type] ?? type;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"tal\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"liste\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n return \"objekt\";\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"e-mailadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslæt\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslæt\",\n duration: \"ISO-varighed\",\n ipv4: \"IPv4-område\",\n ipv6: \"IPv6-område\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodet streng\",\n base64url: \"base64url-kodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ugyldigt input: forventede ${getTypeName(issue.expected)}, fik ${getTypeName(parsedType(issue.input))}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig værdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldigt valg: forventede en af følgende ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = getTypeName(issue.origin);\n if (sizing)\n return `For stor: forventede ${origin ?? \"value\"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor: forventede ${origin ?? \"value\"} havde ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = getTypeName(issue.origin);\n if (sizing) {\n return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: skal starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: skal ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: skal indeholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;\n return `Ugyldig ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldigt tal: skal være deleligt med ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukendte nøgler\" : \"Ukendt nøgle\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig nøgle i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldigt input: matcher ingen af de tilladte typer\";\n case \"invalid_element\":\n return `Ugyldig værdi i ${issue.origin}`;\n default:\n return `Ugyldigt input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"Zeichen\", verb: \"zu haben\" },\n file: { unit: \"Bytes\", verb: \"zu haben\" },\n array: { unit: \"Elemente\", verb: \"zu haben\" },\n set: { unit: \"Elemente\", verb: \"zu haben\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"Zahl\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"Array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"Eingabe\",\n email: \"E-Mail-Adresse\",\n url: \"URL\",\n emoji: \"Emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-Datum und -Uhrzeit\",\n date: \"ISO-Datum\",\n time: \"ISO-Uhrzeit\",\n duration: \"ISO-Dauer\",\n ipv4: \"IPv4-Adresse\",\n ipv6: \"IPv6-Adresse\",\n cidrv4: \"IPv4-Bereich\",\n cidrv6: \"IPv6-Bereich\",\n base64: \"Base64-codierter String\",\n base64url: \"Base64-URL-codierter String\",\n json_string: \"JSON-String\",\n e164: \"E.164-Nummer\",\n jwt: \"JWT\",\n template_literal: \"Eingabe\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ungültige Eingabe: erwartet ${issue.expected}, erhalten ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ungültige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ungültige Option: erwartet eine von ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Zu groß: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"Elemente\"} hat`;\n return `Zu groß: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ist`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;\n }\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ungültiger String: muss mit \"${_issue.prefix}\" beginnen`;\n if (_issue.format === \"ends_with\")\n return `Ungültiger String: muss mit \"${_issue.suffix}\" enden`;\n if (_issue.format === \"includes\")\n return `Ungültiger String: muss \"${_issue.includes}\" enthalten`;\n if (_issue.format === \"regex\")\n return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;\n return `Ungültig: ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ungültige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Unbekannte Schlüssel\" : \"Unbekannter Schlüssel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ungültiger Schlüssel in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ungültige Eingabe\";\n case \"invalid_element\":\n return `Ungültiger Wert in ${issue.origin}`;\n default:\n return `Ungültige Eingabe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"tener\" },\n file: { unit: \"bytes\", verb: \"tener\" },\n array: { unit: \"elementos\", verb: \"tener\" },\n set: { unit: \"elementos\", verb: \"tener\" },\n };\n const TypeNames = {\n string: \"texto\",\n number: \"número\",\n boolean: \"booleano\",\n array: \"arreglo\",\n object: \"objeto\",\n set: \"conjunto\",\n file: \"archivo\",\n date: \"fecha\",\n bigint: \"número grande\",\n symbol: \"símbolo\",\n undefined: \"indefinido\",\n null: \"nulo\",\n function: \"función\",\n map: \"mapa\",\n record: \"registro\",\n tuple: \"tupla\",\n enum: \"enumeración\",\n union: \"unión\",\n literal: \"literal\",\n promise: \"promesa\",\n void: \"vacío\",\n never: \"nunca\",\n unknown: \"desconocido\",\n any: \"cualquiera\",\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n function getTypeName(type) {\n return TypeNames[type] ?? type;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype) {\n return data.constructor.name;\n }\n return \"object\";\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"entrada\",\n email: \"dirección de correo electrónico\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"fecha y hora ISO\",\n date: \"fecha ISO\",\n time: \"hora ISO\",\n duration: \"duración ISO\",\n ipv4: \"dirección IPv4\",\n ipv6: \"dirección IPv6\",\n cidrv4: \"rango IPv4\",\n cidrv6: \"rango IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"URL codificada en base64\",\n json_string: \"cadena JSON\",\n e164: \"número E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Entrada inválida: se esperaba ${getTypeName(issue.expected)}, recibido ${getTypeName(parsedType(issue.input))}`;\n // return `Entrada inválida: se esperaba ${issue.expected}, recibido ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inválida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opción inválida: se esperaba una de ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = getTypeName(issue.origin);\n if (sizing)\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} fuera ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = getTypeName(issue.origin);\n if (sizing) {\n return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cadena inválida: debe comenzar con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cadena inválida: debe terminar en \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cadena inválida: debe incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;\n return `Inválido ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Número inválido: debe ser múltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Llave${issue.keys.length > 1 ? \"s\" : \"\"} desconocida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Llave inválida en ${getTypeName(issue.origin)}`;\n case \"invalid_union\":\n return \"Entrada inválida\";\n case \"invalid_element\":\n return `Valor inválido en ${getTypeName(issue.origin)}`;\n default:\n return `Entrada inválida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"کاراکتر\", verb: \"داشته باشد\" },\n file: { unit: \"بایت\", verb: \"داشته باشد\" },\n array: { unit: \"آیتم\", verb: \"داشته باشد\" },\n set: { unit: \"آیتم\", verb: \"داشته باشد\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"عدد\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"آرایه\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ورودی\",\n email: \"آدرس ایمیل\",\n url: \"URL\",\n emoji: \"ایموجی\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"تاریخ و زمان ایزو\",\n date: \"تاریخ ایزو\",\n time: \"زمان ایزو\",\n duration: \"مدت زمان ایزو\",\n ipv4: \"IPv4 آدرس\",\n ipv6: \"IPv6 آدرس\",\n cidrv4: \"IPv4 دامنه\",\n cidrv6: \"IPv6 دامنه\",\n base64: \"base64-encoded رشته\",\n base64url: \"base64url-encoded رشته\",\n json_string: \"JSON رشته\",\n e164: \"E.164 عدد\",\n jwt: \"JWT\",\n template_literal: \"ورودی\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `ورودی نامعتبر: می‌بایست ${issue.expected} می‌بود، ${parsedType(issue.input)} دریافت شد`;\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `ورودی نامعتبر: می‌بایست ${util.stringifyPrimitive(issue.values[0])} می‌بود`;\n }\n return `گزینه نامعتبر: می‌بایست یکی از ${util.joinValues(issue.values, \"|\")} می‌بود`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `خیلی بزرگ: ${issue.origin ?? \"مقدار\"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"عنصر\"} باشد`;\n }\n return `خیلی بزرگ: ${issue.origin ?? \"مقدار\"} باید ${adj}${issue.maximum.toString()} باشد`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} باشد`;\n }\n return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} باشد`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `رشته نامعتبر: باید با \"${_issue.prefix}\" شروع شود`;\n }\n if (_issue.format === \"ends_with\") {\n return `رشته نامعتبر: باید با \"${_issue.suffix}\" تمام شود`;\n }\n if (_issue.format === \"includes\") {\n return `رشته نامعتبر: باید شامل \"${_issue.includes}\" باشد`;\n }\n if (_issue.format === \"regex\") {\n return `رشته نامعتبر: باید با الگوی ${_issue.pattern} مطابقت داشته باشد`;\n }\n return `${Nouns[_issue.format] ?? issue.format} نامعتبر`;\n }\n case \"not_multiple_of\":\n return `عدد نامعتبر: باید مضرب ${issue.divisor} باشد`;\n case \"unrecognized_keys\":\n return `کلید${issue.keys.length > 1 ? \"های\" : \"\"} ناشناس: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `کلید ناشناس در ${issue.origin}`;\n case \"invalid_union\":\n return `ورودی نامعتبر`;\n case \"invalid_element\":\n return `مقدار نامعتبر در ${issue.origin}`;\n default:\n return `ورودی نامعتبر`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"merkkiä\", subject: \"merkkijonon\" },\n file: { unit: \"tavua\", subject: \"tiedoston\" },\n array: { unit: \"alkiota\", subject: \"listan\" },\n set: { unit: \"alkiota\", subject: \"joukon\" },\n number: { unit: \"\", subject: \"luvun\" },\n bigint: { unit: \"\", subject: \"suuren kokonaisluvun\" },\n int: { unit: \"\", subject: \"kokonaisluvun\" },\n date: { unit: \"\", subject: \"päivämäärän\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"säännöllinen lauseke\",\n email: \"sähköpostiosoite\",\n url: \"URL-osoite\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-aikaleima\",\n date: \"ISO-päivämäärä\",\n time: \"ISO-aika\",\n duration: \"ISO-kesto\",\n ipv4: \"IPv4-osoite\",\n ipv6: \"IPv6-osoite\",\n cidrv4: \"IPv4-alue\",\n cidrv6: \"IPv6-alue\",\n base64: \"base64-koodattu merkkijono\",\n base64url: \"base64url-koodattu merkkijono\",\n json_string: \"JSON-merkkijono\",\n e164: \"E.164-luku\",\n jwt: \"JWT\",\n template_literal: \"templaattimerkkijono\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Virheellinen tyyppi: odotettiin ${issue.expected}, oli ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Virheellinen syöte: täytyy olla ${util.stringifyPrimitive(issue.values[0])}`;\n return `Virheellinen valinta: täytyy olla yksi seuraavista: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian suuri: ${sizing.subject} täytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian suuri: arvon täytyy olla ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian pieni: ${sizing.subject} täytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian pieni: arvon täytyy olla ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Virheellinen syöte: täytyy alkaa \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Virheellinen syöte: täytyy loppua \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Virheellinen syöte: täytyy sisältää \"${_issue.includes}\"`;\n if (_issue.format === \"regex\") {\n return `Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${_issue.pattern}`;\n }\n return `Virheellinen ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Virheellinen luku: täytyy olla luvun ${issue.divisor} monikerta`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Tuntemattomat avaimet\" : \"Tuntematon avain\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Virheellinen avain tietueessa\";\n case \"invalid_union\":\n return \"Virheellinen unioni\";\n case \"invalid_element\":\n return \"Virheellinen arvo joukossa\";\n default:\n return `Virheellinen syöte`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caractères\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"éléments\", verb: \"avoir\" },\n set: { unit: \"éléments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"nombre\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"tableau\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"entrée\",\n email: \"adresse e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date et heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"durée ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"chaîne encodée en base64\",\n base64url: \"chaîne encodée en base64url\",\n json_string: \"chaîne JSON\",\n e164: \"numéro E.164\",\n jwt: \"JWT\",\n template_literal: \"entrée\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Entrée invalide : ${issue.expected} attendu, ${parsedType(issue.input)} reçu`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrée invalide : ${util.stringifyPrimitive(issue.values[0])} attendu`;\n return `Option invalide : une valeur parmi ${util.joinValues(issue.values, \"|\")} attendue`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"élément(s)\"}`;\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit être ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : ${issue.origin} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : ${issue.origin} doit être ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Chaîne invalide : doit commencer par \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Chaîne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chaîne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chaîne invalide : doit correspondre au modèle ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit être un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clé${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clé invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrée invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entrée invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caractères\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"éléments\", verb: \"avoir\" },\n set: { unit: \"éléments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"entrée\",\n email: \"adresse courriel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date-heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"durée ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"chaîne encodée en base64\",\n base64url: \"chaîne encodée en base64url\",\n json_string: \"chaîne JSON\",\n e164: \"numéro E.164\",\n jwt: \"JWT\",\n template_literal: \"entrée\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Entrée invalide : attendu ${issue.expected}, reçu ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrée invalide : attendu ${util.stringifyPrimitive(issue.values[0])}`;\n return `Option invalide : attendu l'une des valeurs suivantes ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"≤\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} soit ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"≥\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Chaîne invalide : doit commencer par \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Chaîne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chaîne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chaîne invalide : doit correspondre au motif ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit être un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clé${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clé invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrée invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entrée invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n // Hebrew labels + grammatical gender\n const TypeNames = {\n string: { label: \"מחרוזת\", gender: \"f\" },\n number: { label: \"מספר\", gender: \"m\" },\n boolean: { label: \"ערך בוליאני\", gender: \"m\" },\n bigint: { label: \"BigInt\", gender: \"m\" },\n date: { label: \"תאריך\", gender: \"m\" },\n array: { label: \"מערך\", gender: \"m\" },\n object: { label: \"אובייקט\", gender: \"m\" },\n null: { label: \"ערך ריק (null)\", gender: \"m\" },\n undefined: { label: \"ערך לא מוגדר (undefined)\", gender: \"m\" },\n symbol: { label: \"סימבול (Symbol)\", gender: \"m\" },\n function: { label: \"פונקציה\", gender: \"f\" },\n map: { label: \"מפה (Map)\", gender: \"f\" },\n set: { label: \"קבוצה (Set)\", gender: \"f\" },\n file: { label: \"קובץ\", gender: \"m\" },\n promise: { label: \"Promise\", gender: \"m\" },\n NaN: { label: \"NaN\", gender: \"m\" },\n unknown: { label: \"ערך לא ידוע\", gender: \"m\" },\n value: { label: \"ערך\", gender: \"m\" },\n };\n // Sizing units for size-related messages + localized origin labels\n const Sizable = {\n string: { unit: \"תווים\", shortLabel: \"קצר\", longLabel: \"ארוך\" },\n file: { unit: \"בייטים\", shortLabel: \"קטן\", longLabel: \"גדול\" },\n array: { unit: \"פריטים\", shortLabel: \"קטן\", longLabel: \"גדול\" },\n set: { unit: \"פריטים\", shortLabel: \"קטן\", longLabel: \"גדול\" },\n number: { unit: \"\", shortLabel: \"קטן\", longLabel: \"גדול\" }, // no unit\n };\n // Helpers — labels, articles, and verbs\n const typeEntry = (t) => (t ? TypeNames[t] : undefined);\n const typeLabel = (t) => {\n const e = typeEntry(t);\n if (e)\n return e.label;\n // fallback: show raw string if unknown\n return t ?? TypeNames.unknown.label;\n };\n const withDefinite = (t) => `ה${typeLabel(t)}`;\n const verbFor = (t) => {\n const e = typeEntry(t);\n const gender = e?.gender ?? \"m\";\n return gender === \"f\" ? \"צריכה להיות\" : \"צריך להיות\";\n };\n const getSizing = (origin) => {\n if (!origin)\n return null;\n return Sizable[origin] ?? null;\n };\n // Robust type parser for \"received\" — returns a key we understand or a constructor name\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\":\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n case \"object\": {\n if (Array.isArray(data))\n return \"array\";\n if (data === null)\n return \"null\";\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name; // keep as-is (e.g., \"Date\")\n }\n return \"object\";\n }\n default:\n return t;\n }\n };\n const Nouns = {\n regex: { label: \"קלט\", gender: \"m\" },\n email: { label: \"כתובת אימייל\", gender: \"f\" },\n url: { label: \"כתובת רשת\", gender: \"f\" },\n emoji: { label: \"אימוג'י\", gender: \"m\" },\n uuid: { label: \"UUID\", gender: \"m\" },\n nanoid: { label: \"nanoid\", gender: \"m\" },\n guid: { label: \"GUID\", gender: \"m\" },\n cuid: { label: \"cuid\", gender: \"m\" },\n cuid2: { label: \"cuid2\", gender: \"m\" },\n ulid: { label: \"ULID\", gender: \"m\" },\n xid: { label: \"XID\", gender: \"m\" },\n ksuid: { label: \"KSUID\", gender: \"m\" },\n datetime: { label: \"תאריך וזמן ISO\", gender: \"m\" },\n date: { label: \"תאריך ISO\", gender: \"m\" },\n time: { label: \"זמן ISO\", gender: \"m\" },\n duration: { label: \"משך זמן ISO\", gender: \"m\" },\n ipv4: { label: \"כתובת IPv4\", gender: \"f\" },\n ipv6: { label: \"כתובת IPv6\", gender: \"f\" },\n cidrv4: { label: \"טווח IPv4\", gender: \"m\" },\n cidrv6: { label: \"טווח IPv6\", gender: \"m\" },\n base64: { label: \"מחרוזת בבסיס 64\", gender: \"f\" },\n base64url: { label: \"מחרוזת בבסיס 64 לכתובות רשת\", gender: \"f\" },\n json_string: { label: \"מחרוזת JSON\", gender: \"f\" },\n e164: { label: \"מספר E.164\", gender: \"m\" },\n jwt: { label: \"JWT\", gender: \"m\" },\n ends_with: { label: \"קלט\", gender: \"m\" },\n includes: { label: \"קלט\", gender: \"m\" },\n lowercase: { label: \"קלט\", gender: \"m\" },\n starts_with: { label: \"קלט\", gender: \"m\" },\n uppercase: { label: \"קלט\", gender: \"m\" },\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n // Expected type: show without definite article for clearer Hebrew\n const expectedKey = issue.expected;\n const expected = typeLabel(expectedKey);\n // Received: show localized label if known, otherwise constructor/raw\n const receivedKey = parsedType(issue.input);\n const received = TypeNames[receivedKey]?.label ?? receivedKey;\n return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;\n }\n case \"invalid_value\": {\n if (issue.values.length === 1) {\n return `ערך לא תקין: הערך חייב להיות ${util.stringifyPrimitive(issue.values[0])}`;\n }\n // Join values with proper Hebrew formatting\n const stringified = issue.values.map((v) => util.stringifyPrimitive(v));\n if (issue.values.length === 2) {\n return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;\n }\n // For 3+ values: \"a\", \"b\" או \"c\"\n const lastValue = stringified[stringified.length - 1];\n const restValues = stringified.slice(0, -1).join(\", \");\n return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;\n }\n case \"too_big\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.longLabel ?? \"ארוך\"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"או פחות\" : \"לכל היותר\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;\n return `גדול מדי: ${subject} צריך להיות ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"צריכה\" : \"צריך\";\n const comparison = issue.inclusive\n ? `${issue.maximum} ${sizing?.unit ?? \"\"} או פחות`\n : `פחות מ-${issue.maximum} ${sizing?.unit ?? \"\"}`;\n return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.longLabel ?? \"גדול\"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.shortLabel ?? \"קצר\"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"או יותר\" : \"לפחות\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;\n return `קטן מדי: ${subject} צריך להיות ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"צריכה\" : \"צריך\";\n // Special case for singular (minimum === 1)\n if (issue.minimum === 1 && issue.inclusive) {\n const singularPhrase = issue.origin === \"set\" ? \"לפחות פריט אחד\" : \"לפחות פריט אחד\";\n return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;\n }\n const comparison = issue.inclusive\n ? `${issue.minimum} ${sizing?.unit ?? \"\"} או יותר`\n : `יותר מ-${issue.minimum} ${sizing?.unit ?? \"\"}`;\n return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \">=\" : \">\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.shortLabel ?? \"קטן\"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n // These apply to strings — use feminine grammar + ה׳ הידיעה\n if (_issue.format === \"starts_with\")\n return `המחרוזת חייבת להתחיל ב \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `המחרוזת חייבת להסתיים ב \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `המחרוזת חייבת לכלול \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;\n // Handle gender agreement for formats\n const nounEntry = Nouns[_issue.format];\n const noun = nounEntry?.label ?? _issue.format;\n const gender = nounEntry?.gender ?? \"m\";\n const adjective = gender === \"f\" ? \"תקינה\" : \"תקין\";\n return `${noun} לא ${adjective}`;\n }\n case \"not_multiple_of\":\n return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `מפתח${issue.keys.length > 1 ? \"ות\" : \"\"} לא מזוה${issue.keys.length > 1 ? \"ים\" : \"ה\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\": {\n return `שדה לא תקין באובייקט`;\n }\n case \"invalid_union\":\n return \"קלט לא תקין\";\n case \"invalid_element\": {\n const place = withDefinite(issue.origin ?? \"array\");\n return `ערך לא תקין ב${place}`;\n }\n default:\n return `קלט לא תקין`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"legyen\" },\n file: { unit: \"byte\", verb: \"legyen\" },\n array: { unit: \"elem\", verb: \"legyen\" },\n set: { unit: \"elem\", verb: \"legyen\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"szám\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"tömb\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"bemenet\",\n email: \"email cím\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO időbélyeg\",\n date: \"ISO dátum\",\n time: \"ISO idő\",\n duration: \"ISO időintervallum\",\n ipv4: \"IPv4 cím\",\n ipv6: \"IPv6 cím\",\n cidrv4: \"IPv4 tartomány\",\n cidrv6: \"IPv6 tartomány\",\n base64: \"base64-kódolt string\",\n base64url: \"base64url-kódolt string\",\n json_string: \"JSON string\",\n e164: \"E.164 szám\",\n jwt: \"JWT\",\n template_literal: \"bemenet\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Érvénytelen bemenet: a várt érték ${issue.expected}, a kapott érték ${parsedType(issue.input)}`;\n // return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Érvénytelen bemenet: a várt érték ${util.stringifyPrimitive(issue.values[0])}`;\n return `Érvénytelen opció: valamelyik érték várt ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Túl nagy: ${issue.origin ?? \"érték\"} mérete túl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elem\"}`;\n return `Túl nagy: a bemeneti érték ${issue.origin ?? \"érték\"} túl nagy: ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Túl kicsi: a bemeneti érték ${issue.origin} mérete túl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Túl kicsi: a bemeneti érték ${issue.origin} túl kicsi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Érvénytelen string: \"${_issue.prefix}\" értékkel kell kezdődnie`;\n if (_issue.format === \"ends_with\")\n return `Érvénytelen string: \"${_issue.suffix}\" értékkel kell végződnie`;\n if (_issue.format === \"includes\")\n return `Érvénytelen string: \"${_issue.includes}\" értéket kell tartalmaznia`;\n if (_issue.format === \"regex\")\n return `Érvénytelen string: ${_issue.pattern} mintának kell megfelelnie`;\n return `Érvénytelen ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Érvénytelen szám: ${issue.divisor} többszörösének kell lennie`;\n case \"unrecognized_keys\":\n return `Ismeretlen kulcs${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Érvénytelen kulcs ${issue.origin}`;\n case \"invalid_union\":\n return \"Érvénytelen bemenet\";\n case \"invalid_element\":\n return `Érvénytelen érték: ${issue.origin}`;\n default:\n return `Érvénytelen bemenet`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"memiliki\" },\n file: { unit: \"byte\", verb: \"memiliki\" },\n array: { unit: \"item\", verb: \"memiliki\" },\n set: { unit: \"item\", verb: \"memiliki\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"alamat email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tanggal dan waktu format ISO\",\n date: \"tanggal format ISO\",\n time: \"jam format ISO\",\n duration: \"durasi format ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"rentang alamat IPv4\",\n cidrv6: \"rentang alamat IPv6\",\n base64: \"string dengan enkode base64\",\n base64url: \"string dengan enkode base64url\",\n json_string: \"string JSON\",\n e164: \"angka E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Input tidak valid: diharapkan ${issue.expected}, diterima ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak valid: diharapkan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak valid: diharapkan salah satu dari ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} menjadi ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak valid: harus dimulai dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak valid: harus berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak valid: harus menyertakan \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak valid: harus sesuai pola ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} tidak valid`;\n }\n case \"not_multiple_of\":\n return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak valid di ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak valid\";\n case \"invalid_element\":\n return `Nilai tidak valid di ${issue.origin}`;\n default:\n return `Input tidak valid`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caratteri\", verb: \"avere\" },\n file: { unit: \"byte\", verb: \"avere\" },\n array: { unit: \"elementi\", verb: \"avere\" },\n set: { unit: \"elementi\", verb: \"avere\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"numero\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"vettore\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"indirizzo email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e ora ISO\",\n date: \"data ISO\",\n time: \"ora ISO\",\n duration: \"durata ISO\",\n ipv4: \"indirizzo IPv4\",\n ipv6: \"indirizzo IPv6\",\n cidrv4: \"intervallo IPv4\",\n cidrv6: \"intervallo IPv6\",\n base64: \"stringa codificata in base64\",\n base64url: \"URL codificata in base64\",\n json_string: \"stringa JSON\",\n e164: \"numero E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Input non valido: atteso ${issue.expected}, ricevuto ${parsedType(issue.input)}`;\n // return `Input non valido: atteso ${issue.expected}, ricevuto ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input non valido: atteso ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opzione non valida: atteso uno tra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementi\"}`;\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve essere ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Stringa non valida: deve iniziare con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Stringa non valida: deve terminare con \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Stringa non valida: deve includere \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;\n return `Invalid ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chiav${issue.keys.length > 1 ? \"i\" : \"e\"} non riconosciut${issue.keys.length > 1 ? \"e\" : \"a\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chiave non valida in ${issue.origin}`;\n case \"invalid_union\":\n return \"Input non valido\";\n case \"invalid_element\":\n return `Valore non valido in ${issue.origin}`;\n default:\n return `Input non valido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"文字\", verb: \"である\" },\n file: { unit: \"バイト\", verb: \"である\" },\n array: { unit: \"要素\", verb: \"である\" },\n set: { unit: \"要素\", verb: \"である\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"数値\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"配列\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"入力値\",\n email: \"メールアドレス\",\n url: \"URL\",\n emoji: \"絵文字\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO日時\",\n date: \"ISO日付\",\n time: \"ISO時刻\",\n duration: \"ISO期間\",\n ipv4: \"IPv4アドレス\",\n ipv6: \"IPv6アドレス\",\n cidrv4: \"IPv4範囲\",\n cidrv6: \"IPv6範囲\",\n base64: \"base64エンコード文字列\",\n base64url: \"base64urlエンコード文字列\",\n json_string: \"JSON文字列\",\n e164: \"E.164番号\",\n jwt: \"JWT\",\n template_literal: \"入力値\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `無効な入力: ${issue.expected}が期待されましたが、${parsedType(issue.input)}が入力されました`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `無効な入力: ${util.stringifyPrimitive(issue.values[0])}が期待されました`;\n return `無効な選択: ${util.joinValues(issue.values, \"、\")}のいずれかである必要があります`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"以下である\" : \"より小さい\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `大きすぎる値: ${issue.origin ?? \"値\"}は${issue.maximum.toString()}${sizing.unit ?? \"要素\"}${adj}必要があります`;\n return `大きすぎる値: ${issue.origin ?? \"値\"}は${issue.maximum.toString()}${adj}必要があります`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"以上である\" : \"より大きい\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${sizing.unit}${adj}必要があります`;\n return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${adj}必要があります`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `無効な文字列: \"${_issue.prefix}\"で始まる必要があります`;\n if (_issue.format === \"ends_with\")\n return `無効な文字列: \"${_issue.suffix}\"で終わる必要があります`;\n if (_issue.format === \"includes\")\n return `無効な文字列: \"${_issue.includes}\"を含む必要があります`;\n if (_issue.format === \"regex\")\n return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;\n return `無効な${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `無効な数値: ${issue.divisor}の倍数である必要があります`;\n case \"unrecognized_keys\":\n return `認識されていないキー${issue.keys.length > 1 ? \"群\" : \"\"}: ${util.joinValues(issue.keys, \"、\")}`;\n case \"invalid_key\":\n return `${issue.origin}内の無効なキー`;\n case \"invalid_union\":\n return \"無効な入力\";\n case \"invalid_element\":\n return `${issue.origin}内の無効な値`;\n default:\n return `無効な入力`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"តួអក្សរ\", verb: \"គួរមាន\" },\n file: { unit: \"បៃ\", verb: \"គួរមាន\" },\n array: { unit: \"ធាតុ\", verb: \"គួរមាន\" },\n set: { unit: \"ធាតុ\", verb: \"គួរមាន\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"មិនមែនជាលេខ (NaN)\" : \"លេខ\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"អារេ (Array)\";\n }\n if (data === null) {\n return \"គ្មានតម្លៃ (null)\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ទិន្នន័យបញ្ចូល\",\n email: \"អាសយដ្ឋានអ៊ីមែល\",\n url: \"URL\",\n emoji: \"សញ្ញាអារម្មណ៍\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"កាលបរិច្ឆេទ និងម៉ោង ISO\",\n date: \"កាលបរិច្ឆេទ ISO\",\n time: \"ម៉ោង ISO\",\n duration: \"រយៈពេល ISO\",\n ipv4: \"អាសយដ្ឋាន IPv4\",\n ipv6: \"អាសយដ្ឋាន IPv6\",\n cidrv4: \"ដែនអាសយដ្ឋាន IPv4\",\n cidrv6: \"ដែនអាសយដ្ឋាន IPv6\",\n base64: \"ខ្សែអក្សរអ៊ិកូដ base64\",\n base64url: \"ខ្សែអក្សរអ៊ិកូដ base64url\",\n json_string: \"ខ្សែអក្សរ JSON\",\n e164: \"លេខ E.164\",\n jwt: \"JWT\",\n template_literal: \"ទិន្នន័យបញ្ចូល\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;\n return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `ធំពេក៖ ត្រូវការ ${issue.origin ?? \"តម្លៃ\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"ធាតុ\"}`;\n return `ធំពេក៖ ត្រូវការ ${issue.origin ?? \"តម្លៃ\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;\n return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;\n case \"invalid_union\":\n return `ទិន្នន័យមិនត្រឹមត្រូវ`;\n case \"invalid_element\":\n return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;\n default:\n return `ទិន្នន័យមិនត្រឹមត្រូវ`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"знаци\", verb: \"да имаат\" },\n file: { unit: \"бајти\", verb: \"да имаат\" },\n array: { unit: \"ставки\", verb: \"да имаат\" },\n set: { unit: \"ставки\", verb: \"да имаат\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"број\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"низа\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"внес\",\n email: \"адреса на е-пошта\",\n url: \"URL\",\n emoji: \"емоџи\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO датум и време\",\n date: \"ISO датум\",\n time: \"ISO време\",\n duration: \"ISO времетраење\",\n ipv4: \"IPv4 адреса\",\n ipv6: \"IPv6 адреса\",\n cidrv4: \"IPv4 опсег\",\n cidrv6: \"IPv6 опсег\",\n base64: \"base64-енкодирана низа\",\n base64url: \"base64url-енкодирана низа\",\n json_string: \"JSON низа\",\n e164: \"E.164 број\",\n jwt: \"JWT\",\n template_literal: \"внес\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Грешен внес: се очекува ${issue.expected}, примено ${parsedType(issue.input)}`;\n // return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `Грешана опција: се очекува една ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Премногу голем: се очекува ${issue.origin ?? \"вредноста\"} да има ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"елементи\"}`;\n return `Премногу голем: се очекува ${issue.origin ?? \"вредноста\"} да биде ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Премногу мал: се очекува ${issue.origin} да има ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Премногу мал: се очекува ${issue.origin} да биде ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Неважечка низа: мора да започнува со \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Неважечка низа: мора да завршува со \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Неважечка низа: мора да вклучува \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Неважечка низа: мора да одгоара на патернот ${_issue.pattern}`;\n return `Invalid ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Грешен број: мора да биде делив со ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Непрепознаени клучеви\" : \"Непрепознаен клуч\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Грешен клуч во ${issue.origin}`;\n case \"invalid_union\":\n return \"Грешен внес\";\n case \"invalid_element\":\n return `Грешна вредност во ${issue.origin}`;\n default:\n return `Грешен внес`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"aksara\", verb: \"mempunyai\" },\n file: { unit: \"bait\", verb: \"mempunyai\" },\n array: { unit: \"elemen\", verb: \"mempunyai\" },\n set: { unit: \"elemen\", verb: \"mempunyai\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"nombor\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"alamat e-mel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tarikh masa ISO\",\n date: \"tarikh ISO\",\n time: \"masa ISO\",\n duration: \"tempoh ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"julat IPv4\",\n cidrv6: \"julat IPv6\",\n base64: \"string dikodkan base64\",\n base64url: \"string dikodkan base64url\",\n json_string: \"string JSON\",\n e164: \"nombor E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Input tidak sah: dijangka ${issue.expected}, diterima ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak sah: dijangka ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak sah: dijangka salah satu daripada ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} adalah ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak sah: mesti bermula dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak sah: mesti berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak sah: mesti mengandungi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} tidak sah`;\n }\n case \"not_multiple_of\":\n return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak sah dalam ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak sah\";\n case \"invalid_element\":\n return `Nilai tidak sah dalam ${issue.origin}`;\n default:\n return `Input tidak sah`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { noSuggest } from \"./errors.js\";\nconst args = noSuggest(\"args\");\nexport class Hkt {\n constructor() { }\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tekens\", verb: \"te hebben\" },\n file: { unit: \"bytes\", verb: \"te hebben\" },\n array: { unit: \"elementen\", verb: \"te hebben\" },\n set: { unit: \"elementen\", verb: \"te hebben\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"getal\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"invoer\",\n email: \"emailadres\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum en tijd\",\n date: \"ISO datum\",\n time: \"ISO tijd\",\n duration: \"ISO duur\",\n ipv4: \"IPv4-adres\",\n ipv6: \"IPv6-adres\",\n cidrv4: \"IPv4-bereik\",\n cidrv6: \"IPv6-bereik\",\n base64: \"base64-gecodeerde tekst\",\n base64url: \"base64 URL-gecodeerde tekst\",\n json_string: \"JSON string\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"invoer\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ongeldige invoer: verwacht ${issue.expected}, ontving ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ongeldige invoer: verwacht ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ongeldige optie: verwacht één van ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Te groot: verwacht dat ${issue.origin ?? \"waarde\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementen\"}`;\n return `Te groot: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} is`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Te klein: verwacht dat ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Te klein: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ongeldige tekst: moet met \"${_issue.prefix}\" beginnen`;\n }\n if (_issue.format === \"ends_with\")\n return `Ongeldige tekst: moet op \"${_issue.suffix}\" eindigen`;\n if (_issue.format === \"includes\")\n return `Ongeldige tekst: moet \"${_issue.includes}\" bevatten`;\n if (_issue.format === \"regex\")\n return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;\n return `Ongeldig: ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;\n case \"unrecognized_keys\":\n return `Onbekende key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ongeldige key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ongeldige invoer\";\n case \"invalid_element\":\n return `Ongeldige waarde in ${issue.origin}`;\n default:\n return `Ongeldige invoer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"å ha\" },\n file: { unit: \"bytes\", verb: \"å ha\" },\n array: { unit: \"elementer\", verb: \"å inneholde\" },\n set: { unit: \"elementer\", verb: \"å inneholde\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"tall\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"liste\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"input\",\n email: \"e-postadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslett\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslett\",\n duration: \"ISO-varighet\",\n ipv4: \"IPv4-område\",\n ipv6: \"IPv6-område\",\n cidrv4: \"IPv4-spekter\",\n cidrv6: \"IPv6-spekter\",\n base64: \"base64-enkodet streng\",\n base64url: \"base64url-enkodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ugyldig input: forventet ${issue.expected}, fikk ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig verdi: forventet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldig valg: forventet en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til å ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til å ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: må starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: må ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: må inneholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;\n return `Ugyldig ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldig tall: må være et multiplum av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukjente nøkler\" : \"Ukjent nøkkel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig nøkkel i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldig input\";\n case \"invalid_element\":\n return `Ugyldig verdi i ${issue.origin}`;\n default:\n return `Ugyldig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"harf\", verb: \"olmalıdır\" },\n file: { unit: \"bayt\", verb: \"olmalıdır\" },\n array: { unit: \"unsur\", verb: \"olmalıdır\" },\n set: { unit: \"unsur\", verb: \"olmalıdır\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"numara\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"saf\";\n }\n if (data === null) {\n return \"gayb\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"giren\",\n email: \"epostagâh\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO hengâmı\",\n date: \"ISO tarihi\",\n time: \"ISO zamanı\",\n duration: \"ISO müddeti\",\n ipv4: \"IPv4 nişânı\",\n ipv6: \"IPv6 nişânı\",\n cidrv4: \"IPv4 menzili\",\n cidrv6: \"IPv6 menzili\",\n base64: \"base64-şifreli metin\",\n base64url: \"base64url-şifreli metin\",\n json_string: \"JSON metin\",\n e164: \"E.164 sayısı\",\n jwt: \"JWT\",\n template_literal: \"giren\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Fâsit giren: umulan ${issue.expected}, alınan ${parsedType(issue.input)}`;\n // return `Fâsit giren: umulan ${issue.expected}, alınan ${util.getParsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Fâsit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Fâsit tercih: mûteberler ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Fazla büyük: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"} sahip olmalıydı.`;\n return `Fazla büyük: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} olmalıydı.`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;\n }\n return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} olmalıydı.`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Fâsit metin: \"${_issue.prefix}\" ile başlamalı.`;\n if (_issue.format === \"ends_with\")\n return `Fâsit metin: \"${_issue.suffix}\" ile bitmeli.`;\n if (_issue.format === \"includes\")\n return `Fâsit metin: \"${_issue.includes}\" ihtivâ etmeli.`;\n if (_issue.format === \"regex\")\n return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;\n return `Fâsit ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Fâsit sayı: ${issue.divisor} katı olmalıydı.`;\n case \"unrecognized_keys\":\n return `Tanınmayan anahtar ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} için tanınmayan anahtar var.`;\n case \"invalid_union\":\n return \"Giren tanınamadı.\";\n case \"invalid_element\":\n return `${issue.origin} için tanınmayan kıymet var.`;\n default:\n return `Kıymet tanınamadı.`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"توکي\", verb: \"ولري\" },\n file: { unit: \"بایټس\", verb: \"ولري\" },\n array: { unit: \"توکي\", verb: \"ولري\" },\n set: { unit: \"توکي\", verb: \"ولري\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"عدد\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"ارې\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ورودي\",\n email: \"بریښنالیک\",\n url: \"یو آر ال\",\n emoji: \"ایموجي\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"نیټه او وخت\",\n date: \"نېټه\",\n time: \"وخت\",\n duration: \"موده\",\n ipv4: \"د IPv4 پته\",\n ipv6: \"د IPv6 پته\",\n cidrv4: \"د IPv4 ساحه\",\n cidrv6: \"د IPv6 ساحه\",\n base64: \"base64-encoded متن\",\n base64url: \"base64url-encoded متن\",\n json_string: \"JSON متن\",\n e164: \"د E.164 شمېره\",\n jwt: \"JWT\",\n template_literal: \"ورودي\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `ناسم ورودي: باید ${issue.expected} وای, مګر ${parsedType(issue.input)} ترلاسه شو`;\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `ناسم ورودي: باید ${util.stringifyPrimitive(issue.values[0])} وای`;\n }\n return `ناسم انتخاب: باید یو له ${util.joinValues(issue.values, \"|\")} څخه وای`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `ډیر لوی: ${issue.origin ?? \"ارزښت\"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"عنصرونه\"} ولري`;\n }\n return `ډیر لوی: ${issue.origin ?? \"ارزښت\"} باید ${adj}${issue.maximum.toString()} وي`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} ولري`;\n }\n return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} وي`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `ناسم متن: باید د \"${_issue.prefix}\" سره پیل شي`;\n }\n if (_issue.format === \"ends_with\") {\n return `ناسم متن: باید د \"${_issue.suffix}\" سره پای ته ورسيږي`;\n }\n if (_issue.format === \"includes\") {\n return `ناسم متن: باید \"${_issue.includes}\" ولري`;\n }\n if (_issue.format === \"regex\") {\n return `ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;\n }\n return `${Nouns[_issue.format] ?? issue.format} ناسم دی`;\n }\n case \"not_multiple_of\":\n return `ناسم عدد: باید د ${issue.divisor} مضرب وي`;\n case \"unrecognized_keys\":\n return `ناسم ${issue.keys.length > 1 ? \"کلیډونه\" : \"کلیډ\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `ناسم کلیډ په ${issue.origin} کې`;\n case \"invalid_union\":\n return `ناسمه ورودي`;\n case \"invalid_element\":\n return `ناسم عنصر په ${issue.origin} کې`;\n default:\n return `ناسمه ورودي`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znaków\", verb: \"mieć\" },\n file: { unit: \"bajtów\", verb: \"mieć\" },\n array: { unit: \"elementów\", verb: \"mieć\" },\n set: { unit: \"elementów\", verb: \"mieć\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"liczba\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"tablica\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"wyrażenie\",\n email: \"adres email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i godzina w formacie ISO\",\n date: \"data w formacie ISO\",\n time: \"godzina w formacie ISO\",\n duration: \"czas trwania ISO\",\n ipv4: \"adres IPv4\",\n ipv6: \"adres IPv6\",\n cidrv4: \"zakres IPv4\",\n cidrv6: \"zakres IPv6\",\n base64: \"ciąg znaków zakodowany w formacie base64\",\n base64url: \"ciąg znaków zakodowany w formacie base64url\",\n json_string: \"ciąg znaków w formacie JSON\",\n e164: \"liczba E.164\",\n jwt: \"JWT\",\n template_literal: \"wejście\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Nieprawidłowe dane wejściowe: oczekiwano ${issue.expected}, otrzymano ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nieprawidłowe dane wejściowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za duża wartość: oczekiwano, że ${issue.origin ?? \"wartość\"} będzie mieć ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementów\"}`;\n }\n return `Zbyt duż(y/a/e): oczekiwano, że ${issue.origin ?? \"wartość\"} będzie wynosić ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za mała wartość: oczekiwano, że ${issue.origin ?? \"wartość\"} będzie mieć ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"elementów\"}`;\n }\n return `Zbyt mał(y/a/e): oczekiwano, że ${issue.origin ?? \"wartość\"} będzie wynosić ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nieprawidłowy ciąg znaków: musi zaczynać się od \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nieprawidłowy ciąg znaków: musi kończyć się na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nieprawidłowy ciąg znaków: musi zawierać \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;\n return `Nieprawidłow(y/a/e) ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nieprawidłowa liczba: musi być wielokrotnością ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nierozpoznane klucze${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nieprawidłowy klucz w ${issue.origin}`;\n case \"invalid_union\":\n return \"Nieprawidłowe dane wejściowe\";\n case \"invalid_element\":\n return `Nieprawidłowa wartość w ${issue.origin}`;\n default:\n return `Nieprawidłowe dane wejściowe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"ter\" },\n file: { unit: \"bytes\", verb: \"ter\" },\n array: { unit: \"itens\", verb: \"ter\" },\n set: { unit: \"itens\", verb: \"ter\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"número\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"nulo\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"padrão\",\n email: \"endereço de e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"duração ISO\",\n ipv4: \"endereço IPv4\",\n ipv6: \"endereço IPv6\",\n cidrv4: \"faixa de IPv4\",\n cidrv6: \"faixa de IPv6\",\n base64: \"texto codificado em base64\",\n base64url: \"URL codificada em base64\",\n json_string: \"texto JSON\",\n e164: \"número E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Tipo inválido: esperado ${issue.expected}, recebido ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inválida: esperado ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opção inválida: esperada uma das ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} fosse ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Texto inválido: deve começar com \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Texto inválido: deve terminar com \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Texto inválido: deve incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} inválido`;\n }\n case \"not_multiple_of\":\n return `Número inválido: deve ser múltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chave${issue.keys.length > 1 ? \"s\" : \"\"} desconhecida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chave inválida em ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inválida\";\n case \"invalid_element\":\n return `Valor inválido em ${issue.origin}`;\n default:\n return `Campo inválido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"حروف\", verb: \"ہونا\" },\n file: { unit: \"بائٹس\", verb: \"ہونا\" },\n array: { unit: \"آئٹمز\", verb: \"ہونا\" },\n set: { unit: \"آئٹمز\", verb: \"ہونا\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"نمبر\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"آرے\";\n }\n if (data === null) {\n return \"نل\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ان پٹ\",\n email: \"ای میل ایڈریس\",\n url: \"یو آر ایل\",\n emoji: \"ایموجی\",\n uuid: \"یو یو آئی ڈی\",\n uuidv4: \"یو یو آئی ڈی وی 4\",\n uuidv6: \"یو یو آئی ڈی وی 6\",\n nanoid: \"نینو آئی ڈی\",\n guid: \"جی یو آئی ڈی\",\n cuid: \"سی یو آئی ڈی\",\n cuid2: \"سی یو آئی ڈی 2\",\n ulid: \"یو ایل آئی ڈی\",\n xid: \"ایکس آئی ڈی\",\n ksuid: \"کے ایس یو آئی ڈی\",\n datetime: \"آئی ایس او ڈیٹ ٹائم\",\n date: \"آئی ایس او تاریخ\",\n time: \"آئی ایس او وقت\",\n duration: \"آئی ایس او مدت\",\n ipv4: \"آئی پی وی 4 ایڈریس\",\n ipv6: \"آئی پی وی 6 ایڈریس\",\n cidrv4: \"آئی پی وی 4 رینج\",\n cidrv6: \"آئی پی وی 6 رینج\",\n base64: \"بیس 64 ان کوڈڈ سٹرنگ\",\n base64url: \"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ\",\n json_string: \"جے ایس او این سٹرنگ\",\n e164: \"ای 164 نمبر\",\n jwt: \"جے ڈبلیو ٹی\",\n template_literal: \"ان پٹ\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `غلط ان پٹ: ${issue.expected} متوقع تھا، ${parsedType(issue.input)} موصول ہوا`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `غلط ان پٹ: ${util.stringifyPrimitive(issue.values[0])} متوقع تھا`;\n return `غلط آپشن: ${util.joinValues(issue.values, \"|\")} میں سے ایک متوقع تھا`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `بہت بڑا: ${issue.origin ?? \"ویلیو\"} کے ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"عناصر\"} ہونے متوقع تھے`;\n return `بہت بڑا: ${issue.origin ?? \"ویلیو\"} کا ${adj}${issue.maximum.toString()} ہونا متوقع تھا`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `بہت چھوٹا: ${issue.origin} کے ${adj}${issue.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;\n }\n return `بہت چھوٹا: ${issue.origin} کا ${adj}${issue.minimum.toString()} ہونا متوقع تھا`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `غلط سٹرنگ: \"${_issue.prefix}\" سے شروع ہونا چاہیے`;\n }\n if (_issue.format === \"ends_with\")\n return `غلط سٹرنگ: \"${_issue.suffix}\" پر ختم ہونا چاہیے`;\n if (_issue.format === \"includes\")\n return `غلط سٹرنگ: \"${_issue.includes}\" شامل ہونا چاہیے`;\n if (_issue.format === \"regex\")\n return `غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;\n return `غلط ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `غلط نمبر: ${issue.divisor} کا مضاعف ہونا چاہیے`;\n case \"unrecognized_keys\":\n return `غیر تسلیم شدہ کی${issue.keys.length > 1 ? \"ز\" : \"\"}: ${util.joinValues(issue.keys, \"، \")}`;\n case \"invalid_key\":\n return `${issue.origin} میں غلط کی`;\n case \"invalid_union\":\n return \"غلط ان پٹ\";\n case \"invalid_element\":\n return `${issue.origin} میں غلط ویلیو`;\n default:\n return `غلط ان پٹ`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"ký tự\", verb: \"có\" },\n file: { unit: \"byte\", verb: \"có\" },\n array: { unit: \"phần tử\", verb: \"có\" },\n set: { unit: \"phần tử\", verb: \"có\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"số\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"mảng\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"đầu vào\",\n email: \"địa chỉ email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ngày giờ ISO\",\n date: \"ngày ISO\",\n time: \"giờ ISO\",\n duration: \"khoảng thời gian ISO\",\n ipv4: \"địa chỉ IPv4\",\n ipv6: \"địa chỉ IPv6\",\n cidrv4: \"dải IPv4\",\n cidrv6: \"dải IPv6\",\n base64: \"chuỗi mã hóa base64\",\n base64url: \"chuỗi mã hóa base64url\",\n json_string: \"chuỗi JSON\",\n e164: \"số E.164\",\n jwt: \"JWT\",\n template_literal: \"đầu vào\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Đầu vào không hợp lệ: mong đợi ${issue.expected}, nhận được ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Đầu vào không hợp lệ: mong đợi ${util.stringifyPrimitive(issue.values[0])}`;\n return `Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Quá lớn: mong đợi ${issue.origin ?? \"giá trị\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"phần tử\"}`;\n return `Quá lớn: mong đợi ${issue.origin ?? \"giá trị\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Quá nhỏ: mong đợi ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Quá nhỏ: mong đợi ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Chuỗi không hợp lệ: phải bắt đầu bằng \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Chuỗi không hợp lệ: phải kết thúc bằng \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chuỗi không hợp lệ: phải bao gồm \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;\n return `${Nouns[_issue.format] ?? issue.format} không hợp lệ`;\n }\n case \"not_multiple_of\":\n return `Số không hợp lệ: phải là bội số của ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Khóa không được nhận dạng: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Khóa không hợp lệ trong ${issue.origin}`;\n case \"invalid_union\":\n return \"Đầu vào không hợp lệ\";\n case \"invalid_element\":\n return `Giá trị không hợp lệ trong ${issue.origin}`;\n default:\n return `Đầu vào không hợp lệ`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"字符\", verb: \"包含\" },\n file: { unit: \"字节\", verb: \"包含\" },\n array: { unit: \"项\", verb: \"包含\" },\n set: { unit: \"项\", verb: \"包含\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"非数字(NaN)\" : \"数字\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"数组\";\n }\n if (data === null) {\n return \"空值(null)\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"输入\",\n email: \"电子邮件\",\n url: \"URL\",\n emoji: \"表情符号\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO日期时间\",\n date: \"ISO日期\",\n time: \"ISO时间\",\n duration: \"ISO时长\",\n ipv4: \"IPv4地址\",\n ipv6: \"IPv6地址\",\n cidrv4: \"IPv4网段\",\n cidrv6: \"IPv6网段\",\n base64: \"base64编码字符串\",\n base64url: \"base64url编码字符串\",\n json_string: \"JSON字符串\",\n e164: \"E.164号码\",\n jwt: \"JWT\",\n template_literal: \"输入\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `无效输入:期望 ${issue.expected},实际接收 ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `无效输入:期望 ${util.stringifyPrimitive(issue.values[0])}`;\n return `无效选项:期望以下之一 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `数值过大:期望 ${issue.origin ?? \"值\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"个元素\"}`;\n return `数值过大:期望 ${issue.origin ?? \"值\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `无效字符串:必须以 \"${_issue.prefix}\" 开头`;\n if (_issue.format === \"ends_with\")\n return `无效字符串:必须以 \"${_issue.suffix}\" 结尾`;\n if (_issue.format === \"includes\")\n return `无效字符串:必须包含 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `无效字符串:必须满足正则表达式 ${_issue.pattern}`;\n return `无效${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `无效数字:必须是 ${issue.divisor} 的倍数`;\n case \"unrecognized_keys\":\n return `出现未知的键(key): ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} 中的键(key)无效`;\n case \"invalid_union\":\n return \"无效输入\";\n case \"invalid_element\":\n return `${issue.origin} 中包含无效值(value)`;\n default:\n return `无效输入`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"字元\", verb: \"擁有\" },\n file: { unit: \"位元組\", verb: \"擁有\" },\n array: { unit: \"項目\", verb: \"擁有\" },\n set: { unit: \"項目\", verb: \"擁有\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"輸入\",\n email: \"郵件地址\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO 日期時間\",\n date: \"ISO 日期\",\n time: \"ISO 時間\",\n duration: \"ISO 期間\",\n ipv4: \"IPv4 位址\",\n ipv6: \"IPv6 位址\",\n cidrv4: \"IPv4 範圍\",\n cidrv6: \"IPv6 範圍\",\n base64: \"base64 編碼字串\",\n base64url: \"base64url 編碼字串\",\n json_string: \"JSON 字串\",\n e164: \"E.164 數值\",\n jwt: \"JWT\",\n template_literal: \"輸入\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `無效的輸入值:預期為 ${issue.expected},但收到 ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `無效的輸入值:預期為 ${util.stringifyPrimitive(issue.values[0])}`;\n return `無效的選項:預期為以下其中之一 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `數值過大:預期 ${issue.origin ?? \"值\"} 應為 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"個元素\"}`;\n return `數值過大:預期 ${issue.origin ?? \"值\"} 應為 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `無效的字串:必須以 \"${_issue.prefix}\" 開頭`;\n }\n if (_issue.format === \"ends_with\")\n return `無效的字串:必須以 \"${_issue.suffix}\" 結尾`;\n if (_issue.format === \"includes\")\n return `無效的字串:必須包含 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `無效的字串:必須符合格式 ${_issue.pattern}`;\n return `無效的 ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `無效的數字:必須為 ${issue.divisor} 的倍數`;\n case \"unrecognized_keys\":\n return `無法識別的鍵值${issue.keys.length > 1 ? \"們\" : \"\"}:${util.joinValues(issue.keys, \"、\")}`;\n case \"invalid_key\":\n return `${issue.origin} 中有無效的鍵值`;\n case \"invalid_union\":\n return \"無效的輸入值\";\n case \"invalid_element\":\n return `${issue.origin} 中有無效的值`;\n default:\n return `無效的輸入值`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nfunction getRussianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"символ\",\n few: \"символа\",\n many: \"символов\",\n },\n verb: \"иметь\",\n },\n file: {\n unit: {\n one: \"байт\",\n few: \"байта\",\n many: \"байт\",\n },\n verb: \"иметь\",\n },\n array: {\n unit: {\n one: \"элемент\",\n few: \"элемента\",\n many: \"элементов\",\n },\n verb: \"иметь\",\n },\n set: {\n unit: {\n one: \"элемент\",\n few: \"элемента\",\n many: \"элементов\",\n },\n verb: \"иметь\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"число\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"массив\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ввод\",\n email: \"email адрес\",\n url: \"URL\",\n emoji: \"эмодзи\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO дата и время\",\n date: \"ISO дата\",\n time: \"ISO время\",\n duration: \"ISO длительность\",\n ipv4: \"IPv4 адрес\",\n ipv6: \"IPv6 адрес\",\n cidrv4: \"IPv4 диапазон\",\n cidrv6: \"IPv6 диапазон\",\n base64: \"строка в формате base64\",\n base64url: \"строка в формате base64url\",\n json_string: \"JSON строка\",\n e164: \"номер E.164\",\n jwt: \"JWT\",\n template_literal: \"ввод\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Неверный ввод: ожидалось ${issue.expected}, получено ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Неверный ввод: ожидалось ${util.stringifyPrimitive(issue.values[0])}`;\n return `Неверный вариант: ожидалось одно из ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `Слишком большое значение: ожидалось, что ${issue.origin ?? \"значение\"} будет иметь ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `Слишком большое значение: ожидалось, что ${issue.origin ?? \"значение\"} будет ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет иметь ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Неверная строка: должна начинаться с \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Неверная строка: должна заканчиваться на \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Неверная строка: должна содержать \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;\n return `Неверный ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Неверное число: должно быть кратным ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Нераспознанн${issue.keys.length > 1 ? \"ые\" : \"ый\"} ключ${issue.keys.length > 1 ? \"и\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Неверный ключ в ${issue.origin}`;\n case \"invalid_union\":\n return \"Неверные входные данные\";\n case \"invalid_element\":\n return `Неверное значение в ${issue.origin}`;\n default:\n return `Неверные входные данные`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakov\", verb: \"imeti\" },\n file: { unit: \"bajtov\", verb: \"imeti\" },\n array: { unit: \"elementov\", verb: \"imeti\" },\n set: { unit: \"elementov\", verb: \"imeti\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"število\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"tabela\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"vnos\",\n email: \"e-poštni naslov\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum in čas\",\n date: \"ISO datum\",\n time: \"ISO čas\",\n duration: \"ISO trajanje\",\n ipv4: \"IPv4 naslov\",\n ipv6: \"IPv6 naslov\",\n cidrv4: \"obseg IPv4\",\n cidrv6: \"obseg IPv6\",\n base64: \"base64 kodiran niz\",\n base64url: \"base64url kodiran niz\",\n json_string: \"JSON niz\",\n e164: \"E.164 številka\",\n jwt: \"JWT\",\n template_literal: \"vnos\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Neveljaven vnos: pričakovano ${issue.expected}, prejeto ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neveljaven vnos: pričakovano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neveljavna možnost: pričakovano eno izmed ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Preveliko: pričakovano, da bo ${issue.origin ?? \"vrednost\"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementov\"}`;\n return `Preveliko: pričakovano, da bo ${issue.origin ?? \"vrednost\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Premajhno: pričakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Premajhno: pričakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Neveljaven niz: mora se začeti z \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Neveljaven niz: mora se končati z \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neveljaven niz: mora vsebovati \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;\n return `Neveljaven ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neveljavno število: mora biti večkratnik ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neprepoznan${issue.keys.length > 1 ? \"i ključi\" : \" ključ\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neveljaven ključ v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neveljaven vnos\";\n case \"invalid_element\":\n return `Neveljavna vrednost v ${issue.origin}`;\n default:\n return \"Neveljaven vnos\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"àmi\", verb: \"ní\" },\n file: { unit: \"bytes\", verb: \"ní\" },\n array: { unit: \"nkan\", verb: \"ní\" },\n set: { unit: \"nkan\", verb: \"ní\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"nọ́mbà\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"akopọ\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ẹ̀rọ ìbáwọlé\",\n email: \"àdírẹ́sì ìmẹ́lì\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"àkókò ISO\",\n date: \"ọjọ́ ISO\",\n time: \"àkókò ISO\",\n duration: \"àkókò tó pé ISO\",\n ipv4: \"àdírẹ́sì IPv4\",\n ipv6: \"àdírẹ́sì IPv6\",\n cidrv4: \"àgbègbè IPv4\",\n cidrv6: \"àgbègbè IPv6\",\n base64: \"ọ̀rọ̀ tí a kọ́ ní base64\",\n base64url: \"ọ̀rọ̀ base64url\",\n json_string: \"ọ̀rọ̀ JSON\",\n e164: \"nọ́mbà E.164\",\n jwt: \"JWT\",\n template_literal: \"ẹ̀rọ ìbáwọlé\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ìbáwọlé aṣìṣe: a ní láti fi ${issue.expected}, àmọ̀ a rí ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ìbáwọlé aṣìṣe: a ní láti fi ${util.stringifyPrimitive(issue.values[0])}`;\n return `Àṣàyàn aṣìṣe: yan ọ̀kan lára ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Tó pọ̀ jù: a ní láti jẹ́ pé ${issue.origin ?? \"iye\"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;\n return `Tó pọ̀ jù: a ní láti jẹ́ ${adj}${issue.maximum}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Kéré ju: a ní láti jẹ́ pé ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;\n return `Kéré ju: a ní láti jẹ́ ${adj}${issue.minimum}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${_issue.pattern}`;\n return `Aṣìṣe: ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Bọtìnì àìmọ̀: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Bọtìnì aṣìṣe nínú ${issue.origin}`;\n case \"invalid_union\":\n return \"Ìbáwọlé aṣìṣe\";\n case \"invalid_element\":\n return `Iye aṣìṣe nínú ${issue.origin}`;\n default:\n return \"Ìbáwọlé aṣìṣe\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import path from \"node:path\";\nimport { type RawSourceMap, SourceMapConsumer } from \"source-map-js\";\nimport * as stackTraceParser from \"stacktrace-parser\";\nimport type { ErrorObject } from \"@/lib/types\";\n\nexport const improveErrorWithSourceMap = (\n error: Error,\n originalFilePath: string,\n sourceMapToOriginalFile: RawSourceMap,\n): ErrorObject => {\n let stack: string | undefined;\n\n const sourceRoot =\n sourceMapToOriginalFile.sourceRoot ?? path.dirname(originalFilePath);\n\n const getStackLineFromMethodNameAndSource = (\n methodName: string,\n source: string,\n line: number | undefined | null,\n column: number | undefined | null,\n ) => {\n const columnAndLine =\n column || line\n ? `${line ?? \"\"}${line && column ? \":\" : \"\"}${column ?? \"\"}`\n : undefined;\n const sourceToDisplay = path.relative(sourceRoot, source);\n return methodName === \"<unknown>\"\n ? ` at ${sourceToDisplay}${columnAndLine ? `:${columnAndLine}` : \"\"}`\n : ` at ${methodName} (${sourceToDisplay}${\n columnAndLine ? `:${columnAndLine}` : \"\"\n })`;\n };\n\n if (typeof error.stack !== \"undefined\") {\n const parsedStack = stackTraceParser.parse(error.stack);\n const sourceMapConsumer = new SourceMapConsumer(sourceMapToOriginalFile);\n const newStackLines = [] as string[];\n for (const stackFrame of parsedStack) {\n if (stackFrame.file === originalFilePath) {\n if (stackFrame.column || stackFrame.lineNumber) {\n const positionWithError = sourceMapConsumer.originalPositionFor({\n column: stackFrame.column ?? 0,\n line: stackFrame.lineNumber ?? 0,\n });\n\n newStackLines.push(\n getStackLineFromMethodNameAndSource(\n stackFrame.methodName,\n positionWithError.source ?? stackFrame.file,\n positionWithError.line,\n positionWithError.column,\n ),\n );\n } else {\n newStackLines.push(\n getStackLineFromMethodNameAndSource(\n stackFrame.methodName,\n stackFrame.file,\n stackFrame.lineNumber,\n stackFrame.column,\n ),\n );\n }\n } else if (stackFrame.file) {\n const stackLine = getStackLineFromMethodNameAndSource(\n stackFrame.methodName,\n stackFrame.file,\n stackFrame.lineNumber,\n stackFrame.column,\n );\n newStackLines.push(stackLine);\n }\n }\n stack = newStackLines.join(\"\\n\");\n }\n\n return {\n name: error.name,\n message: error.message,\n cause: error.cause,\n stack,\n };\n};\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tecken\", verb: \"att ha\" },\n file: { unit: \"bytes\", verb: \"att ha\" },\n array: { unit: \"objekt\", verb: \"att innehålla\" },\n set: { unit: \"objekt\", verb: \"att innehålla\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"antal\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"lista\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"reguljärt uttryck\",\n email: \"e-postadress\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datum och tid\",\n date: \"ISO-datum\",\n time: \"ISO-tid\",\n duration: \"ISO-varaktighet\",\n ipv4: \"IPv4-intervall\",\n ipv6: \"IPv6-intervall\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodad sträng\",\n base64url: \"base64url-kodad sträng\",\n json_string: \"JSON-sträng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"mall-literal\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Ogiltig inmatning: förväntat ${issue.expected}, fick ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ogiltig inmatning: förväntat ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ogiltigt val: förväntade en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `För stor(t): förväntade ${issue.origin ?? \"värdet\"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n }\n return `För stor(t): förväntat ${issue.origin ?? \"värdet\"} att ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `För lite(t): förväntade ${issue.origin ?? \"värdet\"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `För lite(t): förväntade ${issue.origin ?? \"värdet\"} att ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ogiltig sträng: måste börja med \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Ogiltig sträng: måste sluta med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ogiltig sträng: måste innehålla \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ogiltig sträng: måste matcha mönstret \"${_issue.pattern}\"`;\n return `Ogiltig(t) ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ogiltigt tal: måste vara en multipel av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Okända nycklar\" : \"Okänd nyckel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ogiltig nyckel i ${issue.origin ?? \"värdet\"}`;\n case \"invalid_union\":\n return \"Ogiltig input\";\n case \"invalid_element\":\n return `Ogiltigt värde i ${issue.origin ?? \"värdet\"}`;\n default:\n return `Ogiltig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"எழுத்துக்கள்\", verb: \"கொண்டிருக்க வேண்டும்\" },\n file: { unit: \"பைட்டுகள்\", verb: \"கொண்டிருக்க வேண்டும்\" },\n array: { unit: \"உறுப்புகள்\", verb: \"கொண்டிருக்க வேண்டும்\" },\n set: { unit: \"உறுப்புகள்\", verb: \"கொண்டிருக்க வேண்டும்\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"எண் அல்லாதது\" : \"எண்\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"அணி\";\n }\n if (data === null) {\n return \"வெறுமை\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"உள்ளீடு\",\n email: \"மின்னஞ்சல் முகவரி\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO தேதி நேரம்\",\n date: \"ISO தேதி\",\n time: \"ISO நேரம்\",\n duration: \"ISO கால அளவு\",\n ipv4: \"IPv4 முகவரி\",\n ipv6: \"IPv6 முகவரி\",\n cidrv4: \"IPv4 வரம்பு\",\n cidrv6: \"IPv6 வரம்பு\",\n base64: \"base64-encoded சரம்\",\n base64url: \"base64url-encoded சரம்\",\n json_string: \"JSON சரம்\",\n e164: \"E.164 எண்\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${issue.expected}, பெறப்பட்டது ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${util.stringifyPrimitive(issue.values[0])}`;\n return `தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${util.joinValues(issue.values, \"|\")} இல் ஒன்று`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? \"மதிப்பு\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"உறுப்புகள்\"} ஆக இருக்க வேண்டும்`;\n }\n return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? \"மதிப்பு\"} ${adj}${issue.maximum.toString()} ஆக இருக்க வேண்டும்`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ஆக இருக்க வேண்டும்`; //\n }\n return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ஆக இருக்க வேண்டும்`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `தவறான சரம்: \"${_issue.prefix}\" இல் தொடங்க வேண்டும்`;\n if (_issue.format === \"ends_with\")\n return `தவறான சரம்: \"${_issue.suffix}\" இல் முடிவடைய வேண்டும்`;\n if (_issue.format === \"includes\")\n return `தவறான சரம்: \"${_issue.includes}\" ஐ உள்ளடக்க வேண்டும்`;\n if (_issue.format === \"regex\")\n return `தவறான சரம்: ${_issue.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;\n return `தவறான ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `தவறான எண்: ${issue.divisor} இன் பலமாக இருக்க வேண்டும்`;\n case \"unrecognized_keys\":\n return `அடையாளம் தெரியாத விசை${issue.keys.length > 1 ? \"கள்\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} இல் தவறான விசை`;\n case \"invalid_union\":\n return \"தவறான உள்ளீடு\";\n case \"invalid_element\":\n return `${issue.origin} இல் தவறான மதிப்பு`;\n default:\n return `தவறான உள்ளீடு`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"문자\", verb: \"to have\" },\n file: { unit: \"바이트\", verb: \"to have\" },\n array: { unit: \"개\", verb: \"to have\" },\n set: { unit: \"개\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"입력\",\n email: \"이메일 주소\",\n url: \"URL\",\n emoji: \"이모지\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO 날짜시간\",\n date: \"ISO 날짜\",\n time: \"ISO 시간\",\n duration: \"ISO 기간\",\n ipv4: \"IPv4 주소\",\n ipv6: \"IPv6 주소\",\n cidrv4: \"IPv4 범위\",\n cidrv6: \"IPv6 범위\",\n base64: \"base64 인코딩 문자열\",\n base64url: \"base64url 인코딩 문자열\",\n json_string: \"JSON 문자열\",\n e164: \"E.164 번호\",\n jwt: \"JWT\",\n template_literal: \"입력\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `잘못된 입력: 예상 타입은 ${issue.expected}, 받은 타입은 ${parsedType(issue.input)}입니다`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `잘못된 입력: 값은 ${util.stringifyPrimitive(issue.values[0])} 이어야 합니다`;\n return `잘못된 옵션: ${util.joinValues(issue.values, \"또는 \")} 중 하나여야 합니다`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"이하\" : \"미만\";\n const suffix = adj === \"미만\" ? \"이어야 합니다\" : \"여야 합니다\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"요소\";\n if (sizing)\n return `${issue.origin ?? \"값\"}이 너무 큽니다: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;\n return `${issue.origin ?? \"값\"}이 너무 큽니다: ${issue.maximum.toString()} ${adj}${suffix}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"이상\" : \"초과\";\n const suffix = adj === \"이상\" ? \"이어야 합니다\" : \"여야 합니다\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"요소\";\n if (sizing) {\n return `${issue.origin ?? \"값\"}이 너무 작습니다: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;\n }\n return `${issue.origin ?? \"값\"}이 너무 작습니다: ${issue.minimum.toString()} ${adj}${suffix}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `잘못된 문자열: \"${_issue.prefix}\"(으)로 시작해야 합니다`;\n }\n if (_issue.format === \"ends_with\")\n return `잘못된 문자열: \"${_issue.suffix}\"(으)로 끝나야 합니다`;\n if (_issue.format === \"includes\")\n return `잘못된 문자열: \"${_issue.includes}\"을(를) 포함해야 합니다`;\n if (_issue.format === \"regex\")\n return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;\n return `잘못된 ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `잘못된 숫자: ${issue.divisor}의 배수여야 합니다`;\n case \"unrecognized_keys\":\n return `인식할 수 없는 키: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `잘못된 키: ${issue.origin}`;\n case \"invalid_union\":\n return `잘못된 입력`;\n case \"invalid_element\":\n return `잘못된 값: ${issue.origin}`;\n default:\n return `잘못된 입력`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"ตัวอักษร\", verb: \"ควรมี\" },\n file: { unit: \"ไบต์\", verb: \"ควรมี\" },\n array: { unit: \"รายการ\", verb: \"ควรมี\" },\n set: { unit: \"รายการ\", verb: \"ควรมี\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"ไม่ใช่ตัวเลข (NaN)\" : \"ตัวเลข\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"อาร์เรย์ (Array)\";\n }\n if (data === null) {\n return \"ไม่มีค่า (null)\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n };\n const Nouns = {\n regex: \"ข้อมูลที่ป้อน\",\n email: \"ที่อยู่อีเมล\",\n url: \"URL\",\n emoji: \"อิโมจิ\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"วันที่เวลาแบบ ISO\",\n date: \"วันที่แบบ ISO\",\n time: \"เวลาแบบ ISO\",\n duration: \"ช่วงเวลาแบบ ISO\",\n ipv4: \"ที่อยู่ IPv4\",\n ipv6: \"ที่อยู่ IPv6\",\n cidrv4: \"ช่วง IP แบบ IPv4\",\n cidrv6: \"ช่วง IP แบบ IPv6\",\n base64: \"ข้อความแบบ Base64\",\n base64url: \"ข้อความแบบ Base64 สำหรับ URL\",\n json_string: \"ข้อความแบบ JSON\",\n e164: \"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)\",\n jwt: \"โทเคน JWT\",\n template_literal: \"ข้อมูลที่ป้อน\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${issue.expected} แต่ได้รับ ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `ค่าไม่ถูกต้อง: ควรเป็น ${util.stringifyPrimitive(issue.values[0])}`;\n return `ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"ไม่เกิน\" : \"น้อยกว่า\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `เกินกำหนด: ${issue.origin ?? \"ค่า\"} ควรมี${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"รายการ\"}`;\n return `เกินกำหนด: ${issue.origin ?? \"ค่า\"} ควรมี${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"อย่างน้อย\" : \"มากกว่า\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `รูปแบบไม่ถูกต้อง: ข้อความต้องมี \"${_issue.includes}\" อยู่ในข้อความ`;\n if (_issue.format === \"regex\")\n return `รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;\n return `รูปแบบไม่ถูกต้อง: ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue.divisor} ได้ลงตัว`;\n case \"unrecognized_keys\":\n return `พบคีย์ที่ไม่รู้จัก: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `คีย์ไม่ถูกต้องใน ${issue.origin}`;\n case \"invalid_union\":\n return \"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้\";\n case \"invalid_element\":\n return `ข้อมูลไม่ถูกต้องใน ${issue.origin}`;\n default:\n return `ข้อมูลไม่ถูกต้อง`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { register, registry } from \"@ark/util\";\nlet _registryName = \"$ark\";\nlet suffix = 2;\nwhile (_registryName in globalThis)\n _registryName = `$ark${suffix++}`;\nexport const registryName = _registryName;\nglobalThis[registryName] = registry;\nexport const $ark = registry;\nexport const reference = (name) => `${registryName}.${name}`;\nexport const registeredReference = (value) => reference(register(value));\n","import { printable, throwInternalError } from \"@ark/util\";\nclass ToJsonSchemaError extends Error {\n name = \"ToJsonSchemaError\";\n code;\n context;\n constructor(code, context) {\n super(printable(context, { quoteKeys: false, indent: 4 }));\n this.code = code;\n this.context = context;\n }\n hasCode(code) {\n return this.code === code;\n }\n}\nconst defaultConfig = {\n dialect: \"https://json-schema.org/draft/2020-12/schema\",\n useRefs: false,\n fallback: {\n arrayObject: ctx => ToJsonSchema.throw(\"arrayObject\", ctx),\n arrayPostfix: ctx => ToJsonSchema.throw(\"arrayPostfix\", ctx),\n defaultValue: ctx => ToJsonSchema.throw(\"defaultValue\", ctx),\n domain: ctx => ToJsonSchema.throw(\"domain\", ctx),\n morph: ctx => ToJsonSchema.throw(\"morph\", ctx),\n patternIntersection: ctx => ToJsonSchema.throw(\"patternIntersection\", ctx),\n predicate: ctx => ToJsonSchema.throw(\"predicate\", ctx),\n proto: ctx => ToJsonSchema.throw(\"proto\", ctx),\n symbolKey: ctx => ToJsonSchema.throw(\"symbolKey\", ctx),\n unit: ctx => ToJsonSchema.throw(\"unit\", ctx),\n date: ctx => ToJsonSchema.throw(\"date\", ctx)\n }\n};\nexport const ToJsonSchema = {\n Error: ToJsonSchemaError,\n throw: (...args) => {\n throw new ToJsonSchema.Error(...args);\n },\n throwInternalOperandError: (kind, schema) => throwInternalError(`Unexpected JSON Schema input for ${kind}: ${printable(schema)}`),\n defaultConfig\n};\n","import path from \"node:path\";\nimport vm from \"node:vm\";\nimport * as env from \"envin\";\nimport * as envPresetsArktype from \"envin/presets/arktype\";\nimport * as envPresetsValibot from \"envin/presets/valibot\";\nimport * as envPresetsZod from \"envin/presets/zod\";\nimport { err, ok, type Result } from \"./result\";\nimport { staticNodeModulesForVM } from \"./static-node-modules-for-vm\";\n\nconst mockDefineEnv = (options) => {\n return {\n options,\n env: env.defineEnv({\n ...options,\n skip: true,\n }),\n };\n};\n\nconst internalModules = {\n envin: {\n ...env,\n defineEnv: mockDefineEnv,\n },\n \"envin/presets/zod\": envPresetsZod,\n \"envin/presets/valibot\": envPresetsValibot,\n \"envin/presets/arktype\": envPresetsArktype,\n} as const;\n\nexport const runBundledCode = (\n code: string,\n filename: string,\n): Result<{ exports: unknown }, unknown> => {\n const fakeContext = {\n ...global,\n console,\n Blob,\n Buffer,\n AbortSignal,\n Event,\n EventTarget,\n FormData,\n TextDecoder,\n Request,\n Response,\n TextDecoderStream,\n TextEncoder,\n TextEncoderStream,\n ReadableStream,\n URL,\n URLSearchParams,\n Headers,\n module: {\n exports: {},\n },\n __filename: filename,\n __dirname: path.dirname(filename),\n import_meta: {\n env: process.env,\n },\n import: {\n meta: {\n env: process.env,\n },\n },\n require: (specifiedModule: string) => {\n let m = specifiedModule;\n if (specifiedModule.startsWith(\"node:\")) {\n m = m.split(\":\")[1] ?? \"\";\n }\n\n if (m in internalModules) {\n return internalModules[m];\n }\n\n if (m in staticNodeModulesForVM) {\n return staticNodeModulesForVM[m];\n }\n\n return require(`${specifiedModule}`) as unknown;\n // this stupid string templating was necessary to not have\n // webpack warnings like:\n //\n // Import trace for requested module:\n // ./src/utils/run-bundled-code.ts\n // ./src/app/page.tsx\n // ⚠ ./src/utils/run-bundled-code.ts\n // Critical dependency: the request of a dependency is an expression\n },\n process,\n };\n\n try {\n vm.runInNewContext(code, fakeContext, { filename });\n } catch (exception) {\n return err(exception);\n }\n\n const moduleExports = fakeContext.module.exports as unknown;\n\n return ok({\n exports: moduleExports,\n });\n};\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"რიცხვი\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"მასივი\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n const typeMap = {\n string: \"სტრინგი\",\n boolean: \"ბულეანი\",\n undefined: \"undefined\",\n bigint: \"bigint\",\n symbol: \"symbol\",\n function: \"ფუნქცია\",\n };\n return typeMap[t] ?? t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"სიმბოლო\", verb: \"უნდა შეიცავდეს\" },\n file: { unit: \"ბაიტი\", verb: \"უნდა შეიცავდეს\" },\n array: { unit: \"ელემენტი\", verb: \"უნდა შეიცავდეს\" },\n set: { unit: \"ელემენტი\", verb: \"უნდა შეიცავდეს\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"შეყვანა\",\n email: \"ელ-ფოსტის მისამართი\",\n url: \"URL\",\n emoji: \"ემოჯი\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"თარიღი-დრო\",\n date: \"თარიღი\",\n time: \"დრო\",\n duration: \"ხანგრძლივობა\",\n ipv4: \"IPv4 მისამართი\",\n ipv6: \"IPv6 მისამართი\",\n cidrv4: \"IPv4 დიაპაზონი\",\n cidrv6: \"IPv6 დიაპაზონი\",\n base64: \"base64-კოდირებული სტრინგი\",\n base64url: \"base64url-კოდირებული სტრინგი\",\n json_string: \"JSON სტრინგი\",\n e164: \"E.164 ნომერი\",\n jwt: \"JWT\",\n template_literal: \"შეყვანა\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `არასწორი შეყვანა: მოსალოდნელი ${issue.expected}, მიღებული ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `არასწორი შეყვანა: მოსალოდნელი ${util.stringifyPrimitive(issue.values[0])}`;\n return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${util.joinValues(issue.values, \"|\")}-დან`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? \"მნიშვნელობა\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? \"მნიშვნელობა\"} იყოს ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `არასწორი სტრინგი: უნდა იწყებოდეს \"${_issue.prefix}\"-ით`;\n }\n if (_issue.format === \"ends_with\")\n return `არასწორი სტრინგი: უნდა მთავრდებოდეს \"${_issue.suffix}\"-ით`;\n if (_issue.format === \"includes\")\n return `არასწორი სტრინგი: უნდა შეიცავდეს \"${_issue.includes}\"-ს`;\n if (_issue.format === \"regex\")\n return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;\n return `არასწორი ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;\n case \"unrecognized_keys\":\n return `უცნობი გასაღებ${issue.keys.length > 1 ? \"ები\" : \"ი\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `არასწორი გასაღები ${issue.origin}-ში`;\n case \"invalid_union\":\n return \"არასწორი შეყვანა\";\n case \"invalid_element\":\n return `არასწორი მნიშვნელობა ${issue.origin}-ში`;\n default:\n return `არასწორი შეყვანა`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { isKeyOf, Scanner, whitespaceChars } from \"@ark/util\";\nexport class ArkTypeScanner extends Scanner {\n shiftUntilNextTerminator() {\n this.shiftUntilNonWhitespace();\n return this.shiftUntil(() => this.lookahead in ArkTypeScanner.terminatingChars);\n }\n static terminatingChars = {\n \"<\": 1,\n \">\": 1,\n \"=\": 1,\n \"|\": 1,\n \"&\": 1,\n \")\": 1,\n \"[\": 1,\n \"%\": 1,\n \",\": 1,\n \":\": 1,\n \"?\": 1,\n \"#\": 1,\n ...whitespaceChars\n };\n static finalizingLookaheads = {\n \">\": 1,\n \",\": 1,\n \"\": 1,\n \"=\": 1,\n \"?\": 1\n };\n static lookaheadIsFinalizing = (lookahead, unscanned) => lookahead === \">\" ?\n unscanned[0] === \"=\" ?\n // >== would only occur in an expression like Array<number>==5\n // otherwise, >= would only occur as part of a bound like number>=5\n unscanned[1] === \"=\"\n // if > is the end of a generic instantiation, the next token will be\n // an operator or the end of the string\n : unscanned.trimStart() === \"\" ||\n isKeyOf(unscanned.trimStart()[0], ArkTypeScanner.terminatingChars)\n // \"=\" is a finalizer on its own (representing a default value),\n // but not with a second \"=\" (an equality comparator)\n : lookahead === \"=\" ? unscanned[0] !== \"=\"\n // \",\" and \"?\" are unambiguously finalizers\n : lookahead === \",\" || lookahead === \"?\";\n}\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\"Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = {\n ...schema._zod.def,\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: schema._zod.def.checks,\n };\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"olmalı\" },\n file: { unit: \"bayt\", verb: \"olmalı\" },\n array: { unit: \"öğe\", verb: \"olmalı\" },\n set: { unit: \"öğe\", verb: \"olmalı\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"girdi\",\n email: \"e-posta adresi\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO tarih ve saat\",\n date: \"ISO tarih\",\n time: \"ISO saat\",\n duration: \"ISO süre\",\n ipv4: \"IPv4 adresi\",\n ipv6: \"IPv6 adresi\",\n cidrv4: \"IPv4 aralığı\",\n cidrv6: \"IPv6 aralığı\",\n base64: \"base64 ile şifrelenmiş metin\",\n base64url: \"base64url ile şifrelenmiş metin\",\n json_string: \"JSON dizesi\",\n e164: \"E.164 sayısı\",\n jwt: \"JWT\",\n template_literal: \"Şablon dizesi\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Geçersiz değer: beklenen ${issue.expected}, alınan ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Geçersiz değer: beklenen ${util.stringifyPrimitive(issue.values[0])}`;\n return `Geçersiz seçenek: aşağıdakilerden biri olmalı: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Çok büyük: beklenen ${issue.origin ?? \"değer\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"öğe\"}`;\n return `Çok büyük: beklenen ${issue.origin ?? \"değer\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Geçersiz metin: \"${_issue.prefix}\" ile başlamalı`;\n if (_issue.format === \"ends_with\")\n return `Geçersiz metin: \"${_issue.suffix}\" ile bitmeli`;\n if (_issue.format === \"includes\")\n return `Geçersiz metin: \"${_issue.includes}\" içermeli`;\n if (_issue.format === \"regex\")\n return `Geçersiz metin: ${_issue.pattern} desenine uymalı`;\n return `Geçersiz ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Geçersiz sayı: ${issue.divisor} ile tam bölünebilmeli`;\n case \"unrecognized_keys\":\n return `Tanınmayan anahtar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} içinde geçersiz anahtar`;\n case \"invalid_union\":\n return \"Geçersiz değer\";\n case \"invalid_element\":\n return `${issue.origin} içinde geçersiz değer`;\n default:\n return `Geçersiz değer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { append } from \"./arrays.js\";\nexport const flatMorph = (o, flatMapEntry) => {\n const result = {};\n const inputIsArray = Array.isArray(o);\n let outputShouldBeArray = false;\n for (const [i, entry] of Object.entries(o).entries()) {\n const mapped = inputIsArray ? flatMapEntry(i, entry[1]) : flatMapEntry(...entry, i);\n outputShouldBeArray ||= typeof mapped[0] === \"number\";\n const flattenedEntries = Array.isArray(mapped[0]) || mapped.length === 0 ?\n // if we have an empty array (for filtering) or an array with\n // another array as its first element, treat it as a list\n mapped\n // otherwise, it should be a single entry, so nest it in a tuple\n // so it doesn't get spread when the result is flattened\n : [mapped];\n for (const [k, v] of flattenedEntries) {\n if (typeof k === \"object\")\n result[k.group] = append(result[k.group], v);\n else\n result[k] = v;\n }\n }\n return outputShouldBeArray ? Object.values(result) : result;\n};\n","import { noSuggest } from \"./errors.js\";\nexport const brand = noSuggest(\"brand\");\nexport const narrow = (t) => t;\n/** primitive key used to represent an inferred type at compile-time */\nexport const inferred = noSuggest(\"arkInferred\");\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"число\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"масив\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"символа\", verb: \"да съдържа\" },\n file: { unit: \"байта\", verb: \"да съдържа\" },\n array: { unit: \"елемента\", verb: \"да съдържа\" },\n set: { unit: \"елемента\", verb: \"да съдържа\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"вход\",\n email: \"имейл адрес\",\n url: \"URL\",\n emoji: \"емоджи\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO време\",\n date: \"ISO дата\",\n time: \"ISO време\",\n duration: \"ISO продължителност\",\n ipv4: \"IPv4 адрес\",\n ipv6: \"IPv6 адрес\",\n cidrv4: \"IPv4 диапазон\",\n cidrv6: \"IPv6 диапазон\",\n base64: \"base64-кодиран низ\",\n base64url: \"base64url-кодиран низ\",\n json_string: \"JSON низ\",\n e164: \"E.164 номер\",\n jwt: \"JWT\",\n template_literal: \"вход\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Невалиден вход: очакван ${issue.expected}, получен ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Невалиден вход: очакван ${util.stringifyPrimitive(issue.values[0])}`;\n return `Невалидна опция: очаквано едно от ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Твърде голямо: очаква се ${issue.origin ?? \"стойност\"} да съдържа ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"елемента\"}`;\n return `Твърде голямо: очаква се ${issue.origin ?? \"стойност\"} да бъде ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Твърде малко: очаква се ${issue.origin} да съдържа ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Твърде малко: очаква се ${issue.origin} да бъде ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Невалиден низ: трябва да започва с \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Невалиден низ: трябва да завършва с \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Невалиден низ: трябва да включва \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Невалиден низ: трябва да съвпада с ${_issue.pattern}`;\n let invalid_adj = \"Невалиден\";\n if (_issue.format === \"emoji\")\n invalid_adj = \"Невалидно\";\n if (_issue.format === \"datetime\")\n invalid_adj = \"Невалидно\";\n if (_issue.format === \"date\")\n invalid_adj = \"Невалидна\";\n if (_issue.format === \"time\")\n invalid_adj = \"Невалидно\";\n if (_issue.format === \"duration\")\n invalid_adj = \"Невалидна\";\n return `${invalid_adj} ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Невалидно число: трябва да бъде кратно на ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Неразпознат${issue.keys.length > 1 ? \"и\" : \"\"} ключ${issue.keys.length > 1 ? \"ове\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Невалиден ключ в ${issue.origin}`;\n case \"invalid_union\":\n return \"Невалиден вход\";\n case \"invalid_element\":\n return `Невалидна стойност в ${issue.origin}`;\n default:\n return `Невалиден вход`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { tryParseInteger } from \"@ark/util\";\nexport const parseDivisor = (s) => {\n const divisorToken = s.scanner.shiftUntilNextTerminator();\n const divisor = tryParseInteger(divisorToken, {\n errorOnFail: writeInvalidDivisorMessage(divisorToken)\n });\n if (divisor === 0)\n s.error(writeInvalidDivisorMessage(0));\n s.root = s.root.constrain(\"divisor\", divisor);\n};\nexport const writeInvalidDivisorMessage = (divisor) => `% operator must be followed by a non-zero integer literal (was ${divisor})`;\n","import * as util from \"./util.js\";\nexport const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\nexport const e164 = /^\\+(?:[0-9]){6,14}[0-9]$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"number\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"characters\", verb: \"to have\" },\n file: { unit: \"bytes\", verb: \"to have\" },\n array: { unit: \"items\", verb: \"to have\" },\n set: { unit: \"items\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Invalid input: expected ${issue.expected}, received ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `Invalid option: expected one of ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Too big: expected ${issue.origin ?? \"value\"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Too big: expected ${issue.origin ?? \"value\"} to be ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Invalid string: must start with \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Invalid string: must end with \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Invalid string: must include \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Invalid string: must match pattern ${_issue.pattern}`;\n return `Invalid ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Invalid number: must be a multiple of ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Unrecognized key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Invalid key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Invalid input\";\n case \"invalid_element\":\n return `Invalid value in ${issue.origin}`;\n default:\n return `Invalid input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"nombro\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"tabelo\";\n }\n if (data === null) {\n return \"senvalora\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"karaktrojn\", verb: \"havi\" },\n file: { unit: \"bajtojn\", verb: \"havi\" },\n array: { unit: \"elementojn\", verb: \"havi\" },\n set: { unit: \"elementojn\", verb: \"havi\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"enigo\",\n email: \"retadreso\",\n url: \"URL\",\n emoji: \"emoĝio\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datotempo\",\n date: \"ISO-dato\",\n time: \"ISO-tempo\",\n duration: \"ISO-daŭro\",\n ipv4: \"IPv4-adreso\",\n ipv6: \"IPv6-adreso\",\n cidrv4: \"IPv4-rango\",\n cidrv6: \"IPv6-rango\",\n base64: \"64-ume kodita karaktraro\",\n base64url: \"URL-64-ume kodita karaktraro\",\n json_string: \"JSON-karaktraro\",\n e164: \"E.164-nombro\",\n jwt: \"JWT\",\n template_literal: \"enigo\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Nevalida enigo: atendiĝis ${issue.expected}, riceviĝis ${parsedType(issue.input)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nevalida enigo: atendiĝis ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nevalida opcio: atendiĝis unu el ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Tro granda: atendiĝis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementojn\"}`;\n return `Tro granda: atendiĝis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Tro malgranda: atendiĝis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Tro malgranda: atendiĝis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nevalida karaktraro: devas komenciĝi per \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nevalida karaktraro: devas finiĝi per \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nevalida karaktraro: devas inkluzivi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;\n return `Nevalida ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nekonata${issue.keys.length > 1 ? \"j\" : \"\"} ŝlosilo${issue.keys.length > 1 ? \"j\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nevalida ŝlosilo en ${issue.origin}`;\n case \"invalid_union\":\n return \"Nevalida enigo\";\n case \"invalid_element\":\n return `Nevalida valoro en ${issue.origin}`;\n default:\n return `Nevalida enigo`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { Scope } from \"../scope.js\";\nexport const TypedArray = Scope.module({\n Int8: [\"instanceof\", Int8Array],\n Uint8: [\"instanceof\", Uint8Array],\n Uint8Clamped: [\"instanceof\", Uint8ClampedArray],\n Int16: [\"instanceof\", Int16Array],\n Uint16: [\"instanceof\", Uint16Array],\n Int32: [\"instanceof\", Int32Array],\n Uint32: [\"instanceof\", Uint32Array],\n Float32: [\"instanceof\", Float32Array],\n Float64: [\"instanceof\", Float64Array],\n BigInt64: [\"instanceof\", BigInt64Array],\n BigUint64: [\"instanceof\", BigUint64Array]\n}, {\n name: \"TypedArray\"\n});\n","import { RootModule } from \"@ark/schema\";\nexport const Module = RootModule;\nexport const BoundModule = RootModule;\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n if (!inst._zod) {\n Object.defineProperty(inst, \"_zod\", {\n value: {\n def,\n constr: _,\n traits: new Set(),\n },\n enumerable: false,\n });\n }\n if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n const proto = _.prototype;\n const keys = Object.keys(proto);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n return parsedTypeFromType(t, data);\n};\nconst parsedTypeFromType = (t, data = undefined) => {\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"skaičius\";\n }\n case \"bigint\": {\n return \"sveikasis skaičius\";\n }\n case \"string\": {\n return \"eilutė\";\n }\n case \"boolean\": {\n return \"loginė reikšmė\";\n }\n case \"undefined\":\n case \"void\": {\n return \"neapibrėžta reikšmė\";\n }\n case \"function\": {\n return \"funkcija\";\n }\n case \"symbol\": {\n return \"simbolis\";\n }\n case \"object\": {\n if (data === undefined)\n return \"nežinomas objektas\";\n if (data === null)\n return \"nulinė reikšmė\";\n if (Array.isArray(data))\n return \"masyvas\";\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n return \"objektas\";\n }\n //Zod types below\n case \"null\": {\n return \"nulinė reikšmė\";\n }\n }\n return t;\n};\nconst capitalizeFirstCharacter = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\nfunction getUnitTypeFromNumber(number) {\n const abs = Math.abs(number);\n const last = abs % 10;\n const last2 = abs % 100;\n if ((last2 >= 11 && last2 <= 19) || last === 0)\n return \"many\";\n if (last === 1)\n return \"one\";\n return \"few\";\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"simbolis\",\n few: \"simboliai\",\n many: \"simbolių\",\n },\n verb: {\n smaller: {\n inclusive: \"turi būti ne ilgesnė kaip\",\n notInclusive: \"turi būti trumpesnė kaip\",\n },\n bigger: {\n inclusive: \"turi būti ne trumpesnė kaip\",\n notInclusive: \"turi būti ilgesnė kaip\",\n },\n },\n },\n file: {\n unit: {\n one: \"baitas\",\n few: \"baitai\",\n many: \"baitų\",\n },\n verb: {\n smaller: {\n inclusive: \"turi būti ne didesnis kaip\",\n notInclusive: \"turi būti mažesnis kaip\",\n },\n bigger: {\n inclusive: \"turi būti ne mažesnis kaip\",\n notInclusive: \"turi būti didesnis kaip\",\n },\n },\n },\n array: {\n unit: {\n one: \"elementą\",\n few: \"elementus\",\n many: \"elementų\",\n },\n verb: {\n smaller: {\n inclusive: \"turi turėti ne daugiau kaip\",\n notInclusive: \"turi turėti mažiau kaip\",\n },\n bigger: {\n inclusive: \"turi turėti ne mažiau kaip\",\n notInclusive: \"turi turėti daugiau kaip\",\n },\n },\n },\n set: {\n unit: {\n one: \"elementą\",\n few: \"elementus\",\n many: \"elementų\",\n },\n verb: {\n smaller: {\n inclusive: \"turi turėti ne daugiau kaip\",\n notInclusive: \"turi turėti mažiau kaip\",\n },\n bigger: {\n inclusive: \"turi turėti ne mažiau kaip\",\n notInclusive: \"turi turėti daugiau kaip\",\n },\n },\n },\n };\n function getSizing(origin, unitType, inclusive, targetShouldBe) {\n const result = Sizable[origin] ?? null;\n if (result === null)\n return result;\n return {\n unit: result.unit[unitType],\n verb: result.verb[targetShouldBe][inclusive ? \"inclusive\" : \"notInclusive\"],\n };\n }\n const Nouns = {\n regex: \"įvestis\",\n email: \"el. pašto adresas\",\n url: \"URL\",\n emoji: \"jaustukas\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO data ir laikas\",\n date: \"ISO data\",\n time: \"ISO laikas\",\n duration: \"ISO trukmė\",\n ipv4: \"IPv4 adresas\",\n ipv6: \"IPv6 adresas\",\n cidrv4: \"IPv4 tinklo prefiksas (CIDR)\",\n cidrv6: \"IPv6 tinklo prefiksas (CIDR)\",\n base64: \"base64 užkoduota eilutė\",\n base64url: \"base64url užkoduota eilutė\",\n json_string: \"JSON eilutė\",\n e164: \"E.164 numeris\",\n jwt: \"JWT\",\n template_literal: \"įvestis\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Gautas tipas ${parsedType(issue.input)}, o tikėtasi - ${parsedTypeFromType(issue.expected)}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;\n return `Privalo būti vienas iš ${util.joinValues(issue.values, \"|\")} pasirinkimų`;\n case \"too_big\": {\n const origin = parsedTypeFromType(issue.origin);\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, \"smaller\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reikšmė\")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? \"elementų\"}`;\n const adj = issue.inclusive ? \"ne didesnis kaip\" : \"mažesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reikšmė\")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;\n }\n case \"too_small\": {\n const origin = parsedTypeFromType(issue.origin);\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, \"bigger\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reikšmė\")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? \"elementų\"}`;\n const adj = issue.inclusive ? \"ne mažesnis kaip\" : \"didesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reikšmė\")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Eilutė privalo prasidėti \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Eilutė privalo pasibaigti \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Eilutė privalo įtraukti \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Eilutė privalo atitikti ${_issue.pattern}`;\n return `Neteisingas ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Skaičius privalo būti ${issue.divisor} kartotinis.`;\n case \"unrecognized_keys\":\n return `Neatpažint${issue.keys.length > 1 ? \"i\" : \"as\"} rakt${issue.keys.length > 1 ? \"ai\" : \"as\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Rastas klaidingas raktas\";\n case \"invalid_union\":\n return \"Klaidinga įvestis\";\n case \"invalid_element\": {\n const origin = parsedTypeFromType(issue.origin);\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reikšmė\")} turi klaidingą įvestį`;\n }\n default:\n return \"Klaidinga įvestis\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { writeUnclosedGroupMessage } from \"../../reduce/shared.js\";\nexport const parseGenericArgs = (name, g, s) => _parseGenericArgs(name, g, s, []);\nconst _parseGenericArgs = (name, g, s, argNodes) => {\n const argState = s.parseUntilFinalizer();\n argNodes.push(argState.root);\n if (argState.finalizer === \">\") {\n if (argNodes.length !== g.params.length) {\n return s.error(writeInvalidGenericArgCountMessage(name, g.names, argNodes.map(arg => arg.expression)));\n }\n return argNodes;\n }\n if (argState.finalizer === \",\")\n return _parseGenericArgs(name, g, s, argNodes);\n return argState.error(writeUnclosedGroupMessage(\">\"));\n};\nexport const writeInvalidGenericArgCountMessage = (name, params, argDefs) => `${name}<${params.join(\", \")}> requires exactly ${params.length} args (got ${argDefs.length}${argDefs.length === 0 ? \"\" : `: ${argDefs.join(\", \")}`})`;\n","import { escapeChar, whitespaceChars } from \"./strings.js\";\nexport class Scanner {\n chars;\n i;\n def;\n constructor(def) {\n this.def = def;\n this.chars = [...def];\n this.i = 0;\n }\n /** Get lookahead and advance scanner by one */\n shift() {\n return (this.chars[this.i++] ?? \"\");\n }\n get lookahead() {\n return (this.chars[this.i] ?? \"\");\n }\n get nextLookahead() {\n return this.chars[this.i + 1] ?? \"\";\n }\n get length() {\n return this.chars.length;\n }\n shiftUntil(condition) {\n let shifted = \"\";\n while (this.lookahead) {\n if (condition(this, shifted)) {\n if (shifted[shifted.length - 1] === escapeChar)\n shifted = shifted.slice(0, -1);\n else\n break;\n }\n shifted += this.shift();\n }\n return shifted;\n }\n shiftUntilLookahead(charOrSet) {\n return typeof charOrSet === \"string\" ?\n this.shiftUntil(s => s.lookahead === charOrSet)\n : this.shiftUntil(s => s.lookahead in charOrSet);\n }\n shiftUntilNonWhitespace() {\n return this.shiftUntil(() => !(this.lookahead in whitespaceChars));\n }\n jumpToIndex(i) {\n this.i = i < 0 ? this.length + i : i;\n }\n jumpForward(count) {\n this.i += count;\n }\n get location() {\n return this.i;\n }\n get unscanned() {\n return this.chars.slice(this.i, this.length).join(\"\");\n }\n get scanned() {\n return this.chars.slice(0, this.i).join(\"\");\n }\n sliceChars(start, end) {\n return this.chars.slice(start, end).join(\"\");\n }\n lookaheadIs(char) {\n return this.lookahead === char;\n }\n lookaheadIsIn(tokens) {\n return this.lookahead in tokens;\n }\n}\n","import { flatMorph, isArray, noSuggest } from \"@ark/util\";\nexport const makeRootAndArrayPropertiesMutable = (o) => \n// this cast should not be required, but it seems TS is referencing\n// the wrong parameters here?\nflatMorph(o, (k, v) => [k, isArray(v) ? [...v] : v]);\nexport const arkKind = noSuggest(\"arkKind\");\nexport const hasArkKind = (value, kind) => value?.[arkKind] === kind;\nexport const isNode = (value) => hasArkKind(value, \"root\") || hasArkKind(value, \"constraint\");\n","import { registeredReference } from \"../shared/registry.js\";\nexport const arrayIndexSource = `^(?:0|[1-9]\\\\d*)$`;\nexport const arrayIndexMatcher = new RegExp(arrayIndexSource);\nexport const arrayIndexMatcherReference = registeredReference(arrayIndexMatcher);\n","import { throwParseError, tryParseNumber } from \"@ark/util\";\nexport const isDateLiteral = (value) => typeof value === \"string\" &&\n value[0] === \"d\" &&\n (value[1] === \"'\" || value[1] === '\"') &&\n value.at(-1) === value[1];\nexport const isValidDate = (d) => d.toString() !== \"Invalid Date\";\nexport const extractDateLiteralSource = (literal) => literal.slice(2, -1);\nexport const writeInvalidDateMessage = (source) => `'${source}' could not be parsed by the Date constructor`;\nexport const tryParseDate = (source, errorOnFail) => maybeParseDate(source, errorOnFail);\nconst maybeParseDate = (source, errorOnFail) => {\n const stringParsedDate = new Date(source);\n if (isValidDate(stringParsedDate))\n return stringParsedDate;\n const epochMillis = tryParseNumber(source);\n if (epochMillis !== undefined) {\n const numberParsedDate = new Date(epochMillis);\n if (isValidDate(numberParsedDate))\n return numberParsedDate;\n }\n return errorOnFail ?\n throwParseError(errorOnFail === true ? writeInvalidDateMessage(source) : errorOnFail)\n : undefined;\n};\n","import * as util from \"../core/util.js\";\nexport const parsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"NaN\" : \"númer\";\n }\n case \"object\": {\n if (Array.isArray(data)) {\n return \"fylki\";\n }\n if (data === null) {\n return \"null\";\n }\n if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {\n return data.constructor.name;\n }\n }\n }\n return t;\n};\nconst error = () => {\n const Sizable = {\n string: { unit: \"stafi\", verb: \"að hafa\" },\n file: { unit: \"bæti\", verb: \"að hafa\" },\n array: { unit: \"hluti\", verb: \"að hafa\" },\n set: { unit: \"hluti\", verb: \"að hafa\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const Nouns = {\n regex: \"gildi\",\n email: \"netfang\",\n url: \"vefslóð\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dagsetning og tími\",\n date: \"ISO dagsetning\",\n time: \"ISO tími\",\n duration: \"ISO tímalengd\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded strengur\",\n base64url: \"base64url-encoded strengur\",\n json_string: \"JSON strengur\",\n e164: \"E.164 tölugildi\",\n jwt: \"JWT\",\n template_literal: \"gildi\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\":\n return `Rangt gildi: Þú slóst inn ${parsedType(issue.input)} þar sem á að vera ${issue.expected}`;\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Rangt gildi: gert ráð fyrir ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ógilt val: má vera eitt af eftirfarandi ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Of stórt: gert er ráð fyrir að ${issue.origin ?? \"gildi\"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"hluti\"}`;\n return `Of stórt: gert er ráð fyrir að ${issue.origin ?? \"gildi\"} sé ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Of lítið: gert er ráð fyrir að ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Of lítið: gert er ráð fyrir að ${issue.origin} sé ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ógildur strengur: verður að byrja á \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Ógildur strengur: verður að enda á \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ógildur strengur: verður að innihalda \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;\n return `Rangt ${Nouns[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Röng tala: verður að vera margfeldi af ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Óþekkt ${issue.keys.length > 1 ? \"ir lyklar\" : \"ur lykill\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Rangur lykill í ${issue.origin}`;\n case \"invalid_union\":\n return \"Rangt gildi\";\n case \"invalid_element\":\n return `Rangt gildi í ${issue.origin}`;\n default:\n return `Rangt gildi`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n","import { compileObjectLiteral, implementNode } from \"../shared/implement.js\";\nimport { BaseProp, intersectProps } from \"./prop.js\";\nconst implementation = implementNode({\n kind: \"required\",\n hasAssociatedError: true,\n intersectionIsOpen: true,\n keys: {\n key: {},\n value: {\n child: true,\n parse: (schema, ctx) => ctx.$.parseSchema(schema)\n }\n },\n normalize: schema => schema,\n defaults: {\n description: node => `${node.compiledKey}: ${node.value.description}`,\n expected: ctx => ctx.missingValueDescription,\n actual: () => \"missing\"\n },\n intersections: {\n required: intersectProps,\n optional: intersectProps\n }\n});\nexport class RequiredNode extends BaseProp {\n expression = `${this.compiledKey}: ${this.value.expression}`;\n errorContext = Object.freeze({\n code: \"required\",\n missingValueDescription: this.value.defaultShortDescription,\n relativePath: [this.key],\n meta: this.meta\n });\n compiledErrorContext = compileObjectLiteral(this.errorContext);\n}\nexport const Required = {\n implementation,\n Node: RequiredNode\n};\n","\"use server\";\n\nimport { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { parse } from \"dotenv\";\nimport type { Preset } from \"envin/types\";\nimport { envDirectoryAbsolutePath } from \"@/app/env\";\nimport {\n type Config,\n DEFAULT_PRESET,\n Environment,\n FILES,\n type FileValues,\n type Variable,\n VariableGroup,\n} from \"@/lib/types\";\nimport { getDefault } from \"./default\";\nimport { getDescription } from \"./description\";\n\nconst getUntitledId = (counter: number) => `untitled-preset-${counter}`;\n\nexport const getVariables = async (config: Config) => {\n if (!config) {\n return {};\n }\n\n const variables = {};\n const schema = config.env._schema;\n\n let untitledCounter = 0;\n const flattenPresets = (preset: Preset, accPath: string[] = []) => {\n const resolvedId = preset.id ?? getUntitledId(++untitledCounter);\n const currentPath = [...accPath, resolvedId].filter(Boolean);\n const self = [\n {\n preset,\n path: currentPath.length ? currentPath : [DEFAULT_PRESET],\n id: resolvedId,\n },\n ];\n const nested = (preset.extends ?? []).flatMap((p: Preset) =>\n flattenPresets(p, currentPath),\n );\n return [...self, ...nested];\n };\n\n const rootPreset = {\n id: DEFAULT_PRESET,\n ...config.options,\n } satisfies Preset;\n\n const presetsWithPaths = flattenPresets(rootPreset);\n\n for (const key of Object.keys(schema)) {\n for (const { preset, path, id } of presetsWithPaths) {\n const variable = getVariable(key, preset, path, id);\n\n if (variable) {\n variables[key] = variable;\n }\n }\n }\n\n return variables;\n};\n\nconst getVariableGroup = (key: string, preset: Preset) => {\n if (preset.shared && key in preset.shared) {\n return {\n group: VariableGroup.SHARED,\n schema: preset.shared[key],\n };\n }\n\n if (preset.server && key in preset.server) {\n return {\n group: VariableGroup.SERVER,\n schema: preset.server[key],\n };\n }\n\n if (preset.client && key in preset.client) {\n return {\n group: VariableGroup.CLIENT,\n schema: preset.client[key],\n };\n }\n\n return null;\n};\n\nconst getVariable = (\n key: string,\n preset: Preset,\n path: string[],\n resolvedId?: string,\n): Variable | null => {\n const keys = new Set([\n ...Object.keys(preset.shared ?? {}),\n ...Object.keys(preset.client ?? {}),\n ...Object.keys(preset.server ?? {}),\n ]);\n\n if (!keys.has(key)) {\n return null;\n }\n\n const info = getVariableGroup(key, preset);\n\n if (!info) {\n return null;\n }\n\n const { group, schema } = info;\n\n return {\n description: getDescription(schema),\n preset: {\n id: preset.id ?? resolvedId ?? \"\",\n path,\n },\n group,\n default: getDefault(schema),\n };\n};\n\nconst getFiles = () => {\n return Object.fromEntries(\n Object.entries(FILES).map(([environment, files]) => [\n environment,\n files.map((file) => {\n try {\n return parse(\n readFileSync(\n path.join(envDirectoryAbsolutePath ?? \"\", file),\n \"utf8\",\n ),\n );\n } catch {\n return {};\n }\n }),\n ]),\n );\n};\n\nexport const getFileValues = async (\n environment: Environment = Environment.DEVELOPMENT,\n): Promise<FileValues> => {\n const files = getFiles();\n const variablesFromFiles = files[environment];\n\n const result: FileValues = {};\n\n variablesFromFiles?.forEach((file, index) => {\n const fileName = FILES[environment][index] ?? \"\";\n\n Object.entries(file).forEach(([key, value]) => {\n if (!result[key]) {\n result[key] = {\n value,\n files: [fileName],\n };\n } else {\n result[key] = {\n ...result[key],\n value,\n files: [...result[key].files, fileName],\n };\n }\n });\n });\n\n return result;\n};\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import { throwParseError } from \"./errors.js\";\nimport { anchoredRegex, RegexPatterns } from \"./strings.js\";\n/*\n * The goal of the number literal and bigint literal regular expressions is to:\n *\n * 1. Ensure definitions form a bijection with the values they represent.\n * 2. Attempt to mirror TypeScript's own format for stringification of numeric\n * values such that the regex should match a given definition if any only if\n * a precise literal type will be inferred (in TS4.8+).\n */\nconst anchoredNegativeZeroPattern = /^-0\\.?0*$/.source;\nconst positiveIntegerPattern = /[1-9]\\d*/.source;\nconst looseDecimalPattern = /\\.\\d+/.source;\nconst strictDecimalPattern = /\\.\\d*[1-9]/.source;\nconst createNumberMatcher = (opts) => anchoredRegex(RegexPatterns.negativeLookahead(anchoredNegativeZeroPattern) +\n RegexPatterns.nonCapturingGroup(\"-?\" +\n RegexPatterns.nonCapturingGroup(RegexPatterns.nonCapturingGroup(\"0|\" + positiveIntegerPattern) +\n RegexPatterns.nonCapturingGroup(opts.decimalPattern) +\n \"?\") +\n (opts.allowDecimalOnly ? \"|\" + opts.decimalPattern : \"\") +\n \"?\"));\n/**\n * Matches a well-formatted numeric expression according to the following rules:\n * 1. Must include an integer portion (i.e. '.321' must be written as '0.321')\n * 2. The first digit of the value must not be 0, unless the entire integer portion is 0\n * 3. If the value includes a decimal, its last digit may not be 0\n * 4. The value may not be \"-0\"\n */\nexport const wellFormedNumberMatcher = createNumberMatcher({\n decimalPattern: strictDecimalPattern,\n allowDecimalOnly: false\n});\nexport const isWellFormedNumber = wellFormedNumberMatcher.test.bind(wellFormedNumberMatcher);\n/**\n * Similar to wellFormedNumber but more permissive in the following ways:\n *\n * - Allows numbers without an integer portion like \".5\" (well-formed equivalent is \"0.5\")\n * - Allows decimals with trailing zeroes like \"0.10\" (well-formed equivalent is \"0.1\")\n */\nexport const numericStringMatcher = createNumberMatcher({\n decimalPattern: looseDecimalPattern,\n allowDecimalOnly: true\n});\nexport const isNumericString = numericStringMatcher.test.bind(numericStringMatcher);\nexport const numberLikeMatcher = /^-?\\d*\\.?\\d*$/;\nconst isNumberLike = (s) => s.length !== 0 && numberLikeMatcher.test(s);\n/**\n * Matches a well-formatted integer according to the following rules:\n * 1. must begin with an integer, the first digit of which cannot be 0 unless the entire value is 0\n * 2. The value may not be \"-0\"\n */\nexport const wellFormedIntegerMatcher = anchoredRegex(RegexPatterns.negativeLookahead(\"^-0$\") +\n \"-?\" +\n RegexPatterns.nonCapturingGroup(RegexPatterns.nonCapturingGroup(\"0|\" + positiveIntegerPattern)));\nexport const isWellFormedInteger = wellFormedIntegerMatcher.test.bind(wellFormedIntegerMatcher);\nexport const integerLikeMatcher = /^-?\\d+$/;\nconst isIntegerLike = integerLikeMatcher.test.bind(integerLikeMatcher);\nconst numericLiteralDescriptions = {\n number: \"a number\",\n bigint: \"a bigint\",\n integer: \"an integer\"\n};\nexport const writeMalformedNumericLiteralMessage = (def, kind) => `'${def}' was parsed as ${numericLiteralDescriptions[kind]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`;\nconst isWellFormed = (def, kind) => kind === \"number\" ? isWellFormedNumber(def) : isWellFormedInteger(def);\nconst parseKind = (def, kind) => kind === \"number\" ? Number(def) : Number.parseInt(def);\nconst isKindLike = (def, kind) => kind === \"number\" ? isNumberLike(def) : isIntegerLike(def);\nexport const tryParseNumber = (token, options) => parseNumeric(token, \"number\", options);\nexport const tryParseWellFormedNumber = (token, options) => parseNumeric(token, \"number\", { ...options, strict: true });\nexport const tryParseInteger = (token, options) => parseNumeric(token, \"integer\", options);\nconst parseNumeric = (token, kind, options) => {\n const value = parseKind(token, kind);\n if (!Number.isNaN(value)) {\n if (isKindLike(token, kind)) {\n if (options?.strict) {\n return isWellFormed(token, kind) ? value : (throwParseError(writeMalformedNumericLiteralMessage(token, kind)));\n }\n return value;\n }\n }\n return (options?.errorOnFail ?\n throwParseError(options?.errorOnFail === true ?\n `Failed to parse ${numericLiteralDescriptions[kind]} from '${token}'`\n : options?.errorOnFail)\n : undefined);\n};\nexport const tryParseWellFormedBigint = (def) => {\n if (def[def.length - 1] !== \"n\")\n return;\n const maybeIntegerLiteral = def.slice(0, -1);\n let value;\n try {\n value = BigInt(maybeIntegerLiteral);\n }\n catch {\n return;\n }\n if (wellFormedIntegerMatcher.test(maybeIntegerLiteral))\n return value;\n if (integerLikeMatcher.test(maybeIntegerLiteral)) {\n // If the definition looks like a bigint but is\n // not well-formed, throw.\n return throwParseError(writeMalformedNumericLiteralMessage(def, \"bigint\"));\n }\n};\n/**\n * Returns the next or previous representable floating-point number after the given input.\n *\n * @param {\"+\" | \"-\"} [direction=\"+\"] - The direction to find the nearest float. \"+\" for the next float, \"-\" for the previous float.\n * @throws {Error} If the input is not a finite number.\n *\n * @example\n * console.log(nearestFloat(0)); // Smallest positive number\n * console.log(nearestFloat(2)); // 2.0000000000000004\n * console.log(nearestFloat(2.1)); // 2.1000000000000005\n * console.log(nearestFloat(2, \"-\")); // 1.9999999999999998\n * console.log(nearestFloat(2.1, \"-\")); // 2.0999999999999996\n * // as size of input increases, the increments become larger to stay within what\n * // JS can represent in a numeric value\n * console.log(nearestFloat(5555555555555555)); // 5555555555555556\n * console.log(nearestFloat(5555555555555555, \"-\")); // 5555555555555554\n */\nexport const nearestFloat = (n, direction = \"+\") => {\n const buffer = new ArrayBuffer(8);\n const f64 = new Float64Array(buffer);\n const u32 = new Uint32Array(buffer);\n f64[0] = n;\n if (n === 0) {\n u32[0] = 1;\n u32[1] = direction === \"-\" ? 1 << 31 : 0;\n }\n else if ((n > 0 && direction === \"+\") || (n < 0 && direction === \"-\")) {\n if (u32[0]++ === 0xffffffff)\n u32[1]++;\n }\n else if (u32[0]-- === 0)\n u32[1]--;\n return f64[0];\n};\n","// eslint-disable-next-line @typescript-eslint/no-restricted-imports\nimport { configureSchema } from \"@ark/schema/config\";\nexport const configure = configureSchema;\n","import { getBuiltinNameOfConstructor } from \"./objectKinds.js\";\n/** Shallowly copy the properties of the object. */\nexport const shallowClone = input => _clone(input, null);\n/** Deeply copy the properties of the a non-subclassed Object, Array or Date.*/\nexport const deepClone = (input) => _clone(input, new Map());\nconst _clone = (input, seen) => {\n if (typeof input !== \"object\" || input === null)\n return input;\n if (seen?.has(input))\n return seen.get(input);\n const builtinConstructorName = getBuiltinNameOfConstructor(input.constructor);\n if (builtinConstructorName === \"Date\")\n return new Date(input.getTime());\n // we don't try and clone other prototypes here since this we can't guarantee arrow functions attached to the object\n // are rebound in case they reference `this` (see https://x.com/colinhacks/status/1818422039210049985)\n if (builtinConstructorName && builtinConstructorName !== \"Array\")\n return input;\n const cloned = Array.isArray(input) ?\n input.slice()\n : Object.create(Object.getPrototypeOf(input));\n const propertyDescriptors = Object.getOwnPropertyDescriptors(input);\n if (seen) {\n seen.set(input, cloned);\n for (const k in propertyDescriptors) {\n const desc = propertyDescriptors[k];\n if (\"get\" in desc || \"set\" in desc)\n continue;\n desc.value = _clone(desc.value, seen);\n }\n }\n Object.defineProperties(cloned, propertyDescriptors);\n return cloned;\n};\n","import { intrinsic } from \"@ark/schema\";\nimport { Callable, domainOf, throwParseError } from \"@ark/util\";\nexport class InternalMatchParser extends Callable {\n $;\n constructor($) {\n super((...args) => new InternalChainedMatchParser($)(...args), {\n bind: $\n });\n this.$ = $;\n }\n in(def) {\n return new InternalChainedMatchParser(this.$, def === undefined ? undefined : this.$.parse(def));\n }\n at(key, cases) {\n return new InternalChainedMatchParser(this.$).at(key, cases);\n }\n case(when, then) {\n return new InternalChainedMatchParser(this.$).case(when, then);\n }\n}\nexport class InternalChainedMatchParser extends Callable {\n $;\n in;\n key;\n branches = [];\n constructor($, In) {\n super(cases => this.caseEntries(Object.entries(cases).map(([k, v]) => k === \"default\" ? [k, v] : [this.$.parse(k), v])));\n this.$ = $;\n this.in = In;\n }\n at(key, cases) {\n if (this.key)\n throwParseError(doubleAtMessage);\n if (this.branches.length)\n throwParseError(chainedAtMessage);\n this.key = key;\n return cases ? this.match(cases) : this;\n }\n case(def, resolver) {\n return this.caseEntry(this.$.parse(def), resolver);\n }\n caseEntry(node, resolver) {\n const wrappableNode = this.key ? this.$.parse({ [this.key]: node }) : node;\n const branch = wrappableNode.pipe(resolver);\n this.branches.push(branch);\n return this;\n }\n match(cases) {\n return this(cases);\n }\n strings(cases) {\n return this.caseEntries(Object.entries(cases).map(([k, v]) => k === \"default\" ?\n [k, v]\n : [this.$.node(\"unit\", { unit: k }), v]));\n }\n caseEntries(entries) {\n for (let i = 0; i < entries.length; i++) {\n const [k, v] = entries[i];\n if (k === \"default\") {\n if (i !== entries.length - 1) {\n throwParseError(`default may only be specified as the last key of a switch definition`);\n }\n return this.default(v);\n }\n if (typeof v !== \"function\") {\n return throwParseError(`Value for case \"${k}\" must be a function (was ${domainOf(v)})`);\n }\n this.caseEntry(k, v);\n }\n return this;\n }\n default(defaultCase) {\n if (typeof defaultCase === \"function\")\n this.case(intrinsic.unknown, defaultCase);\n const schema = {\n branches: this.branches,\n ordered: true\n };\n if (defaultCase === \"never\" || defaultCase === \"assert\")\n schema.meta = { onFail: throwOnDefault };\n const cases = this.$.node(\"union\", schema);\n if (!this.in)\n return this.$.finalize(cases);\n let inputValidatedCases = this.in.pipe(cases);\n if (defaultCase === \"never\" || defaultCase === \"assert\") {\n inputValidatedCases = inputValidatedCases.configureReferences({\n onFail: throwOnDefault\n }, \"self\");\n }\n return this.$.finalize(inputValidatedCases);\n }\n}\nexport const throwOnDefault = errors => errors.throw();\nexport const chainedAtMessage = `A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')`;\nexport const doubleAtMessage = `At most one key matcher may be specified per expression`;\n","import { isArray } from \"@ark/util\";\nimport { parseInnerDefinition } from \"./definition.js\";\nexport const parseProperty = (def, ctx) => {\n if (isArray(def)) {\n if (def[1] === \"=\")\n return [ctx.$.parseOwnDefinitionFormat(def[0], ctx), \"=\", def[2]];\n if (def[1] === \"?\")\n return [ctx.$.parseOwnDefinitionFormat(def[0], ctx), \"?\"];\n }\n // string-embedded defaults/optionals are handled by the string parser\n return parseInnerDefinition(def, ctx);\n};\n// single quote use here is better for TypeScript's inlined error to avoid escapes\nexport const invalidOptionalKeyKindMessage = `Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`;\n// single quote use here is better for TypeScript's inlined error to avoid escapes\nexport const invalidDefaultableKeyKindMessage = `Only required keys may specify default values, e.g. { value: 'number = 0' }`;\n","import { ArkErrors, BaseRoot, GenericRoot } from \"@ark/schema\";\nimport { Callable, Hkt } from \"@ark/util\";\nexport class InternalTypeParser extends Callable {\n constructor($) {\n const attach = Object.assign({\n errors: ArkErrors,\n hkt: Hkt,\n $: $,\n raw: $.parse,\n module: $.constructor.module,\n scope: $.constructor.scope,\n define: $.define,\n match: $.match,\n generic: $.generic,\n schema: $.schema,\n // this won't be defined during bootstrapping, but externally always will be\n keywords: $.ambient,\n unit: $.unit,\n enumerated: $.enumerated,\n instanceOf: $.instanceOf,\n valueOf: $.valueOf,\n or: $.or,\n and: $.and,\n merge: $.merge,\n pipe: $.pipe\n }, \n // also won't be defined during bootstrapping\n $.ambientAttachments);\n super((...args) => {\n if (args.length === 1) {\n // treat as a simple definition\n return $.parse(args[0]);\n }\n if (args.length === 2 &&\n typeof args[0] === \"string\" &&\n args[0][0] === \"<\" &&\n args[0].at(-1) === \">\") {\n // if there are exactly two args, the first of which looks like <${string}>,\n // treat as a generic\n const paramString = args[0].slice(1, -1);\n const params = $.parseGenericParams(paramString, {});\n return new GenericRoot(params, args[1], $, $, null);\n }\n // otherwise, treat as a tuple expression. technically, this also allows\n // non-expression tuple definitions to be parsed, but it's not a supported\n // part of the API as specified by the associated types\n return $.parse(args);\n }, {\n bind: $,\n attach\n });\n }\n}\nexport const Type = BaseRoot;\n","import { isKeyOf, throwParseError } from \"@ark/util\";\nimport { tryParseDate, writeInvalidDateMessage } from \"./date.js\";\nexport const parseEnclosed = (s, enclosing) => {\n const enclosed = s.scanner.shiftUntil(untilLookaheadIsClosing[enclosingTokens[enclosing]]);\n if (s.scanner.lookahead === \"\")\n return s.error(writeUnterminatedEnclosedMessage(enclosed, enclosing));\n // Shift the scanner one additional time for the second enclosing token\n s.scanner.shift();\n if (enclosing === \"/\") {\n try {\n new RegExp(enclosed);\n }\n catch (e) {\n throwParseError(String(e));\n }\n s.root = s.ctx.$.node(\"intersection\", {\n domain: \"string\",\n pattern: enclosed\n }, { prereduced: true });\n }\n else if (isKeyOf(enclosing, enclosingQuote))\n s.root = s.ctx.$.node(\"unit\", { unit: enclosed });\n else {\n const date = tryParseDate(enclosed, writeInvalidDateMessage(enclosed));\n s.root = s.ctx.$.node(\"unit\", { meta: enclosed, unit: date });\n }\n};\nexport const enclosingQuote = {\n \"'\": 1,\n '\"': 1\n};\nexport const enclosingChar = {\n \"/\": 1,\n \"'\": 1,\n '\"': 1\n};\nexport const enclosingTokens = {\n \"d'\": \"'\",\n 'd\"': '\"',\n \"'\": \"'\",\n '\"': '\"',\n \"/\": \"/\"\n};\nexport const untilLookaheadIsClosing = {\n \"'\": scanner => scanner.lookahead === `'`,\n '\"': scanner => scanner.lookahead === `\"`,\n \"/\": scanner => scanner.lookahead === `/`\n};\nconst enclosingCharDescriptions = {\n '\"': \"double-quote\",\n \"'\": \"single-quote\",\n \"/\": \"forward slash\"\n};\nexport const writeUnterminatedEnclosedMessage = (fragment, enclosingStart) => `${enclosingStart}${fragment} requires a closing ${enclosingCharDescriptions[enclosingTokens[enclosingStart]]}`;\n","import { throwInternalError } from \"./errors.js\";\nimport { unset } from \"./records.js\";\nexport const cached = (thunk) => {\n let result = unset;\n return () => (result === unset ? (result = thunk()) : result);\n};\nexport const isThunk = (value) => typeof value === \"function\" && value.length === 0;\nexport const tryCatch = (fn, onError) => {\n try {\n return fn();\n }\n catch (e) {\n return onError?.(e);\n }\n};\nexport const DynamicFunction = class extends Function {\n constructor(...args) {\n const params = args.slice(0, -1);\n const body = args.at(-1);\n try {\n super(...params, body);\n }\n catch (e) {\n return throwInternalError(`Encountered an unexpected error while compiling your definition:\n Message: ${e} \n Source: (${args.slice(0, -1)}) => {\n ${args.at(-1)}\n }`);\n }\n }\n};\nexport class Callable {\n constructor(fn, ...[opts]) {\n return Object.assign(Object.setPrototypeOf(fn.bind(opts?.bind ?? this), this.constructor.prototype), opts?.attach);\n }\n}\n/**\n * Checks if the environment has Content Security Policy (CSP) enabled,\n * preventing JIT-optimized code from being compiled via new Function().\n *\n * @returns `true` if a function created using new Function() can be\n * successfully invoked in the environment, `false` otherwise.\n *\n * The result is cached for subsequent invocations.\n */\nexport const envHasCsp = cached(() => {\n try {\n return new Function(\"return false\")();\n }\n catch {\n return true;\n }\n});\n","import { createConsola } from \"consola\";\n\nexport const logger = createConsola({});\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n","/** ONLY ACCESSIBLE ON THE SERVER */\n// biome-ignore lint/style/noNonNullAssertion: always set\nexport const envDirRelativePath = process.env.ENV_DIR_RELATIVE_PATH!;\n\n/** ONLY ACCESSIBLE ON THE SERVER */\n// biome-ignore lint/style/noNonNullAssertion: always set\nexport const userProjectLocation = process.env.USER_PROJECT_LOCATION!;\n\n/** ONLY ACCESSIBLE ON THE SERVER */\nexport const envDirectoryAbsolutePath =\n // biome-ignore lint/style/noNonNullAssertion: always set\n process.env.ENV_DIR_ABSOLUTE_PATH!;\n\nexport const isBuilding = process.env.NEXT_PUBLIC_IS_BUILDING === \"true\";\n\nexport const isPreviewDevelopment =\n process.env.NEXT_PUBLIC_IS_PREVIEW_DEVELOPMENT === \"true\";\n","import { CastableBase, DynamicFunction, hasDomain, isDotAccessible, serializePrimitive } from \"@ark/util\";\nimport { registeredReference } from \"./registry.js\";\nexport class CompiledFunction extends CastableBase {\n argNames;\n body = \"\";\n constructor(...args) {\n super();\n this.argNames = args;\n for (const arg of args) {\n if (arg in this) {\n throw new Error(`Arg name '${arg}' would overwrite an existing property on FunctionBody`);\n }\n ;\n this[arg] = arg;\n }\n }\n indentation = 0;\n indent() {\n this.indentation += 4;\n return this;\n }\n dedent() {\n this.indentation -= 4;\n return this;\n }\n prop(key, optional = false) {\n return compileLiteralPropAccess(key, optional);\n }\n index(key, optional = false) {\n return indexPropAccess(`${key}`, optional);\n }\n line(statement) {\n ;\n this.body += `${\" \".repeat(this.indentation)}${statement}\\n`;\n return this;\n }\n const(identifier, expression) {\n this.line(`const ${identifier} = ${expression}`);\n return this;\n }\n let(identifier, expression) {\n return this.line(`let ${identifier} = ${expression}`);\n }\n set(identifier, expression) {\n return this.line(`${identifier} = ${expression}`);\n }\n if(condition, then) {\n return this.block(`if (${condition})`, then);\n }\n elseIf(condition, then) {\n return this.block(`else if (${condition})`, then);\n }\n else(then) {\n return this.block(\"else\", then);\n }\n /** Current index is \"i\" */\n for(until, body, initialValue = 0) {\n return this.block(`for (let i = ${initialValue}; ${until}; i++)`, body);\n }\n /** Current key is \"k\" */\n forIn(object, body) {\n return this.block(`for (const k in ${object})`, body);\n }\n block(prefix, contents, suffix = \"\") {\n this.line(`${prefix} {`);\n this.indent();\n contents(this);\n this.dedent();\n return this.line(`}${suffix}`);\n }\n return(expression = \"\") {\n return this.line(`return ${expression}`);\n }\n write(name = \"anonymous\", indent = 0) {\n return `${name}(${this.argNames.join(\", \")}) { ${indent ?\n this.body\n .split(\"\\n\")\n .map(l => \" \".repeat(indent) + `${l}`)\n .join(\"\\n\")\n : this.body} }`;\n }\n compile() {\n return new DynamicFunction(...this.argNames, this.body);\n }\n}\nexport const compileSerializedValue = (value) => hasDomain(value, \"object\") || typeof value === \"symbol\" ?\n registeredReference(value)\n : serializePrimitive(value);\nexport const compileLiteralPropAccess = (key, optional = false) => {\n if (typeof key === \"string\" && isDotAccessible(key))\n return `${optional ? \"?\" : \"\"}.${key}`;\n return indexPropAccess(serializeLiteralKey(key), optional);\n};\nexport const serializeLiteralKey = (key) => typeof key === \"symbol\" ? registeredReference(key) : JSON.stringify(key);\nexport const indexPropAccess = (key, optional = false) => `${optional ? \"?.\" : \"\"}[${key}]`;\nexport class NodeCompiler extends CompiledFunction {\n traversalKind;\n optimistic;\n constructor(ctx) {\n super(\"data\", \"ctx\");\n this.traversalKind = ctx.kind;\n this.optimistic = ctx.optimistic === true;\n }\n invoke(node, opts) {\n const arg = opts?.arg ?? this.data;\n const requiresContext = typeof node === \"string\" ? true : this.requiresContextFor(node);\n const id = typeof node === \"string\" ? node : node.id;\n if (requiresContext)\n return `${this.referenceToId(id, opts)}(${arg}, ${this.ctx})`;\n return `${this.referenceToId(id, opts)}(${arg})`;\n }\n referenceToId(id, opts) {\n const invokedKind = opts?.kind ?? this.traversalKind;\n const base = `this.${id}${invokedKind}`;\n return opts?.bind ? `${base}.bind(${opts?.bind})` : base;\n }\n requiresContextFor(node) {\n return this.traversalKind === \"Apply\" || node.allowsRequiresContext;\n }\n initializeErrorCount() {\n return this.const(\"errorCount\", \"ctx.currentErrorCount\");\n }\n returnIfFail() {\n return this.if(\"ctx.currentErrorCount > errorCount\", () => this.return());\n }\n returnIfFailFast() {\n return this.if(\"ctx.failFast && ctx.currentErrorCount > errorCount\", () => this.return());\n }\n traverseKey(keyExpression, accessExpression, node) {\n const requiresContext = this.requiresContextFor(node);\n if (requiresContext)\n this.line(`${this.ctx}.path.push(${keyExpression})`);\n this.check(node, {\n arg: accessExpression\n });\n if (requiresContext)\n this.line(`${this.ctx}.path.pop()`);\n return this;\n }\n check(node, opts) {\n return this.traversalKind === \"Allows\" ?\n this.if(`!${this.invoke(node, opts)}`, () => this.return(false))\n : this.line(this.invoke(node, opts));\n }\n}\n","import { CastableBase, ReadonlyArray, ReadonlyPath, append, conflatenateAll, defineProperties, flatMorph, stringifyPath } from \"@ark/util\";\nimport { arkKind } from \"./utils.js\";\nexport class ArkError extends CastableBase {\n [arkKind] = \"error\";\n path;\n data;\n nodeConfig;\n input;\n ctx;\n // TS gets confused by <code>, so internally we just use the base type for input\n constructor({ prefixPath, relativePath, ...input }, ctx) {\n super();\n this.input = input;\n this.ctx = ctx;\n defineProperties(this, input);\n const data = ctx.data;\n if (input.code === \"union\") {\n input.errors = input.errors.flatMap(innerError => {\n // flatten union errors to avoid repeating context like \"foo must be foo must be\"...\n const flat = innerError.hasCode(\"union\") ? innerError.errors : [innerError];\n if (!prefixPath && !relativePath)\n return flat;\n return flat.map(e => e.transform(e => ({\n ...e,\n path: conflatenateAll(prefixPath, e.path, relativePath)\n })));\n });\n }\n this.nodeConfig = ctx.config[this.code];\n const basePath = [...(input.path ?? ctx.path)];\n if (relativePath)\n basePath.push(...relativePath);\n if (prefixPath)\n basePath.unshift(...prefixPath);\n this.path = new ReadonlyPath(...basePath);\n this.data = \"data\" in input ? input.data : data;\n }\n transform(f) {\n return new ArkError(f({\n data: this.data,\n path: this.path,\n ...this.input\n }), this.ctx);\n }\n hasCode(code) {\n return this.code === code;\n }\n get propString() {\n return stringifyPath(this.path);\n }\n get expected() {\n if (this.input.expected)\n return this.input.expected;\n const config = this.meta?.expected ?? this.nodeConfig.expected;\n return typeof config === \"function\" ? config(this.input) : config;\n }\n get actual() {\n if (this.input.actual)\n return this.input.actual;\n const config = this.meta?.actual ?? this.nodeConfig.actual;\n return typeof config === \"function\" ? config(this.data) : config;\n }\n get problem() {\n if (this.input.problem)\n return this.input.problem;\n const config = this.meta?.problem ?? this.nodeConfig.problem;\n return typeof config === \"function\" ? config(this) : config;\n }\n get message() {\n if (this.input.message)\n return this.input.message;\n const config = this.meta?.message ?? this.nodeConfig.message;\n return typeof config === \"function\" ? config(this) : config;\n }\n get flat() {\n return this.hasCode(\"intersection\") ? [...this.errors] : [this];\n }\n toJSON() {\n return {\n data: this.data,\n path: this.path,\n ...this.input,\n expected: this.expected,\n actual: this.actual,\n problem: this.problem,\n message: this.message\n };\n }\n toString() {\n return this.message;\n }\n throw() {\n throw this;\n }\n}\n/**\n * A ReadonlyArray of `ArkError`s returned by a Type on invalid input.\n *\n * Subsequent errors added at an existing path are merged into an\n * ArkError intersection.\n */\nexport class ArkErrors extends ReadonlyArray {\n [arkKind] = \"errors\";\n ctx;\n constructor(ctx) {\n super();\n this.ctx = ctx;\n }\n /**\n * Errors by a pathString representing their location.\n */\n byPath = Object.create(null);\n /**\n * {@link byPath} flattened so that each value is an array of ArkError instances at that path.\n *\n * ✅ Since \"intersection\" errors will be flattened to their constituent `.errors`,\n * they will never be directly present in this representation.\n */\n get flatByPath() {\n return flatMorph(this.byPath, (k, v) => [k, v.flat]);\n }\n /**\n * {@link byPath} flattened so that each value is an array of problem strings at that path.\n */\n get flatProblemsByPath() {\n return flatMorph(this.byPath, (k, v) => [k, v.flat.map(e => e.problem)]);\n }\n /**\n * All pathStrings at which errors are present mapped to the errors occuring\n * at that path or any nested path within it.\n */\n byAncestorPath = Object.create(null);\n count = 0;\n mutable = this;\n /**\n * Throw a TraversalError based on these errors.\n */\n throw() {\n throw this.toTraversalError();\n }\n /**\n * Converts ArkErrors to TraversalError, a subclass of `Error` suitable for throwing with nice\n * formatting.\n */\n toTraversalError() {\n return new TraversalError(this);\n }\n /**\n * Append an ArkError to this array, ignoring duplicates.\n */\n add(error) {\n if (this.includes(error))\n return;\n this._add(error);\n }\n transform(f) {\n const result = new ArkErrors(this.ctx);\n for (const e of this)\n result.add(f(e));\n return result;\n }\n /**\n * Add all errors from an ArkErrors instance, ignoring duplicates and\n * prefixing their paths with that of the current Traversal.\n */\n merge(errors) {\n for (const e of errors) {\n if (this.includes(e))\n continue;\n this._add(new ArkError({ ...e, path: [...this.ctx.path, ...e.path] }, this.ctx));\n }\n }\n /**\n * @internal\n */\n affectsPath(path) {\n if (this.length === 0)\n return false;\n return (\n // this would occur if there is an existing error at a prefix of path\n // e.g. the path is [\"foo\", \"bar\"] and there is an error at [\"foo\"]\n path.stringifyAncestors().some(s => s in this.byPath) ||\n // this would occur if there is an existing error at a suffix of path\n // e.g. the path is [\"foo\"] and there is an error at [\"foo\", \"bar\"]\n path.stringify() in this.byAncestorPath);\n }\n /**\n * A human-readable summary of all errors.\n */\n get summary() {\n return this.toString();\n }\n /**\n * Alias of this ArkErrors instance for StandardSchema compatibility.\n */\n get issues() {\n return this;\n }\n toJSON() {\n return [...this.map(e => e.toJSON())];\n }\n toString() {\n return this.join(\"\\n\");\n }\n _add(error) {\n const existing = this.byPath[error.propString];\n if (existing) {\n // If the existing error is an error for a value constrained to \"never\",\n // then we don't want to intersect the error messages.\n if (existing.hasCode(\"union\") && existing.errors.length === 0)\n return;\n // If the new error is an error for a value constrained to \"never\",\n // then we want to override any existing errors.\n const errorIntersection = error.hasCode(\"union\") && error.errors.length === 0 ?\n error\n : new ArkError({\n code: \"intersection\",\n errors: existing.hasCode(\"intersection\") ?\n [...existing.errors, error]\n : [existing, error]\n }, this.ctx);\n const existingIndex = this.indexOf(existing);\n this.mutable[existingIndex === -1 ? this.length : existingIndex] =\n errorIntersection;\n this.byPath[error.propString] = errorIntersection;\n // add the original error here rather than the intersection\n // since the intersection is reflected by the array of errors at\n // this path\n this.addAncestorPaths(error);\n }\n else {\n this.byPath[error.propString] = error;\n this.addAncestorPaths(error);\n this.mutable.push(error);\n }\n this.count++;\n }\n addAncestorPaths(error) {\n for (const propString of error.path.stringifyAncestors()) {\n this.byAncestorPath[propString] = append(this.byAncestorPath[propString], error);\n }\n }\n}\nexport class TraversalError extends Error {\n name = \"TraversalError\";\n constructor(errors) {\n if (errors.length === 1)\n super(errors.summary);\n else\n super(\"\\n\" + errors.map(error => ` • ${indent(error)}`).join(\"\\n\"));\n Object.defineProperty(this, \"arkErrors\", {\n value: errors,\n enumerable: false\n });\n }\n}\nconst indent = (error) => error.toString().split(\"\\n\").join(\"\\n \");\n","import { isKeyOf, throwParseError } from \"@ark/util\";\nimport { InternalPrimitiveConstraint } from \"../constraint.js\";\nexport class BaseRange extends InternalPrimitiveConstraint {\n boundOperandKind = operandKindsByBoundKind[this.kind];\n compiledActual = this.boundOperandKind === \"value\" ? `data`\n : this.boundOperandKind === \"length\" ? `data.length`\n : `data.valueOf()`;\n comparator = compileComparator(this.kind, this.exclusive);\n numericLimit = this.rule.valueOf();\n expression = `${this.comparator} ${this.rule}`;\n compiledCondition = `${this.compiledActual} ${this.comparator} ${this.numericLimit}`;\n compiledNegation = `${this.compiledActual} ${negatedComparators[this.comparator]} ${this.numericLimit}`;\n // we need to compute stringLimit before errorContext, which references it\n // transitively through description for date bounds\n stringLimit = this.boundOperandKind === \"date\" ?\n dateLimitToString(this.numericLimit)\n : `${this.numericLimit}`;\n limitKind = this.comparator[\"0\"] === \"<\" ? \"upper\" : \"lower\";\n isStricterThan(r) {\n const thisLimitIsStricter = this.limitKind === \"upper\" ?\n this.numericLimit < r.numericLimit\n : this.numericLimit > r.numericLimit;\n return (thisLimitIsStricter ||\n (this.numericLimit === r.numericLimit &&\n this.exclusive === true &&\n !r.exclusive));\n }\n overlapsRange(r) {\n if (this.isStricterThan(r))\n return false;\n if (this.numericLimit === r.numericLimit && (this.exclusive || r.exclusive))\n return false;\n return true;\n }\n overlapIsUnit(r) {\n return (this.numericLimit === r.numericLimit && !this.exclusive && !r.exclusive);\n }\n}\nconst negatedComparators = {\n \"<\": \">=\",\n \"<=\": \">\",\n \">\": \"<=\",\n \">=\": \"<\"\n};\nexport const boundKindPairsByLower = {\n min: \"max\",\n minLength: \"maxLength\",\n after: \"before\"\n};\nexport const parseExclusiveKey = {\n // omit key with value false since it is the default\n parse: (flag) => flag || undefined\n};\nexport const createLengthSchemaNormalizer = (kind) => (schema) => {\n if (typeof schema === \"number\")\n return { rule: schema };\n const { exclusive, ...normalized } = schema;\n return exclusive ?\n {\n ...normalized,\n rule: kind === \"minLength\" ? normalized.rule + 1 : normalized.rule - 1\n }\n : normalized;\n};\nexport const createDateSchemaNormalizer = (kind) => (schema) => {\n if (typeof schema === \"number\" ||\n typeof schema === \"string\" ||\n schema instanceof Date)\n return { rule: schema };\n const { exclusive, ...normalized } = schema;\n if (!exclusive)\n return normalized;\n const numericLimit = typeof normalized.rule === \"number\" ? normalized.rule\n : typeof normalized.rule === \"string\" ?\n new Date(normalized.rule).valueOf()\n : normalized.rule.valueOf();\n return exclusive ?\n {\n ...normalized,\n rule: kind === \"after\" ? numericLimit + 1 : numericLimit - 1\n }\n : normalized;\n};\nexport const parseDateLimit = (limit) => typeof limit === \"string\" || typeof limit === \"number\" ?\n new Date(limit)\n : limit;\nexport const writeInvalidLengthBoundMessage = (kind, limit) => `${kind} bound must be a positive integer (was ${limit})`;\nexport const createLengthRuleParser = (kind) => (limit) => {\n if (!Number.isInteger(limit) || limit < 0)\n throwParseError(writeInvalidLengthBoundMessage(kind, limit));\n return limit;\n};\nconst operandKindsByBoundKind = {\n min: \"value\",\n max: \"value\",\n minLength: \"length\",\n maxLength: \"length\",\n after: \"date\",\n before: \"date\"\n};\nexport const compileComparator = (kind, exclusive) => `${isKeyOf(kind, boundKindPairsByLower) ? \">\" : \"<\"}${exclusive ? \"\" : \"=\"}`;\nexport const dateLimitToString = (limit) => typeof limit === \"string\" ? limit : new Date(limit).toLocaleString();\nexport const writeUnboundableMessage = (root) => `Bounded expression ${root} must be exactly one of number, string, Array, or Date`;\n","import { flatMorph } from \"@ark/util\";\nimport { schemaKindsRightOf } from \"../shared/implement.js\";\nexport const defineRightwardIntersections = (kind, implementation) => flatMorph(schemaKindsRightOf(kind), (i, kind) => [\n kind,\n implementation\n]);\n","import { compileObjectLiteral } from \"../shared/implement.js\";\nimport { BaseRoot } from \"./root.js\";\nexport class InternalBasis extends BaseRoot {\n traverseApply = (data, ctx) => {\n if (!this.traverseAllows(data, ctx))\n ctx.errorFromNodeContext(this.errorContext);\n };\n get errorContext() {\n return {\n code: this.kind,\n description: this.description,\n meta: this.meta,\n ...this.inner\n };\n }\n get compiledErrorContext() {\n return compileObjectLiteral(this.errorContext);\n }\n compile(js) {\n if (js.traversalKind === \"Allows\")\n js.return(this.compiledCondition);\n else {\n js.if(this.compiledNegation, () => js.line(`${js.ctx}.errorFromNodeContext(${this.compiledErrorContext})`));\n }\n }\n}\n","import { $ZodRegistry, globalRegistry } from \"./registries.js\";\nimport { getEnumValues } from \"./util.js\";\nexport class JSONSchemaGenerator {\n constructor(params) {\n this.counter = 0;\n this.metadataRegistry = params?.metadata ?? globalRegistry;\n this.target = params?.target ?? \"draft-2020-12\";\n this.unrepresentable = params?.unrepresentable ?? \"throw\";\n this.override = params?.override ?? (() => { });\n this.io = params?.io ?? \"output\";\n this.seen = new Map();\n }\n process(schema, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n const formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n };\n // check for schema in seens\n const seen = this.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n this.seen.set(schema, result);\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n const parent = schema._zod.parent;\n if (parent) {\n // schema was cloned from another schema\n result.ref = parent;\n this.process(parent, params);\n this.seen.get(parent).isParent = true;\n }\n else {\n const _json = result.schema;\n switch (def.type) {\n case \"string\": {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding } = schema._zod\n .bag;\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const regexes = [...patterns];\n if (regexes.length === 1)\n json.pattern = regexes[0].source;\n else if (regexes.length > 1) {\n result.schema.allOf = [\n ...regexes.map((regex) => ({\n ...(this.target === \"draft-7\" || this.target === \"draft-4\" || this.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n break;\n }\n case \"number\": {\n const json = _json;\n const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"number\";\n if (typeof exclusiveMinimum === \"number\") {\n if (this.target === \"draft-4\" || this.target === \"openapi-3.0\") {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n if (typeof minimum === \"number\") {\n json.minimum = minimum;\n if (typeof exclusiveMinimum === \"number\" && this.target !== \"draft-4\") {\n if (exclusiveMinimum >= minimum)\n delete json.minimum;\n else\n delete json.exclusiveMinimum;\n }\n }\n if (typeof exclusiveMaximum === \"number\") {\n if (this.target === \"draft-4\" || this.target === \"openapi-3.0\") {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n if (typeof maximum === \"number\") {\n json.maximum = maximum;\n if (typeof exclusiveMaximum === \"number\" && this.target !== \"draft-4\") {\n if (exclusiveMaximum <= maximum)\n delete json.maximum;\n else\n delete json.exclusiveMaximum;\n }\n }\n if (typeof multipleOf === \"number\")\n json.multipleOf = multipleOf;\n break;\n }\n case \"boolean\": {\n const json = _json;\n json.type = \"boolean\";\n break;\n }\n case \"bigint\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"BigInt cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"symbol\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Symbols cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"null\": {\n if (this.target === \"openapi-3.0\") {\n _json.type = \"string\";\n _json.nullable = true;\n _json.enum = [null];\n }\n else\n _json.type = \"null\";\n break;\n }\n case \"any\": {\n break;\n }\n case \"unknown\": {\n break;\n }\n case \"undefined\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Undefined cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"void\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Void cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"never\": {\n _json.not = {};\n break;\n }\n case \"date\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Date cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"array\": {\n const json = _json;\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = this.process(def.element, { ...params, path: [...params.path, \"items\"] });\n break;\n }\n case \"object\": {\n const json = _json;\n json.type = \"object\";\n json.properties = {};\n const shape = def.shape; // params.shapeCache.get(schema)!;\n for (const key in shape) {\n json.properties[key] = this.process(shape[key], {\n ...params,\n path: [...params.path, \"properties\", key],\n });\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n // const optionalKeys = new Set(def.optional);\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const v = def.shape[key]._zod;\n if (this.io === \"input\") {\n return v.optin === undefined;\n }\n else {\n return v.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(requiredKeys);\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (this.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = this.process(def.catchall, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n break;\n }\n case \"union\": {\n const json = _json;\n // Discriminated unions use oneOf (exactly one match) instead of anyOf (one or more matches)\n // because the discriminator field ensures mutual exclusivity between options in JSON Schema\n const isDiscriminated = def.discriminator !== undefined;\n const options = def.options.map((x, i) => this.process(x, {\n ...params,\n path: [...params.path, isDiscriminated ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isDiscriminated) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n break;\n }\n case \"intersection\": {\n const json = _json;\n const a = this.process(def.left, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = this.process(def.right, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n break;\n }\n case \"tuple\": {\n const json = _json;\n json.type = \"array\";\n const prefixPath = this.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = this.target === \"draft-2020-12\" ? \"items\" : this.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => this.process(x, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? this.process(def.rest, {\n ...params,\n path: [...params.path, restPath, ...(this.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n if (this.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (rest) {\n json.items = rest;\n }\n }\n else if (this.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n json.minItems = prefixItems.length;\n if (!rest) {\n json.maxItems = prefixItems.length;\n }\n }\n else {\n json.items = prefixItems;\n if (rest) {\n json.additionalItems = rest;\n }\n }\n // length\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n break;\n }\n case \"record\": {\n const json = _json;\n json.type = \"object\";\n if (this.target === \"draft-7\" || this.target === \"draft-2020-12\") {\n json.propertyNames = this.process(def.keyType, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n }\n json.additionalProperties = this.process(def.valueType, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n break;\n }\n case \"map\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Map cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"set\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Set cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"enum\": {\n const json = _json;\n const values = getEnumValues(def.entries);\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n break;\n }\n case \"literal\": {\n const json = _json;\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n }\n else {\n // do not add to vals\n }\n }\n else if (typeof val === \"bigint\") {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n }\n else {\n vals.push(Number(val));\n }\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (this.target === \"draft-4\" || this.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"string\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n break;\n }\n case \"file\": {\n const json = _json;\n const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(json, file);\n }\n else {\n json.anyOf = mime.map((m) => {\n const mFile = { ...file, contentMediaType: m };\n return mFile;\n });\n }\n }\n else {\n Object.assign(json, file);\n }\n // if (this.unrepresentable === \"throw\") {\n // throw new Error(\"File cannot be represented in JSON Schema\");\n // }\n break;\n }\n case \"transform\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"nullable\": {\n const inner = this.process(def.innerType, params);\n if (this.target === \"openapi-3.0\") {\n result.ref = def.innerType;\n _json.nullable = true;\n }\n else {\n _json.anyOf = [inner, { type: \"null\" }];\n }\n break;\n }\n case \"nonoptional\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n break;\n }\n case \"success\": {\n const json = _json;\n json.type = \"boolean\";\n break;\n }\n case \"default\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n _json.default = JSON.parse(JSON.stringify(def.defaultValue));\n break;\n }\n case \"prefault\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n if (this.io === \"input\")\n _json._prefault = JSON.parse(JSON.stringify(def.defaultValue));\n break;\n }\n case \"catch\": {\n // use conditionals\n this.process(def.innerType, params);\n result.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n _json.default = catchValue;\n break;\n }\n case \"nan\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"NaN cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"template_literal\": {\n const json = _json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n json.type = \"string\";\n json.pattern = pattern.source;\n break;\n }\n case \"pipe\": {\n const innerType = this.io === \"input\" ? (def.in._zod.def.type === \"transform\" ? def.out : def.in) : def.out;\n this.process(innerType, params);\n result.ref = innerType;\n break;\n }\n case \"readonly\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n _json.readOnly = true;\n break;\n }\n // passthrough types\n case \"promise\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n break;\n }\n case \"optional\": {\n this.process(def.innerType, params);\n result.ref = def.innerType;\n break;\n }\n case \"lazy\": {\n const innerType = schema._zod.innerType;\n this.process(innerType, params);\n result.ref = innerType;\n break;\n }\n case \"custom\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n }\n break;\n }\n case \"function\": {\n if (this.unrepresentable === \"throw\") {\n throw new Error(\"Function types cannot be represented in JSON Schema\");\n }\n break;\n }\n default: {\n def;\n }\n }\n }\n }\n // metadata\n const meta = this.metadataRegistry.get(schema);\n if (meta)\n Object.assign(result.schema, meta);\n if (this.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (this.io === \"input\" && result.schema._prefault)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from this.seen in case it was overwritten\n const _result = this.seen.get(schema);\n return _result.schema;\n }\n emit(schema, _params) {\n const params = {\n cycles: _params?.cycles ?? \"ref\",\n reused: _params?.reused ?? \"inline\",\n // unrepresentable: _params?.unrepresentable ?? \"throw\",\n // uri: _params?.uri ?? ((id) => `${id}`),\n external: _params?.external ?? undefined,\n };\n // iterate over seen map;\n const root = this.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // initialize result with root schema fields\n // Object.assign(result, seen.cached);\n // returns a ref to the schema\n // defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes\n // multiple schemas map to the same seen object.\n // e.g. lazy\n // external is configured\n const defsSegment = this.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (params.external) {\n const externalId = params.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${this.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = params.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${this.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${id}` };\n }\n if (entry[1] === root) {\n return { ref: \"#\" };\n }\n // self-contained schema\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n const defId = entry[1].schema.id ?? `__schema${this.counter++}`;\n return { defId, ref: defUriPrefix + defId };\n };\n // stored cached version in `def` property\n // remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (params.cycles === \"throw\") {\n for (const entry of this.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/<root>` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of this.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (params.external) {\n const ext = params.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = this.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (params.reused === \"ref\") {\n extractToDef(entry);\n // biome-ignore lint:\n continue;\n }\n }\n }\n // flatten _refs\n const flattenRef = (zodSchema, params) => {\n const seen = this.seen.get(zodSchema);\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n // already seen\n if (seen.ref === null) {\n return;\n }\n // flatten ref if defined\n const ref = seen.ref;\n seen.ref = null; // prevent recursion\n if (ref) {\n flattenRef(ref, params);\n // merge referenced schema into current\n const refSchema = this.seen.get(ref).schema;\n if (refSchema.$ref &&\n (params.target === \"draft-7\" || params.target === \"draft-4\" || params.target === \"openapi-3.0\")) {\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n Object.assign(schema, refSchema);\n Object.assign(schema, _cached); // prevent overwriting any fields in the original schema\n }\n }\n // execute overrides\n if (!seen.isParent)\n this.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n for (const entry of [...this.seen.entries()].reverse()) {\n flattenRef(entry[0], { target: this.target });\n }\n const result = {};\n if (this.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (this.target === \"draft-7\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (this.target === \"draft-4\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (this.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // @ts-ignore\n console.warn(`Invalid target: ${this.target}`);\n }\n if (params.external?.uri) {\n const id = params.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = params.external.uri(id);\n }\n Object.assign(result, root.def);\n // build defs object\n const defs = params.external?.defs ?? {};\n for (const entry of this.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n defs[seen.defId] = seen.def;\n }\n }\n // set definitions in result\n if (params.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (this.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed\n // each call to .emit() is functionally independent\n // though the seen map is shared\n return JSON.parse(JSON.stringify(result));\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n }\n}\nexport function toJSONSchema(input, _params) {\n if (input instanceof $ZodRegistry) {\n const gen = new JSONSchemaGenerator(_params);\n const defs = {};\n for (const entry of input._idmap.entries()) {\n const [_, schema] = entry;\n gen.process(schema);\n }\n const schemas = {};\n const external = {\n registry: input,\n uri: _params?.uri,\n defs,\n };\n for (const entry of input._idmap.entries()) {\n const [key, schema] = entry;\n schemas[key] = gen.emit(schema, {\n ..._params,\n external,\n });\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = gen.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n const gen = new JSONSchemaGenerator(_params);\n gen.process(input);\n return gen.emit(input, _params);\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import { DynamicBase, flatMorph } from \"@ark/util\";\nimport { arkKind, hasArkKind } from \"./shared/utils.js\";\nexport class RootModule extends DynamicBase {\n // ensure `[arkKind]` is non-enumerable so it doesn't get spread on import/export\n get [arkKind]() {\n return \"module\";\n }\n}\nexport const bindModule = (module, $) => new RootModule(flatMorph(module, (alias, value) => [\n alias,\n hasArkKind(value, \"module\") ?\n bindModule(value, $)\n : $.bindReference(value)\n]));\nexport const SchemaModule = RootModule;\n","import uk from \"./uk.js\";\n/** @deprecated Use `uk` instead. */\nexport default function () {\n return uk();\n}\n","import km from \"./km.js\";\n/** @deprecated Use `km` instead. */\nexport default function () {\n return km();\n}\n","import { BaseConstraint } from \"./constraint.js\";\nimport { compileObjectLiteral, implementNode } from \"./shared/implement.js\";\nimport { registeredReference } from \"./shared/registry.js\";\nconst implementation = implementNode({\n kind: \"predicate\",\n hasAssociatedError: true,\n collapsibleKey: \"predicate\",\n keys: {\n predicate: {}\n },\n normalize: schema => typeof schema === \"function\" ? { predicate: schema } : schema,\n defaults: {\n description: node => `valid according to ${node.predicate.name || \"an anonymous predicate\"}`\n },\n intersectionIsOpen: true,\n intersections: {\n // as long as the narrows in l and r are individually safe to check\n // in the order they're specified, checking them in the order\n // resulting from this intersection should also be safe.\n predicate: () => null\n }\n});\nexport class PredicateNode extends BaseConstraint {\n serializedPredicate = registeredReference(this.predicate);\n compiledCondition = `${this.serializedPredicate}(data, ctx)`;\n compiledNegation = `!${this.compiledCondition}`;\n impliedBasis = null;\n expression = this.serializedPredicate;\n traverseAllows = this.predicate;\n errorContext = {\n code: \"predicate\",\n description: this.description,\n meta: this.meta\n };\n compiledErrorContext = compileObjectLiteral(this.errorContext);\n traverseApply = (data, ctx) => {\n if (!this.predicate(data, ctx.external) && !ctx.hasError())\n ctx.errorFromNodeContext(this.errorContext);\n };\n compile(js) {\n if (js.traversalKind === \"Allows\") {\n js.return(this.compiledCondition);\n return;\n }\n js.if(`${this.compiledNegation} && !ctx.hasError()`, () => js.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`));\n }\n reduceJsonSchema(base, ctx) {\n return ctx.fallback.predicate({\n code: \"predicate\",\n base,\n predicate: this.predicate\n });\n }\n}\nexport const Predicate = {\n implementation,\n Node: PredicateNode\n};\n","import { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { BaseRange, parseExclusiveKey } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"min\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {},\n exclusive: parseExclusiveKey\n },\n normalize: schema => typeof schema === \"number\" ? { rule: schema } : schema,\n defaults: {\n description: node => {\n if (node.rule === 0)\n return node.exclusive ? \"positive\" : \"non-negative\";\n return `${node.exclusive ? \"more than\" : \"at least\"} ${node.rule}`;\n }\n },\n intersections: {\n min: (l, r) => (l.isStricterThan(r) ? l : r)\n },\n obviatesBasisDescription: true\n});\nexport class MinNode extends BaseRange {\n impliedBasis = $ark.intrinsic.number.internal;\n traverseAllows = this.exclusive ? data => data > this.rule : data => data >= this.rule;\n reduceJsonSchema(schema) {\n if (this.exclusive)\n schema.exclusiveMinimum = this.rule;\n else\n schema.minimum = this.rule;\n return schema;\n }\n}\nexport const Min = {\n implementation,\n Node: MinNode\n};\n","import { InternalPrimitiveConstraint } from \"../constraint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nconst implementation = implementNode({\n kind: \"pattern\",\n collapsibleKey: \"rule\",\n keys: {\n rule: {},\n flags: {}\n },\n normalize: schema => typeof schema === \"string\" ? { rule: schema }\n : schema instanceof RegExp ?\n schema.flags ?\n { rule: schema.source, flags: schema.flags }\n : { rule: schema.source }\n : schema,\n obviatesBasisDescription: true,\n obviatesBasisExpression: true,\n hasAssociatedError: true,\n intersectionIsOpen: true,\n defaults: {\n description: node => `matched by ${node.rule}`\n },\n intersections: {\n // for now, non-equal regex are naively intersected:\n // https://github.com/arktypeio/arktype/issues/853\n pattern: () => null\n }\n});\nexport class PatternNode extends InternalPrimitiveConstraint {\n instance = new RegExp(this.rule, this.flags);\n expression = `${this.instance}`;\n traverseAllows = this.instance.test.bind(this.instance);\n compiledCondition = `${this.expression}.test(data)`;\n compiledNegation = `!${this.compiledCondition}`;\n impliedBasis = $ark.intrinsic.string.internal;\n reduceJsonSchema(base, ctx) {\n if (base.pattern) {\n return ctx.fallback.patternIntersection({\n code: \"patternIntersection\",\n base: base,\n pattern: this.rule\n });\n }\n base.pattern = this.rule;\n return base;\n }\n}\nexport const Pattern = {\n implementation,\n Node: PatternNode\n};\n","\"use server\";\n\nimport path from \"node:path\";\nimport { type BuildFailure, build, type OutputFile } from \"esbuild\";\nimport * as z from \"zod\";\nimport type { Config } from \"@/lib/types\";\nimport { improveErrorWithSourceMap } from \"@/utils/improve-error-with-sourcemap\";\nimport { isErr } from \"@/utils/result\";\nimport { logger } from \"../cli/utils/logger\";\nimport { runBundledCode } from \"./run-bundled-code\";\n\nconst optionsSchema = z.object({\n clientPrefix: z.string().optional(),\n client: z.record(z.string(), z.unknown()).optional(),\n server: z.record(z.string(), z.unknown()).optional(),\n shared: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst presetSchema = optionsSchema.extend({\n id: z.string().optional(),\n get extends() {\n return z.array(presetSchema).optional();\n },\n});\n\nconst configSchema = z.object({\n default: z.object({\n options: optionsSchema.extend({\n extends: z.array(presetSchema).optional(),\n }),\n env: z.record(z.string(), z.unknown()),\n }),\n});\n\nexport const getConfigFile = async (configFilePath: string) => {\n let outputFiles: OutputFile[];\n try {\n const buildData = await build({\n bundle: true,\n entryPoints: [configFilePath],\n platform: \"node\",\n write: false,\n\n format: \"cjs\",\n jsx: \"automatic\",\n logLevel: \"silent\",\n define: {\n \"import.meta.env\": \"process.env\",\n },\n loader: {\n \".js\": \"jsx\",\n },\n outdir: \"stdout\",\n sourcemap: \"external\",\n external: [\"envin\"],\n });\n outputFiles = buildData.outputFiles;\n } catch (exception) {\n const buildFailure = exception as BuildFailure;\n logger.error(new Error(\"Build failure\"), buildFailure);\n return {\n error: {\n message: buildFailure.message,\n stack: buildFailure.stack,\n name: buildFailure.name,\n cause: buildFailure.cause,\n },\n };\n }\n\n const sourceMapFile = outputFiles[0];\n const bundledConfigFile = outputFiles[1];\n const builtConfigFile = bundledConfigFile?.text;\n\n const sourceMapToConfig = JSON.parse(sourceMapFile?.text ?? \"\");\n // because it will have a path like <tsconfigLocation>/stdout/config.js.map\n sourceMapToConfig.sourceRoot = path.resolve(\n sourceMapFile?.path ?? \"\",\n \"../..\",\n );\n sourceMapToConfig.sources = sourceMapToConfig.sources.map((source) =>\n path.resolve(sourceMapFile?.path ?? \"\", \"..\", source),\n );\n\n const runningResult = runBundledCode(builtConfigFile ?? \"\", configFilePath);\n\n if (isErr(runningResult)) {\n const { error } = runningResult;\n if (error instanceof Error) {\n error.stack &&= error.stack.split(\"at Script.runInContext (node:vm\")[0];\n logger.error(new Error(\"Error running bundled code\"), error);\n\n return {\n error: improveErrorWithSourceMap(\n error,\n configFilePath,\n sourceMapToConfig,\n ),\n };\n }\n\n logger.error(new Error(\"Unknown error running bundled code\"), error);\n throw error;\n }\n\n const parseResult = configSchema.safeParse(runningResult.value.exports);\n\n if (parseResult.error) {\n logger.error(\n new Error(\"Config schema validation error\"),\n parseResult.error,\n );\n return {\n error: improveErrorWithSourceMap(\n new Error(\n `The config file at ${configFilePath} does not contain the expected exports`,\n {\n cause: parseResult.error,\n },\n ),\n configFilePath,\n sourceMapToConfig,\n ),\n };\n }\n\n const { data: configModule } = parseResult;\n\n return {\n config: configModule.default as Config,\n sourceMapToOriginalFile: sourceMapToConfig,\n };\n};\n","import * as z from \"zod\";\nimport type { StandardSchemaV1 } from \"@/lib/standard\";\n\nconst zodSchema = z.object({\n description: z.string(),\n});\n\nconst valibotSchema = z.object({\n pipe: z.array(\n z.object({\n kind: z.string(),\n type: z.string(),\n description: z.string().optional(),\n }),\n ),\n});\n\ntype ValibotSchema = z.infer<typeof valibotSchema>;\n\nconst descriptionSchema = z.union([zodSchema, valibotSchema]);\n\nconst _getLastMetadata = (schema: ValibotSchema) => {\n const nestedSchemas = [];\n for (let index = schema.pipe.length - 1; index >= 0; index--) {\n const item = schema.pipe[index];\n if (item?.kind === \"schema\" && \"pipe\" in item) {\n // @ts-expect-error\n nestedSchemas.push(item);\n } else if (item?.kind === \"metadata\" && item?.type === \"description\") {\n return item.description;\n }\n }\n for (const nestedSchema of nestedSchemas) {\n const result = _getLastMetadata(nestedSchema);\n if (result !== undefined) {\n return result;\n }\n }\n};\n\nexport const getDescription = (schema: StandardSchemaV1) => {\n const result = descriptionSchema.safeParse(schema);\n\n if (!result.success) {\n return undefined;\n }\n\n if (\"description\" in result.data) {\n return result.data.description;\n }\n\n if (\"pipe\" in schema) {\n return _getLastMetadata(schema as ValibotSchema);\n }\n\n return undefined;\n};\n","import { node, schemaScope } from \"./scope.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { arrayIndexSource } from \"./structure/shared.js\";\nconst intrinsicBases = schemaScope({\n bigint: \"bigint\",\n // since we know this won't be reduced, it can be safely cast to a union\n boolean: [{ unit: false }, { unit: true }],\n false: { unit: false },\n never: [],\n null: { unit: null },\n number: \"number\",\n object: \"object\",\n string: \"string\",\n symbol: \"symbol\",\n true: { unit: true },\n unknown: {},\n undefined: { unit: undefined },\n Array,\n Date\n}, { prereducedAliases: true }).export();\n$ark.intrinsic = { ...intrinsicBases };\nconst intrinsicRoots = schemaScope({\n integer: {\n domain: \"number\",\n divisor: 1\n },\n lengthBoundable: [\"string\", Array],\n key: [\"string\", \"symbol\"],\n nonNegativeIntegerString: { domain: \"string\", pattern: arrayIndexSource }\n}, { prereducedAliases: true }).export();\n// needed to parse index signatures for JSON\nObject.assign($ark.intrinsic, intrinsicRoots);\nconst intrinsicJson = schemaScope({\n jsonPrimitive: [\n \"string\",\n \"number\",\n { unit: true },\n { unit: false },\n { unit: null }\n ],\n jsonObject: {\n domain: \"object\",\n index: {\n signature: \"string\",\n value: \"$jsonData\"\n }\n },\n jsonData: [\"$jsonPrimitive\", \"$jsonObject\"]\n}, { prereducedAliases: true }).export();\nexport const intrinsic = {\n ...intrinsicBases,\n ...intrinsicRoots,\n ...intrinsicJson,\n emptyStructure: node(\"structure\", {}, { prereduced: true })\n};\n$ark.intrinsic = { ...intrinsic };\n","import { createConsola as createConsola$1, LogLevels } from './core.mjs';\nexport { Consola, LogTypes } from './core.mjs';\nimport { B as BasicReporter, p as parseStack } from './shared/consola.DRwqZj3T.mjs';\nimport g$1 from 'node:process';\nimport { e as colors, d as box, s as stripAnsi$1 } from './shared/consola.DXBYu-KD.mjs';\nimport 'node:util';\nimport 'node:path';\nimport 'node:tty';\n\nconst r=Object.create(null),i=e=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?r:globalThis),o=new Proxy(r,{get(e,s){return i()[s]??r[s]},has(e,s){const E=i();return s in E||s in r},set(e,s,E){const B=i(true);return B[s]=E,true},deleteProperty(e,s){if(!s)return false;const E=i(true);return delete E[s],true},ownKeys(){const e=i(true);return Object.keys(e)}}),t=typeof process<\"u\"&&process.env&&process.env.NODE_ENV||\"\",f=[[\"APPVEYOR\"],[\"AWS_AMPLIFY\",\"AWS_APP_ID\",{ci:true}],[\"AZURE_PIPELINES\",\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"],[\"AZURE_STATIC\",\"INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN\"],[\"APPCIRCLE\",\"AC_APPCIRCLE\"],[\"BAMBOO\",\"bamboo_planKey\"],[\"BITBUCKET\",\"BITBUCKET_COMMIT\"],[\"BITRISE\",\"BITRISE_IO\"],[\"BUDDY\",\"BUDDY_WORKSPACE_ID\"],[\"BUILDKITE\"],[\"CIRCLE\",\"CIRCLECI\"],[\"CIRRUS\",\"CIRRUS_CI\"],[\"CLOUDFLARE_PAGES\",\"CF_PAGES\",{ci:true}],[\"CODEBUILD\",\"CODEBUILD_BUILD_ARN\"],[\"CODEFRESH\",\"CF_BUILD_ID\"],[\"DRONE\"],[\"DRONE\",\"DRONE_BUILD_EVENT\"],[\"DSARI\"],[\"GITHUB_ACTIONS\"],[\"GITLAB\",\"GITLAB_CI\"],[\"GITLAB\",\"CI_MERGE_REQUEST_ID\"],[\"GOCD\",\"GO_PIPELINE_LABEL\"],[\"LAYERCI\"],[\"HUDSON\",\"HUDSON_URL\"],[\"JENKINS\",\"JENKINS_URL\"],[\"MAGNUM\"],[\"NETLIFY\"],[\"NETLIFY\",\"NETLIFY_LOCAL\",{ci:false}],[\"NEVERCODE\"],[\"RENDER\"],[\"SAIL\",\"SAILCI\"],[\"SEMAPHORE\"],[\"SCREWDRIVER\"],[\"SHIPPABLE\"],[\"SOLANO\",\"TDDIUM\"],[\"STRIDER\"],[\"TEAMCITY\",\"TEAMCITY_VERSION\"],[\"TRAVIS\"],[\"VERCEL\",\"NOW_BUILDER\"],[\"VERCEL\",\"VERCEL\",{ci:false}],[\"VERCEL\",\"VERCEL_ENV\",{ci:false}],[\"APPCENTER\",\"APPCENTER_BUILD_ID\"],[\"CODESANDBOX\",\"CODESANDBOX_SSE\",{ci:false}],[\"CODESANDBOX\",\"CODESANDBOX_HOST\",{ci:false}],[\"STACKBLITZ\"],[\"STORMKIT\"],[\"CLEAVR\"],[\"ZEABUR\"],[\"CODESPHERE\",\"CODESPHERE_APP_ID\",{ci:true}],[\"RAILWAY\",\"RAILWAY_PROJECT_ID\"],[\"RAILWAY\",\"RAILWAY_SERVICE_ID\"],[\"DENO-DEPLOY\",\"DENO_DEPLOYMENT_ID\"],[\"FIREBASE_APP_HOSTING\",\"FIREBASE_APP_HOSTING\",{ci:true}]];function b(){if(globalThis.process?.env)for(const e of f){const s=e[1]||e[0];if(globalThis.process?.env[s])return {name:e[0].toLowerCase(),...e[2]}}return globalThis.process?.env?.SHELL===\"/bin/jsh\"&&globalThis.process?.versions?.webcontainer?{name:\"stackblitz\",ci:false}:{name:\"\",ci:false}}const l=b();l.name;function n(e){return e?e!==\"false\":false}const I=globalThis.process?.platform||\"\",T=n(o.CI)||l.ci!==false,a=n(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),g=n(o.DEBUG),R=t===\"test\"||n(o.TEST);n(o.MINIMAL)||T||R||!a;const A=/^win/i.test(I);!n(o.NO_COLOR)&&(n(o.FORCE_COLOR)||(a||A)&&o.TERM!==\"dumb\"||T);const C=(globalThis.process?.versions?.node||\"\").replace(/^v/,\"\")||null;Number(C?.split(\".\")[0])||null;const y=globalThis.process||Object.create(null),_={versions:{}};new Proxy(y,{get(e,s){if(s===\"env\")return o;if(s in e)return e[s];if(s in _)return _[s]}});const c=globalThis.process?.release?.name===\"node\",O=!!globalThis.Bun||!!globalThis.process?.versions?.bun,D=!!globalThis.Deno,L=!!globalThis.fastly,S=!!globalThis.Netlify,u=!!globalThis.EdgeRuntime,N=globalThis.navigator?.userAgent===\"Cloudflare-Workers\",F=[[S,\"netlify\"],[u,\"edge-light\"],[N,\"workerd\"],[L,\"fastly\"],[D,\"deno\"],[O,\"bun\"],[c,\"node\"]];function G(){const e=F.find(s=>s[0]);if(e)return {name:e[1]}}const P=G();P?.name||\"\";\n\nfunction ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n\nconst regex = ansiRegex();\n\nfunction stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n\n// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x === 0x16FF0\n\t\t|| x === 0x16FF1\n\t\t|| x >= 0x17000 && x <= 0x187F7\n\t\t|| x >= 0x18800 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D08\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D7\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA89\n\t\t|| x >= 0x1FA8F && x <= 0x1FAC6\n\t\t|| x >= 0x1FACE && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAE9\n\t\t|| x >= 0x1FAF0 && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nfunction eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\nconst emojiRegex = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n\nconst segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split('') };\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nfunction stringWidth$1(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n\nfunction isUnicodeSupported() {\n\tconst {env} = g$1;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (g$1.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n\nconst TYPE_COLOR_MAP = {\n info: \"cyan\",\n fail: \"red\",\n success: \"green\",\n ready: \"green\",\n start: \"magenta\"\n};\nconst LEVEL_COLOR_MAP = {\n 0: \"red\",\n 1: \"yellow\"\n};\nconst unicode = isUnicodeSupported();\nconst s = (c, fallback) => unicode ? c : fallback;\nconst TYPE_ICONS = {\n error: s(\"\\u2716\", \"\\xD7\"),\n fatal: s(\"\\u2716\", \"\\xD7\"),\n ready: s(\"\\u2714\", \"\\u221A\"),\n warn: s(\"\\u26A0\", \"\\u203C\"),\n info: s(\"\\u2139\", \"i\"),\n success: s(\"\\u2714\", \"\\u221A\"),\n debug: s(\"\\u2699\", \"D\"),\n trace: s(\"\\u2192\", \"\\u2192\"),\n fail: s(\"\\u2716\", \"\\xD7\"),\n start: s(\"\\u25D0\", \"o\"),\n log: \"\"\n};\nfunction stringWidth(str) {\n const hasICU = typeof Intl === \"object\";\n if (!hasICU || !Intl.Segmenter) {\n return stripAnsi$1(str).length;\n }\n return stringWidth$1(str);\n}\nclass FancyReporter extends BasicReporter {\n formatStack(stack, message, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return `\n${indent}` + parseStack(stack, message).map(\n (line) => \" \" + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\\((.+)\\)/, (_, m) => `(${colors.cyan(m)})`)\n ).join(`\n${indent}`);\n }\n formatType(logObj, isBadge, opts) {\n const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || \"gray\";\n if (isBadge) {\n return getBgColor(typeColor)(\n colors.black(` ${logObj.type.toUpperCase()} `)\n );\n }\n const _type = typeof TYPE_ICONS[logObj.type] === \"string\" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;\n return _type ? getColor(typeColor)(_type) : \"\";\n }\n formatLogObj(logObj, opts) {\n const [message, ...additional] = this.formatArgs(logObj.args, opts).split(\n \"\\n\"\n );\n if (logObj.type === \"box\") {\n return box(\n characterFormat(\n message + (additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\")\n ),\n {\n title: logObj.title ? characterFormat(logObj.title) : void 0,\n style: logObj.style\n }\n );\n }\n const date = this.formatDate(logObj.date, opts);\n const coloredDate = date && colors.gray(date);\n const isBadge = logObj.badge ?? logObj.level < 2;\n const type = this.formatType(logObj, isBadge, opts);\n const tag = logObj.tag ? colors.gray(logObj.tag) : \"\";\n let line;\n const left = this.filterAndJoin([type, characterFormat(message)]);\n const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);\n const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;\n line = space > 0 && (opts.columns || 0) >= 80 ? left + \" \".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : \"\") + left;\n line += characterFormat(\n additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\"\n );\n if (logObj.type === \"trace\") {\n const _err = new Error(\"Trace: \" + logObj.message);\n line += this.formatStack(_err.stack || \"\", _err.message);\n }\n return isBadge ? \"\\n\" + line + \"\\n\" : line;\n }\n}\nfunction characterFormat(str) {\n return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\\s+_([^_]+)_\\s+/gm, (_, m) => ` ${colors.underline(m)} `);\n}\nfunction getColor(color = \"white\") {\n return colors[color] || colors.white;\n}\nfunction getBgColor(color = \"bgWhite\") {\n return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite;\n}\n\nfunction createConsola(options = {}) {\n let level = _getDefaultLogLevel();\n if (process.env.CONSOLA_LEVEL) {\n level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;\n }\n const consola2 = createConsola$1({\n level,\n defaults: { level },\n stdout: process.stdout,\n stderr: process.stderr,\n prompt: (...args) => import('./chunks/prompt.mjs').then((m) => m.prompt(...args)),\n reporters: options.reporters || [\n options.fancy ?? !(T || R) ? new FancyReporter() : new BasicReporter()\n ],\n ...options\n });\n return consola2;\n}\nfunction _getDefaultLogLevel() {\n if (g) {\n return LogLevels.debug;\n }\n if (R) {\n return LogLevels.warn;\n }\n return LogLevels.info;\n}\nconst consola = createConsola();\n\nexport { LogLevels, consola, createConsola, consola as default };\n","import { genericNode, intrinsic } from \"@ark/schema\";\nimport { Hkt } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nclass MergeHkt extends Hkt {\n description = 'merge an object\\'s properties onto another like `Merge(User, { isAdmin: \"true\" })`';\n}\nconst Merge = genericNode([\"base\", intrinsic.object], [\"props\", intrinsic.object])(args => args.base.merge(args.props), MergeHkt);\nexport const arkBuiltins = Scope.module({\n Key: intrinsic.key,\n Merge\n});\n","import { genericNode, intrinsic, rootSchema } from \"@ark/schema\";\nimport { Hkt, liftArray } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nclass liftFromHkt extends Hkt {\n}\nconst liftFrom = genericNode(\"element\")(args => {\n const nonArrayElement = args.element.exclude(intrinsic.Array);\n const lifted = nonArrayElement.array();\n return nonArrayElement\n .rawOr(lifted)\n .pipe(liftArray)\n .distribute(branch => branch.assertHasKind(\"morph\").declareOut(lifted), rootSchema);\n}, liftFromHkt);\nexport const arkArray = Scope.module({\n root: intrinsic.Array,\n readonly: \"root\",\n index: intrinsic.nonNegativeIntegerString,\n liftFrom\n}, {\n name: \"Array\"\n});\n","import { rootSchema } from \"@ark/schema\";\nimport { registry } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nconst value = rootSchema([\"string\", registry.FileConstructor]);\nconst parsedFormDataValue = value.rawOr(value.array());\nconst parsed = rootSchema({\n meta: \"an object representing parsed form data\",\n domain: \"object\",\n index: {\n signature: \"string\",\n value: parsedFormDataValue\n }\n});\nexport const arkFormData = Scope.module({\n root: [\"instanceof\", FormData],\n value,\n parsed,\n parse: rootSchema({\n in: FormData,\n morphs: (data) => {\n const result = {};\n for (const [k, v] of data) {\n if (k in result) {\n const existing = result[k];\n if (typeof existing === \"string\" ||\n existing instanceof registry.FileConstructor)\n result[k] = [existing, v];\n else\n existing.push(v);\n }\n else\n result[k] = v;\n }\n return result;\n },\n declaredOut: parsed\n })\n}, {\n name: \"FormData\"\n});\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as z from \"zod\";\nimport type { StandardSchemaV1 } from \"@/lib/standard\";\n\nconst zodSchema = z.object({\n _def: z.object({\n defaultValue: z.unknown().optional(),\n }),\n});\n\nconst valibotSchema = z.object({\n default: z.unknown().optional(),\n});\n\nconst defaultValueSchema = z.union([zodSchema, valibotSchema]);\n\nexport const getDefault = (schema: StandardSchemaV1) => {\n const result = defaultValueSchema.safeParse(schema);\n\n if (!result.success) {\n return undefined;\n }\n\n if (\"default\" in result.data) {\n return result.data.default as string | undefined;\n }\n\n if (\"_def\" in result.data) {\n if (typeof result.data._def.defaultValue === \"function\") {\n return result.data._def.defaultValue?.() as string | undefined;\n }\n return result.data._def.defaultValue as string | undefined;\n }\n\n return undefined;\n};\n","import { isNodeKind } from \"./shared/implement.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { ToJsonSchema } from \"./shared/toJsonSchema.js\";\n// $ark.config could already be set if it were imported previously from the\n// dedicated config entrypoint, in which case we don't want to reinitialize it\n$ark.config ??= {};\nexport const configureSchema = (config) => {\n const result = Object.assign($ark.config, mergeConfigs($ark.config, config));\n $ark.resolvedConfig &&= mergeConfigs($ark.resolvedConfig, result);\n return result;\n};\nexport const mergeConfigs = (base, merged) => {\n if (!merged)\n return base;\n const result = { ...base };\n let k;\n for (k in merged) {\n const keywords = { ...base.keywords };\n if (k === \"keywords\") {\n for (const flatAlias in merged[k]) {\n const v = merged.keywords[flatAlias];\n if (v === undefined)\n continue;\n keywords[flatAlias] = typeof v === \"string\" ? { description: v } : v;\n }\n result.keywords = keywords;\n }\n else if (k === \"toJsonSchema\") {\n result[k] = mergeToJsonSchemaConfigs(base.toJsonSchema, merged.toJsonSchema);\n }\n else if (isNodeKind(k)) {\n result[k] =\n // not casting this makes TS compute a very inefficient\n // type that is not needed\n {\n ...base[k],\n ...merged[k]\n };\n }\n else\n result[k] = merged[k];\n }\n return result;\n};\nexport const mergeToJsonSchemaConfigs = ((baseConfig, mergedConfig) => {\n if (!baseConfig)\n return mergedConfig ?? {};\n if (!mergedConfig)\n return baseConfig;\n const result = { ...baseConfig };\n let k;\n for (k in mergedConfig) {\n if (k === \"fallback\") {\n result.fallback = mergeFallbacks(baseConfig.fallback, mergedConfig.fallback);\n }\n else\n result[k] = mergedConfig[k];\n }\n return result;\n});\nconst mergeFallbacks = (base, merged) => {\n base = normalizeFallback(base);\n merged = normalizeFallback(merged);\n const result = {};\n let code;\n for (code in ToJsonSchema.defaultConfig.fallback) {\n result[code] =\n merged[code] ??\n merged.default ??\n base[code] ??\n base.default ??\n ToJsonSchema.defaultConfig.fallback[code];\n }\n return result;\n};\nconst normalizeFallback = (fallback) => typeof fallback === \"function\" ? { default: fallback } : (fallback ?? {});\n","import { Disjoint } from \"./disjoint.js\";\nimport { rootKinds } from \"./implement.js\";\nimport { isNode } from \"./utils.js\";\nconst intersectionCache = {};\nexport const intersectNodesRoot = (l, r, $) => intersectOrPipeNodes(l, r, {\n $,\n invert: false,\n pipe: false\n});\nexport const pipeNodesRoot = (l, r, $) => intersectOrPipeNodes(l, r, {\n $,\n invert: false,\n pipe: true\n});\nexport const intersectOrPipeNodes = ((l, r, ctx) => {\n const operator = ctx.pipe ? \"|>\" : \"&\";\n const lrCacheKey = `${l.hash}${operator}${r.hash}`;\n if (intersectionCache[lrCacheKey] !== undefined)\n return intersectionCache[lrCacheKey];\n if (!ctx.pipe) {\n // we can only use this for the commutative & operator\n const rlCacheKey = `${r.hash}${operator}${l.hash}`;\n if (intersectionCache[rlCacheKey] !== undefined) {\n // if the cached result was a Disjoint and the operands originally\n // appeared in the opposite order, we need to invert it to match\n const rlResult = intersectionCache[rlCacheKey];\n const lrResult = rlResult instanceof Disjoint ? rlResult.invert() : rlResult;\n // add the lr result to the cache directly to bypass this check in the future\n intersectionCache[lrCacheKey] = lrResult;\n return lrResult;\n }\n }\n const isPureIntersection = !ctx.pipe || (!l.includesTransform && !r.includesTransform);\n if (isPureIntersection && l.equals(r))\n return l;\n let result = isPureIntersection ? _intersectNodes(l, r, ctx)\n : l.hasKindIn(...rootKinds) ?\n // if l is a RootNode, r will be as well\n _pipeNodes(l, r, ctx)\n : _intersectNodes(l, r, ctx);\n if (isNode(result)) {\n // if the result equals one of the operands, preserve its metadata by\n // returning the original reference\n if (l.equals(result))\n result = l;\n else if (r.equals(result))\n result = r;\n }\n intersectionCache[lrCacheKey] = result;\n return result;\n});\nconst _intersectNodes = (l, r, ctx) => {\n const leftmostKind = l.precedence < r.precedence ? l.kind : r.kind;\n const implementation = l.impl.intersections[r.kind] ?? r.impl.intersections[l.kind];\n if (implementation === undefined) {\n // should be two ConstraintNodes that have no relation\n // this could also happen if a user directly intersects a Type and a ConstraintNode,\n // but that is not allowed by the external function signature\n return null;\n }\n else if (leftmostKind === l.kind)\n return implementation(l, r, ctx);\n else {\n let result = implementation(r, l, { ...ctx, invert: !ctx.invert });\n if (result instanceof Disjoint)\n result = result.invert();\n return result;\n }\n};\nconst _pipeNodes = (l, r, ctx) => l.includesTransform || r.includesTransform ?\n ctx.invert ?\n pipeMorphed(r, l, ctx)\n : pipeMorphed(l, r, ctx)\n : _intersectNodes(l, r, ctx);\nconst pipeMorphed = (from, to, ctx) => from.distribute(fromBranch => _pipeMorphed(fromBranch, to, ctx), results => {\n const viableBranches = results.filter(isNode);\n if (viableBranches.length === 0)\n return Disjoint.init(\"union\", from.branches, to.branches);\n // if the input type has changed, create a new node without preserving metadata\n if (viableBranches.length < from.branches.length ||\n !from.branches.every((branch, i) => branch.in.equals(viableBranches[i].in)))\n return ctx.$.parseSchema(viableBranches);\n // otherwise, the input has not changed so preserve metadata\n let meta;\n if (viableBranches.length === 1) {\n const onlyBranch = viableBranches[0];\n if (!meta)\n return onlyBranch;\n return ctx.$.node(\"morph\", {\n ...onlyBranch.inner,\n in: onlyBranch.in.configure(meta, \"self\")\n });\n }\n const schema = {\n branches: viableBranches\n };\n if (meta)\n schema.meta = meta;\n return ctx.$.parseSchema(schema);\n});\nconst _pipeMorphed = (from, to, ctx) => {\n const fromIsMorph = from.hasKind(\"morph\");\n if (fromIsMorph) {\n const morphs = [...from.morphs];\n if (from.lastMorphIfNode) {\n // still piped from context, so allows appending additional morphs\n const outIntersection = intersectOrPipeNodes(from.lastMorphIfNode, to, ctx);\n if (outIntersection instanceof Disjoint)\n return outIntersection;\n morphs[morphs.length - 1] = outIntersection;\n }\n else\n morphs.push(to);\n return ctx.$.node(\"morph\", {\n morphs,\n in: from.inner.in\n });\n }\n if (to.hasKind(\"morph\")) {\n const inTersection = intersectOrPipeNodes(from, to.in, ctx);\n if (inTersection instanceof Disjoint)\n return inTersection;\n return ctx.$.node(\"morph\", {\n morphs: [to],\n in: inTersection\n });\n }\n return ctx.$.node(\"morph\", {\n morphs: [to],\n in: from\n });\n};\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n","import { whitespaceChars } from \"@ark/util\";\nimport { enclosingChar, enclosingQuote, parseEnclosed } from \"./enclosed.js\";\nimport { parseUnenclosed, writeMissingOperandMessage } from \"./unenclosed.js\";\nexport const parseOperand = (s) => s.scanner.lookahead === \"\" ? s.error(writeMissingOperandMessage(s))\n : s.scanner.lookahead === \"(\" ? s.shiftedByOne().reduceGroupOpen()\n : s.scanner.lookaheadIsIn(enclosingChar) ? parseEnclosed(s, s.scanner.shift())\n : s.scanner.lookaheadIsIn(whitespaceChars) ? parseOperand(s.shiftedByOne())\n : s.scanner.lookahead === \"d\" ?\n s.scanner.nextLookahead in enclosingQuote ?\n parseEnclosed(s, `${s.scanner.shift()}${s.scanner.shift()}`)\n : parseUnenclosed(s)\n : parseUnenclosed(s);\n","import { intrinsic, normalizeIndex } from \"@ark/schema\";\nimport { append, escapeChar, isArray, isEmptyObject, printable, stringAndSymbolicEntriesOf, throwParseError } from \"@ark/util\";\nimport { invalidDefaultableKeyKindMessage, invalidOptionalKeyKindMessage, parseProperty } from \"./property.js\";\nexport const parseObjectLiteral = (def, ctx) => {\n let spread;\n const structure = {};\n // We only allow a spread operator to be used as the first key in an object\n // because to match JS behavior any keys before the spread are overwritten\n // by the values in the target object, so there'd be no useful purpose in having it\n // anywhere except for the beginning.\n const defEntries = stringAndSymbolicEntriesOf(def);\n for (const [k, v] of defEntries) {\n const parsedKey = preparseKey(k);\n if (parsedKey.kind === \"spread\") {\n if (!isEmptyObject(structure))\n return throwParseError(nonLeadingSpreadError);\n const operand = ctx.$.parseOwnDefinitionFormat(v, ctx);\n // treat object domain as empty for spreading (useful for generic constraints)\n if (operand.equals(intrinsic.object))\n continue;\n if (!operand.hasKind(\"intersection\") ||\n // still error on attempts to spread proto nodes like ...Date\n !operand.basis?.equals(intrinsic.object)) {\n return throwParseError(writeInvalidSpreadTypeMessage(operand.expression));\n }\n spread = operand.structure;\n continue;\n }\n if (parsedKey.kind === \"undeclared\") {\n if (v !== \"reject\" && v !== \"delete\" && v !== \"ignore\")\n throwParseError(writeInvalidUndeclaredBehaviorMessage(v));\n structure.undeclared = v;\n continue;\n }\n const parsedValue = parseProperty(v, ctx);\n const parsedEntryKey = parsedKey;\n if (parsedKey.kind === \"required\") {\n if (!isArray(parsedValue)) {\n appendNamedProp(structure, \"required\", {\n key: parsedKey.normalized,\n value: parsedValue\n }, ctx);\n }\n else {\n appendNamedProp(structure, \"optional\", parsedValue[1] === \"=\" ?\n {\n key: parsedKey.normalized,\n value: parsedValue[0],\n default: parsedValue[2]\n }\n : {\n key: parsedKey.normalized,\n value: parsedValue[0]\n }, ctx);\n }\n continue;\n }\n if (isArray(parsedValue)) {\n if (parsedValue[1] === \"?\")\n throwParseError(invalidOptionalKeyKindMessage);\n if (parsedValue[1] === \"=\")\n throwParseError(invalidDefaultableKeyKindMessage);\n }\n // value must be a BaseRoot at this point\n if (parsedKey.kind === \"optional\") {\n appendNamedProp(structure, \"optional\", {\n key: parsedKey.normalized,\n value: parsedValue\n }, ctx);\n continue;\n }\n // must be index at this point\n const signature = ctx.$.parseOwnDefinitionFormat(parsedEntryKey.normalized, ctx);\n const normalized = normalizeIndex(signature, parsedValue, ctx.$);\n if (normalized.index)\n structure.index = append(structure.index, normalized.index);\n if (normalized.required)\n structure.required = append(structure.required, normalized.required);\n }\n const structureNode = ctx.$.node(\"structure\", structure);\n return ctx.$.parseSchema({\n domain: \"object\",\n structure: spread?.merge(structureNode) ?? structureNode\n });\n};\nconst appendNamedProp = (structure, kind, inner, ctx) => {\n structure[kind] = append(\n // doesn't seem like this cast should be necessary\n structure[kind], ctx.$.node(kind, inner));\n};\nexport const writeInvalidUndeclaredBehaviorMessage = (actual) => `Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${printable(actual)})`;\nexport const nonLeadingSpreadError = \"Spread operator may only be used as the first key in an object\";\nexport const preparseKey = (key) => typeof key === \"symbol\" ? { kind: \"required\", normalized: key }\n : key.at(-1) === \"?\" ?\n key.at(-2) === escapeChar ?\n { kind: \"required\", normalized: `${key.slice(0, -2)}?` }\n : {\n kind: \"optional\",\n normalized: key.slice(0, -1)\n }\n : key[0] === \"[\" && key.at(-1) === \"]\" ?\n { kind: \"index\", normalized: key.slice(1, -1) }\n : key[0] === escapeChar && key[1] === \"[\" && key.at(-1) === \"]\" ?\n { kind: \"required\", normalized: key.slice(1) }\n : key === \"...\" ? { kind: \"spread\" }\n : key === \"+\" ? { kind: \"undeclared\" }\n : {\n kind: \"required\",\n normalized: key === \"\\\\...\" ? \"...\"\n : key === \"\\\\+\" ? \"+\"\n : key\n };\nexport const writeInvalidSpreadTypeMessage = (def) => `Spread operand must resolve to an object literal type (was ${def})`;\n","import { $ark, makeRootAndArrayPropertiesMutable, postfixAfterOptionalOrDefaultableMessage } from \"@ark/schema\";\nimport { append, isArray, isEmptyObject, throwParseError } from \"@ark/util\";\nimport { parseProperty } from \"./property.js\";\nexport const parseTupleLiteral = (def, ctx) => {\n let sequences = [{}];\n let i = 0;\n while (i < def.length) {\n let spread = false;\n if (def[i] === \"...\" && i < def.length - 1) {\n spread = true;\n i++;\n }\n const parsedProperty = parseProperty(def[i], ctx);\n const [valueNode, operator, possibleDefaultValue] = !isArray(parsedProperty) ? [parsedProperty] : parsedProperty;\n i++;\n if (spread) {\n if (!valueNode.extends($ark.intrinsic.Array))\n return throwParseError(writeNonArraySpreadMessage(valueNode.expression));\n // a spread must be distributed over branches e.g.:\n // def: [string, ...(number[] | [true, false])]\n // nodes: [string, ...number[]] | [string, true, false]\n sequences = sequences.flatMap(base => \n // since appendElement mutates base, we have to shallow-ish clone it for each branch\n valueNode.distribute(branch => appendSpreadBranch(makeRootAndArrayPropertiesMutable(base), branch)));\n }\n else {\n sequences = sequences.map(base => {\n if (operator === \"?\")\n return appendOptionalElement(base, valueNode);\n if (operator === \"=\")\n return appendDefaultableElement(base, valueNode, possibleDefaultValue);\n return appendRequiredElement(base, valueNode);\n });\n }\n }\n return ctx.$.parseSchema(sequences.map(sequence => isEmptyObject(sequence) ?\n {\n proto: Array,\n exactLength: 0\n }\n : {\n proto: Array,\n sequence\n }));\n};\nconst appendRequiredElement = (base, element) => {\n if (base.defaultables || base.optionals) {\n return throwParseError(base.variadic ?\n // e.g. [boolean = true, ...string[], number]\n postfixAfterOptionalOrDefaultableMessage\n // e.g. [string?, number]\n : requiredPostOptionalMessage);\n }\n if (base.variadic) {\n // e.g. [...string[], number]\n base.postfix = append(base.postfix, element);\n }\n else {\n // e.g. [string, number]\n base.prefix = append(base.prefix, element);\n }\n return base;\n};\nconst appendOptionalElement = (base, element) => {\n if (base.variadic)\n // e.g. [...string[], number?]\n return throwParseError(optionalOrDefaultableAfterVariadicMessage);\n // e.g. [string, number?]\n base.optionals = append(base.optionals, element);\n return base;\n};\nconst appendDefaultableElement = (base, element, value) => {\n if (base.variadic)\n // e.g. [...string[], number = 0]\n return throwParseError(optionalOrDefaultableAfterVariadicMessage);\n if (base.optionals)\n // e.g. [string?, number = 0]\n return throwParseError(defaultablePostOptionalMessage);\n // value's assignability to element will be checked when the\n // sequence is instantiated by @ark/schema\n // e.g. [string, number = 0]\n base.defaultables = append(base.defaultables, [[element, value]]);\n return base;\n};\nconst appendVariadicElement = (base, element) => {\n // e.g. [...string[], number, ...string[]]\n if (base.postfix)\n throwParseError(multipleVariadicMesage);\n if (base.variadic) {\n if (!base.variadic.equals(element)) {\n // e.g. [...string[], ...number[]]\n throwParseError(multipleVariadicMesage);\n }\n // e.g. [...string[], ...string[]]\n // do nothing, second spread doesn't change the type\n }\n else {\n // e.g. [string, ...number[]]\n base.variadic = element.internal;\n }\n return base;\n};\nconst appendSpreadBranch = (base, branch) => {\n const spread = branch.select({ method: \"find\", kind: \"sequence\" });\n if (!spread) {\n // the only array with no sequence reference is unknown[]\n return appendVariadicElement(base, $ark.intrinsic.unknown);\n }\n if (spread.prefix)\n for (const node of spread.prefix)\n appendRequiredElement(base, node);\n if (spread.optionals)\n for (const node of spread.optionals)\n appendOptionalElement(base, node);\n if (spread.variadic)\n appendVariadicElement(base, spread.variadic);\n if (spread.postfix)\n for (const node of spread.postfix)\n appendRequiredElement(base, node);\n return base;\n};\nexport const writeNonArraySpreadMessage = (operand) => `Spread element must be an array (was ${operand})`;\nexport const multipleVariadicMesage = \"A tuple may have at most one variadic element\";\nexport const requiredPostOptionalMessage = \"A required element may not follow an optional element\";\nexport const optionalOrDefaultableAfterVariadicMessage = \"An optional element may not follow a variadic element\";\nexport const spreadOptionalMessage = \"A spread element cannot be optional\";\nexport const spreadDefaultableMessage = \"A spread element cannot have a default\";\nexport const defaultablePostOptionalMessage = \"A defaultable element may not follow an optional element without a default\";\n","import { flatMorph, printable, throwParseError } from \"@ark/util\";\nimport { compileSerializedValue } from \"./compile.js\";\nimport { isNode } from \"./utils.js\";\nexport const basisKinds = [\"unit\", \"proto\", \"domain\"];\nexport const structuralKinds = [\n \"required\",\n \"optional\",\n \"index\",\n \"sequence\"\n];\nexport const refinementKinds = [\n \"pattern\",\n \"divisor\",\n \"exactLength\",\n \"max\",\n \"min\",\n \"maxLength\",\n \"minLength\",\n \"before\",\n \"after\"\n];\nexport const constraintKinds = [\n ...refinementKinds,\n ...structuralKinds,\n \"structure\",\n \"predicate\"\n];\nexport const rootKinds = [\n \"alias\",\n \"union\",\n \"morph\",\n \"unit\",\n \"intersection\",\n \"proto\",\n \"domain\"\n];\nexport const nodeKinds = [...rootKinds, ...constraintKinds];\nexport const constraintKeys = flatMorph(constraintKinds, (i, kind) => [kind, 1]);\nexport const structureKeys = flatMorph([...structuralKinds, \"undeclared\"], (i, k) => [k, 1]);\nexport const precedenceByKind = flatMorph(nodeKinds, (i, kind) => [kind, i]);\nexport const isNodeKind = (value) => typeof value === \"string\" && value in precedenceByKind;\nexport function assertNodeKind(value, kind) {\n const valueIsNode = isNode(value);\n if (!valueIsNode || value.kind !== kind) {\n throwParseError(`Expected node of kind ${kind} (was ${valueIsNode ? `${value.kind} node` : printable(value)})`);\n }\n}\nexport const precedenceOfKind = (kind) => precedenceByKind[kind];\nexport const schemaKindsRightOf = (kind) => rootKinds.slice(precedenceOfKind(kind) + 1);\nexport const unionChildKinds = [\n ...schemaKindsRightOf(\"union\"),\n \"alias\"\n];\nexport const morphChildKinds = [\n ...schemaKindsRightOf(\"morph\"),\n \"alias\"\n];\nexport const defaultValueSerializer = (v) => {\n if (typeof v === \"string\" || typeof v === \"boolean\" || v === null)\n return v;\n if (typeof v === \"number\") {\n if (Number.isNaN(v))\n return \"NaN\";\n if (v === Number.POSITIVE_INFINITY)\n return \"Infinity\";\n if (v === Number.NEGATIVE_INFINITY)\n return \"-Infinity\";\n return v;\n }\n return compileSerializedValue(v);\n};\nexport const compileObjectLiteral = (ctx) => {\n let result = \"{ \";\n for (const [k, v] of Object.entries(ctx))\n result += `${k}: ${compileSerializedValue(v)}, `;\n return result + \" }\";\n};\nexport const implementNode = (_) => {\n const implementation = _;\n if (implementation.hasAssociatedError) {\n implementation.defaults.expected ??= ctx => \"description\" in ctx ?\n ctx.description\n : implementation.defaults.description(ctx);\n implementation.defaults.actual ??= data => printable(data);\n implementation.defaults.problem ??= ctx => `must be ${ctx.expected}${ctx.actual ? ` (was ${ctx.actual})` : \"\"}`;\n implementation.defaults.message ??= ctx => {\n if (ctx.path.length === 0)\n return ctx.problem;\n const problemWithLocation = `${ctx.propString} ${ctx.problem}`;\n if (problemWithLocation[0] === \"[\") {\n // clarify paths like [1], [0][1], and [\"key!\"] that could be confusing\n return `value at ${problemWithLocation}`;\n }\n return problemWithLocation;\n };\n }\n return implementation;\n};\n","import { genericNode, intrinsic, node } from \"@ark/schema\";\nimport { Hkt } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nexport const arkTsKeywords = Scope.module({\n bigint: intrinsic.bigint,\n boolean: intrinsic.boolean,\n false: intrinsic.false,\n never: intrinsic.never,\n null: intrinsic.null,\n number: intrinsic.number,\n object: intrinsic.object,\n string: intrinsic.string,\n symbol: intrinsic.symbol,\n true: intrinsic.true,\n unknown: intrinsic.unknown,\n undefined: intrinsic.undefined\n});\nexport const unknown = Scope.module({\n root: intrinsic.unknown,\n any: intrinsic.unknown\n}, {\n name: \"unknown\"\n});\nexport const json = Scope.module({\n root: intrinsic.jsonObject,\n stringify: node(\"morph\", {\n in: intrinsic.jsonObject,\n morphs: (data) => JSON.stringify(data),\n declaredOut: intrinsic.string\n })\n}, {\n name: \"object.json\"\n});\nexport const object = Scope.module({\n root: intrinsic.object,\n json\n}, {\n name: \"object\"\n});\nclass RecordHkt extends Hkt {\n description = 'instantiate an object from an index signature and corresponding value type like `Record(\"string\", \"number\")`';\n}\nconst Record = genericNode([\"K\", intrinsic.key], \"V\")(args => ({\n domain: \"object\",\n index: {\n signature: args.K,\n value: args.V\n }\n}), RecordHkt);\nclass PickHkt extends Hkt {\n description = 'pick a set of properties from an object like `Pick(User, \"name | age\")`';\n}\nconst Pick = genericNode([\"T\", intrinsic.object], [\"K\", intrinsic.key])(args => args.T.pick(args.K), PickHkt);\nclass OmitHkt extends Hkt {\n description = 'omit a set of properties from an object like `Omit(User, \"age\")`';\n}\nconst Omit = genericNode([\"T\", intrinsic.object], [\"K\", intrinsic.key])(args => args.T.omit(args.K), OmitHkt);\nclass PartialHkt extends Hkt {\n description = \"make all named properties of an object optional like `Partial(User)`\";\n}\nconst Partial = genericNode([\"T\", intrinsic.object])(args => args.T.partial(), PartialHkt);\nclass RequiredHkt extends Hkt {\n description = \"make all named properties of an object required like `Required(User)`\";\n}\nconst Required = genericNode([\"T\", intrinsic.object])(args => args.T.required(), RequiredHkt);\nclass ExcludeHkt extends Hkt {\n description = 'exclude branches of a union like `Exclude(\"boolean\", \"true\")`';\n}\nconst Exclude = genericNode(\"T\", \"U\")(args => args.T.exclude(args.U), ExcludeHkt);\nclass ExtractHkt extends Hkt {\n description = 'extract branches of a union like `Extract(\"0 | false | 1\", \"number\")`';\n}\nconst Extract = genericNode(\"T\", \"U\")(args => args.T.extract(args.U), ExtractHkt);\nexport const arkTsGenerics = Scope.module({\n Exclude,\n Extract,\n Omit,\n Partial,\n Pick,\n Record,\n Required\n});\n","import { ReadonlyPath, stringifyPath } from \"@ark/util\";\nimport { ArkError, ArkErrors } from \"./errors.js\";\nimport { isNode } from \"./utils.js\";\nexport class Traversal {\n /**\n * #### the path being validated or morphed\n *\n * ✅ array indices represented as numbers\n * ⚠️ mutated during traversal - use `path.slice(0)` to snapshot\n * 🔗 use {@link propString} for a stringified version\n */\n path = [];\n /**\n * #### {@link ArkErrors} that will be part of this traversal's finalized result\n *\n * ✅ will always be an empty array for a valid traversal\n */\n errors = new ArkErrors(this);\n /**\n * #### the original value being traversed\n */\n root;\n /**\n * #### configuration for this traversal\n *\n * ✅ options can affect traversal results and error messages\n * ✅ defaults < global config < scope config\n * ✅ does not include options configured on individual types\n */\n config;\n queuedMorphs = [];\n branches = [];\n seen = {};\n constructor(root, config) {\n this.root = root;\n this.config = config;\n }\n /**\n * #### the data being validated or morphed\n *\n * ✅ extracted from {@link root} at {@link path}\n */\n get data() {\n let result = this.root;\n for (const segment of this.path)\n result = result?.[segment];\n return result;\n }\n /**\n * #### a string representing {@link path}\n *\n * @propString\n */\n get propString() {\n return stringifyPath(this.path);\n }\n /**\n * #### add an {@link ArkError} and return `false`\n *\n * ✅ useful for predicates like `.narrow`\n */\n reject(input) {\n this.error(input);\n return false;\n }\n /**\n * #### add an {@link ArkError} from a description and return `false`\n *\n * ✅ useful for predicates like `.narrow`\n * 🔗 equivalent to {@link reject}({ expected })\n */\n mustBe(expected) {\n this.error(expected);\n return false;\n }\n error(input) {\n const errCtx = typeof input === \"object\" ?\n input.code ?\n input\n : { ...input, code: \"predicate\" }\n : { code: \"predicate\", expected: input };\n return this.errorFromContext(errCtx);\n }\n /**\n * #### whether {@link currentBranch} (or the traversal root, outside a union) has one or more errors\n */\n hasError() {\n return this.currentErrorCount !== 0;\n }\n get currentBranch() {\n return this.branches.at(-1);\n }\n queueMorphs(morphs) {\n const input = {\n path: new ReadonlyPath(...this.path),\n morphs\n };\n if (this.currentBranch)\n this.currentBranch.queuedMorphs.push(input);\n else\n this.queuedMorphs.push(input);\n }\n finalize(onFail) {\n if (this.queuedMorphs.length) {\n if (typeof this.root === \"object\" &&\n this.root !== null &&\n this.config.clone)\n this.root = this.config.clone(this.root);\n this.applyQueuedMorphs();\n }\n if (this.hasError())\n return onFail ? onFail(this.errors) : this.errors;\n return this.root;\n }\n get currentErrorCount() {\n return (this.currentBranch ?\n this.currentBranch.error ?\n 1\n : 0\n : this.errors.count);\n }\n get failFast() {\n return this.branches.length !== 0;\n }\n pushBranch() {\n this.branches.push({\n error: undefined,\n queuedMorphs: []\n });\n }\n popBranch() {\n return this.branches.pop();\n }\n /**\n * @internal\n * Convenience for casting from InternalTraversal to Traversal\n * for cases where the extra methods on the external type are expected, e.g.\n * a morph or predicate.\n */\n get external() {\n return this;\n }\n errorFromNodeContext(input) {\n return this.errorFromContext(input);\n }\n errorFromContext(errCtx) {\n const error = new ArkError(errCtx, this);\n if (this.currentBranch)\n this.currentBranch.error = error;\n else\n this.errors.add(error);\n return error;\n }\n applyQueuedMorphs() {\n // invoking morphs that are Nodes will reuse this context, potentially\n // adding additional morphs, so we have to continue looping until\n // queuedMorphs is empty rather than iterating over the list once\n while (this.queuedMorphs.length) {\n const queuedMorphs = this.queuedMorphs;\n this.queuedMorphs = [];\n for (const { path, morphs } of queuedMorphs) {\n // even if we already have an error, apply morphs that are not at a path\n // with errors to capture potential validation errors\n if (this.errors.affectsPath(path))\n continue;\n this.applyMorphsAtPath(path, morphs);\n }\n }\n }\n applyMorphsAtPath(path, morphs) {\n const key = path.at(-1);\n let parent;\n if (key !== undefined) {\n // find the object on which the key to be morphed exists\n parent = this.root;\n for (let pathIndex = 0; pathIndex < path.length - 1; pathIndex++)\n parent = parent[path[pathIndex]];\n }\n this.path = [...path];\n for (const morph of morphs) {\n const morphIsNode = isNode(morph);\n const result = morph(parent === undefined ? this.root : parent[key], this);\n if (result instanceof ArkError) {\n // if an ArkError was returned, ensure it has been added to errors\n this.errors.add(result);\n // skip any remaining morphs at the current path\n break;\n }\n if (result instanceof ArkErrors) {\n // if the morph was a direct reference to another node,\n // errors will have been added directly via this piped context\n if (!morphIsNode) {\n // otherwise, we have to ensure each error has been added\n this.errors.merge(result);\n }\n // skip any remaining morphs at the current path\n break;\n }\n // if the morph was successful, assign the result to the\n // corresponding property, or to root if path is empty\n if (parent === undefined)\n this.root = result;\n else\n parent[key] = result;\n // if the current morph queued additional morphs,\n // applying them before subsequent morphs\n this.applyQueuedMorphs();\n }\n }\n}\nexport const traverseKey = (key, fn, \n// ctx will be undefined if this node isn't context-dependent\nctx) => {\n if (!ctx)\n return fn();\n ctx.path.push(key);\n const result = fn();\n ctx.path.pop();\n return result;\n};\n","import { isArray, stringifyPath, throwParseError } from \"@ark/util\";\nimport { $ark } from \"./registry.js\";\nimport { isNode } from \"./utils.js\";\nexport class Disjoint extends Array {\n static init(kind, l, r, ctx) {\n return new Disjoint({\n kind,\n l,\n r,\n path: ctx?.path ?? [],\n optional: ctx?.optional ?? false\n });\n }\n add(kind, l, r, ctx) {\n this.push({\n kind,\n l,\n r,\n path: ctx?.path ?? [],\n optional: ctx?.optional ?? false\n });\n return this;\n }\n get summary() {\n return this.describeReasons();\n }\n describeReasons() {\n if (this.length === 1) {\n const { path, l, r } = this[0];\n const pathString = stringifyPath(path);\n return writeUnsatisfiableExpressionError(`Intersection${pathString && ` at ${pathString}`} of ${describeReasons(l, r)}`);\n }\n return `The following intersections result in unsatisfiable types:\\n• ${this.map(({ path, l, r }) => `${path}: ${describeReasons(l, r)}`).join(\"\\n• \")}`;\n }\n throw() {\n return throwParseError(this.describeReasons());\n }\n invert() {\n const result = this.map(entry => ({\n ...entry,\n l: entry.r,\n r: entry.l\n }));\n // Workaround for Static Hermes, which doesn't preserve the Array subclass here\n // https://github.com/arktypeio/arktype/issues/1027\n if (!(result instanceof Disjoint))\n return new Disjoint(...result);\n return result;\n }\n withPrefixKey(key, kind) {\n return this.map(entry => ({\n ...entry,\n path: [key, ...entry.path],\n optional: entry.optional || kind === \"optional\"\n }));\n }\n toNeverIfDisjoint() {\n return $ark.intrinsic.never;\n }\n}\nconst describeReasons = (l, r) => `${describeReason(l)} and ${describeReason(r)}`;\nconst describeReason = (value) => isNode(value) ? value.expression\n : isArray(value) ? value.map(describeReason).join(\" | \") || \"never\"\n : String(value);\nexport const writeUnsatisfiableExpressionError = (expression) => `${expression} results in an unsatisfiable type`;\n","import { Callable, flatMorph, snapshot, throwParseError } from \"@ark/util\";\nimport { $ark } from \"./shared/registry.js\";\nimport { arkKind } from \"./shared/utils.js\";\nexport const parseGeneric = (paramDefs, bodyDef, $) => new GenericRoot(paramDefs, bodyDef, $, $, null);\nexport class LazyGenericBody extends Callable {\n}\nexport class GenericRoot extends Callable {\n [arkKind] = \"generic\";\n paramDefs;\n bodyDef;\n $;\n arg$;\n baseInstantiation;\n hkt;\n description;\n constructor(paramDefs, bodyDef, $, arg$, hkt) {\n super((...args) => {\n const argNodes = flatMorph(this.names, (i, name) => {\n const arg = this.arg$.parse(args[i]);\n if (!arg.extends(this.constraints[i])) {\n throwParseError(writeUnsatisfiedParameterConstraintMessage(name, this.constraints[i].expression, arg.expression));\n }\n return [name, arg];\n });\n if (this.defIsLazy()) {\n const def = this.bodyDef(argNodes);\n return this.$.parse(def);\n }\n return this.$.parse(bodyDef, { args: argNodes });\n });\n this.paramDefs = paramDefs;\n this.bodyDef = bodyDef;\n this.$ = $;\n this.arg$ = arg$;\n this.hkt = hkt;\n this.description =\n hkt ?\n (new hkt().description ?? `a generic type for ${hkt.constructor.name}`)\n : \"a generic type\";\n this.baseInstantiation = this(...this.constraints);\n }\n defIsLazy() {\n return this.bodyDef instanceof LazyGenericBody;\n }\n cacheGetter(name, value) {\n Object.defineProperty(this, name, { value });\n return value;\n }\n get json() {\n return this.cacheGetter(\"json\", {\n params: this.params.map(param => param[1].isUnknown() ? param[0] : [param[0], param[1].json]),\n body: snapshot(this.bodyDef)\n });\n }\n get params() {\n return this.cacheGetter(\"params\", this.paramDefs.map(param => typeof param === \"string\" ?\n [param, $ark.intrinsic.unknown]\n : [param[0], this.$.parse(param[1])]));\n }\n get names() {\n return this.cacheGetter(\"names\", this.params.map(e => e[0]));\n }\n get constraints() {\n return this.cacheGetter(\"constraints\", this.params.map(e => e[1]));\n }\n get internal() {\n return this;\n }\n get referencesById() {\n return this.baseInstantiation.internal.referencesById;\n }\n get references() {\n return this.baseInstantiation.internal.references;\n }\n}\nexport const writeUnsatisfiedParameterConstraintMessage = (name, constraint, arg) => `${name} must be assignable to ${constraint} (was ${arg})`;\n","import { domainDescriptions, domainOf, hasKey, throwParseError } from \"@ark/util\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { InternalBasis } from \"./basis.js\";\nconst implementation = implementNode({\n kind: \"domain\",\n hasAssociatedError: true,\n collapsibleKey: \"domain\",\n keys: {\n domain: {},\n numberAllowsNaN: {}\n },\n normalize: schema => typeof schema === \"string\" ? { domain: schema }\n : hasKey(schema, \"numberAllowsNaN\") && schema.domain !== \"number\" ?\n throwParseError(Domain.writeBadAllowNanMessage(schema.domain))\n : schema,\n applyConfig: (schema, config) => (schema.numberAllowsNaN === undefined &&\n schema.domain === \"number\" &&\n config.numberAllowsNaN) ?\n { ...schema, numberAllowsNaN: true }\n : schema,\n defaults: {\n description: node => domainDescriptions[node.domain],\n actual: data => Number.isNaN(data) ? \"NaN\" : domainDescriptions[domainOf(data)]\n },\n intersections: {\n domain: (l, r) => \n // since l === r is handled by default, remaining cases are disjoint\n // outside those including options like numberAllowsNaN\n l.domain === \"number\" && r.domain === \"number\" ?\n l.numberAllowsNaN ?\n r\n : l\n : Disjoint.init(\"domain\", l, r)\n }\n});\nexport class DomainNode extends InternalBasis {\n requiresNaNCheck = this.domain === \"number\" && !this.numberAllowsNaN;\n traverseAllows = this.requiresNaNCheck ?\n data => typeof data === \"number\" && !Number.isNaN(data)\n : data => domainOf(data) === this.domain;\n compiledCondition = this.domain === \"object\" ?\n `((typeof data === \"object\" && data !== null) || typeof data === \"function\")`\n : `typeof data === \"${this.domain}\"${this.requiresNaNCheck ? \" && !Number.isNaN(data)\" : \"\"}`;\n compiledNegation = this.domain === \"object\" ?\n `((typeof data !== \"object\" || data === null) && typeof data !== \"function\")`\n : `typeof data !== \"${this.domain}\"${this.requiresNaNCheck ? \" || Number.isNaN(data)\" : \"\"}`;\n expression = this.numberAllowsNaN ? \"number | NaN\" : this.domain;\n get nestableExpression() {\n return this.numberAllowsNaN ? `(${this.expression})` : this.expression;\n }\n get defaultShortDescription() {\n return domainDescriptions[this.domain];\n }\n innerToJsonSchema(ctx) {\n if (this.domain === \"bigint\" || this.domain === \"symbol\") {\n return ctx.fallback.domain({\n code: \"domain\",\n base: {},\n domain: this.domain\n });\n }\n return {\n type: this.domain\n };\n }\n}\nexport const Domain = {\n implementation,\n Node: DomainNode,\n writeBadAllowNanMessage: (actual) => `numberAllowsNaN may only be specified with domain \"number\" (was ${actual})`\n};\n","import { hasDomain } from \"./domain.js\";\nimport { noSuggest } from \"./errors.js\";\nimport { ancestorsOf } from \"./objectKinds.js\";\nimport { NoopBase } from \"./records.js\";\n// even though the value we attach will be identical, we use this so classes\n// won't be treated as instanceof a Trait\nconst implementedTraits = noSuggest(\"implementedTraits\");\nexport const hasTrait = (traitClass) => (o) => {\n if (!hasDomain(o, \"object\"))\n return false;\n if (implementedTraits in o.constructor &&\n o.constructor[implementedTraits].includes(traitClass))\n return true;\n // emulate standard instanceof behavior\n return ancestorsOf(o).includes(traitClass);\n};\n/** @ts-ignore required to extend NoopBase */\nexport class Trait extends NoopBase {\n static get [Symbol.hasInstance]() {\n return hasTrait(this);\n }\n traitsOf() {\n return implementedTraits in this.constructor ?\n this.constructor[implementedTraits]\n : [];\n }\n}\nconst collectPrototypeDescriptors = (trait) => {\n let proto = trait.prototype;\n let result = {};\n do {\n // ensure prototypes are sorted from lowest to highest precedence\n result = Object.assign(Object.getOwnPropertyDescriptors(proto), result);\n proto = Object.getPrototypeOf(proto);\n } while (proto !== Object.prototype && proto !== null);\n return result;\n};\nexport const compose = ((...traits) => {\n const base = function (...args) {\n for (const trait of traits) {\n const instance = Reflect.construct(trait, args, this.constructor);\n Object.assign(this, instance);\n }\n };\n const flatImplementedTraits = [];\n for (const trait of traits) {\n // copy static properties\n Object.assign(base, trait);\n // flatten and copy prototype\n Object.defineProperties(base.prototype, collectPrototypeDescriptors(trait));\n if (implementedTraits in trait) {\n // add any ancestor traits from which the current trait was composed\n for (const innerTrait of trait[implementedTraits]) {\n if (!flatImplementedTraits.includes(innerTrait))\n flatImplementedTraits.push(innerTrait);\n }\n }\n if (!flatImplementedTraits.includes(trait))\n flatImplementedTraits.push(trait);\n }\n Object.defineProperty(base, implementedTraits, {\n value: flatImplementedTraits,\n enumerable: false\n });\n return base;\n});\nexport const implement = (...args) => {\n if (args.at(-1) instanceof Trait)\n return compose(...args);\n const implementation = args.at(-1);\n const base = compose(...args.slice(0, -1));\n // copy implementation last since it overrides traits\n Object.defineProperties(base.prototype, Object.getOwnPropertyDescriptors(implementation));\n return base;\n};\n","import { describeCollapsibleDate } from \"@ark/util\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { BaseRange, createDateSchemaNormalizer, parseDateLimit } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"after\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {\n parse: parseDateLimit,\n serialize: schema => schema.toISOString()\n }\n },\n normalize: createDateSchemaNormalizer(\"after\"),\n defaults: {\n description: node => `${node.collapsibleLimitString} or later`,\n actual: describeCollapsibleDate\n },\n intersections: {\n after: (l, r) => (l.isStricterThan(r) ? l : r)\n }\n});\nexport class AfterNode extends BaseRange {\n impliedBasis = $ark.intrinsic.Date.internal;\n collapsibleLimitString = describeCollapsibleDate(this.rule);\n traverseAllows = data => data >= this.rule;\n reduceJsonSchema(base, ctx) {\n return ctx.fallback.date({ code: \"date\", base, after: this.rule });\n }\n}\nexport const After = {\n implementation,\n Node: AfterNode\n};\n","import { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { BaseRange, parseExclusiveKey } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"max\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {},\n exclusive: parseExclusiveKey\n },\n normalize: schema => typeof schema === \"number\" ? { rule: schema } : schema,\n defaults: {\n description: node => {\n if (node.rule === 0)\n return node.exclusive ? \"negative\" : \"non-positive\";\n return `${node.exclusive ? \"less than\" : \"at most\"} ${node.rule}`;\n }\n },\n intersections: {\n max: (l, r) => (l.isStricterThan(r) ? l : r),\n min: (max, min, ctx) => max.overlapsRange(min) ?\n max.overlapIsUnit(min) ?\n ctx.$.node(\"unit\", { unit: max.rule })\n : null\n : Disjoint.init(\"range\", max, min)\n },\n obviatesBasisDescription: true\n});\nexport class MaxNode extends BaseRange {\n impliedBasis = $ark.intrinsic.number.internal;\n traverseAllows = this.exclusive ? data => data < this.rule : data => data <= this.rule;\n reduceJsonSchema(schema) {\n if (this.exclusive)\n schema.exclusiveMaximum = this.rule;\n else\n schema.maximum = this.rule;\n return schema;\n }\n}\nexport const Max = {\n implementation,\n Node: MaxNode\n};\n","import { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { ToJsonSchema } from \"../shared/toJsonSchema.js\";\nimport { BaseRange, createLengthRuleParser, createLengthSchemaNormalizer } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"minLength\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {\n parse: createLengthRuleParser(\"minLength\")\n }\n },\n reduce: inner => inner.rule === 0 ?\n // a minimum length of zero is trivially satisfied\n $ark.intrinsic.unknown\n : undefined,\n normalize: createLengthSchemaNormalizer(\"minLength\"),\n defaults: {\n description: node => node.rule === 1 ? \"non-empty\" : `at least length ${node.rule}`,\n // avoid default message like \"must be non-empty (was 0)\"\n actual: data => (data.length === 0 ? \"\" : `${data.length}`)\n },\n intersections: {\n minLength: (l, r) => (l.isStricterThan(r) ? l : r)\n }\n});\nexport class MinLengthNode extends BaseRange {\n impliedBasis = $ark.intrinsic.lengthBoundable.internal;\n traverseAllows = data => data.length >= this.rule;\n reduceJsonSchema(schema) {\n switch (schema.type) {\n case \"string\":\n schema.minLength = this.rule;\n return schema;\n case \"array\":\n schema.minItems = this.rule;\n return schema;\n default:\n return ToJsonSchema.throwInternalOperandError(\"minLength\", schema);\n }\n }\n}\nexport const MinLength = {\n implementation,\n Node: MinLengthNode\n};\n","import { throwParseError } from \"@ark/util\";\nimport { InternalPrimitiveConstraint, writeInvalidOperandMessage } from \"../constraint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nconst implementation = implementNode({\n kind: \"divisor\",\n collapsibleKey: \"rule\",\n keys: {\n rule: {\n parse: divisor => Number.isInteger(divisor) ? divisor : (throwParseError(writeNonIntegerDivisorMessage(divisor)))\n }\n },\n normalize: schema => typeof schema === \"number\" ? { rule: schema } : schema,\n hasAssociatedError: true,\n defaults: {\n description: node => node.rule === 1 ? \"an integer\"\n : node.rule === 2 ? \"even\"\n : `a multiple of ${node.rule}`\n },\n intersections: {\n divisor: (l, r, ctx) => ctx.$.node(\"divisor\", {\n rule: Math.abs((l.rule * r.rule) / greatestCommonDivisor(l.rule, r.rule))\n })\n },\n obviatesBasisDescription: true\n});\nexport class DivisorNode extends InternalPrimitiveConstraint {\n traverseAllows = data => data % this.rule === 0;\n compiledCondition = `data % ${this.rule} === 0`;\n compiledNegation = `data % ${this.rule} !== 0`;\n impliedBasis = $ark.intrinsic.number.internal;\n expression = `% ${this.rule}`;\n reduceJsonSchema(schema) {\n schema.type = \"integer\";\n if (this.rule === 1)\n return schema;\n schema.multipleOf = this.rule;\n return schema;\n }\n}\nexport const Divisor = {\n implementation,\n Node: DivisorNode\n};\nexport const writeIndivisibleMessage = (t) => writeInvalidOperandMessage(\"divisor\", $ark.intrinsic.number, t);\nexport const writeNonIntegerDivisorMessage = (divisor) => `divisor must be an integer (was ${divisor})`;\n// https://en.wikipedia.org/wiki/Euclidean_algorithm\nconst greatestCommonDivisor = (l, r) => {\n let previous;\n let greatestCommonDivisor = l;\n let current = r;\n while (current !== 0) {\n previous = current;\n current = greatestCommonDivisor % current;\n greatestCommonDivisor = previous;\n }\n return greatestCommonDivisor;\n};\n","import { GenericRoot } from \"@ark/schema\";\nimport { throwParseError } from \"@ark/util\";\nimport { DynamicState } from \"./parser/reduce/dynamic.js\";\nimport { parseUntilFinalizer } from \"./parser/string.js\";\nexport const Generic = GenericRoot;\nexport const emptyGenericParameterMessage = \"An empty string is not a valid generic parameter name\";\nexport const parseGenericParamName = (scanner, result, ctx) => {\n scanner.shiftUntilNonWhitespace();\n const name = scanner.shiftUntilNextTerminator();\n if (name === \"\") {\n // if we've reached the end of the string and have parsed at least one\n // param, return the valid result\n if (scanner.lookahead === \"\" && result.length)\n return result;\n return throwParseError(emptyGenericParameterMessage);\n }\n scanner.shiftUntilNonWhitespace();\n return _parseOptionalConstraint(scanner, name, result, ctx);\n};\nconst extendsToken = \"extends \";\nconst _parseOptionalConstraint = (scanner, name, result, ctx) => {\n scanner.shiftUntilNonWhitespace();\n if (scanner.unscanned.startsWith(extendsToken))\n scanner.jumpForward(extendsToken.length);\n else {\n // if we don't have a contraining token here, return now so we can\n // assume in the rest of the function body we do have a constraint\n if (scanner.lookahead === \",\")\n scanner.shift();\n result.push(name);\n return parseGenericParamName(scanner, result, ctx);\n }\n const s = parseUntilFinalizer(new DynamicState(scanner, ctx));\n result.push([name, s.root]);\n return parseGenericParamName(scanner, result, ctx);\n};\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","import { domainOf } from \"./domain.js\";\nimport { isKeyOf } from \"./records.js\";\n// ECMAScript Objects\n// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nexport const ecmascriptConstructors = {\n Array,\n Boolean,\n Date,\n Error,\n Function,\n Map,\n Number,\n Promise,\n RegExp,\n Set,\n String,\n WeakMap,\n WeakSet\n};\n/** Node18 */\nexport const FileConstructor = globalThis.File ?? Blob;\n// Platform APIs\n// See https://developer.mozilla.org/en-US/docs/Web/API\n// Must be implemented in Node etc. as well as the browser to include here\nexport const platformConstructors = {\n ArrayBuffer,\n Blob,\n File: FileConstructor,\n FormData,\n Headers,\n Request,\n Response,\n URL\n};\nexport const typedArrayConstructors = {\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n BigInt64Array,\n BigUint64Array\n};\n// Built-in object constructors based on a subset of:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nexport const builtinConstructors = {\n ...ecmascriptConstructors,\n ...platformConstructors,\n ...typedArrayConstructors,\n String,\n Number,\n Boolean\n};\nexport const objectKindOf = (data) => {\n let prototype = Object.getPrototypeOf(data);\n while (prototype?.constructor &&\n (!isKeyOf(prototype.constructor.name, builtinConstructors) ||\n !(data instanceof builtinConstructors[prototype.constructor.name])))\n prototype = Object.getPrototypeOf(prototype);\n const name = prototype?.constructor?.name;\n if (name === undefined || name === \"Object\")\n return undefined;\n return name;\n};\nexport const objectKindOrDomainOf = (data) => (typeof data === \"object\" && data !== null ?\n (objectKindOf(data) ?? \"object\")\n : domainOf(data));\nexport const hasObjectKind = (data, kind) => objectKindOf(data) === kind;\nexport const isArray = Array.isArray;\nexport const ecmascriptDescriptions = {\n Array: \"an array\",\n Function: \"a function\",\n Date: \"a Date\",\n RegExp: \"a RegExp\",\n Error: \"an Error\",\n Map: \"a Map\",\n Set: \"a Set\",\n String: \"a String object\",\n Number: \"a Number object\",\n Boolean: \"a Boolean object\",\n Promise: \"a Promise\",\n WeakMap: \"a WeakMap\",\n WeakSet: \"a WeakSet\"\n};\nexport const platformDescriptions = {\n ArrayBuffer: \"an ArrayBuffer instance\",\n Blob: \"a Blob instance\",\n File: \"a File instance\",\n FormData: \"a FormData instance\",\n Headers: \"a Headers instance\",\n Request: \"a Request instance\",\n Response: \"a Response instance\",\n URL: \"a URL instance\"\n};\nexport const typedArrayDescriptions = {\n Int8Array: \"an Int8Array\",\n Uint8Array: \"a Uint8Array\",\n Uint8ClampedArray: \"a Uint8ClampedArray\",\n Int16Array: \"an Int16Array\",\n Uint16Array: \"a Uint16Array\",\n Int32Array: \"an Int32Array\",\n Uint32Array: \"a Uint32Array\",\n Float32Array: \"a Float32Array\",\n Float64Array: \"a Float64Array\",\n BigInt64Array: \"a BigInt64Array\",\n BigUint64Array: \"a BigUint64Array\"\n};\n/** Each defaultObjectKind's completion for the phrase \"must be _____\" */\nexport const objectKindDescriptions = {\n ...ecmascriptDescriptions,\n ...platformDescriptions,\n ...typedArrayDescriptions\n};\n/**\n * this will only return an object kind if it's the root constructor\n * example TypeError would return null not 'Error'\n **/\nexport const getBuiltinNameOfConstructor = (ctor) => {\n const constructorName = Object(ctor).name ?? null;\n return (constructorName &&\n isKeyOf(constructorName, builtinConstructors) &&\n builtinConstructors[constructorName] === ctor) ?\n constructorName\n : null;\n};\n/**\n * Returns an array of constructors for all ancestors (i.e., prototypes) of a given object.\n */\nexport const ancestorsOf = (o) => {\n let proto = Object.getPrototypeOf(o);\n const result = [];\n while (proto !== null) {\n result.push(proto.constructor);\n proto = Object.getPrototypeOf(proto);\n }\n return result;\n};\nexport const constructorExtends = (ctor, base) => {\n let current = ctor.prototype;\n while (current !== null) {\n if (current === base.prototype)\n return true;\n current = Object.getPrototypeOf(current);\n }\n return false;\n};\n","import { Disjoint, intersectNodesRoot, pipeNodesRoot } from \"@ark/schema\";\nimport { objectKindOrDomainOf, throwParseError } from \"@ark/util\";\nimport { shallowDefaultableMessage, shallowOptionalMessage } from \"./ast/validate.js\";\nimport { writeMissingRightOperandMessage } from \"./shift/operand/unenclosed.js\";\nexport const maybeParseTupleExpression = (def, ctx) => isIndexZeroExpression(def) ? indexZeroParsers[def[0]](def, ctx)\n : isIndexOneExpression(def) ? indexOneParsers[def[1]](def, ctx)\n : null;\nexport const parseKeyOfTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[1], ctx).keyof();\nconst parseBranchTuple = (def, ctx) => {\n if (def[2] === undefined)\n return throwParseError(writeMissingRightOperandMessage(def[1], \"\"));\n const l = ctx.$.parseOwnDefinitionFormat(def[0], ctx);\n const r = ctx.$.parseOwnDefinitionFormat(def[2], ctx);\n if (def[1] === \"|\")\n return ctx.$.node(\"union\", { branches: [l, r] });\n const result = def[1] === \"&\" ?\n intersectNodesRoot(l, r, ctx.$)\n : pipeNodesRoot(l, r, ctx.$);\n if (result instanceof Disjoint)\n return result.throw();\n return result;\n};\nconst parseArrayTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[0], ctx).array();\nexport const parseMorphTuple = (def, ctx) => {\n if (typeof def[2] !== \"function\") {\n return throwParseError(writeMalformedFunctionalExpressionMessage(\"=>\", def[2]));\n }\n return ctx.$.parseOwnDefinitionFormat(def[0], ctx).pipe(def[2]);\n};\nexport const writeMalformedFunctionalExpressionMessage = (operator, value) => `${operator === \":\" ? \"Narrow\" : \"Morph\"} expression requires a function following '${operator}' (was ${typeof value})`;\nexport const parseNarrowTuple = (def, ctx) => {\n if (typeof def[2] !== \"function\") {\n return throwParseError(writeMalformedFunctionalExpressionMessage(\":\", def[2]));\n }\n return ctx.$.parseOwnDefinitionFormat(def[0], ctx).constrain(\"predicate\", def[2]);\n};\nconst parseAttributeTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[0], ctx).configureReferences(def[2], \"shallow\");\nconst defineIndexOneParsers = (parsers) => parsers;\nconst postfixParsers = defineIndexOneParsers({\n \"[]\": parseArrayTuple,\n \"?\": () => throwParseError(shallowOptionalMessage)\n});\nconst infixParsers = defineIndexOneParsers({\n \"|\": parseBranchTuple,\n \"&\": parseBranchTuple,\n \":\": parseNarrowTuple,\n \"=>\": parseMorphTuple,\n \"|>\": parseBranchTuple,\n \"@\": parseAttributeTuple,\n // since object and tuple literals parse there via `parseProperty`,\n // they must be shallow if parsed directly as a tuple expression\n \"=\": () => throwParseError(shallowDefaultableMessage)\n});\nconst indexOneParsers = { ...postfixParsers, ...infixParsers };\nconst isIndexOneExpression = (def) => indexOneParsers[def[1]] !== undefined;\nconst defineIndexZeroParsers = (parsers) => parsers;\nconst indexZeroParsers = defineIndexZeroParsers({\n keyof: parseKeyOfTuple,\n instanceof: (def, ctx) => {\n if (typeof def[1] !== \"function\") {\n return throwParseError(writeInvalidConstructorMessage(objectKindOrDomainOf(def[1])));\n }\n const branches = def\n .slice(1)\n .map(ctor => typeof ctor === \"function\" ?\n ctx.$.node(\"proto\", { proto: ctor })\n : throwParseError(writeInvalidConstructorMessage(objectKindOrDomainOf(ctor))));\n return branches.length === 1 ?\n branches[0]\n : ctx.$.node(\"union\", { branches });\n },\n \"===\": (def, ctx) => ctx.$.units(def.slice(1))\n});\nconst isIndexZeroExpression = (def) => indexZeroParsers[def[0]] !== undefined;\nexport const writeInvalidConstructorMessage = (actual) => `Expected a constructor following 'instanceof' operator (was ${actual})`;\n","import { hasArkKind, writeUnresolvableMessage } from \"@ark/schema\";\nimport { printable, throwParseError, tryParseWellFormedBigint, tryParseWellFormedNumber } from \"@ark/util\";\nimport { writePrefixedPrivateReferenceMessage } from \"../../ast/validate.js\";\nimport { parseGenericArgs, writeInvalidGenericArgCountMessage } from \"./genericArgs.js\";\nexport const parseUnenclosed = (s) => {\n const token = s.scanner.shiftUntilNextTerminator();\n if (token === \"keyof\")\n s.addPrefix(\"keyof\");\n else\n s.root = unenclosedToNode(s, token);\n};\nexport const parseGenericInstantiation = (name, g, s) => {\n s.scanner.shiftUntilNonWhitespace();\n const lookahead = s.scanner.shift();\n if (lookahead !== \"<\")\n return s.error(writeInvalidGenericArgCountMessage(name, g.names, []));\n const parsedArgs = parseGenericArgs(name, g, s);\n return g(...parsedArgs);\n};\nconst unenclosedToNode = (s, token) => maybeParseReference(s, token) ??\n maybeParseUnenclosedLiteral(s, token) ??\n s.error(token === \"\" ?\n s.scanner.lookahead === \"#\" ?\n writePrefixedPrivateReferenceMessage(s.shiftedByOne().scanner.shiftUntilNextTerminator())\n : writeMissingOperandMessage(s)\n : writeUnresolvableMessage(token));\nconst maybeParseReference = (s, token) => {\n if (s.ctx.args?.[token]) {\n const arg = s.ctx.args[token];\n if (typeof arg !== \"string\")\n return arg;\n return s.ctx.$.node(\"alias\", { reference: arg }, { prereduced: true });\n }\n const resolution = s.ctx.$.maybeResolve(token);\n if (hasArkKind(resolution, \"root\"))\n return resolution;\n if (resolution === undefined)\n return;\n if (hasArkKind(resolution, \"generic\"))\n return parseGenericInstantiation(token, resolution, s);\n return throwParseError(`Unexpected resolution ${printable(resolution)}`);\n};\nconst maybeParseUnenclosedLiteral = (s, token) => {\n const maybeNumber = tryParseWellFormedNumber(token);\n if (maybeNumber !== undefined)\n return s.ctx.$.node(\"unit\", { unit: maybeNumber });\n const maybeBigint = tryParseWellFormedBigint(token);\n if (maybeBigint !== undefined)\n return s.ctx.$.node(\"unit\", { unit: maybeBigint });\n};\nexport const writeMissingOperandMessage = (s) => {\n const operator = s.previousOperator();\n return operator ?\n writeMissingRightOperandMessage(operator, s.scanner.unscanned)\n : writeExpressionExpectedMessage(s.scanner.unscanned);\n};\nexport const writeMissingRightOperandMessage = (token, unscanned = \"\") => `Token '${token}' requires a right operand${unscanned ? ` before '${unscanned}'` : \"\"}`;\nexport const writeExpressionExpectedMessage = (unscanned) => `Expected an expression${unscanned ? ` before '${unscanned}'` : \"\"}`;\n","import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n return codec;\n}\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import { domainOf } from \"./domain.js\";\nimport { serializePrimitive } from \"./primitive.js\";\nimport { stringAndSymbolicEntriesOf } from \"./records.js\";\nimport { isDotAccessible, register } from \"./registry.js\";\nexport const snapshot = (data, opts = {}) => _serialize(data, {\n onUndefined: `$ark.undefined`,\n onBigInt: n => `$ark.bigint-${n}`,\n ...opts\n}, []);\nexport const print = (data, opts) => console.log(printable(data, opts));\nexport const printable = (data, opts) => {\n switch (domainOf(data)) {\n case \"object\":\n const o = data;\n const ctorName = o.constructor.name;\n return (ctorName === \"Object\" || ctorName === \"Array\" ?\n opts?.quoteKeys === false ?\n stringifyUnquoted(o, opts?.indent ?? 0, \"\")\n : JSON.stringify(_serialize(o, printableOpts, []), null, opts?.indent)\n : stringifyUnquoted(o, opts?.indent ?? 0, \"\"));\n case \"symbol\":\n return printableOpts.onSymbol(data);\n default:\n return serializePrimitive(data);\n }\n};\nconst stringifyUnquoted = (value, indent, currentIndent) => {\n if (typeof value === \"function\")\n return printableOpts.onFunction(value);\n if (typeof value !== \"object\" || value === null)\n return serializePrimitive(value);\n const nextIndent = currentIndent + \" \".repeat(indent);\n if (Array.isArray(value)) {\n if (value.length === 0)\n return \"[]\";\n const items = value\n .map(item => stringifyUnquoted(item, indent, nextIndent))\n .join(\",\\n\" + nextIndent);\n return indent ? `[\\n${nextIndent}${items}\\n${currentIndent}]` : `[${items}]`;\n }\n const ctorName = value.constructor.name;\n if (ctorName === \"Object\") {\n const keyValues = stringAndSymbolicEntriesOf(value).map(([key, val]) => {\n const stringifiedKey = typeof key === \"symbol\" ? printableOpts.onSymbol(key)\n : isDotAccessible(key) ? key\n : JSON.stringify(key);\n const stringifiedValue = stringifyUnquoted(val, indent, nextIndent);\n return `${nextIndent}${stringifiedKey}: ${stringifiedValue}`;\n });\n if (keyValues.length === 0)\n return \"{}\";\n return indent ?\n `{\\n${keyValues.join(\",\\n\")}\\n${currentIndent}}`\n : `{${keyValues.join(\", \")}}`;\n }\n if (value instanceof Date)\n return describeCollapsibleDate(value);\n if (\"expression\" in value && typeof value.expression === \"string\")\n return value.expression;\n return ctorName;\n};\nconst printableOpts = {\n onCycle: () => \"(cycle)\",\n onSymbol: v => `Symbol(${register(v)})`,\n onFunction: v => `Function(${register(v)})`\n};\nconst _serialize = (data, opts, seen) => {\n switch (domainOf(data)) {\n case \"object\": {\n const o = data;\n if (\"toJSON\" in o && typeof o.toJSON === \"function\")\n return o.toJSON();\n if (typeof o === \"function\")\n return printableOpts.onFunction(o);\n if (seen.includes(o))\n return \"(cycle)\";\n const nextSeen = [...seen, o];\n if (Array.isArray(o))\n return o.map(item => _serialize(item, opts, nextSeen));\n if (o instanceof Date)\n return o.toDateString();\n const result = {};\n for (const k in o)\n result[k] = _serialize(o[k], opts, nextSeen);\n for (const s of Object.getOwnPropertySymbols(o)) {\n result[opts.onSymbol?.(s) ?? s.toString()] = _serialize(o[s], opts, nextSeen);\n }\n return result;\n }\n case \"symbol\":\n return printableOpts.onSymbol(data);\n case \"bigint\":\n return opts.onBigInt?.(data) ?? `${data}n`;\n case \"undefined\":\n return opts.onUndefined ?? \"undefined\";\n case \"string\":\n return data.replaceAll(\"\\\\\", \"\\\\\\\\\");\n default:\n return data;\n }\n};\n/**\n * Converts a Date instance to a human-readable description relative to its precision\n */\nexport const describeCollapsibleDate = (date) => {\n const year = date.getFullYear();\n const month = date.getMonth();\n const dayOfMonth = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n if (month === 0 &&\n dayOfMonth === 1 &&\n hours === 0 &&\n minutes === 0 &&\n seconds === 0 &&\n milliseconds === 0)\n return `${year}`;\n const datePortion = `${months[month]} ${dayOfMonth}, ${year}`;\n if (hours === 0 && minutes === 0 && seconds === 0 && milliseconds === 0)\n return datePortion;\n let timePortion = date.toLocaleTimeString();\n const suffix = timePortion.endsWith(\" AM\") || timePortion.endsWith(\" PM\") ?\n timePortion.slice(-3)\n : \"\";\n if (suffix)\n timePortion = timePortion.slice(0, -suffix.length);\n if (milliseconds)\n timePortion += `.${pad(milliseconds, 3)}`;\n else if (timeWithUnnecessarySeconds.test(timePortion))\n timePortion = timePortion.slice(0, -3);\n return `${timePortion + suffix}, ${datePortion}`;\n};\nconst months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\nconst timeWithUnnecessarySeconds = /:\\d\\d:00$/;\nconst pad = (value, length) => String(value).padStart(length, \"0\");\n","import { $ark, writeUnboundableMessage } from \"@ark/schema\";\nimport { isKeyOf, throwParseError } from \"@ark/util\";\nimport { invertedComparators, maxComparators, writeUnpairableComparatorMessage } from \"../../reduce/shared.js\";\nimport { extractDateLiteralSource, isDateLiteral } from \"../operand/date.js\";\nexport const parseBound = (s, start) => {\n const comparator = shiftComparator(s, start);\n if (s.root.hasKind(\"unit\")) {\n if (typeof s.root.unit === \"number\") {\n s.reduceLeftBound(s.root.unit, comparator);\n s.unsetRoot();\n return;\n }\n if (s.root.unit instanceof Date) {\n const literal = `d'${s.root.description ?? s.root.unit.toISOString()}'`;\n s.unsetRoot();\n s.reduceLeftBound(literal, comparator);\n return;\n }\n }\n return parseRightBound(s, comparator);\n};\nexport const comparatorStartChars = {\n \"<\": 1,\n \">\": 1,\n \"=\": 1\n};\nconst shiftComparator = (s, start) => s.scanner.lookaheadIs(\"=\") ?\n `${start}${s.scanner.shift()}`\n : start;\nexport const writeIncompatibleRangeMessage = (l, r) => `Bound kinds ${l} and ${r} are incompatible`;\nexport const getBoundKinds = (comparator, limit, root, boundKind) => {\n if (root.extends($ark.intrinsic.number)) {\n if (typeof limit !== \"number\") {\n return throwParseError(writeInvalidLimitMessage(comparator, limit, boundKind));\n }\n return (comparator === \"==\" ? [\"min\", \"max\"]\n : comparator[0] === \">\" ? [\"min\"]\n : [\"max\"]);\n }\n if (root.extends($ark.intrinsic.lengthBoundable)) {\n if (typeof limit !== \"number\") {\n return throwParseError(writeInvalidLimitMessage(comparator, limit, boundKind));\n }\n return (comparator === \"==\" ? [\"exactLength\"]\n : comparator[0] === \">\" ? [\"minLength\"]\n : [\"maxLength\"]);\n }\n if (root.extends($ark.intrinsic.Date)) {\n // allow either numeric or date limits\n return (comparator === \"==\" ? [\"after\", \"before\"]\n : comparator[0] === \">\" ? [\"after\"]\n : [\"before\"]);\n }\n return throwParseError(writeUnboundableMessage(root.expression));\n};\nconst openLeftBoundToRoot = (leftBound) => ({\n rule: isDateLiteral(leftBound.limit) ?\n extractDateLiteralSource(leftBound.limit)\n : leftBound.limit,\n exclusive: leftBound.comparator.length === 1\n});\nexport const parseRightBound = (s, comparator) => {\n // store the node that will be bounded\n const previousRoot = s.unsetRoot();\n const previousScannerIndex = s.scanner.location;\n s.parseOperand();\n const limitNode = s.unsetRoot();\n // after parsing the next operand, use the locations to get the\n // token from which it was parsed\n const limitToken = s.scanner.sliceChars(previousScannerIndex, s.scanner.location);\n s.root = previousRoot;\n if (!limitNode.hasKind(\"unit\") ||\n (typeof limitNode.unit !== \"number\" && !(limitNode.unit instanceof Date)))\n return s.error(writeInvalidLimitMessage(comparator, limitToken, \"right\"));\n const limit = limitNode.unit;\n // apply the newly-parsed right bound\n const exclusive = comparator.length === 1;\n const boundKinds = getBoundKinds(comparator, typeof limit === \"number\" ? limit : limitToken, previousRoot, \"right\");\n for (const kind of boundKinds) {\n s.constrainRoot(kind, comparator === \"==\" ? { rule: limit } : { rule: limit, exclusive });\n }\n if (!s.branches.leftBound)\n return;\n // if there's an open left bound, perform additional validation and apply it\n if (!isKeyOf(comparator, maxComparators))\n return s.error(writeUnpairableComparatorMessage(comparator));\n const lowerBoundKind = getBoundKinds(s.branches.leftBound.comparator, s.branches.leftBound.limit, previousRoot, \"left\");\n s.constrainRoot(lowerBoundKind[0], openLeftBoundToRoot(s.branches.leftBound));\n s.branches.leftBound = null;\n};\nexport const writeInvalidLimitMessage = (comparator, limit, boundKind) => `Comparator ${boundKind === \"left\" ? invertedComparators[comparator] : comparator} must be ${boundKind === \"left\" ? \"preceded\" : \"followed\"} by a corresponding literal (was ${limit})`;\n","import { ReadonlyArray } from \"./arrays.js\";\nimport { throwParseError } from \"./errors.js\";\nimport { isDotAccessible } from \"./registry.js\";\nimport { printable } from \"./serialize.js\";\nexport const appendStringifiedKey = (path, prop, ...[opts]) => {\n const stringifySymbol = opts?.stringifySymbol ?? printable;\n let propAccessChain = path;\n switch (typeof prop) {\n case \"string\":\n propAccessChain =\n isDotAccessible(prop) ?\n path === \"\" ?\n prop\n : `${path}.${prop}`\n : `${path}[${JSON.stringify(prop)}]`;\n break;\n case \"number\":\n propAccessChain = `${path}[${prop}]`;\n break;\n case \"symbol\":\n propAccessChain = `${path}[${stringifySymbol(prop)}]`;\n break;\n default:\n if (opts?.stringifyNonKey)\n propAccessChain = `${path}[${opts.stringifyNonKey(prop)}]`;\n else {\n throwParseError(`${printable(prop)} must be a PropertyKey or stringifyNonKey must be passed to options`);\n }\n }\n return propAccessChain;\n};\nexport const stringifyPath = (path, ...opts) => path.reduce((s, k) => appendStringifiedKey(s, k, ...opts), \"\");\nexport class ReadonlyPath extends ReadonlyArray {\n // alternate strategy for caching since the base object is frozen\n cache = {};\n constructor(...items) {\n super();\n this.push(...items);\n }\n toJSON() {\n if (this.cache.json)\n return this.cache.json;\n this.cache.json = [];\n for (let i = 0; i < this.length; i++) {\n this.cache.json.push(typeof this[i] === \"symbol\" ? printable(this[i]) : this[i]);\n }\n return this.cache.json;\n }\n stringify() {\n if (this.cache.stringify)\n return this.cache.stringify;\n return (this.cache.stringify = stringifyPath(this));\n }\n stringifyAncestors() {\n if (this.cache.stringifyAncestors)\n return this.cache.stringifyAncestors;\n let propString = \"\";\n const result = [propString];\n for (const path of this) {\n propString = appendStringifiedKey(propString, path);\n result.push(propString);\n }\n return (this.cache.stringifyAncestors = result);\n }\n}\n","import { ecmascriptConstructors, flatMorph, platformConstructors } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nimport { arkArray } from \"./Array.js\";\nimport { arkFormData } from \"./FormData.js\";\nimport { TypedArray } from \"./TypedArray.js\";\nconst omittedPrototypes = {\n Boolean: 1,\n Number: 1,\n String: 1\n};\nexport const arkPrototypes = Scope.module({\n ...flatMorph({ ...ecmascriptConstructors, ...platformConstructors }, (k, v) => (k in omittedPrototypes ? [] : [k, [\"instanceof\", v]])),\n Array: arkArray,\n TypedArray,\n FormData: arkFormData\n});\n","import { describeCollapsibleDate } from \"@ark/util\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { BaseRange, createDateSchemaNormalizer, parseDateLimit } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"before\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {\n parse: parseDateLimit,\n serialize: schema => schema.toISOString()\n }\n },\n normalize: createDateSchemaNormalizer(\"before\"),\n defaults: {\n description: node => `${node.collapsibleLimitString} or earlier`,\n actual: describeCollapsibleDate\n },\n intersections: {\n before: (l, r) => (l.isStricterThan(r) ? l : r),\n after: (before, after, ctx) => before.overlapsRange(after) ?\n before.overlapIsUnit(after) ?\n ctx.$.node(\"unit\", { unit: before.rule })\n : null\n : Disjoint.init(\"range\", before, after)\n }\n});\nexport class BeforeNode extends BaseRange {\n collapsibleLimitString = describeCollapsibleDate(this.rule);\n traverseAllows = data => data <= this.rule;\n impliedBasis = $ark.intrinsic.Date.internal;\n reduceJsonSchema(base, ctx) {\n return ctx.fallback.date({ code: \"date\", base, before: this.rule });\n }\n}\nexport const Before = {\n implementation,\n Node: BeforeNode\n};\n","import { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { ToJsonSchema } from \"../shared/toJsonSchema.js\";\nimport { BaseRange, createLengthRuleParser, createLengthSchemaNormalizer } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"maxLength\",\n collapsibleKey: \"rule\",\n hasAssociatedError: true,\n keys: {\n rule: {\n parse: createLengthRuleParser(\"maxLength\")\n }\n },\n reduce: (inner, $) => inner.rule === 0 ? $.node(\"exactLength\", inner) : undefined,\n normalize: createLengthSchemaNormalizer(\"maxLength\"),\n defaults: {\n description: node => `at most length ${node.rule}`,\n actual: data => `${data.length}`\n },\n intersections: {\n maxLength: (l, r) => (l.isStricterThan(r) ? l : r),\n minLength: (max, min, ctx) => max.overlapsRange(min) ?\n max.overlapIsUnit(min) ?\n ctx.$.node(\"exactLength\", { rule: max.rule })\n : null\n : Disjoint.init(\"range\", max, min)\n }\n});\nexport class MaxLengthNode extends BaseRange {\n impliedBasis = $ark.intrinsic.lengthBoundable.internal;\n traverseAllows = data => data.length <= this.rule;\n reduceJsonSchema(schema) {\n switch (schema.type) {\n case \"string\":\n schema.maxLength = this.rule;\n return schema;\n case \"array\":\n schema.maxItems = this.rule;\n return schema;\n default:\n return ToJsonSchema.throwInternalOperandError(\"maxLength\", schema);\n }\n }\n}\nexport const MaxLength = {\n implementation,\n Node: MaxLengthNode\n};\n","import { ArkErrors, intrinsic, node, rootSchema } from \"@ark/schema\";\nimport { flatMorph, numericStringMatcher, wellFormedIntegerMatcher } from \"@ark/util\";\nimport { Scope } from \"../scope.js\";\nimport { number } from \"./number.js\";\n// non-trivial expressions should have an explanation or attribution\nexport const regexStringNode = (regex, description, jsonSchemaFormat) => {\n const schema = {\n domain: \"string\",\n pattern: {\n rule: regex.source,\n flags: regex.flags,\n meta: description\n }\n };\n if (jsonSchemaFormat)\n schema.meta = { format: jsonSchemaFormat };\n return node(\"intersection\", schema);\n};\nconst stringIntegerRoot = regexStringNode(wellFormedIntegerMatcher, \"a well-formed integer string\");\nexport const stringInteger = Scope.module({\n root: stringIntegerRoot,\n parse: rootSchema({\n in: stringIntegerRoot,\n morphs: (s, ctx) => {\n const parsed = Number.parseInt(s);\n return Number.isSafeInteger(parsed) ? parsed : (ctx.error(\"an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER\"));\n },\n declaredOut: intrinsic.integer\n })\n}, {\n name: \"string.integer\"\n});\nconst hex = regexStringNode(/^[\\dA-Fa-f]+$/, \"hex characters only\");\nconst base64 = Scope.module({\n root: regexStringNode(/^(?:[\\d+/A-Za-z]{4})*(?:[\\d+/A-Za-z]{2}==|[\\d+/A-Za-z]{3}=)?$/, \"base64-encoded\"),\n url: regexStringNode(/^(?:[\\w-]{4})*(?:[\\w-]{2}(?:==|%3D%3D)?|[\\w-]{3}(?:=|%3D)?)?$/, \"base64url-encoded\")\n}, {\n name: \"string.base64\"\n});\nconst preformattedCapitalize = regexStringNode(/^[A-Z].*$/, \"capitalized\");\nexport const capitalize = Scope.module({\n root: rootSchema({\n in: \"string\",\n morphs: (s) => s.charAt(0).toUpperCase() + s.slice(1),\n declaredOut: preformattedCapitalize\n }),\n preformatted: preformattedCapitalize\n}, {\n name: \"string.capitalize\"\n});\n// https://github.com/validatorjs/validator.js/blob/master/src/lib/isLuhnNumber.js\nexport const isLuhnValid = (creditCardInput) => {\n const sanitized = creditCardInput.replaceAll(/[ -]+/g, \"\");\n let sum = 0;\n let digit;\n let tmpNum;\n let shouldDouble = false;\n for (let i = sanitized.length - 1; i >= 0; i--) {\n digit = sanitized.substring(i, i + 1);\n tmpNum = Number.parseInt(digit, 10);\n if (shouldDouble) {\n tmpNum *= 2;\n sum += tmpNum >= 10 ? (tmpNum % 10) + 1 : tmpNum;\n }\n else\n sum += tmpNum;\n shouldDouble = !shouldDouble;\n }\n return !!(sum % 10 === 0 ? sanitized : false);\n};\n// https://github.com/validatorjs/validator.js/blob/master/src/lib/isCreditCard.js\nconst creditCardMatcher = /^(?:4\\d{12}(?:\\d{3,6})?|5[1-5]\\d{14}|(222[1-9]|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}|6(?:011|5\\d\\d)\\d{12,15}|3[47]\\d{13}|3(?:0[0-5]|[68]\\d)\\d{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27]\\d{14}|^(81\\d{14,17}))$/;\nexport const creditCard = rootSchema({\n domain: \"string\",\n pattern: {\n meta: \"a credit card number\",\n rule: creditCardMatcher.source\n },\n predicate: {\n meta: \"a credit card number\",\n predicate: isLuhnValid\n }\n});\nconst dayDelimiterMatcher = /^[./-]$/;\n// ISO 8601 date/time modernized from https://github.com/validatorjs/validator.js/blob/master/src/lib/isISO8601.js\n// Based on https://tc39.es/ecma262/#sec-date-time-string-format, the T\n// delimiter for date/time is mandatory. Regex from validator.js strict matcher:\nexport const iso8601Matcher = /^([+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))(T((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([,.]\\d+(?!:))?)?(\\17[0-5]\\d([,.]\\d+)?)?([Zz]|([+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\nconst isValidDateInstance = (date) => !Number.isNaN(+date);\nconst writeFormattedExpected = (format) => `a ${format}-formatted date`;\nexport const tryParseDatePattern = (data, opts) => {\n if (!opts?.format) {\n const result = new Date(data);\n return isValidDateInstance(result) ? result : \"a valid date\";\n }\n if (opts.format === \"iso\") {\n return iso8601Matcher.test(data) ?\n new Date(data)\n : writeFormattedExpected(\"iso\");\n }\n const dataParts = data.split(dayDelimiterMatcher);\n // will be the first delimiter matched, if there is one\n const delimiter = data[dataParts[0].length];\n const formatParts = delimiter ? opts.format.split(delimiter) : [opts.format];\n if (dataParts.length !== formatParts.length)\n return writeFormattedExpected(opts.format);\n const parsedParts = {};\n for (let i = 0; i < formatParts.length; i++) {\n if (dataParts[i].length !== formatParts[i].length &&\n // if format is \"m\" or \"d\", data is allowed to be 1 or 2 characters\n !(formatParts[i].length === 1 && dataParts[i].length === 2))\n return writeFormattedExpected(opts.format);\n parsedParts[formatParts[i][0]] = dataParts[i];\n }\n const date = new Date(`${parsedParts.m}/${parsedParts.d}/${parsedParts.y}`);\n if (`${date.getDate()}` === parsedParts.d)\n return date;\n return writeFormattedExpected(opts.format);\n};\nconst isParsableDate = (s) => !Number.isNaN(new Date(s).valueOf());\nconst parsableDate = rootSchema({\n domain: \"string\",\n predicate: {\n meta: \"a parsable date\",\n predicate: isParsableDate\n }\n}).assertHasKind(\"intersection\");\nconst epochRoot = stringInteger.root.internal\n .narrow((s, ctx) => {\n // this is safe since it has already\n // been validated as an integer string\n const n = Number.parseInt(s);\n const out = number.epoch(n);\n if (out instanceof ArkErrors) {\n ctx.errors.merge(out);\n return false;\n }\n return true;\n})\n .configure({\n description: \"an integer string representing a safe Unix timestamp\"\n}, \"self\")\n .assertHasKind(\"intersection\");\nconst epoch = Scope.module({\n root: epochRoot,\n parse: rootSchema({\n in: epochRoot,\n morphs: (s) => new Date(s),\n declaredOut: intrinsic.Date\n })\n}, {\n name: \"string.date.epoch\"\n});\nconst isoRoot = regexStringNode(iso8601Matcher, \"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date\").internal.assertHasKind(\"intersection\");\nconst iso = Scope.module({\n root: isoRoot,\n parse: rootSchema({\n in: isoRoot,\n morphs: (s) => new Date(s),\n declaredOut: intrinsic.Date\n })\n}, {\n name: \"string.date.iso\"\n});\nexport const stringDate = Scope.module({\n root: parsableDate,\n parse: rootSchema({\n declaredIn: parsableDate,\n in: \"string\",\n morphs: (s, ctx) => {\n const date = new Date(s);\n if (Number.isNaN(date.valueOf()))\n return ctx.error(\"a parsable date\");\n return date;\n },\n declaredOut: intrinsic.Date\n }),\n iso,\n epoch\n}, {\n name: \"string.date\"\n});\nconst email = regexStringNode(\n// considered https://colinhacks.com/essays/reasonable-email-regex but it includes a lookahead\n// which breaks some integrations e.g. fast-check\n// regex based on:\n// https://www.regular-expressions.info/email.html\n/^[\\w%+.-]+@[\\d.A-Za-z-]+\\.[A-Za-z]{2,}$/, \"an email address\", \"email\");\n// based on https://github.com/validatorjs/validator.js/blob/master/src/lib/isIP.js\nconst ipv4Segment = \"(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\";\nconst ipv4Address = `(${ipv4Segment}[.]){3}${ipv4Segment}`;\nconst ipv4Matcher = new RegExp(`^${ipv4Address}$`);\nconst ipv6Segment = \"(?:[0-9a-fA-F]{1,4})\";\nconst ipv6Matcher = new RegExp(\"^(\" +\n `(?:${ipv6Segment}:){7}(?:${ipv6Segment}|:)|` +\n `(?:${ipv6Segment}:){6}(?:${ipv4Address}|:${ipv6Segment}|:)|` +\n `(?:${ipv6Segment}:){5}(?::${ipv4Address}|(:${ipv6Segment}){1,2}|:)|` +\n `(?:${ipv6Segment}:){4}(?:(:${ipv6Segment}){0,1}:${ipv4Address}|(:${ipv6Segment}){1,3}|:)|` +\n `(?:${ipv6Segment}:){3}(?:(:${ipv6Segment}){0,2}:${ipv4Address}|(:${ipv6Segment}){1,4}|:)|` +\n `(?:${ipv6Segment}:){2}(?:(:${ipv6Segment}){0,3}:${ipv4Address}|(:${ipv6Segment}){1,5}|:)|` +\n `(?:${ipv6Segment}:){1}(?:(:${ipv6Segment}){0,4}:${ipv4Address}|(:${ipv6Segment}){1,6}|:)|` +\n `(?::((?::${ipv6Segment}){0,5}:${ipv4Address}|(?::${ipv6Segment}){1,7}|:))` +\n \")(%[0-9a-zA-Z.]{1,})?$\");\nexport const ip = Scope.module({\n root: [\"v4 | v6\", \"@\", \"an IP address\"],\n v4: regexStringNode(ipv4Matcher, \"an IPv4 address\", \"ipv4\"),\n v6: regexStringNode(ipv6Matcher, \"an IPv6 address\", \"ipv6\")\n}, {\n name: \"string.ip\"\n});\nconst jsonStringDescription = \"a JSON string\";\nexport const writeJsonSyntaxErrorProblem = (error) => {\n if (!(error instanceof SyntaxError))\n throw error;\n return `must be ${jsonStringDescription} (${error})`;\n};\nconst jsonRoot = rootSchema({\n meta: jsonStringDescription,\n domain: \"string\",\n predicate: {\n meta: jsonStringDescription,\n predicate: (s, ctx) => {\n try {\n JSON.parse(s);\n return true;\n }\n catch (e) {\n return ctx.reject({\n code: \"predicate\",\n expected: jsonStringDescription,\n problem: writeJsonSyntaxErrorProblem(e)\n });\n }\n }\n }\n});\nconst parseJson = (s, ctx) => {\n if (s.length === 0) {\n return ctx.error({\n code: \"predicate\",\n expected: jsonStringDescription,\n actual: \"empty\"\n });\n }\n try {\n return JSON.parse(s);\n }\n catch (e) {\n return ctx.error({\n code: \"predicate\",\n expected: jsonStringDescription,\n problem: writeJsonSyntaxErrorProblem(e)\n });\n }\n};\nexport const json = Scope.module({\n root: jsonRoot,\n parse: rootSchema({\n meta: \"safe JSON string parser\",\n in: \"string\",\n morphs: parseJson,\n declaredOut: intrinsic.jsonObject\n })\n}, {\n name: \"string.json\"\n});\nconst preformattedLower = regexStringNode(/^[a-z]*$/, \"only lowercase letters\");\nconst lower = Scope.module({\n root: rootSchema({\n in: \"string\",\n morphs: (s) => s.toLowerCase(),\n declaredOut: preformattedLower\n }),\n preformatted: preformattedLower\n}, {\n name: \"string.lower\"\n});\nexport const normalizedForms = [\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"];\nconst preformattedNodes = flatMorph(normalizedForms, (i, form) => [\n form,\n rootSchema({\n domain: \"string\",\n predicate: (s) => s.normalize(form) === s,\n meta: `${form}-normalized unicode`\n })\n]);\nconst normalizeNodes = flatMorph(normalizedForms, (i, form) => [\n form,\n rootSchema({\n in: \"string\",\n morphs: (s) => s.normalize(form),\n declaredOut: preformattedNodes[form]\n })\n]);\nexport const NFC = Scope.module({\n root: normalizeNodes.NFC,\n preformatted: preformattedNodes.NFC\n}, {\n name: \"string.normalize.NFC\"\n});\nexport const NFD = Scope.module({\n root: normalizeNodes.NFD,\n preformatted: preformattedNodes.NFD\n}, {\n name: \"string.normalize.NFD\"\n});\nexport const NFKC = Scope.module({\n root: normalizeNodes.NFKC,\n preformatted: preformattedNodes.NFKC\n}, {\n name: \"string.normalize.NFKC\"\n});\nexport const NFKD = Scope.module({\n root: normalizeNodes.NFKD,\n preformatted: preformattedNodes.NFKD\n}, {\n name: \"string.normalize.NFKD\"\n});\nexport const normalize = Scope.module({\n root: \"NFC\",\n NFC,\n NFD,\n NFKC,\n NFKD\n}, {\n name: \"string.normalize\"\n});\nconst numericRoot = regexStringNode(numericStringMatcher, \"a well-formed numeric string\");\nexport const stringNumeric = Scope.module({\n root: numericRoot,\n parse: rootSchema({\n in: numericRoot,\n morphs: (s) => Number.parseFloat(s),\n declaredOut: intrinsic.number\n })\n}, {\n name: \"string.numeric\"\n});\nconst regexPatternDescription = \"a regex pattern\";\nconst regex = rootSchema({\n domain: \"string\",\n predicate: {\n meta: regexPatternDescription,\n predicate: (s, ctx) => {\n try {\n new RegExp(s);\n return true;\n }\n catch (e) {\n return ctx.reject({\n code: \"predicate\",\n expected: regexPatternDescription,\n problem: String(e)\n });\n }\n }\n },\n meta: { format: \"regex\" }\n});\nconst semverMatcher = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[A-Za-z-][\\dA-Za-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[A-Za-z-][\\dA-Za-z-]*))*))?(?:\\+([\\dA-Za-z-]+(?:\\.[\\dA-Za-z-]+)*))?$/;\nconst semver = regexStringNode(semverMatcher, \"a semantic version (see https://semver.org/)\");\nconst preformattedTrim = regexStringNode(\n// no leading or trailing whitespace\n/^\\S.*\\S$|^\\S?$/, \"trimmed\");\nconst trim = Scope.module({\n root: rootSchema({\n in: \"string\",\n morphs: (s) => s.trim(),\n declaredOut: preformattedTrim\n }),\n preformatted: preformattedTrim\n}, {\n name: \"string.trim\"\n});\nconst preformattedUpper = regexStringNode(/^[A-Z]*$/, \"only uppercase letters\");\nconst upper = Scope.module({\n root: rootSchema({\n in: \"string\",\n morphs: (s) => s.toUpperCase(),\n declaredOut: preformattedUpper\n }),\n preformatted: preformattedUpper\n}, {\n name: \"string.upper\"\n});\nconst isParsableUrl = (s) => {\n if (URL.canParse)\n return URL.canParse(s);\n // TODO[2025-04-30] remove once Node 18 is EOL and we can rely on URL.canParse\n try {\n new URL(s);\n return true;\n }\n catch {\n return false;\n }\n};\nconst urlRoot = rootSchema({\n domain: \"string\",\n predicate: {\n meta: \"a URL string\",\n predicate: isParsableUrl\n },\n // URL.canParse allows a subset of the RFC-3986 URI spec\n // since there is no other serializable validation, best include a format\n meta: { format: \"uri\" }\n});\nexport const url = Scope.module({\n root: urlRoot,\n parse: rootSchema({\n declaredIn: urlRoot,\n in: \"string\",\n morphs: (s, ctx) => {\n try {\n return new URL(s);\n }\n catch {\n return ctx.error(\"a URL string\");\n }\n },\n declaredOut: rootSchema(URL)\n })\n}, {\n name: \"string.url\"\n});\n// based on https://github.com/validatorjs/validator.js/blob/master/src/lib/isUUID.js\nexport const uuid = Scope.module({\n // the meta tuple expression ensures the error message does not delegate\n // to the individual branches, which are too detailed\n root: [\n \"versioned | nil | max\",\n \"@\",\n { description: \"a UUID\", format: \"uuid\" }\n ],\n \"#nil\": \"'00000000-0000-0000-0000-000000000000'\",\n \"#max\": \"'ffffffff-ffff-ffff-ffff-ffffffffffff'\",\n \"#versioned\": /[\\da-f]{8}-[\\da-f]{4}-[1-8][\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}/i,\n v1: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-1[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv1\"),\n v2: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-2[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv2\"),\n v3: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-3[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv3\"),\n v4: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-4[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv4\"),\n v5: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-5[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv5\"),\n v6: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-6[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv6\"),\n v7: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-7[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv7\"),\n v8: regexStringNode(/^[\\da-f]{8}-[\\da-f]{4}-8[\\da-f]{3}-[89ab][\\da-f]{3}-[\\da-f]{12}$/i, \"a UUIDv8\")\n}, {\n name: \"string.uuid\"\n});\nexport const string = Scope.module({\n root: intrinsic.string,\n alpha: regexStringNode(/^[A-Za-z]*$/, \"only letters\"),\n alphanumeric: regexStringNode(/^[\\dA-Za-z]*$/, \"only letters and digits 0-9\"),\n hex,\n base64,\n capitalize,\n creditCard,\n date: stringDate,\n digits: regexStringNode(/^\\d*$/, \"only digits 0-9\"),\n email,\n integer: stringInteger,\n ip,\n json,\n lower,\n normalize,\n numeric: stringNumeric,\n regex,\n semver,\n trim,\n upper,\n url,\n uuid\n}, {\n name: \"string\"\n});\n","import { isKeyOf, whitespaceChars } from \"@ark/util\";\nimport { ArkTypeScanner } from \"../scanner.js\";\nimport { comparatorStartChars, parseBound } from \"./bounds.js\";\nimport { parseBrand } from \"./brand.js\";\nimport { parseDivisor } from \"./divisor.js\";\nexport const parseOperator = (s) => {\n const lookahead = s.scanner.shift();\n return (lookahead === \"\" ? s.finalize(\"\")\n : lookahead === \"[\" ?\n s.scanner.shift() === \"]\" ?\n s.setRoot(s.root.array())\n : s.error(incompleteArrayTokenMessage)\n : lookahead === \"|\" ?\n s.scanner.lookahead === \">\" ?\n s.shiftedByOne().pushRootToBranch(\"|>\")\n : s.pushRootToBranch(lookahead)\n : lookahead === \"&\" ? s.pushRootToBranch(lookahead)\n : lookahead === \")\" ? s.finalizeGroup()\n : ArkTypeScanner.lookaheadIsFinalizing(lookahead, s.scanner.unscanned) ?\n s.finalize(lookahead)\n : isKeyOf(lookahead, comparatorStartChars) ? parseBound(s, lookahead)\n : lookahead === \"%\" ? parseDivisor(s)\n : lookahead === \"#\" ? parseBrand(s)\n : lookahead in whitespaceChars ? parseOperator(s)\n : s.error(writeUnexpectedCharacterMessage(lookahead)));\n};\nexport const writeUnexpectedCharacterMessage = (char, shouldBe = \"\") => `'${char}' is not allowed here${shouldBe && ` (should be ${shouldBe})`}`;\nexport const incompleteArrayTokenMessage = `Missing expected ']'`;\n","import { throwInternalError, throwParseError } from \"@ark/util\";\nimport { DynamicState } from \"./reduce/dynamic.js\";\nimport { parseDefault } from \"./shift/operator/default.js\";\nimport { writeUnexpectedCharacterMessage } from \"./shift/operator/operator.js\";\nimport { ArkTypeScanner } from \"./shift/scanner.js\";\nexport const parseString = (def, ctx) => {\n const aliasResolution = ctx.$.maybeResolveRoot(def);\n if (aliasResolution)\n return aliasResolution;\n if (def.endsWith(\"[]\")) {\n const possibleElementResolution = ctx.$.maybeResolveRoot(def.slice(0, -2));\n if (possibleElementResolution)\n return possibleElementResolution.array();\n }\n const s = new DynamicState(new ArkTypeScanner(def), ctx);\n const node = fullStringParse(s);\n if (s.finalizer === \">\")\n throwParseError(writeUnexpectedCharacterMessage(\">\"));\n return node;\n};\nexport const fullStringParse = (s) => {\n s.parseOperand();\n let result = parseUntilFinalizer(s).root;\n if (!result) {\n return throwInternalError(`Root was unexpectedly unset after parsing string '${s.scanner.scanned}'`);\n }\n if (s.finalizer === \"=\")\n result = parseDefault(s);\n else if (s.finalizer === \"?\")\n result = [result, \"?\"];\n s.scanner.shiftUntilNonWhitespace();\n if (s.scanner.lookahead) {\n // throw a parse error if non-whitespace characters made it here without being parsed\n throwParseError(writeUnexpectedCharacterMessage(s.scanner.lookahead));\n }\n return result;\n};\nexport const parseUntilFinalizer = (s) => {\n while (s.finalizer === undefined)\n next(s);\n return s;\n};\nconst next = (s) => s.hasRoot() ? s.parseOperator() : s.parseOperand();\n","import { Callable, appendUnique, flatMorph, includes, isArray, isEmptyObject, isKeyOf, liftArray, printable, stringifyPath, throwError, throwInternalError } from \"@ark/util\";\nimport { basisKinds, constraintKinds, precedenceOfKind, refinementKinds, rootKinds, structuralKinds } from \"./shared/implement.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { Traversal } from \"./shared/traversal.js\";\nimport { isNode } from \"./shared/utils.js\";\nexport class BaseNode extends Callable {\n attachments;\n $;\n onFail;\n includesTransform;\n includesContextualPredicate;\n isCyclic;\n allowsRequiresContext;\n rootApplyStrategy;\n contextFreeMorph;\n rootApply;\n referencesById;\n shallowReferences;\n flatRefs;\n flatMorphs;\n allows;\n get shallowMorphs() {\n return [];\n }\n constructor(attachments, $) {\n super((data, pipedFromCtx, onFail = this.onFail) => {\n if (pipedFromCtx) {\n this.traverseApply(data, pipedFromCtx);\n return pipedFromCtx.hasError() ?\n pipedFromCtx.errors\n : pipedFromCtx.data;\n }\n return this.rootApply(data, onFail);\n }, { attach: attachments });\n this.attachments = attachments;\n this.$ = $;\n this.onFail = this.meta.onFail ?? this.$.resolvedConfig.onFail;\n this.includesTransform =\n this.hasKind(\"morph\") ||\n (this.hasKind(\"structure\") && this.structuralMorph !== undefined);\n // if a predicate accepts exactly one arg, we can safely skip passing context\n // technically, a predicate could be written like `(data, ...[ctx]) => ctx.mustBe(\"malicious\")`\n // that would break here, but it feels like a pathological case and is better to let people optimize\n this.includesContextualPredicate =\n this.hasKind(\"predicate\") && this.inner.predicate.length !== 1;\n this.isCyclic = this.kind === \"alias\";\n this.referencesById = { [this.id]: this };\n this.shallowReferences =\n this.hasKind(\"structure\") ?\n [this, ...this.children]\n : this.children.reduce((acc, child) => appendUniqueNodes(acc, child.shallowReferences), [this]);\n const isStructural = this.isStructural();\n this.flatRefs = [];\n this.flatMorphs = [];\n for (let i = 0; i < this.children.length; i++) {\n this.includesTransform ||= this.children[i].includesTransform;\n this.includesContextualPredicate ||=\n this.children[i].includesContextualPredicate;\n this.isCyclic ||= this.children[i].isCyclic;\n if (!isStructural) {\n const childFlatRefs = this.children[i].flatRefs;\n for (let j = 0; j < childFlatRefs.length; j++) {\n const childRef = childFlatRefs[j];\n if (!this.flatRefs.some(existing => flatRefsAreEqual(existing, childRef))) {\n this.flatRefs.push(childRef);\n for (const branch of childRef.node.branches) {\n if (branch.hasKind(\"morph\") ||\n (branch.hasKind(\"intersection\") &&\n branch.structure?.structuralMorph !== undefined)) {\n this.flatMorphs.push({\n path: childRef.path,\n propString: childRef.propString,\n node: branch\n });\n }\n }\n }\n }\n }\n Object.assign(this.referencesById, this.children[i].referencesById);\n }\n this.flatRefs.sort((l, r) => l.path.length > r.path.length ? 1\n : l.path.length < r.path.length ? -1\n : l.propString > r.propString ? 1\n : l.propString < r.propString ? -1\n : l.node.expression < r.node.expression ? -1\n : 1);\n this.allowsRequiresContext =\n this.includesContextualPredicate || this.isCyclic;\n this.rootApplyStrategy =\n !this.allowsRequiresContext && this.flatMorphs.length === 0 ?\n this.shallowMorphs.length === 0 ? \"allows\"\n : (this.shallowMorphs.every(morph => morph.length === 1 || morph.name === \"$arkStructuralMorph\")) ?\n this.hasKind(\"union\") ?\n // multiple morphs not yet supported for optimistic compilation\n this.branches.some(branch => branch.shallowMorphs.length > 1) ?\n \"contextual\"\n : \"branchedOptimistic\"\n : this.shallowMorphs.length > 1 ? \"contextual\"\n : \"optimistic\"\n : \"contextual\"\n : \"contextual\";\n this.rootApply = this.createRootApply();\n this.allows =\n this.allowsRequiresContext ?\n data => this.traverseAllows(data, new Traversal(data, this.$.resolvedConfig))\n : data => this.traverseAllows(data);\n }\n createRootApply() {\n switch (this.rootApplyStrategy) {\n case \"allows\":\n return (data, onFail) => {\n if (this.allows(data))\n return data;\n const ctx = new Traversal(data, this.$.resolvedConfig);\n this.traverseApply(data, ctx);\n return ctx.finalize(onFail);\n };\n case \"contextual\":\n return (data, onFail) => {\n const ctx = new Traversal(data, this.$.resolvedConfig);\n this.traverseApply(data, ctx);\n return ctx.finalize(onFail);\n };\n case \"optimistic\":\n this.contextFreeMorph = this.shallowMorphs[0];\n const clone = this.$.resolvedConfig.clone;\n return (data, onFail) => {\n if (this.allows(data)) {\n return this.contextFreeMorph((clone &&\n ((typeof data === \"object\" && data !== null) ||\n typeof data === \"function\")) ?\n clone(data)\n : data);\n }\n const ctx = new Traversal(data, this.$.resolvedConfig);\n this.traverseApply(data, ctx);\n return ctx.finalize(onFail);\n };\n case \"branchedOptimistic\":\n return this.createBranchedOptimisticRootApply();\n default:\n this.rootApplyStrategy;\n return throwInternalError(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`);\n }\n }\n compiledMeta = compileMeta(this.metaJson);\n cacheGetter(name, value) {\n Object.defineProperty(this, name, { value });\n return value;\n }\n get description() {\n return this.cacheGetter(\"description\", this.meta?.description ??\n this.$.resolvedConfig[this.kind].description(this));\n }\n // we don't cache this currently since it can be updated once a scope finishes\n // resolving cyclic references, although it may be possible to ensure it is cached safely\n get references() {\n return Object.values(this.referencesById);\n }\n precedence = precedenceOfKind(this.kind);\n precompilation;\n // defined as an arrow function since it is often detached, e.g. when passing to tRPC\n // otherwise, would run into issues with this binding\n assert = (data, pipedFromCtx) => this(data, pipedFromCtx, errors => errors.throw());\n traverse(data, pipedFromCtx) {\n return this(data, pipedFromCtx, null);\n }\n get in() {\n return this.cacheGetter(\"in\", this.getIo(\"in\"));\n }\n get out() {\n return this.cacheGetter(\"out\", this.getIo(\"out\"));\n }\n // Should be refactored to use transform\n // https://github.com/arktypeio/arktype/issues/1020\n getIo(ioKind) {\n if (!this.includesTransform)\n return this;\n const ioInner = {};\n for (const [k, v] of this.innerEntries) {\n const keySchemaImplementation = this.impl.keys[k];\n if (keySchemaImplementation.reduceIo)\n keySchemaImplementation.reduceIo(ioKind, ioInner, v);\n else if (keySchemaImplementation.child) {\n const childValue = v;\n ioInner[k] =\n isArray(childValue) ?\n childValue.map(child => child[ioKind])\n : childValue[ioKind];\n }\n else\n ioInner[k] = v;\n }\n return this.$.node(this.kind, ioInner);\n }\n toJSON() {\n return this.json;\n }\n toString() {\n return `Type<${this.expression}>`;\n }\n equals(r) {\n const rNode = isNode(r) ? r : this.$.parseDefinition(r);\n return this.innerHash === rNode.innerHash;\n }\n ifEquals(r) {\n return this.equals(r) ? this : undefined;\n }\n hasKind(kind) {\n return this.kind === kind;\n }\n assertHasKind(kind) {\n if (this.kind !== kind)\n throwError(`${this.kind} node was not of asserted kind ${kind}`);\n return this;\n }\n hasKindIn(...kinds) {\n return kinds.includes(this.kind);\n }\n assertHasKindIn(...kinds) {\n if (!includes(kinds, this.kind))\n throwError(`${this.kind} node was not one of asserted kinds ${kinds}`);\n return this;\n }\n isBasis() {\n return includes(basisKinds, this.kind);\n }\n isConstraint() {\n return includes(constraintKinds, this.kind);\n }\n isStructural() {\n return includes(structuralKinds, this.kind);\n }\n isRefinement() {\n return includes(refinementKinds, this.kind);\n }\n isRoot() {\n return includes(rootKinds, this.kind);\n }\n isUnknown() {\n return this.hasKind(\"intersection\") && this.children.length === 0;\n }\n isNever() {\n return this.hasKind(\"union\") && this.children.length === 0;\n }\n hasUnit(value) {\n return this.hasKind(\"unit\") && this.allows(value);\n }\n hasOpenIntersection() {\n return this.impl.intersectionIsOpen;\n }\n get nestableExpression() {\n return this.expression;\n }\n select(selector) {\n const normalized = NodeSelector.normalize(selector);\n return this._select(normalized);\n }\n _select(selector) {\n let nodes = NodeSelector.applyBoundary[selector.boundary ?? \"references\"](this);\n if (selector.kind)\n nodes = nodes.filter(n => n.kind === selector.kind);\n if (selector.where)\n nodes = nodes.filter(selector.where);\n return NodeSelector.applyMethod[selector.method ?? \"filter\"](nodes, this, selector);\n }\n transform(mapper, opts) {\n return this._transform(mapper, this._createTransformContext(opts));\n }\n _createTransformContext(opts) {\n return {\n root: this,\n selected: undefined,\n seen: {},\n path: [],\n parseOptions: {\n prereduced: opts?.prereduced ?? false\n },\n undeclaredKeyHandling: undefined,\n ...opts\n };\n }\n _transform(mapper, ctx) {\n const $ = ctx.bindScope ?? this.$;\n if (ctx.seen[this.id])\n // Cyclic handling needs to be made more robust\n // https://github.com/arktypeio/arktype/issues/944\n return this.$.lazilyResolve(ctx.seen[this.id]);\n if (ctx.shouldTransform?.(this, ctx) === false)\n return this;\n let transformedNode;\n ctx.seen[this.id] = () => transformedNode;\n if (this.hasKind(\"structure\") &&\n this.undeclared !== ctx.undeclaredKeyHandling) {\n ctx = {\n ...ctx,\n undeclaredKeyHandling: this.undeclared\n };\n }\n const innerWithTransformedChildren = flatMorph(this.inner, (k, v) => {\n if (!this.impl.keys[k].child)\n return [k, v];\n const children = v;\n if (!isArray(children)) {\n const transformed = children._transform(mapper, ctx);\n return transformed ? [k, transformed] : [];\n }\n // if the value was previously explicitly set to an empty list,\n // (e.g. branches for `never`), ensure it is not pruned\n if (children.length === 0)\n return [k, v];\n const transformed = children.flatMap(n => {\n const transformedChild = n._transform(mapper, ctx);\n return transformedChild ?? [];\n });\n return transformed.length ? [k, transformed] : [];\n });\n delete ctx.seen[this.id];\n const innerWithMeta = Object.assign(innerWithTransformedChildren, {\n meta: this.meta\n });\n const transformedInner = ctx.selected && !ctx.selected.includes(this) ?\n innerWithMeta\n : mapper(this.kind, innerWithMeta, ctx);\n if (transformedInner === null)\n return null;\n if (isNode(transformedInner))\n return (transformedNode = transformedInner);\n const transformedKeys = Object.keys(transformedInner);\n const hasNoTypedKeys = transformedKeys.length === 0 ||\n (transformedKeys.length === 1 && transformedKeys[0] === \"meta\");\n if (hasNoTypedKeys &&\n // if inner was previously an empty object (e.g. unknown) ensure it is not pruned\n !isEmptyObject(this.inner))\n return null;\n if ((this.kind === \"required\" ||\n this.kind === \"optional\" ||\n this.kind === \"index\") &&\n !(\"value\" in transformedInner)) {\n return ctx.undeclaredKeyHandling ?\n { ...transformedInner, value: $ark.intrinsic.unknown }\n : null;\n }\n if (this.kind === \"morph\") {\n ;\n transformedInner.in ??= $ark.intrinsic\n .unknown;\n }\n return (transformedNode = $.node(this.kind, transformedInner, ctx.parseOptions));\n }\n configureReferences(meta, selector = \"references\") {\n const normalized = NodeSelector.normalize(selector);\n const mapper = (typeof meta === \"string\" ?\n (kind, inner) => ({\n ...inner,\n meta: { ...inner.meta, description: meta }\n })\n : typeof meta === \"function\" ?\n (kind, inner) => ({ ...inner, meta: meta(inner.meta) })\n : (kind, inner) => ({\n ...inner,\n meta: { ...inner.meta, ...meta }\n }));\n if (normalized.boundary === \"self\") {\n return this.$.node(this.kind, mapper(this.kind, { ...this.inner, meta: this.meta }));\n }\n const rawSelected = this._select(normalized);\n const selected = rawSelected && liftArray(rawSelected);\n const shouldTransform = normalized.boundary === \"child\" ?\n (node, ctx) => ctx.root.children.includes(node)\n : normalized.boundary === \"shallow\" ? node => node.kind !== \"structure\"\n : () => true;\n return this.$.finalize(this.transform(mapper, {\n shouldTransform,\n selected\n }));\n }\n}\nconst NodeSelector = {\n applyBoundary: {\n self: node => [node],\n child: node => [...node.children],\n shallow: node => [...node.shallowReferences],\n references: node => [...node.references]\n },\n applyMethod: {\n filter: nodes => nodes,\n assertFilter: (nodes, from, selector) => {\n if (nodes.length === 0)\n throwError(writeSelectAssertionMessage(from, selector));\n return nodes;\n },\n find: nodes => nodes[0],\n assertFind: (nodes, from, selector) => {\n if (nodes.length === 0)\n throwError(writeSelectAssertionMessage(from, selector));\n return nodes[0];\n }\n },\n normalize: (selector) => typeof selector === \"function\" ?\n { boundary: \"references\", method: \"filter\", where: selector }\n : typeof selector === \"string\" ?\n isKeyOf(selector, NodeSelector.applyBoundary) ?\n { method: \"filter\", boundary: selector }\n : { boundary: \"references\", method: \"filter\", kind: selector }\n : { boundary: \"references\", method: \"filter\", ...selector }\n};\nconst writeSelectAssertionMessage = (from, selector) => `${from} had no references matching ${printable(selector)}.`;\nexport const typePathToPropString = (path) => stringifyPath(path, {\n stringifyNonKey: node => node.expression\n});\nconst referenceMatcher = /\"(\\$ark\\.[^\"]+)\"/g;\nconst compileMeta = (metaJson) => JSON.stringify(metaJson).replaceAll(referenceMatcher, \"$1\");\nexport const flatRef = (path, node) => ({\n path,\n node,\n propString: typePathToPropString(path)\n});\nexport const flatRefsAreEqual = (l, r) => l.propString === r.propString && l.node.equals(r.node);\nexport const appendUniqueFlatRefs = (existing, refs) => appendUnique(existing, refs, {\n isEqual: flatRefsAreEqual\n});\nexport const appendUniqueNodes = (existing, refs) => appendUnique(existing, refs, {\n isEqual: (l, r) => l.equals(r)\n});\n","import { isKeyOf, throwInternalError, throwParseError } from \"@ark/util\";\nimport { parseOperand } from \"../shift/operand/operand.js\";\nimport { parseOperator } from \"../shift/operator/operator.js\";\nimport { parseUntilFinalizer } from \"../string.js\";\nimport { invertedComparators, minComparators, writeMultipleLeftBoundsMessage, writeOpenRangeMessage, writeUnclosedGroupMessage, writeUnmatchedGroupCloseMessage, writeUnpairableComparatorMessage } from \"./shared.js\";\nexport class DynamicState {\n // set root type to `any` so that all constraints can be applied\n root;\n branches = {\n prefixes: [],\n leftBound: null,\n intersection: null,\n union: null,\n pipe: null\n };\n finalizer;\n groups = [];\n scanner;\n ctx;\n constructor(scanner, ctx) {\n this.scanner = scanner;\n this.ctx = ctx;\n }\n error(message) {\n return throwParseError(message);\n }\n hasRoot() {\n return this.root !== undefined;\n }\n setRoot(root) {\n this.root = root;\n }\n unsetRoot() {\n const value = this.root;\n this.root = undefined;\n return value;\n }\n constrainRoot(...args) {\n this.root = this.root.constrain(args[0], args[1]);\n }\n finalize(finalizer) {\n if (this.groups.length)\n return this.error(writeUnclosedGroupMessage(\")\"));\n this.finalizeBranches();\n this.finalizer = finalizer;\n }\n reduceLeftBound(limit, comparator) {\n const invertedComparator = invertedComparators[comparator];\n if (!isKeyOf(invertedComparator, minComparators))\n return this.error(writeUnpairableComparatorMessage(comparator));\n if (this.branches.leftBound) {\n return this.error(writeMultipleLeftBoundsMessage(this.branches.leftBound.limit, this.branches.leftBound.comparator, limit, invertedComparator));\n }\n this.branches.leftBound = {\n comparator: invertedComparator,\n limit\n };\n }\n finalizeBranches() {\n this.assertRangeUnset();\n if (this.branches.pipe) {\n this.pushRootToBranch(\"|>\");\n this.root = this.branches.pipe;\n return;\n }\n if (this.branches.union) {\n this.pushRootToBranch(\"|\");\n this.root = this.branches.union;\n return;\n }\n if (this.branches.intersection) {\n this.pushRootToBranch(\"&\");\n this.root = this.branches.intersection;\n return;\n }\n this.applyPrefixes();\n }\n finalizeGroup() {\n this.finalizeBranches();\n const topBranchState = this.groups.pop();\n if (!topBranchState)\n return this.error(writeUnmatchedGroupCloseMessage(this.scanner.unscanned));\n this.branches = topBranchState;\n }\n addPrefix(prefix) {\n this.branches.prefixes.push(prefix);\n }\n applyPrefixes() {\n while (this.branches.prefixes.length) {\n const lastPrefix = this.branches.prefixes.pop();\n this.root =\n lastPrefix === \"keyof\" ?\n this.root.keyof()\n : throwInternalError(`Unexpected prefix '${lastPrefix}'`);\n }\n }\n pushRootToBranch(token) {\n this.assertRangeUnset();\n this.applyPrefixes();\n const root = this.root;\n this.root = undefined;\n this.branches.intersection =\n this.branches.intersection?.rawAnd(root) ?? root;\n if (token === \"&\")\n return;\n this.branches.union =\n this.branches.union?.rawOr(this.branches.intersection) ??\n this.branches.intersection;\n this.branches.intersection = null;\n if (token === \"|\")\n return;\n this.branches.pipe =\n this.branches.pipe?.rawPipeOnce(this.branches.union) ??\n this.branches.union;\n this.branches.union = null;\n }\n parseUntilFinalizer() {\n return parseUntilFinalizer(new DynamicState(this.scanner, this.ctx));\n }\n parseOperator() {\n return parseOperator(this);\n }\n parseOperand() {\n return parseOperand(this);\n }\n assertRangeUnset() {\n if (this.branches.leftBound) {\n return this.error(writeOpenRangeMessage(this.branches.leftBound.limit, this.branches.leftBound.comparator));\n }\n }\n reduceGroupOpen() {\n this.groups.push(this.branches);\n this.branches = {\n prefixes: [],\n leftBound: null,\n union: null,\n intersection: null,\n pipe: null\n };\n }\n previousOperator() {\n return (this.branches.leftBound?.comparator ??\n this.branches.prefixes.at(-1) ??\n (this.branches.intersection ? \"&\"\n : this.branches.union ? \"|\"\n : this.branches.pipe ? \"|>\"\n : undefined));\n }\n shiftedByOne() {\n this.scanner.shift();\n return this;\n }\n}\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n inst.def = def;\n inst.type = def.type;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }));\n };\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // encoding/decoding\n inst.encode = (data, params) => parse.encode(inst, data, params);\n inst.decode = (data, params) => parse.decode(inst, data, params);\n inst.encodeAsync = async (data, params) => parse.encodeAsync(inst, data, params);\n inst.decodeAsync = async (data, params) => parse.decodeAsync(inst, data, params);\n inst.safeEncode = (data, params) => parse.safeEncode(inst, data, params);\n inst.safeDecode = (data, params) => parse.safeDecode(inst, data, params);\n inst.safeEncodeAsync = async (data, params) => parse.safeEncodeAsync(inst, data, params);\n inst.safeDecodeAsync = async (data, params) => parse.safeDecodeAsync(inst, data, params);\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n inst.slugify = () => inst.check(checks.slugify());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: /^https?$/,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => {\n return def.shape;\n });\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.safeExtend = (incoming) => {\n return util.safeExtend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n","import { domainDescriptions, domainOf, printable } from \"@ark/util\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { defaultValueSerializer, implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { InternalBasis } from \"./basis.js\";\nimport { defineRightwardIntersections } from \"./utils.js\";\nconst implementation = implementNode({\n kind: \"unit\",\n hasAssociatedError: true,\n keys: {\n unit: {\n preserveUndefined: true,\n serialize: schema => schema instanceof Date ?\n schema.toISOString()\n : defaultValueSerializer(schema)\n }\n },\n normalize: schema => schema,\n defaults: {\n description: node => printable(node.unit),\n problem: ({ expected, actual }) => `${expected === actual ? `must be reference equal to ${expected} (serialized to the same value)` : `must be ${expected} (was ${actual})`}`\n },\n intersections: {\n unit: (l, r) => Disjoint.init(\"unit\", l, r),\n ...defineRightwardIntersections(\"unit\", (l, r) => {\n if (r.allows(l.unit))\n return l;\n // will always be a disjoint at this point, but we try to use\n // a domain Disjoint if possible since it's better for discrimination\n const rBasis = r.hasKind(\"intersection\") ? r.basis : r;\n if (rBasis) {\n const rDomain = rBasis.hasKind(\"domain\") ? rBasis : $ark.intrinsic.object;\n if (l.domain !== rDomain.domain) {\n const lDomainDisjointValue = (l.domain === \"undefined\" ||\n l.domain === \"null\" ||\n l.domain === \"boolean\") ?\n l.domain\n : $ark.intrinsic[l.domain];\n return Disjoint.init(\"domain\", lDomainDisjointValue, rDomain);\n }\n }\n return Disjoint.init(\"assignability\", l, r.hasKind(\"intersection\") ?\n r.children.find(rConstraint => !rConstraint.allows(l.unit))\n : r);\n })\n }\n});\nexport class UnitNode extends InternalBasis {\n compiledValue = this.json.unit;\n serializedValue = typeof this.unit === \"string\" || this.unit instanceof Date ?\n JSON.stringify(this.compiledValue)\n : `${this.compiledValue}`;\n compiledCondition = compileEqualityCheck(this.unit, this.serializedValue);\n compiledNegation = compileEqualityCheck(this.unit, this.serializedValue, \"negated\");\n expression = printable(this.unit);\n domain = domainOf(this.unit);\n get defaultShortDescription() {\n return this.domain === \"object\" ?\n domainDescriptions.object\n : this.description;\n }\n innerToJsonSchema(ctx) {\n return (\n // this is the more standard JSON schema representation, especially for Open API\n this.unit === null ? { type: \"null\" }\n : $ark.intrinsic.jsonPrimitive.allows(this.unit) ? { const: this.unit }\n : ctx.fallback.unit({ code: \"unit\", base: {}, unit: this.unit }));\n }\n traverseAllows = this.unit instanceof Date ?\n data => data instanceof Date && data.toISOString() === this.compiledValue\n : Number.isNaN(this.unit) ? data => Number.isNaN(data)\n : data => data === this.unit;\n}\nexport const Unit = {\n implementation,\n Node: UnitNode\n};\nconst compileEqualityCheck = (unit, serializedValue, negated) => {\n if (unit instanceof Date) {\n const condition = `data instanceof Date && data.toISOString() === ${serializedValue}`;\n return negated ? `!(${condition})` : condition;\n }\n if (Number.isNaN(unit))\n return `${negated ? \"!\" : \"\"}Number.isNaN(data)`;\n return `data ${negated ? \"!\" : \"=\"}== ${serializedValue}`;\n};\n","import { InternalPrimitiveConstraint } from \"../constraint.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { ToJsonSchema } from \"../shared/toJsonSchema.js\";\nimport { createLengthRuleParser } from \"./range.js\";\nconst implementation = implementNode({\n kind: \"exactLength\",\n collapsibleKey: \"rule\",\n keys: {\n rule: {\n parse: createLengthRuleParser(\"exactLength\")\n }\n },\n normalize: schema => typeof schema === \"number\" ? { rule: schema } : schema,\n hasAssociatedError: true,\n defaults: {\n description: node => `exactly length ${node.rule}`,\n actual: data => `${data.length}`\n },\n intersections: {\n exactLength: (l, r, ctx) => Disjoint.init(\"unit\", ctx.$.node(\"unit\", { unit: l.rule }), ctx.$.node(\"unit\", { unit: r.rule }), { path: [\"length\"] }),\n minLength: (exactLength, minLength) => exactLength.rule >= minLength.rule ?\n exactLength\n : Disjoint.init(\"range\", exactLength, minLength),\n maxLength: (exactLength, maxLength) => exactLength.rule <= maxLength.rule ?\n exactLength\n : Disjoint.init(\"range\", exactLength, maxLength)\n }\n});\nexport class ExactLengthNode extends InternalPrimitiveConstraint {\n traverseAllows = data => data.length === this.rule;\n compiledCondition = `data.length === ${this.rule}`;\n compiledNegation = `data.length !== ${this.rule}`;\n impliedBasis = $ark.intrinsic.lengthBoundable.internal;\n expression = `== ${this.rule}`;\n reduceJsonSchema(schema) {\n switch (schema.type) {\n case \"string\":\n schema.minLength = this.rule;\n schema.maxLength = this.rule;\n return schema;\n case \"array\":\n schema.minItems = this.rule;\n schema.maxItems = this.rule;\n return schema;\n default:\n return ToJsonSchema.throwInternalOperandError(\"exactLength\", schema);\n }\n }\n}\nexport const ExactLength = {\n implementation,\n Node: ExactLengthNode\n};\n","import { builtinConstructors, constructorExtends, domainOf, getBuiltinNameOfConstructor, hasKey, objectKindDescriptions, objectKindOrDomainOf, throwParseError } from \"@ark/util\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { defaultValueSerializer, implementNode } from \"../shared/implement.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { isNode } from \"../shared/utils.js\";\nimport { InternalBasis } from \"./basis.js\";\nconst implementation = implementNode({\n kind: \"proto\",\n hasAssociatedError: true,\n collapsibleKey: \"proto\",\n keys: {\n proto: {\n serialize: ctor => getBuiltinNameOfConstructor(ctor) ?? defaultValueSerializer(ctor)\n },\n dateAllowsInvalid: {}\n },\n normalize: schema => {\n const normalized = typeof schema === \"string\" ? { proto: builtinConstructors[schema] }\n : typeof schema === \"function\" ?\n isNode(schema) ? schema\n : { proto: schema }\n : typeof schema.proto === \"string\" ?\n { ...schema, proto: builtinConstructors[schema.proto] }\n : schema;\n if (typeof normalized.proto !== \"function\")\n throwParseError(Proto.writeInvalidSchemaMessage(normalized.proto));\n if (hasKey(normalized, \"dateAllowsInvalid\") && normalized.proto !== Date)\n throwParseError(Proto.writeBadInvalidDateMessage(normalized.proto));\n return normalized;\n },\n applyConfig: (schema, config) => {\n if (schema.dateAllowsInvalid === undefined &&\n schema.proto === Date &&\n config.dateAllowsInvalid)\n return { ...schema, dateAllowsInvalid: true };\n return schema;\n },\n defaults: {\n description: node => node.builtinName ?\n objectKindDescriptions[node.builtinName]\n : `an instance of ${node.proto.name}`,\n actual: data => data instanceof Date && data.toString() === \"Invalid Date\" ?\n \"an invalid Date\"\n : objectKindOrDomainOf(data)\n },\n intersections: {\n proto: (l, r) => l.proto === Date && r.proto === Date ?\n // since l === r is handled by default,\n // exactly one of l or r must have allow invalid dates\n l.dateAllowsInvalid ?\n r\n : l\n : constructorExtends(l.proto, r.proto) ? l\n : constructorExtends(r.proto, l.proto) ? r\n : Disjoint.init(\"proto\", l, r),\n domain: (proto, domain) => domain.domain === \"object\" ?\n proto\n : Disjoint.init(\"domain\", $ark.intrinsic.object.internal, domain)\n }\n});\nexport class ProtoNode extends InternalBasis {\n builtinName = getBuiltinNameOfConstructor(this.proto);\n serializedConstructor = this.json.proto;\n requiresInvalidDateCheck = this.proto === Date && !this.dateAllowsInvalid;\n traverseAllows = this.requiresInvalidDateCheck ?\n data => data instanceof Date && data.toString() !== \"Invalid Date\"\n : data => data instanceof this.proto;\n compiledCondition = `data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck ? ` && data.toString() !== \"Invalid Date\"` : \"\"}`;\n compiledNegation = `!(${this.compiledCondition})`;\n innerToJsonSchema(ctx) {\n switch (this.builtinName) {\n case \"Array\":\n return {\n type: \"array\"\n };\n case \"Date\":\n return (ctx.fallback.date?.({ code: \"date\", base: {} }) ??\n ctx.fallback.proto({ code: \"proto\", base: {}, proto: this.proto }));\n default:\n return ctx.fallback.proto({\n code: \"proto\",\n base: {},\n proto: this.proto\n });\n }\n }\n expression = this.dateAllowsInvalid ? \"Date | InvalidDate\" : this.proto.name;\n get nestableExpression() {\n return this.dateAllowsInvalid ? `(${this.expression})` : this.expression;\n }\n domain = \"object\";\n get defaultShortDescription() {\n return this.description;\n }\n}\nexport const Proto = {\n implementation,\n Node: ProtoNode,\n writeBadInvalidDateMessage: (actual) => `dateAllowsInvalid may only be specified with constructor Date (was ${actual.name})`,\n writeInvalidSchemaMessage: (actual) => `instanceOf operand must be a function (was ${domainOf(actual)})`\n};\n","import { hasArkKind } from \"@ark/schema\";\nimport { domainOf, hasDomain, isThunk, objectKindOf, printable, throwParseError } from \"@ark/util\";\nimport { parseObjectLiteral } from \"./objectLiteral.js\";\nimport { parseString } from \"./string.js\";\nimport { maybeParseTupleExpression } from \"./tupleExpressions.js\";\nimport { parseTupleLiteral } from \"./tupleLiteral.js\";\nconst parseCache = {};\nexport const parseInnerDefinition = (def, ctx) => {\n if (typeof def === \"string\") {\n if (ctx.args && Object.keys(ctx.args).some(k => def.includes(k))) {\n // we can only rely on the cache if there are no contextual\n // resolutions like \"this\" or generic args\n return parseString(def, ctx);\n }\n const scopeCache = (parseCache[ctx.$.name] ??= {});\n return (scopeCache[def] ??= parseString(def, ctx));\n }\n return hasDomain(def, \"object\") ?\n parseObject(def, ctx)\n : throwParseError(writeBadDefinitionTypeMessage(domainOf(def)));\n};\nexport const parseObject = (def, ctx) => {\n const objectKind = objectKindOf(def);\n switch (objectKind) {\n case undefined:\n if (hasArkKind(def, \"root\"))\n return def;\n return parseObjectLiteral(def, ctx);\n case \"Array\":\n return parseTuple(def, ctx);\n case \"RegExp\":\n return ctx.$.node(\"intersection\", {\n domain: \"string\",\n pattern: def\n }, { prereduced: true });\n case \"Function\": {\n const resolvedDef = isThunk(def) ? def() : def;\n if (hasArkKind(resolvedDef, \"root\"))\n return resolvedDef;\n return throwParseError(writeBadDefinitionTypeMessage(\"Function\"));\n }\n default:\n return throwParseError(writeBadDefinitionTypeMessage(objectKind ?? printable(def)));\n }\n};\nexport const parseTuple = (def, ctx) => maybeParseTupleExpression(def, ctx) ?? parseTupleLiteral(def, ctx);\nexport const writeBadDefinitionTypeMessage = (actual) => `Type definitions must be strings or objects (was ${actual})`;\n","import { $arkTypeRegistry, scope } from \"../scope.js\";\nimport { arkBuiltins } from \"./builtins.js\";\nimport { arkPrototypes } from \"./constructors.js\";\nimport { number } from \"./number.js\";\nimport { string } from \"./string.js\";\nimport { arkTsGenerics, arkTsKeywords, object, unknown } from \"./ts.js\";\nexport const ark = scope({\n ...arkTsKeywords,\n ...arkTsGenerics,\n ...arkPrototypes,\n ...arkBuiltins,\n string,\n number,\n object,\n unknown\n}, { prereducedAliases: true, name: \"ark\" });\nexport const keywords = ark.export();\nObject.assign($arkTypeRegistry.ambient, keywords);\n$arkTypeRegistry.typeAttachments = {\n string: keywords.string.root,\n number: keywords.number.root,\n bigint: keywords.bigint,\n boolean: keywords.boolean,\n symbol: keywords.symbol,\n undefined: keywords.undefined,\n null: keywords.null,\n object: keywords.object.root,\n unknown: keywords.unknown.root,\n false: keywords.false,\n true: keywords.true,\n never: keywords.never,\n arrayIndex: keywords.Array.index,\n Key: keywords.Key,\n Record: keywords.Record,\n Array: keywords.Array.root,\n Date: keywords.Date\n};\nexport const type = Object.assign(ark.type, \n// assign attachments newly parsed in keywords\n// future scopes add these directly from the\n// registry when their TypeParsers are instantiated\n$arkTypeRegistry.typeAttachments);\nexport const match = ark.match;\nexport const generic = ark.generic;\nexport const schema = ark.schema;\nexport const define = ark.define;\nexport const declare = ark.declare;\n","import { domainDescriptions, entriesOf, flatMorph, hasDomain, isArray, isEmptyObject, printable, throwInternalError, throwParseError, unset } from \"@ark/util\";\nimport { nodeClassesByKind, nodeImplementationsByKind } from \"./kinds.js\";\nimport { Disjoint } from \"./shared/disjoint.js\";\nimport { constraintKeys, defaultValueSerializer, isNodeKind, precedenceOfKind } from \"./shared/implement.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { hasArkKind, isNode } from \"./shared/utils.js\";\nexport const schemaKindOf = (schema, allowedKinds) => {\n const kind = discriminateRootKind(schema);\n if (allowedKinds && !allowedKinds.includes(kind)) {\n return throwParseError(`Root of kind ${kind} should be one of ${allowedKinds}`);\n }\n return kind;\n};\nconst discriminateRootKind = (schema) => {\n if (hasArkKind(schema, \"root\"))\n return schema.kind;\n if (typeof schema === \"string\") {\n return (schema[0] === \"$\" ? \"alias\"\n : schema in domainDescriptions ? \"domain\"\n : \"proto\");\n }\n if (typeof schema === \"function\")\n return \"proto\";\n // throw at end of function\n if (typeof schema !== \"object\" || schema === null)\n return throwParseError(writeInvalidSchemaMessage(schema));\n if (\"morphs\" in schema)\n return \"morph\";\n if (\"branches\" in schema || isArray(schema))\n return \"union\";\n if (\"unit\" in schema)\n return \"unit\";\n if (\"reference\" in schema)\n return \"alias\";\n const schemaKeys = Object.keys(schema);\n if (schemaKeys.length === 0 || schemaKeys.some(k => k in constraintKeys))\n return \"intersection\";\n if (\"proto\" in schema)\n return \"proto\";\n if (\"domain\" in schema)\n return \"domain\";\n return throwParseError(writeInvalidSchemaMessage(schema));\n};\nexport const writeInvalidSchemaMessage = (schema) => `${printable(schema)} is not a valid type schema`;\nconst nodeCountsByPrefix = {};\nconst serializeListableChild = (listableNode) => isArray(listableNode) ?\n listableNode.map(node => node.collapsibleJson)\n : listableNode.collapsibleJson;\nexport const nodesByRegisteredId = {};\n$ark.nodesByRegisteredId = nodesByRegisteredId;\nexport const registerNodeId = (prefix) => {\n nodeCountsByPrefix[prefix] ??= 0;\n return `${prefix}${++nodeCountsByPrefix[prefix]}`;\n};\nexport const parseNode = (ctx) => {\n const impl = nodeImplementationsByKind[ctx.kind];\n const configuredSchema = impl.applyConfig?.(ctx.def, ctx.$.resolvedConfig) ?? ctx.def;\n const inner = {};\n const { meta: metaSchema, ...innerSchema } = configuredSchema;\n const meta = metaSchema === undefined ? {}\n : typeof metaSchema === \"string\" ? { description: metaSchema }\n : metaSchema;\n // ensure node entries are parsed in order of precedence, with non-children\n // parsed first\n const innerSchemaEntries = entriesOf(innerSchema)\n .sort(([lKey], [rKey]) => isNodeKind(lKey) ?\n isNodeKind(rKey) ? precedenceOfKind(lKey) - precedenceOfKind(rKey)\n : 1\n : isNodeKind(rKey) ? -1\n : lKey < rKey ? -1\n : 1)\n .filter(([k, v]) => {\n // move meta. prefixed props to meta, overwriting existing nested\n // props of the same name if they exist\n if (k.startsWith(\"meta.\")) {\n const metaKey = k.slice(5);\n meta[metaKey] = v;\n return false;\n }\n return true;\n });\n for (const entry of innerSchemaEntries) {\n const k = entry[0];\n const keyImpl = impl.keys[k];\n if (!keyImpl)\n return throwParseError(`Key ${k} is not valid on ${ctx.kind} schema`);\n const v = keyImpl.parse ? keyImpl.parse(entry[1], ctx) : entry[1];\n if (v !== unset && (v !== undefined || keyImpl.preserveUndefined))\n inner[k] = v;\n }\n if (impl.reduce && !ctx.prereduced) {\n const reduced = impl.reduce(inner, ctx.$);\n if (reduced) {\n if (reduced instanceof Disjoint)\n return reduced.throw();\n // we can't cache this reduction for now in case the reduction involved\n // impliedSiblings\n return withMeta(reduced, meta);\n }\n }\n const node = createNode({\n id: ctx.id,\n kind: ctx.kind,\n inner,\n meta,\n $: ctx.$\n });\n return node;\n};\nexport const createNode = ({ id, kind, inner, meta, $, ignoreCache }) => {\n const impl = nodeImplementationsByKind[kind];\n const innerEntries = entriesOf(inner);\n const children = [];\n let innerJson = {};\n for (const [k, v] of innerEntries) {\n const keyImpl = impl.keys[k];\n const serialize = keyImpl.serialize ??\n (keyImpl.child ? serializeListableChild : defaultValueSerializer);\n innerJson[k] = serialize(v);\n if (keyImpl.child === true) {\n const listableNode = v;\n if (isArray(listableNode))\n children.push(...listableNode);\n else\n children.push(listableNode);\n }\n else if (typeof keyImpl.child === \"function\")\n children.push(...keyImpl.child(v));\n }\n if (impl.finalizeInnerJson)\n innerJson = impl.finalizeInnerJson(innerJson);\n let json = { ...innerJson };\n let metaJson = {};\n if (!isEmptyObject(meta)) {\n metaJson = flatMorph(meta, (k, v) => [\n k,\n k === \"examples\" ? v : defaultValueSerializer(v)\n ]);\n json.meta = possiblyCollapse(metaJson, \"description\", true);\n }\n innerJson = possiblyCollapse(innerJson, impl.collapsibleKey, false);\n const innerHash = JSON.stringify({ kind, ...innerJson });\n json = possiblyCollapse(json, impl.collapsibleKey, false);\n const collapsibleJson = possiblyCollapse(json, impl.collapsibleKey, true);\n const hash = JSON.stringify({ kind, ...json });\n // we have to wait until after reduction to return a cached entry,\n // since reduction can add impliedSiblings\n if ($.nodesByHash[hash] && !ignoreCache)\n return $.nodesByHash[hash];\n const attachments = {\n id,\n kind,\n impl,\n inner,\n innerEntries,\n innerJson,\n innerHash,\n meta,\n metaJson,\n json,\n hash,\n collapsibleJson: collapsibleJson,\n children\n };\n if (kind !== \"intersection\") {\n for (const k in inner)\n if (k !== \"in\" && k !== \"out\")\n attachments[k] = inner[k];\n }\n const node = new nodeClassesByKind[kind](attachments, $);\n return ($.nodesByHash[hash] = node);\n};\nexport const withId = (node, id) => {\n if (node.id === id)\n return node;\n if (isNode(nodesByRegisteredId[id]))\n throwInternalError(`Unexpected attempt to overwrite node id ${id}`);\n // have to ignore cache to force creation of new potentially cyclic id\n return createNode({\n id,\n kind: node.kind,\n inner: node.inner,\n meta: node.meta,\n $: node.$,\n ignoreCache: true\n });\n};\nexport const withMeta = (node, meta, id) => {\n if (id && isNode(nodesByRegisteredId[id]))\n throwInternalError(`Unexpected attempt to overwrite node id ${id}`);\n return createNode({\n id: id ?? registerNodeId(meta.alias ?? node.kind),\n kind: node.kind,\n inner: node.inner,\n meta,\n $: node.$\n });\n};\nconst possiblyCollapse = (json, toKey, allowPrimitive) => {\n const collapsibleKeys = Object.keys(json);\n if (collapsibleKeys.length === 1 && collapsibleKeys[0] === toKey) {\n const collapsed = json[toKey];\n if (allowPrimitive)\n return collapsed;\n if (\n // if the collapsed value is still an object\n hasDomain(collapsed, \"object\") &&\n // and the JSON did not include any implied keys\n (Object.keys(collapsed).length === 1 || Array.isArray(collapsed))) {\n // we can replace it with its collapsed value\n return collapsed;\n }\n }\n return json;\n};\n","import { noSuggest } from \"./errors.js\";\nimport { flatMorph } from \"./flatMorph.js\";\n/**\n * Object.entries wrapper providing narrowed types for objects with known sets\n * of keys, e.g. those defined internally as configs\n */\nexport const entriesOf = Object.entries;\nexport const fromEntries = (entries) => Object.fromEntries(entries);\nexport const keysOf = (o) => Object.keys(o);\nexport const isKeyOf = (k, o) => k in o;\nexport const hasKey = (o, k) => k in o;\n// must be defined this way to avoid https://github.com/microsoft/TypeScript/issues/55049\nexport const hasDefinedKey = (o, k) => o[k] !== undefined;\nexport const InnerDynamicBase = class {\n};\nexport class DynamicBase {\n constructor(properties) {\n Object.assign(this, properties);\n }\n}\nexport const NoopBase = class {\n};\n/** @ts-ignore (needed to extend `t`) **/\nexport class CastableBase extends NoopBase {\n}\nexport const splitByKeys = (o, leftKeys) => {\n const l = {};\n const r = {};\n let k;\n for (k in o) {\n if (k in leftKeys)\n l[k] = o[k];\n else\n r[k] = o[k];\n }\n return [l, r];\n};\nexport const pick = (o, keys) => splitByKeys(o, keys)[0];\nexport const omit = (o, keys) => splitByKeys(o, keys)[1];\nexport const isEmptyObject = (o) => Object.keys(o).length === 0;\nexport const stringAndSymbolicEntriesOf = (o) => [\n ...Object.entries(o),\n ...Object.getOwnPropertySymbols(o).map(k => [k, o[k]])\n];\n/** Like Object.assign, but it will preserve getters instead of evaluating them. */\nexport const defineProperties = (base, merged) => \n// declared like this to avoid https://github.com/microsoft/TypeScript/issues/55049\nObject.defineProperties(base, Object.getOwnPropertyDescriptors(merged));\n/** Copies enumerable keys of o to a new object in alphabetical order */\nexport const withAlphabetizedKeys = (o) => {\n const keys = Object.keys(o).sort();\n const result = {};\n for (let i = 0; i < keys.length; i++)\n result[keys[i]] = o[keys[i]];\n return result;\n};\nexport const invert = (t) => flatMorph(t, (k, v) => [v, k]);\nexport const unset = noSuggest(\"represents an uninitialized value\");\nexport const enumValues = (tsEnum) => Object.values(tsEnum).filter(v => {\n if (typeof v === \"number\")\n return true;\n return typeof tsEnum[v] !== \"number\";\n});\n","/**\n * Extracts duplicated elements and their indices from an array, returning them.\n *\n * Note that given `a === b && b === c`, then `c === a` must be `true` for this to give accurate results.\n *\n * @param arr The array to extract duplicate elements from.\n */ export const getDuplicatesOf = (arr, opts) => {\n const isEqual = opts?.isEqual ?? ((l, r) => l === r);\n const elementFirstSeenIndx = new Map();\n const duplicates = [];\n for (const [indx, element] of arr.entries()) {\n const duplicatesIndx = duplicates.findIndex(duplicate => isEqual(duplicate.element, element));\n if (duplicatesIndx !== -1) {\n // This is at least the third occurence of an item equal to `element`,\n // so add this index to the list of indices where the element is duplicated.\n duplicates[duplicatesIndx].indices.push(indx);\n continue;\n }\n // At this point, we know this is either the first\n // or second occurence of an item equal to `element`...\n let found = false;\n for (const [existingElement, firstSeenIndx] of elementFirstSeenIndx) {\n if (isEqual(element, existingElement)) {\n // This is the second occurence of an item equal to `element`,\n // so store it as a duplicate.\n found = true;\n duplicates.push({\n element: existingElement,\n indices: [firstSeenIndx, indx]\n });\n }\n }\n if (!found) {\n // We haven't seen this element before,\n // so just store the index it was first seen\n elementFirstSeenIndx.set(element, indx);\n }\n }\n return duplicates;\n};\nexport const join = (segments, delimiter) => segments.join(delimiter);\nexport const getPath = (root, path) => {\n let result = root;\n for (const segment of path) {\n if (typeof result !== \"object\" || result === null)\n return undefined;\n result = result[segment];\n }\n return result;\n};\nexport const intersectUniqueLists = (l, r) => {\n const intersection = [...l];\n for (const item of r)\n if (!l.includes(item))\n intersection.push(item);\n return intersection;\n};\nexport const liftArray = (data) => (Array.isArray(data) ? data : [data]);\n/**\n * Splits an array into two arrays based on the result of a predicate\n *\n * @param predicate - The guard function used to determine which items to include.\n * @returns A tuple containing two arrays:\n * \t\t\t\t- the first includes items for which `predicate` returns true\n * \t\t\t\t- the second includes items for which `predicate` returns false\n *\n * @example\n * const list = [1, \"2\", \"3\", 4, 5];\n * const [numbers, strings] = spliterate(list, (x) => typeof x === \"number\");\n * // Type: number[]\n * // Output: [1, 4, 5]\n * console.log(evens);\n * // Type: string[]\n * // Output: [\"2\", \"3\"]\n * console.log(odds);\n */\nexport const spliterate = (arr, predicate) => {\n const result = [[], []];\n for (const item of arr) {\n if (predicate(item))\n result[0].push(item);\n else\n result[1].push(item);\n }\n return result;\n};\nexport const ReadonlyArray = Array;\nexport const includes = (array, element) => array.includes(element);\nexport const range = (length, offset = 0) => [...new Array(length)].map((_, i) => i + offset);\n/**\n * Adds a value or array to an array, returning the concatenated result\n */\nexport const append = (to, value, opts) => {\n if (to === undefined) {\n return (value === undefined ? []\n : Array.isArray(value) ? value\n : [value]);\n }\n if (opts?.prepend) {\n if (Array.isArray(value))\n to.unshift(...value);\n else\n to.unshift(value);\n }\n else {\n if (Array.isArray(value))\n to.push(...value);\n else\n to.push(value);\n }\n return to;\n};\n/**\n * Concatenates an element or list with a readonly list\n */\nexport const conflatenate = (to, elementOrList) => {\n if (elementOrList === undefined || elementOrList === null)\n return to ?? [];\n if (to === undefined || to === null)\n return liftArray(elementOrList);\n return to.concat(elementOrList);\n};\n/**\n * Concatenates a variadic list of elements or lists with a readonly list\n */\nexport const conflatenateAll = (...elementsOrLists) => elementsOrLists.reduce(conflatenate, []);\n/**\n * Appends a value or concatenates an array to an array if it is not already included, returning the array\n */\nexport const appendUnique = (to, value, opts) => {\n if (to === undefined)\n return Array.isArray(value) ? value : [value];\n const isEqual = opts?.isEqual ?? ((l, r) => l === r);\n for (const v of liftArray(value))\n if (!to.some(existing => isEqual(existing, v)))\n to.push(v);\n return to;\n};\nexport const groupBy = (array, discriminant) => array.reduce((result, item) => {\n const key = item[discriminant];\n result[key] = append(result[key], item);\n return result;\n}, {});\nexport const arrayEquals = (l, r, opts) => l.length === r.length &&\n l.every(opts?.isEqual ?\n (lItem, i) => opts.isEqual(lItem, r[i])\n : (lItem, i) => lItem === r[i]);\n","import { append, appendUnique, capitalize, isArray, throwInternalError, throwParseError } from \"@ark/util\";\nimport { BaseNode } from \"./node.js\";\nimport { Disjoint } from \"./shared/disjoint.js\";\nimport { compileObjectLiteral, constraintKeys } from \"./shared/implement.js\";\nimport { intersectNodesRoot, intersectOrPipeNodes } from \"./shared/intersections.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { arkKind } from \"./shared/utils.js\";\nexport class BaseConstraint extends BaseNode {\n constructor(attachments, $) {\n super(attachments, $);\n // define as a getter to avoid it being enumerable/spreadable\n Object.defineProperty(this, arkKind, {\n value: \"constraint\",\n enumerable: false\n });\n }\n impliedSiblings;\n intersect(r) {\n return intersectNodesRoot(this, r, this.$);\n }\n}\nexport class InternalPrimitiveConstraint extends BaseConstraint {\n traverseApply = (data, ctx) => {\n if (!this.traverseAllows(data, ctx))\n ctx.errorFromNodeContext(this.errorContext);\n };\n compile(js) {\n if (js.traversalKind === \"Allows\")\n js.return(this.compiledCondition);\n else {\n js.if(this.compiledNegation, () => js.line(`${js.ctx}.errorFromNodeContext(${this.compiledErrorContext})`));\n }\n }\n get errorContext() {\n return {\n code: this.kind,\n description: this.description,\n meta: this.meta,\n ...this.inner\n };\n }\n get compiledErrorContext() {\n return compileObjectLiteral(this.errorContext);\n }\n}\nexport const constraintKeyParser = (kind) => (schema, ctx) => {\n if (isArray(schema)) {\n if (schema.length === 0) {\n // Omit empty lists as input\n return;\n }\n const nodes = schema.map(schema => ctx.$.node(kind, schema));\n // predicate order must be preserved to ensure inputs are narrowed\n // and checked in the correct order\n if (kind === \"predicate\")\n return nodes;\n return nodes.sort((l, r) => (l.hash < r.hash ? -1 : 1));\n }\n const child = ctx.$.node(kind, schema);\n return (child.hasOpenIntersection() ? [child] : child);\n};\nexport const intersectConstraints = (s) => {\n const head = s.r.shift();\n if (!head) {\n let result = s.l.length === 0 && s.kind === \"structure\" ?\n $ark.intrinsic.unknown.internal\n : s.ctx.$.node(s.kind, Object.assign(s.baseInner, unflattenConstraints(s.l)), { prereduced: true });\n for (const root of s.roots) {\n if (result instanceof Disjoint)\n return result;\n result = intersectOrPipeNodes(root, result, s.ctx);\n }\n return result;\n }\n let matched = false;\n for (let i = 0; i < s.l.length; i++) {\n const result = intersectOrPipeNodes(s.l[i], head, s.ctx);\n if (result === null)\n continue;\n if (result instanceof Disjoint)\n return result;\n if (!matched) {\n if (result.isRoot()) {\n s.roots.push(result);\n s.l.splice(i);\n return intersectConstraints(s);\n }\n s.l[i] = result;\n matched = true;\n }\n else if (!s.l.includes(result)) {\n return throwInternalError(`Unexpectedly encountered multiple distinct intersection results for refinement ${result}`);\n }\n }\n if (!matched)\n s.l.push(head);\n if (s.kind === \"intersection\") {\n if (head.impliedSiblings)\n for (const node of head.impliedSiblings)\n appendUnique(s.r, node);\n }\n return intersectConstraints(s);\n};\nexport const flattenConstraints = (inner) => {\n const result = Object.entries(inner)\n .flatMap(([k, v]) => k in constraintKeys ? v : [])\n .sort((l, r) => l.precedence < r.precedence ? -1\n : l.precedence > r.precedence ? 1\n // preserve order for predicates\n : l.kind === \"predicate\" && r.kind === \"predicate\" ? 0\n : l.hash < r.hash ? -1\n : 1);\n return result;\n};\nexport const unflattenConstraints = (constraints) => {\n const inner = {};\n for (const constraint of constraints) {\n if (constraint.hasOpenIntersection()) {\n inner[constraint.kind] = append(inner[constraint.kind], constraint);\n }\n else {\n if (inner[constraint.kind]) {\n return throwInternalError(`Unexpected intersection of closed refinements of kind ${constraint.kind}`);\n }\n inner[constraint.kind] = constraint;\n }\n }\n return inner;\n};\nexport const throwInvalidOperandError = (...args) => throwParseError(writeInvalidOperandMessage(...args));\nexport const writeInvalidOperandMessage = (kind, expected, actual) => {\n const actualDescription = actual.hasKind(\"morph\") ? \"a morph\"\n : actual.isUnknown() ? \"unknown\"\n : actual.exclude(expected).defaultShortDescription;\n return `${capitalize(kind)} operand must be ${expected.description} (was ${actualDescription})`;\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n // const handleChecksResult = (\n // checkResult: ParsePayload,\n // originalResult: ParsePayload,\n // ctx: ParseContextInternal\n // ): util.MaybeAsync<ParsePayload> => {\n // // if the checks mutated the value && there are no issues, re-parse the result\n // if (checkResult.value !== originalResult.value && !checkResult.issues.length)\n // return inst._zod.parse(checkResult, ctx);\n // return originalResult;\n // };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary\n // initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n inst[\"~standard\"] = {\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n };\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv4`;\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv6`;\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `mac`;\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const parts = payload.value.split(\"/\");\n try {\n if (parts.length !== 2)\n throw new Error();\n const [address, prefix] = parts;\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst) {\n const unrecognized = [];\n // iterate over input keys\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n for (const key in input) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n // const sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n return newSh;\n },\n });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = {};\n const proms = [];\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {};`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n doc.write(`const ${id} = ${parseStr(key)};`);\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n if (left.issues.length) {\n result.issues.push(...left.issues);\n }\n if (right.issues.length) {\n result.issues.push(...right.issues);\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig ? { code: \"too_big\", maximum: items.length } : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n const values = def.keyType._zod.values;\n if (values) {\n payload.value = {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n payload.value[keyResult.value] = keyResult.value;\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n const values = new Set(def.values);\n inst._zod.values = values;\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n if (left.issues.length) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType?._zod?.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"template_literal\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._def = def;\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n return function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n };\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n };\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType?._zod?.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType?._zod?.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType?._zod?.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","import { After } from \"./after.js\";\nimport { Before } from \"./before.js\";\nimport { ExactLength } from \"./exactLength.js\";\nimport { Max } from \"./max.js\";\nimport { MaxLength } from \"./maxLength.js\";\nimport { Min } from \"./min.js\";\nimport { MinLength } from \"./minLength.js\";\nexport const boundImplementationsByKind = {\n min: Min.implementation,\n max: Max.implementation,\n minLength: MinLength.implementation,\n maxLength: MaxLength.implementation,\n exactLength: ExactLength.implementation,\n after: After.implementation,\n before: Before.implementation\n};\nexport const boundClassesByKind = {\n min: Min.Node,\n max: Max.Node,\n minLength: MinLength.Node,\n maxLength: MaxLength.Node,\n exactLength: ExactLength.Node,\n after: After.Node,\n before: Before.Node\n};\n","import { append, printable, stringAndSymbolicEntriesOf, throwParseError } from \"@ark/util\";\nimport { BaseConstraint } from \"../constraint.js\";\nimport { flatRef } from \"../node.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { traverseKey } from \"../shared/traversal.js\";\nconst implementation = implementNode({\n kind: \"index\",\n hasAssociatedError: false,\n intersectionIsOpen: true,\n keys: {\n signature: {\n child: true,\n parse: (schema, ctx) => {\n const key = ctx.$.parseSchema(schema);\n if (!key.extends($ark.intrinsic.key)) {\n return throwParseError(writeInvalidPropertyKeyMessage(key.expression));\n }\n const enumerableBranches = key.branches.filter(b => b.hasKind(\"unit\"));\n if (enumerableBranches.length) {\n return throwParseError(writeEnumerableIndexBranches(enumerableBranches.map(b => printable(b.unit))));\n }\n return key;\n }\n },\n value: {\n child: true,\n parse: (schema, ctx) => ctx.$.parseSchema(schema)\n }\n },\n normalize: schema => schema,\n defaults: {\n description: node => `[${node.signature.expression}]: ${node.value.description}`\n },\n intersections: {\n index: (l, r, ctx) => {\n if (l.signature.equals(r.signature)) {\n const valueIntersection = intersectOrPipeNodes(l.value, r.value, ctx);\n const value = valueIntersection instanceof Disjoint ?\n $ark.intrinsic.never.internal\n : valueIntersection;\n return ctx.$.node(\"index\", { signature: l.signature, value });\n }\n // if r constrains all of l's keys to a subtype of l's value, r is a subtype of l\n if (l.signature.extends(r.signature) && l.value.subsumes(r.value))\n return r;\n // if l constrains all of r's keys to a subtype of r's value, l is a subtype of r\n if (r.signature.extends(l.signature) && r.value.subsumes(l.value))\n return l;\n // other relationships between index signatures can't be generally reduced\n return null;\n }\n }\n});\nexport class IndexNode extends BaseConstraint {\n impliedBasis = $ark.intrinsic.object.internal;\n expression = `[${this.signature.expression}]: ${this.value.expression}`;\n flatRefs = append(this.value.flatRefs.map(ref => flatRef([this.signature, ...ref.path], ref.node)), flatRef([this.signature], this.value));\n traverseAllows = (data, ctx) => stringAndSymbolicEntriesOf(data).every(entry => {\n if (this.signature.traverseAllows(entry[0], ctx)) {\n return traverseKey(entry[0], () => this.value.traverseAllows(entry[1], ctx), ctx);\n }\n return true;\n });\n traverseApply = (data, ctx) => {\n for (const entry of stringAndSymbolicEntriesOf(data)) {\n if (this.signature.traverseAllows(entry[0], ctx)) {\n traverseKey(entry[0], () => this.value.traverseApply(entry[1], ctx), ctx);\n }\n }\n };\n _transform(mapper, ctx) {\n ctx.path.push(this.signature);\n const result = super._transform(mapper, ctx);\n ctx.path.pop();\n return result;\n }\n compile() {\n // this is currently handled by StructureNode\n }\n}\nexport const Index = {\n implementation,\n Node: IndexNode\n};\nexport const writeEnumerableIndexBranches = (keys) => `Index keys ${keys.join(\", \")} should be specified as named props.`;\nexport const writeInvalidPropertyKeyMessage = (indexSchema) => `Indexed key definition '${indexSchema}' must be a string or symbol`;\n","import { hasDomain, isThunk, printable, throwParseError } from \"@ark/util\";\nimport { intrinsic } from \"../intrinsic.js\";\nimport { compileSerializedValue } from \"../shared/compile.js\";\nimport { ArkErrors } from \"../shared/errors.js\";\nimport { defaultValueSerializer, implementNode } from \"../shared/implement.js\";\nimport { registeredReference } from \"../shared/registry.js\";\nimport { traverseKey } from \"../shared/traversal.js\";\nimport { BaseProp, intersectProps } from \"./prop.js\";\nconst implementation = implementNode({\n kind: \"optional\",\n hasAssociatedError: false,\n intersectionIsOpen: true,\n keys: {\n key: {},\n value: {\n child: true,\n parse: (schema, ctx) => ctx.$.parseSchema(schema)\n },\n default: {\n preserveUndefined: true\n }\n },\n normalize: schema => schema,\n reduce: (inner, $) => {\n if ($.resolvedConfig.exactOptionalPropertyTypes === false) {\n if (!inner.value.allows(undefined)) {\n return $.node(\"optional\", { ...inner, value: inner.value.or(intrinsic.undefined) }, { prereduced: true });\n }\n }\n },\n defaults: {\n description: node => `${node.compiledKey}?: ${node.value.description}`\n },\n intersections: {\n optional: intersectProps\n }\n});\nexport class OptionalNode extends BaseProp {\n constructor(...args) {\n super(...args);\n if (\"default\" in this.inner)\n assertDefaultValueAssignability(this.value, this.inner.default, this.key);\n }\n get outProp() {\n if (!this.hasDefault())\n return this;\n const { default: defaultValue, ...requiredInner } = this.inner;\n return this.cacheGetter(\"outProp\", this.$.node(\"required\", requiredInner, { prereduced: true }));\n }\n expression = this.hasDefault() ?\n `${this.compiledKey}: ${this.value.expression} = ${printable(this.inner.default)}`\n : `${this.compiledKey}?: ${this.value.expression}`;\n defaultValueMorph = getDefaultableMorph(this);\n defaultValueMorphRef = this.defaultValueMorph && registeredReference(this.defaultValueMorph);\n}\nexport const Optional = {\n implementation,\n Node: OptionalNode\n};\nconst defaultableMorphCache = {};\nconst getDefaultableMorph = (node) => {\n if (!node.hasDefault())\n return;\n const cacheKey = `{${node.compiledKey}: ${node.value.id} = ${defaultValueSerializer(node.default)}}`;\n return (defaultableMorphCache[cacheKey] ??= computeDefaultValueMorph(node.key, node.value, node.default));\n};\nexport const computeDefaultValueMorph = (key, value, defaultInput) => {\n if (typeof defaultInput === \"function\") {\n // if the value has a morph, pipe context through it\n return value.includesTransform ?\n (data, ctx) => {\n traverseKey(key, () => value((data[key] = defaultInput()), ctx), ctx);\n return data;\n }\n : data => {\n data[key] = defaultInput();\n return data;\n };\n }\n // non-functional defaults can be safely cached as long as the morph is\n // guaranteed to be pure and the output is primitive\n const precomputedMorphedDefault = value.includesTransform ? value.assert(defaultInput) : defaultInput;\n return hasDomain(precomputedMorphedDefault, \"object\") ?\n // the type signature only allows this if the value was morphed\n (data, ctx) => {\n traverseKey(key, () => value((data[key] = defaultInput), ctx), ctx);\n return data;\n }\n : data => {\n data[key] = precomputedMorphedDefault;\n return data;\n };\n};\nexport const assertDefaultValueAssignability = (node, value, key) => {\n const wrapped = isThunk(value);\n if (hasDomain(value, \"object\") && !wrapped)\n throwParseError(writeNonPrimitiveNonFunctionDefaultValueMessage(key));\n const out = node.in(wrapped ? value() : value);\n if (out instanceof ArkErrors) {\n if (key === null) {\n // e.g. \"Default must be assignable to number (was string)\"\n throwParseError(`Default ${out.summary}`);\n }\n const atPath = out.transform(e => e.transform(input => ({ ...input, prefixPath: [key] })));\n // e.g. \"Default for bar must be assignable to number (was string)\"\n // e.g. \"Default for value at [0] must be assignable to number (was string)\"\n throwParseError(`Default for ${atPath.summary}`);\n }\n return value;\n};\nexport const writeNonPrimitiveNonFunctionDefaultValueMessage = (key) => {\n const keyDescription = key === null ? \"\"\n : typeof key === \"number\" ? `for value at [${key}] `\n : `for ${compileSerializedValue(key)} `;\n return `Non-primitive default ${keyDescription}must be specified as a function like () => ({my: 'object'})`;\n};\n","import { arrayEquals, liftArray, throwParseError } from \"@ark/util\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark, registeredReference } from \"../shared/registry.js\";\nimport { hasArkKind } from \"../shared/utils.js\";\nimport { BaseRoot } from \"./root.js\";\nimport { defineRightwardIntersections } from \"./utils.js\";\nconst implementation = implementNode({\n kind: \"morph\",\n hasAssociatedError: false,\n keys: {\n in: {\n child: true,\n parse: (schema, ctx) => ctx.$.parseSchema(schema)\n },\n morphs: {\n parse: liftArray,\n serialize: morphs => morphs.map(m => hasArkKind(m, \"root\") ? m.json : registeredReference(m))\n },\n declaredIn: {\n child: false,\n serialize: node => node.json\n },\n declaredOut: {\n child: false,\n serialize: node => node.json\n }\n },\n normalize: schema => schema,\n defaults: {\n description: node => `a morph from ${node.in.description} to ${node.out?.description ?? \"unknown\"}`\n },\n intersections: {\n morph: (l, r, ctx) => {\n if (!l.hasEqualMorphs(r)) {\n return throwParseError(writeMorphIntersectionMessage(l.expression, r.expression));\n }\n const inTersection = intersectOrPipeNodes(l.in, r.in, ctx);\n if (inTersection instanceof Disjoint)\n return inTersection;\n const baseInner = {\n morphs: l.morphs\n };\n if (l.declaredIn || r.declaredIn) {\n const declaredIn = intersectOrPipeNodes(l.in, r.in, ctx);\n // we can't treat this as a normal Disjoint since it's just declared\n // it should only happen if someone's essentially trying to create a broken type\n if (declaredIn instanceof Disjoint)\n return declaredIn.throw();\n else\n baseInner.declaredIn = declaredIn;\n }\n if (l.declaredOut || r.declaredOut) {\n const declaredOut = intersectOrPipeNodes(l.out, r.out, ctx);\n if (declaredOut instanceof Disjoint)\n return declaredOut.throw();\n else\n baseInner.declaredOut = declaredOut;\n }\n // in case from is a union, we need to distribute the branches\n // to can be a union as any schema is allowed\n return inTersection.distribute(inBranch => ctx.$.node(\"morph\", {\n ...baseInner,\n in: inBranch\n }), ctx.$.parseSchema);\n },\n ...defineRightwardIntersections(\"morph\", (l, r, ctx) => {\n const inTersection = l.inner.in ? intersectOrPipeNodes(l.inner.in, r, ctx) : r;\n return (inTersection instanceof Disjoint ? inTersection\n : inTersection.equals(l.inner.in) ? l\n : ctx.$.node(\"morph\", {\n ...l.inner,\n in: inTersection\n }));\n })\n }\n});\nexport class MorphNode extends BaseRoot {\n serializedMorphs = this.morphs.map(registeredReference);\n compiledMorphs = `[${this.serializedMorphs}]`;\n lastMorph = this.inner.morphs.at(-1);\n lastMorphIfNode = hasArkKind(this.lastMorph, \"root\") ? this.lastMorph : undefined;\n introspectableIn = this.inner.in;\n introspectableOut = this.lastMorphIfNode ?\n Object.assign(this.referencesById, this.lastMorphIfNode.referencesById) &&\n this.lastMorphIfNode.out\n : undefined;\n get shallowMorphs() {\n // if the morph input is a union, it should not contain any other shallow morphs\n return Array.isArray(this.inner.in?.shallowMorphs) ?\n [...this.inner.in.shallowMorphs, ...this.morphs]\n : this.morphs;\n }\n get in() {\n return (this.declaredIn ?? this.inner.in?.in ?? $ark.intrinsic.unknown.internal);\n }\n get out() {\n return (this.declaredOut ??\n this.introspectableOut ??\n $ark.intrinsic.unknown.internal);\n }\n declareIn(declaredIn) {\n return this.$.node(\"morph\", {\n ...this.inner,\n declaredIn\n });\n }\n declareOut(declaredOut) {\n return this.$.node(\"morph\", {\n ...this.inner,\n declaredOut\n });\n }\n expression = `(In: ${this.in.expression}) => ${this.lastMorphIfNode ? \"To\" : \"Out\"}<${this.out.expression}>`;\n get defaultShortDescription() {\n return this.in.meta.description ?? this.in.defaultShortDescription;\n }\n innerToJsonSchema(ctx) {\n return ctx.fallback.morph({\n code: \"morph\",\n base: this.in.toJsonSchemaRecurse(ctx),\n out: this.introspectableOut?.toJsonSchemaRecurse(ctx) ?? null\n });\n }\n compile(js) {\n if (js.traversalKind === \"Allows\") {\n if (!this.introspectableIn)\n return;\n js.return(js.invoke(this.introspectableIn));\n return;\n }\n if (this.introspectableIn)\n js.line(js.invoke(this.introspectableIn));\n js.line(`ctx.queueMorphs(${this.compiledMorphs})`);\n }\n traverseAllows = (data, ctx) => !this.introspectableIn || this.introspectableIn.traverseAllows(data, ctx);\n traverseApply = (data, ctx) => {\n if (this.introspectableIn)\n this.introspectableIn.traverseApply(data, ctx);\n ctx.queueMorphs(this.morphs);\n };\n /** Check if the morphs of r are equal to those of this node */\n hasEqualMorphs(r) {\n return arrayEquals(this.morphs, r.morphs, {\n isEqual: (lMorph, rMorph) => lMorph === rMorph ||\n (hasArkKind(lMorph, \"root\") &&\n hasArkKind(rMorph, \"root\") &&\n lMorph.equals(rMorph))\n });\n }\n}\nexport const Morph = {\n implementation,\n Node: MorphNode\n};\nexport const writeMorphIntersectionMessage = (lDescription, rDescription) => `The intersection of distinct morphs at a single path is indeterminate:\nLeft: ${lDescription}\nRight: ${rDescription}`;\n","import { flatMorph, hasDomain, isEmptyObject, isKeyOf, throwParseError } from \"@ark/util\";\nimport { constraintKeyParser, flattenConstraints, intersectConstraints } from \"../constraint.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode, structureKeys } from \"../shared/implement.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { hasArkKind, isNode } from \"../shared/utils.js\";\nimport { BaseRoot } from \"./root.js\";\nimport { defineRightwardIntersections } from \"./utils.js\";\nconst implementation = implementNode({\n kind: \"intersection\",\n hasAssociatedError: true,\n normalize: rawSchema => {\n if (isNode(rawSchema))\n return rawSchema;\n const { structure, ...schema } = rawSchema;\n const hasRootStructureKey = !!structure;\n const normalizedStructure = structure ?? {};\n const normalized = flatMorph(schema, (k, v) => {\n if (isKeyOf(k, structureKeys)) {\n if (hasRootStructureKey) {\n throwParseError(`Flattened structure key ${k} cannot be specified alongside a root 'structure' key.`);\n }\n normalizedStructure[k] = v;\n return [];\n }\n return [k, v];\n });\n if (hasArkKind(normalizedStructure, \"constraint\") ||\n !isEmptyObject(normalizedStructure))\n normalized.structure = normalizedStructure;\n return normalized;\n },\n finalizeInnerJson: ({ structure, ...rest }) => hasDomain(structure, \"object\") ? { ...structure, ...rest } : rest,\n keys: {\n domain: {\n child: true,\n parse: (schema, ctx) => ctx.$.node(\"domain\", schema)\n },\n proto: {\n child: true,\n parse: (schema, ctx) => ctx.$.node(\"proto\", schema)\n },\n structure: {\n child: true,\n parse: (schema, ctx) => ctx.$.node(\"structure\", schema),\n serialize: node => {\n if (!node.sequence?.minLength)\n return node.collapsibleJson;\n const { sequence, ...structureJson } = node.collapsibleJson;\n const { minVariadicLength, ...sequenceJson } = sequence;\n const collapsibleSequenceJson = sequenceJson.variadic && Object.keys(sequenceJson).length === 1 ?\n sequenceJson.variadic\n : sequenceJson;\n return { ...structureJson, sequence: collapsibleSequenceJson };\n }\n },\n divisor: {\n child: true,\n parse: constraintKeyParser(\"divisor\")\n },\n max: {\n child: true,\n parse: constraintKeyParser(\"max\")\n },\n min: {\n child: true,\n parse: constraintKeyParser(\"min\")\n },\n maxLength: {\n child: true,\n parse: constraintKeyParser(\"maxLength\")\n },\n minLength: {\n child: true,\n parse: constraintKeyParser(\"minLength\")\n },\n exactLength: {\n child: true,\n parse: constraintKeyParser(\"exactLength\")\n },\n before: {\n child: true,\n parse: constraintKeyParser(\"before\")\n },\n after: {\n child: true,\n parse: constraintKeyParser(\"after\")\n },\n pattern: {\n child: true,\n parse: constraintKeyParser(\"pattern\")\n },\n predicate: {\n child: true,\n parse: constraintKeyParser(\"predicate\")\n }\n },\n // leverage reduction logic from intersection and identity to ensure initial\n // parse result is reduced\n reduce: (inner, $) => \n // we cast union out of the result here since that only occurs when intersecting two sequences\n // that cannot occur when reducing a single intersection schema using unknown\n intersectIntersections({}, inner, {\n $,\n invert: false,\n pipe: false\n }),\n defaults: {\n description: node => {\n if (node.children.length === 0)\n return \"unknown\";\n if (node.structure)\n return node.structure.description;\n const childDescriptions = [];\n if (node.basis &&\n !node.refinements.some(r => r.impl.obviatesBasisDescription))\n childDescriptions.push(node.basis.description);\n if (node.refinements.length) {\n const sortedRefinementDescriptions = node.refinements\n // override alphabetization to describe min before max\n .toSorted((l, r) => (l.kind === \"min\" && r.kind === \"max\" ? -1 : 0))\n .map(r => r.description);\n childDescriptions.push(...sortedRefinementDescriptions);\n }\n if (node.inner.predicate) {\n childDescriptions.push(...node.inner.predicate.map(p => p.description));\n }\n return childDescriptions.join(\" and \");\n },\n expected: source => ` ◦ ${source.errors.map(e => e.expected).join(\"\\n ◦ \")}`,\n problem: ctx => `(${ctx.actual}) must be...\\n${ctx.expected}`\n },\n intersections: {\n intersection: (l, r, ctx) => intersectIntersections(l.inner, r.inner, ctx),\n ...defineRightwardIntersections(\"intersection\", (l, r, ctx) => {\n // if l is unknown, return r\n if (l.children.length === 0)\n return r;\n const { domain, proto, ...lInnerConstraints } = l.inner;\n const lBasis = proto ?? domain;\n const basis = lBasis ? intersectOrPipeNodes(lBasis, r, ctx) : r;\n return (basis instanceof Disjoint ? basis\n : l?.basis?.equals(basis) ?\n // if the basis doesn't change, return the original intesection\n l\n // given we've already precluded l being unknown, the result must\n // be an intersection with the new basis result integrated\n : l.$.node(\"intersection\", { ...lInnerConstraints, [basis.kind]: basis }, { prereduced: true }));\n })\n }\n});\nexport class IntersectionNode extends BaseRoot {\n basis = this.inner.domain ?? this.inner.proto ?? null;\n refinements = this.children.filter(node => node.isRefinement());\n structure = this.inner.structure;\n expression = writeIntersectionExpression(this);\n get shallowMorphs() {\n return this.inner.structure?.structuralMorph ?\n [this.inner.structure.structuralMorph]\n : [];\n }\n get defaultShortDescription() {\n return this.basis?.defaultShortDescription ?? \"present\";\n }\n innerToJsonSchema(ctx) {\n return this.children.reduce(\n // cast is required since TS doesn't know children have compatible schema prerequisites\n (schema, child) => child.isBasis() ?\n child.toJsonSchemaRecurse(ctx)\n : child.reduceJsonSchema(schema, ctx), {});\n }\n traverseAllows = (data, ctx) => this.children.every(child => child.traverseAllows(data, ctx));\n traverseApply = (data, ctx) => {\n const errorCount = ctx.currentErrorCount;\n if (this.basis) {\n this.basis.traverseApply(data, ctx);\n if (ctx.currentErrorCount > errorCount)\n return;\n }\n if (this.refinements.length) {\n for (let i = 0; i < this.refinements.length - 1; i++) {\n this.refinements[i].traverseApply(data, ctx);\n if (ctx.failFast && ctx.currentErrorCount > errorCount)\n return;\n }\n this.refinements.at(-1).traverseApply(data, ctx);\n if (ctx.currentErrorCount > errorCount)\n return;\n }\n if (this.structure) {\n this.structure.traverseApply(data, ctx);\n if (ctx.currentErrorCount > errorCount)\n return;\n }\n if (this.inner.predicate) {\n for (let i = 0; i < this.inner.predicate.length - 1; i++) {\n this.inner.predicate[i].traverseApply(data, ctx);\n if (ctx.failFast && ctx.currentErrorCount > errorCount)\n return;\n }\n this.inner.predicate.at(-1).traverseApply(data, ctx);\n }\n };\n compile(js) {\n if (js.traversalKind === \"Allows\") {\n for (const child of this.children)\n js.check(child);\n js.return(true);\n return;\n }\n js.initializeErrorCount();\n if (this.basis) {\n js.check(this.basis);\n // we only have to return conditionally if this is not the last check\n if (this.children.length > 1)\n js.returnIfFail();\n }\n if (this.refinements.length) {\n for (let i = 0; i < this.refinements.length - 1; i++) {\n js.check(this.refinements[i]);\n js.returnIfFailFast();\n }\n js.check(this.refinements.at(-1));\n if (this.structure || this.inner.predicate)\n js.returnIfFail();\n }\n if (this.structure) {\n js.check(this.structure);\n if (this.inner.predicate)\n js.returnIfFail();\n }\n if (this.inner.predicate) {\n for (let i = 0; i < this.inner.predicate.length - 1; i++) {\n js.check(this.inner.predicate[i]);\n // since predicates can be chained, we have to fail immediately\n // if one fails\n js.returnIfFail();\n }\n js.check(this.inner.predicate.at(-1));\n }\n }\n}\nexport const Intersection = {\n implementation,\n Node: IntersectionNode\n};\nconst writeIntersectionExpression = (node) => {\n let expression = node.structure?.expression ||\n `${node.basis && !node.refinements.some(n => n.impl.obviatesBasisExpression) ? node.basis.nestableExpression + \" \" : \"\"}${node.refinements.map(n => n.expression).join(\" & \")}` ||\n \"unknown\";\n if (expression === \"Array == 0\")\n expression = \"[]\";\n return expression;\n};\nconst intersectIntersections = (l, r, ctx) => {\n const baseInner = {};\n const lBasis = l.proto ?? l.domain;\n const rBasis = r.proto ?? r.domain;\n const basisResult = lBasis ?\n rBasis ?\n intersectOrPipeNodes(lBasis, rBasis, ctx)\n : lBasis\n : rBasis;\n if (basisResult instanceof Disjoint)\n return basisResult;\n if (basisResult)\n baseInner[basisResult.kind] = basisResult;\n return intersectConstraints({\n kind: \"intersection\",\n baseInner,\n l: flattenConstraints(l),\n r: flattenConstraints(r),\n roots: [],\n ctx\n });\n};\n","import { append, printable, throwParseError, unset } from \"@ark/util\";\nimport { BaseConstraint } from \"../constraint.js\";\nimport { flatRef } from \"../node.js\";\nimport { compileSerializedValue } from \"../shared/compile.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { traverseKey } from \"../shared/traversal.js\";\nexport const intersectProps = (l, r, ctx) => {\n if (l.key !== r.key)\n return null;\n const key = l.key;\n let value = intersectOrPipeNodes(l.value, r.value, ctx);\n const kind = l.required || r.required ? \"required\" : \"optional\";\n if (value instanceof Disjoint) {\n if (kind === \"optional\")\n value = $ark.intrinsic.never.internal;\n else {\n // if either operand was optional, the Disjoint has to be treated as optional\n return value.withPrefixKey(l.key, l.required && r.required ? \"required\" : \"optional\");\n }\n }\n if (kind === \"required\") {\n return ctx.$.node(\"required\", {\n key,\n value\n });\n }\n const defaultIntersection = l.hasDefault() ?\n r.hasDefault() ?\n l.default === r.default ?\n l.default\n : throwParseError(writeDefaultIntersectionMessage(l.default, r.default))\n : l.default\n : r.hasDefault() ? r.default\n : unset;\n return ctx.$.node(\"optional\", {\n key,\n value,\n // unset is stripped during parsing\n default: defaultIntersection\n });\n};\nexport class BaseProp extends BaseConstraint {\n required = this.kind === \"required\";\n optional = this.kind === \"optional\";\n impliedBasis = $ark.intrinsic.object.internal;\n serializedKey = compileSerializedValue(this.key);\n compiledKey = typeof this.key === \"string\" ? this.key : this.serializedKey;\n flatRefs = append(this.value.flatRefs.map(ref => flatRef([this.key, ...ref.path], ref.node)), flatRef([this.key], this.value));\n _transform(mapper, ctx) {\n ctx.path.push(this.key);\n const result = super._transform(mapper, ctx);\n ctx.path.pop();\n return result;\n }\n hasDefault() {\n return \"default\" in this.inner;\n }\n traverseAllows = (data, ctx) => {\n if (this.key in data) {\n // ctx will be undefined if this node isn't context-dependent\n return traverseKey(this.key, () => this.value.traverseAllows(data[this.key], ctx), ctx);\n }\n return this.optional;\n };\n traverseApply = (data, ctx) => {\n if (this.key in data) {\n traverseKey(this.key, () => this.value.traverseApply(data[this.key], ctx), ctx);\n }\n else if (this.hasKind(\"required\"))\n ctx.errorFromNodeContext(this.errorContext);\n };\n compile(js) {\n js.if(`${this.serializedKey} in data`, () => js.traverseKey(this.serializedKey, `data${js.prop(this.key)}`, this.value));\n if (this.hasKind(\"required\")) {\n js.else(() => js.traversalKind === \"Apply\" ?\n js.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`)\n : js.return(false));\n }\n if (js.traversalKind === \"Allows\")\n js.return(true);\n }\n}\nexport const writeDefaultIntersectionMessage = (lValue, rValue) => `Invalid intersection of default values ${printable(lValue)} & ${printable(rValue)}`;\n","import { domainOf } from \"./domain.js\";\nimport { throwInternalError } from \"./errors.js\";\nimport { isomorphic } from \"./isomorphic.js\";\nimport { FileConstructor, objectKindOf } from \"./objectKinds.js\";\n// Eventually we can just import from package.json in the source itself\n// but for now, import assertions are too unstable and it wouldn't support\n// recent node versions (https://nodejs.org/api/esm.html#json-modules).\n// For now, we assert this matches the package.json version via a unit test.\nexport const arkUtilVersion = \"0.46.0\";\nexport const initialRegistryContents = {\n version: arkUtilVersion,\n filename: isomorphic.fileName(),\n FileConstructor\n};\nexport const registry = initialRegistryContents;\nconst namesByResolution = new Map();\nconst nameCounts = Object.create(null);\nexport const register = (value) => {\n const existingName = namesByResolution.get(value);\n if (existingName)\n return existingName;\n let name = baseNameFor(value);\n if (nameCounts[name])\n name = `${name}${nameCounts[name]++}`;\n else\n nameCounts[name] = 1;\n registry[name] = value;\n namesByResolution.set(value, name);\n return name;\n};\nexport const isDotAccessible = (keyName) => /^[$A-Z_a-z][\\w$]*$/.test(keyName);\nconst baseNameFor = (value) => {\n switch (typeof value) {\n case \"object\": {\n if (value === null)\n break;\n const prefix = objectKindOf(value) ?? \"object\";\n // convert to camelCase\n return prefix[0].toLowerCase() + prefix.slice(1);\n }\n case \"function\":\n return isDotAccessible(value.name) ? value.name : \"fn\";\n case \"symbol\":\n return value.description && isDotAccessible(value.description) ?\n value.description\n : \"symbol\";\n }\n return throwInternalError(`Unexpected attempt to register serializable value of type ${domainOf(value)}`);\n};\n","import { $ark, BaseScope, hasArkKind, parseGeneric } from \"@ark/schema\";\nimport { enumValues, flatMorph, isArray, isThunk, throwParseError } from \"@ark/util\";\nimport { parseGenericParamName } from \"./generic.js\";\nimport { InternalMatchParser } from \"./match.js\";\nimport { shallowDefaultableMessage, shallowOptionalMessage } from \"./parser/ast/validate.js\";\nimport { parseInnerDefinition } from \"./parser/definition.js\";\nimport { ArkTypeScanner } from \"./parser/shift/scanner.js\";\nimport { InternalTypeParser } from \"./type.js\";\nexport const $arkTypeRegistry = $ark;\nexport class InternalScope extends BaseScope {\n get ambientAttachments() {\n if (!$arkTypeRegistry.typeAttachments)\n return;\n return this.cacheGetter(\"ambientAttachments\", flatMorph($arkTypeRegistry.typeAttachments, (k, v) => [\n k,\n this.bindReference(v)\n ]));\n }\n preparseOwnAliasEntry(alias, def) {\n const firstParamIndex = alias.indexOf(\"<\");\n if (firstParamIndex === -1) {\n if (hasArkKind(def, \"module\") || hasArkKind(def, \"generic\"))\n return [alias, def];\n const qualifiedName = this.name === \"ark\" ? alias\n : alias === \"root\" ? this.name\n : `${this.name}.${alias}`;\n const config = this.resolvedConfig.keywords?.[qualifiedName];\n if (config)\n def = [def, \"@\", config];\n return [alias, def];\n }\n if (alias.at(-1) !== \">\") {\n throwParseError(`'>' must be the last character of a generic declaration in a scope`);\n }\n const name = alias.slice(0, firstParamIndex);\n const paramString = alias.slice(firstParamIndex + 1, -1);\n return [\n name,\n // use a thunk definition for the generic so that we can parse\n // constraints within the current scope\n () => {\n const params = this.parseGenericParams(paramString, { alias: name });\n const generic = parseGeneric(params, def, this);\n return generic;\n }\n ];\n }\n parseGenericParams(def, opts) {\n return parseGenericParamName(new ArkTypeScanner(def), [], this.createParseContext({\n ...opts,\n def,\n prefix: \"generic\"\n }));\n }\n normalizeRootScopeValue(resolution) {\n if (isThunk(resolution) && !hasArkKind(resolution, \"generic\"))\n return resolution();\n return resolution;\n }\n preparseOwnDefinitionFormat(def, opts) {\n return {\n ...opts,\n def,\n prefix: opts.alias ?? \"type\"\n };\n }\n parseOwnDefinitionFormat(def, ctx) {\n const isScopeAlias = ctx.alias && ctx.alias in this.aliases;\n // if the definition being parsed is not a scope alias and is not a\n // generic instantiation (i.e. opts don't include args), add `this` as a resolution.\n // if we're parsing a nested string, ctx.args will have already been set\n if (!isScopeAlias && !ctx.args)\n ctx.args = { this: ctx.id };\n const result = parseInnerDefinition(def, ctx);\n if (isArray(result)) {\n if (result[1] === \"=\")\n return throwParseError(shallowDefaultableMessage);\n if (result[1] === \"?\")\n return throwParseError(shallowOptionalMessage);\n }\n return result;\n }\n unit = value => this.units([value]);\n valueOf = tsEnum => this.units(enumValues(tsEnum));\n enumerated = (...values) => this.units(values);\n instanceOf = ctor => this.node(\"proto\", { proto: ctor }, { prereduced: true });\n or = (...defs) => this.schema(defs.map(def => this.parse(def)));\n and = (...defs) => defs.reduce((node, def) => node.and(this.parse(def)), this.intrinsic.unknown);\n merge = (...defs) => defs.reduce((node, def) => node.merge(this.parse(def)), this.intrinsic.object);\n pipe = (...morphs) => this.intrinsic.unknown.pipe(...morphs);\n match = new InternalMatchParser(this);\n declare = () => ({\n type: this.type\n });\n define(def) {\n return def;\n }\n type = new InternalTypeParser(this);\n static scope = ((def, config = {}) => new InternalScope(def, config));\n static module = ((def, config = {}) => this.scope(def, config).export());\n}\nexport const scope = Object.assign(InternalScope.scope, {\n define: def => def\n});\nexport const Scope = InternalScope;\n","import { intrinsic, rootSchema } from \"@ark/schema\";\nimport { Scope } from \"../scope.js\";\n/**\n * As per the ECMA-262 specification:\n * A time value supports a slightly smaller range of -8,640,000,000,000,000 to 8,640,000,000,000,000 milliseconds.\n *\n * @see https://262.ecma-international.org/15.0/index.html#sec-time-values-and-time-range\n */\nexport const epoch = rootSchema({\n domain: {\n domain: \"number\",\n meta: \"a number representing a Unix timestamp\"\n },\n divisor: {\n rule: 1,\n meta: `an integer representing a Unix timestamp`\n },\n min: {\n rule: -8640000000000000,\n meta: `a Unix timestamp after -8640000000000000`\n },\n max: {\n rule: 8640000000000000,\n meta: \"a Unix timestamp before 8640000000000000\"\n },\n meta: \"an integer representing a safe Unix timestamp\"\n});\nexport const integer = rootSchema({\n domain: \"number\",\n divisor: 1\n});\nexport const number = Scope.module({\n root: intrinsic.number,\n integer,\n epoch,\n safe: rootSchema({\n domain: {\n domain: \"number\",\n numberAllowsNaN: false\n },\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER\n }),\n NaN: [\"===\", Number.NaN],\n Infinity: [\"===\", Number.POSITIVE_INFINITY],\n NegativeInfinity: [\"===\", Number.NEGATIVE_INFINITY]\n}, {\n name: \"number\"\n});\n","import { append, domainDescriptions, printable, throwInternalError, throwParseError } from \"@ark/util\";\nimport { nodesByRegisteredId } from \"../parse.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { hasArkKind } from \"../shared/utils.js\";\nimport { BaseRoot } from \"./root.js\";\nimport { defineRightwardIntersections } from \"./utils.js\";\nexport const normalizeAliasSchema = (schema) => typeof schema === \"string\" ? { reference: schema } : schema;\nconst neverIfDisjoint = (result) => result instanceof Disjoint ? $ark.intrinsic.never.internal : result;\nconst implementation = implementNode({\n kind: \"alias\",\n hasAssociatedError: false,\n collapsibleKey: \"reference\",\n keys: {\n reference: {\n serialize: s => (s.startsWith(\"$\") ? s : `$ark.${s}`)\n },\n resolve: {}\n },\n normalize: normalizeAliasSchema,\n defaults: {\n description: node => node.reference\n },\n intersections: {\n alias: (l, r, ctx) => ctx.$.lazilyResolve(() => neverIfDisjoint(intersectOrPipeNodes(l.resolution, r.resolution, ctx)), `${l.reference}${ctx.pipe ? \"=>\" : \"&\"}${r.reference}`),\n ...defineRightwardIntersections(\"alias\", (l, r, ctx) => {\n if (r.isUnknown())\n return l;\n if (r.isNever())\n return r;\n if (r.isBasis() && !r.overlaps($ark.intrinsic.object)) {\n // can be more robust as part of https://github.com/arktypeio/arktype/issues/1026\n return Disjoint.init(\"assignability\", $ark.intrinsic.object, r);\n }\n return ctx.$.lazilyResolve(() => neverIfDisjoint(intersectOrPipeNodes(l.resolution, r, ctx)), `${l.reference}${ctx.pipe ? \"=>\" : \"&\"}${r.id}`);\n })\n }\n});\nexport class AliasNode extends BaseRoot {\n expression = this.reference;\n structure = undefined;\n get resolution() {\n const result = this._resolve();\n return (nodesByRegisteredId[this.id] = result);\n }\n _resolve() {\n if (this.resolve)\n return this.resolve();\n if (this.reference[0] === \"$\")\n return this.$.resolveRoot(this.reference.slice(1));\n const id = this.reference;\n let resolution = nodesByRegisteredId[id];\n const seen = [];\n while (hasArkKind(resolution, \"context\")) {\n if (seen.includes(resolution.id)) {\n return throwParseError(writeShallowCycleErrorMessage(resolution.id, seen));\n }\n seen.push(resolution.id);\n resolution = nodesByRegisteredId[resolution.id];\n }\n if (!hasArkKind(resolution, \"root\")) {\n return throwInternalError(`Unexpected resolution for reference ${this.reference}\nSeen: [${seen.join(\"->\")}] \nResolution: ${printable(resolution)}`);\n }\n return resolution;\n }\n get resolutionId() {\n if (this.reference.includes(\"&\") || this.reference.includes(\"=>\"))\n return this.resolution.id;\n if (this.reference[0] !== \"$\")\n return this.reference;\n const alias = this.reference.slice(1);\n const resolution = this.$.resolutions[alias];\n if (typeof resolution === \"string\")\n return resolution;\n if (hasArkKind(resolution, \"root\"))\n return resolution.id;\n return throwInternalError(`Unexpected resolution for reference ${this.reference}: ${printable(resolution)}`);\n }\n get defaultShortDescription() {\n return domainDescriptions.object;\n }\n innerToJsonSchema(ctx) {\n return this.resolution.toJsonSchemaRecurse(ctx);\n }\n traverseAllows = (data, ctx) => {\n const seen = ctx.seen[this.reference];\n if (seen?.includes(data))\n return true;\n ctx.seen[this.reference] = append(seen, data);\n return this.resolution.traverseAllows(data, ctx);\n };\n traverseApply = (data, ctx) => {\n const seen = ctx.seen[this.reference];\n if (seen?.includes(data))\n return;\n ctx.seen[this.reference] = append(seen, data);\n this.resolution.traverseApply(data, ctx);\n };\n compile(js) {\n const id = this.resolutionId;\n js.if(`ctx.seen.${id} && ctx.seen.${id}.includes(data)`, () => js.return(true));\n js.if(`!ctx.seen.${id}`, () => js.line(`ctx.seen.${id} = []`));\n js.line(`ctx.seen.${id}.push(data)`);\n js.return(js.invoke(id));\n }\n}\nexport const writeShallowCycleErrorMessage = (name, seen) => `Alias '${name}' has a shallow resolution cycle: ${[...seen, name].join(\"->\")}`;\nexport const Alias = {\n implementation,\n Node: AliasNode\n};\n","import type { DefineEnv, EnvOptions } from \"envin/types\";\n\nexport interface ErrorObject {\n name: string;\n stack: string | undefined;\n cause: unknown;\n message: string;\n}\n\nexport const VariableGroup = {\n SHARED: \"shared\",\n SERVER: \"server\",\n CLIENT: \"client\",\n} as const;\n\nexport type VariableGroup = (typeof VariableGroup)[keyof typeof VariableGroup];\n\nexport const Status = {\n ALL: \"all\",\n VALID: \"valid\",\n INVALID: \"invalid\",\n} as const;\n\nexport type Status = (typeof Status)[keyof typeof Status];\n\nexport const Environment = {\n DEVELOPMENT: \"development\",\n PRODUCTION: \"production\",\n} as const;\n\nexport type Environment = (typeof Environment)[keyof typeof Environment];\n\nexport const DEFAULT_PRESET = \"root\";\n\nexport const FILES = {\n [Environment.DEVELOPMENT]: [\".env\", \".env.development\", \".env.local\"],\n [Environment.PRODUCTION]: [\n \".env\",\n \".env.production\",\n \".env.local\",\n \".env.production.local\",\n ],\n} as const;\n\nexport interface VariablePreset {\n id: string;\n path: string[];\n}\n\nexport interface Variable {\n preset: VariablePreset;\n group: VariableGroup;\n default: string | undefined;\n description: string | undefined;\n}\n\nexport type Variables = Record<string, Variable>;\n\nexport interface FileValue {\n value: string | undefined;\n files: string[];\n}\n\nexport type FileValues = Record<string, FileValue>;\n\nexport interface VariableWithKey extends Variable {\n key: string;\n}\n\nexport interface Config {\n options: EnvOptions;\n env: DefineEnv;\n}\n","import { append, conflatenate, printable, throwInternalError, throwParseError } from \"@ark/util\";\nimport { BaseConstraint } from \"../constraint.js\";\nimport { appendUniqueFlatRefs, flatRef } from \"../node.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { defaultValueSerializer, implementNode } from \"../shared/implement.js\";\nimport { intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark, registeredReference } from \"../shared/registry.js\";\nimport { traverseKey } from \"../shared/traversal.js\";\nimport { assertDefaultValueAssignability, computeDefaultValueMorph } from \"./optional.js\";\nimport { writeDefaultIntersectionMessage } from \"./prop.js\";\nconst implementation = implementNode({\n kind: \"sequence\",\n hasAssociatedError: false,\n collapsibleKey: \"variadic\",\n keys: {\n prefix: {\n child: true,\n parse: (schema, ctx) => {\n // empty affixes are omitted. an empty array should therefore\n // be specified as `{ proto: Array, length: 0 }`\n if (schema.length === 0)\n return undefined;\n return schema.map(element => ctx.$.parseSchema(element));\n }\n },\n optionals: {\n child: true,\n parse: (schema, ctx) => {\n if (schema.length === 0)\n return undefined;\n return schema.map(element => ctx.$.parseSchema(element));\n }\n },\n defaultables: {\n child: defaultables => defaultables.map(element => element[0]),\n parse: (defaultables, ctx) => {\n if (defaultables.length === 0)\n return undefined;\n return defaultables.map(element => {\n const node = ctx.$.parseSchema(element[0]);\n assertDefaultValueAssignability(node, element[1], null);\n return [node, element[1]];\n });\n },\n serialize: defaults => defaults.map(element => [\n element[0].collapsibleJson,\n defaultValueSerializer(element[1])\n ])\n },\n variadic: {\n child: true,\n parse: (schema, ctx) => ctx.$.parseSchema(schema, ctx)\n },\n minVariadicLength: {\n // minVariadicLength is reflected in the id of this node,\n // but not its IntersectionNode parent since it is superceded by the minLength\n // node it implies\n parse: min => (min === 0 ? undefined : min)\n },\n postfix: {\n child: true,\n parse: (schema, ctx) => {\n if (schema.length === 0)\n return undefined;\n return schema.map(element => ctx.$.parseSchema(element));\n }\n }\n },\n normalize: schema => {\n if (typeof schema === \"string\")\n return { variadic: schema };\n if (\"variadic\" in schema ||\n \"prefix\" in schema ||\n \"defaultables\" in schema ||\n \"optionals\" in schema ||\n \"postfix\" in schema ||\n \"minVariadicLength\" in schema) {\n if (schema.postfix?.length) {\n if (!schema.variadic)\n return throwParseError(postfixWithoutVariadicMessage);\n if (schema.optionals?.length || schema.defaultables?.length)\n return throwParseError(postfixAfterOptionalOrDefaultableMessage);\n }\n if (schema.minVariadicLength && !schema.variadic) {\n return throwParseError(\"minVariadicLength may not be specified without a variadic element\");\n }\n return schema;\n }\n return { variadic: schema };\n },\n reduce: (raw, $) => {\n let minVariadicLength = raw.minVariadicLength ?? 0;\n const prefix = raw.prefix?.slice() ?? [];\n const defaultables = raw.defaultables?.slice() ?? [];\n const optionals = raw.optionals?.slice() ?? [];\n const postfix = raw.postfix?.slice() ?? [];\n if (raw.variadic) {\n // optional elements equivalent to the variadic parameter are redundant\n while (optionals.at(-1)?.equals(raw.variadic))\n optionals.pop();\n if (optionals.length === 0 && defaultables.length === 0) {\n // If there are no optional, normalize prefix\n // elements adjacent and equivalent to variadic:\n // \t\t{ variadic: number, prefix: [string, number] }\n // reduces to:\n // \t\t{ variadic: number, prefix: [string], minVariadicLength: 1 }\n while (prefix.at(-1)?.equals(raw.variadic)) {\n prefix.pop();\n minVariadicLength++;\n }\n }\n // Normalize postfix elements adjacent and equivalent to variadic:\n // \t\t{ variadic: number, postfix: [number, number, 5] }\n // reduces to:\n // \t\t{ variadic: number, postfix: [5], minVariadicLength: 2 }\n while (postfix[0]?.equals(raw.variadic)) {\n postfix.shift();\n minVariadicLength++;\n }\n }\n else if (optionals.length === 0 && defaultables.length === 0) {\n // if there's no variadic, optional or defaultable elements,\n // postfix can just be appended to prefix\n prefix.push(...postfix.splice(0));\n }\n if (\n // if any variadic adjacent elements were moved to minVariadicLength\n minVariadicLength !== raw.minVariadicLength ||\n // or any postfix elements were moved to prefix\n (raw.prefix && raw.prefix.length !== prefix.length)) {\n // reparse the reduced def\n return $.node(\"sequence\", {\n ...raw,\n // empty lists will be omitted during parsing\n prefix,\n defaultables,\n optionals,\n postfix,\n minVariadicLength\n }, { prereduced: true });\n }\n },\n defaults: {\n description: node => {\n if (node.isVariadicOnly)\n return `${node.variadic.nestableExpression}[]`;\n const innerDescription = node.tuple\n .map(element => element.kind === \"defaultables\" ?\n `${element.node.nestableExpression} = ${printable(element.default)}`\n : element.kind === \"optionals\" ?\n `${element.node.nestableExpression}?`\n : element.kind === \"variadic\" ?\n `...${element.node.nestableExpression}[]`\n : element.node.expression)\n .join(\", \");\n return `[${innerDescription}]`;\n }\n },\n intersections: {\n sequence: (l, r, ctx) => {\n const rootState = _intersectSequences({\n l: l.tuple,\n r: r.tuple,\n disjoint: new Disjoint(),\n result: [],\n fixedVariants: [],\n ctx\n });\n const viableBranches = rootState.disjoint.length === 0 ?\n [rootState, ...rootState.fixedVariants]\n : rootState.fixedVariants;\n return (viableBranches.length === 0 ? rootState.disjoint\n : viableBranches.length === 1 ?\n ctx.$.node(\"sequence\", sequenceTupleToInner(viableBranches[0].result))\n : ctx.$.node(\"union\", viableBranches.map(state => ({\n proto: Array,\n sequence: sequenceTupleToInner(state.result)\n }))));\n }\n // exactLength, minLength, and maxLength don't need to be defined\n // here since impliedSiblings guarantees they will be added\n // directly to the IntersectionNode parent of the SequenceNode\n // they exist on\n }\n});\nexport class SequenceNode extends BaseConstraint {\n impliedBasis = $ark.intrinsic.Array.internal;\n tuple = sequenceInnerToTuple(this.inner);\n prefixLength = this.prefix?.length ?? 0;\n defaultablesLength = this.defaultables?.length ?? 0;\n optionalsLength = this.optionals?.length ?? 0;\n postfixLength = this.postfix?.length ?? 0;\n defaultablesAndOptionals = [];\n prevariadic = this.tuple.filter((el) => {\n if (el.kind === \"defaultables\" || el.kind === \"optionals\") {\n // populate defaultablesAndOptionals while filtering prevariadic\n this.defaultablesAndOptionals.push(el.node);\n return true;\n }\n return el.kind === \"prefix\";\n });\n variadicOrPostfix = conflatenate(this.variadic && [this.variadic], this.postfix);\n // have to wait until prevariadic and variadicOrPostfix are set to calculate\n flatRefs = this.addFlatRefs();\n addFlatRefs() {\n appendUniqueFlatRefs(this.flatRefs, this.prevariadic.flatMap((element, i) => append(element.node.flatRefs.map(ref => flatRef([`${i}`, ...ref.path], ref.node)), flatRef([`${i}`], element.node))));\n appendUniqueFlatRefs(this.flatRefs, this.variadicOrPostfix.flatMap(element => \n // a postfix index can't be directly represented as a type\n // key, so we just use the same matcher for variadic\n append(element.flatRefs.map(ref => flatRef([$ark.intrinsic.nonNegativeIntegerString.internal, ...ref.path], ref.node)), flatRef([$ark.intrinsic.nonNegativeIntegerString.internal], element))));\n return this.flatRefs;\n }\n isVariadicOnly = this.prevariadic.length + this.postfixLength === 0;\n minVariadicLength = this.inner.minVariadicLength ?? 0;\n minLength = this.prefixLength + this.minVariadicLength + this.postfixLength;\n minLengthNode = this.minLength === 0 ?\n null\n // cast is safe here as the only time this would not be a\n // MinLengthNode would be when minLength is 0\n : this.$.node(\"minLength\", this.minLength);\n maxLength = this.variadic ? null : this.tuple.length;\n maxLengthNode = this.maxLength === null ? null : this.$.node(\"maxLength\", this.maxLength);\n impliedSiblings = this.minLengthNode ?\n this.maxLengthNode ?\n [this.minLengthNode, this.maxLengthNode]\n : [this.minLengthNode]\n : this.maxLengthNode ? [this.maxLengthNode]\n : [];\n defaultValueMorphs = getDefaultableMorphs(this);\n defaultValueMorphsReference = this.defaultValueMorphs.length ?\n registeredReference(this.defaultValueMorphs)\n : undefined;\n elementAtIndex(data, index) {\n if (index < this.prevariadic.length)\n return this.tuple[index];\n const firstPostfixIndex = data.length - this.postfixLength;\n if (index >= firstPostfixIndex)\n return { kind: \"postfix\", node: this.postfix[index - firstPostfixIndex] };\n return {\n kind: \"variadic\",\n node: this.variadic ??\n throwInternalError(`Unexpected attempt to access index ${index} on ${this}`)\n };\n }\n // minLength/maxLength should be checked by Intersection before either traversal\n traverseAllows = (data, ctx) => {\n for (let i = 0; i < data.length; i++) {\n if (!this.elementAtIndex(data, i).node.traverseAllows(data[i], ctx))\n return false;\n }\n return true;\n };\n traverseApply = (data, ctx) => {\n let i = 0;\n for (; i < data.length; i++) {\n traverseKey(i, () => this.elementAtIndex(data, i).node.traverseApply(data[i], ctx), ctx);\n }\n };\n get element() {\n return this.cacheGetter(\"element\", this.$.node(\"union\", this.children));\n }\n // minLength/maxLength compilation should be handled by Intersection\n compile(js) {\n if (this.prefix) {\n for (const [i, node] of this.prefix.entries())\n js.traverseKey(`${i}`, `data[${i}]`, node);\n }\n for (const [i, node] of this.defaultablesAndOptionals.entries()) {\n const dataIndex = `${i + this.prefixLength}`;\n js.if(`${dataIndex} >= ${js.data}.length`, () => js.traversalKind === \"Allows\" ? js.return(true) : js.return());\n js.traverseKey(dataIndex, `data[${dataIndex}]`, node);\n }\n if (this.variadic) {\n if (this.postfix) {\n js.const(\"firstPostfixIndex\", `${js.data}.length${this.postfix ? `- ${this.postfix.length}` : \"\"}`);\n }\n js.for(`i < ${this.postfix ? \"firstPostfixIndex\" : \"data.length\"}`, () => js.traverseKey(\"i\", \"data[i]\", this.variadic), this.prevariadic.length);\n if (this.postfix) {\n for (const [i, node] of this.postfix.entries()) {\n const keyExpression = `firstPostfixIndex + ${i}`;\n js.traverseKey(keyExpression, `data[${keyExpression}]`, node);\n }\n }\n }\n if (js.traversalKind === \"Allows\")\n js.return(true);\n }\n _transform(mapper, ctx) {\n ctx.path.push($ark.intrinsic.nonNegativeIntegerString.internal);\n const result = super._transform(mapper, ctx);\n ctx.path.pop();\n return result;\n }\n // this depends on tuple so needs to come after it\n expression = this.description;\n reduceJsonSchema(schema, ctx) {\n if (this.prevariadic.length) {\n schema.prefixItems = this.prevariadic.map(el => {\n const valueSchema = el.node.toJsonSchemaRecurse(ctx);\n if (el.kind === \"defaultables\") {\n const value = typeof el.default === \"function\" ? el.default() : el.default;\n valueSchema.default =\n $ark.intrinsic.jsonData.allows(value) ?\n value\n : ctx.fallback.defaultValue({\n code: \"defaultValue\",\n base: valueSchema,\n value\n });\n }\n return valueSchema;\n });\n }\n // by default JSON schema prefixElements are optional\n // add minLength here if there are any required prefix elements\n if (this.minLength)\n schema.minItems = this.minLength;\n if (this.variadic) {\n // alias schema for narrowing (Object.assign mutates anyways)\n const variadicSchema = Object.assign(schema, {\n items: this.variadic.toJsonSchemaRecurse(ctx)\n });\n // maxLength constraint will be enforced by items: false\n // for non-variadic arrays\n if (this.maxLength)\n variadicSchema.maxItems = this.maxLength;\n // postfix can only be present if variadic is present so nesting this is fine\n if (this.postfix) {\n const elements = this.postfix.map(el => el.toJsonSchemaRecurse(ctx));\n schema = ctx.fallback.arrayPostfix({\n code: \"arrayPostfix\",\n base: variadicSchema,\n elements\n });\n }\n }\n else {\n schema.items = false;\n // delete maxItems constraint that will have been added by the\n // base intersection node to enforce fixed length\n delete schema.maxItems;\n }\n return schema;\n }\n}\nconst defaultableMorphsCache = {};\nconst getDefaultableMorphs = (node) => {\n if (!node.defaultables)\n return [];\n const morphs = [];\n let cacheKey = \"[\";\n const lastDefaultableIndex = node.prefixLength + node.defaultablesLength - 1;\n for (let i = node.prefixLength; i <= lastDefaultableIndex; i++) {\n const [elementNode, defaultValue] = node.defaultables[i - node.prefixLength];\n morphs.push(computeDefaultValueMorph(i, elementNode, defaultValue));\n cacheKey += `${i}: ${elementNode.id} = ${defaultValueSerializer(defaultValue)}, `;\n }\n cacheKey += \"]\";\n return (defaultableMorphsCache[cacheKey] ??= morphs);\n};\nexport const Sequence = {\n implementation,\n Node: SequenceNode\n};\nconst sequenceInnerToTuple = (inner) => {\n const tuple = [];\n if (inner.prefix)\n for (const node of inner.prefix)\n tuple.push({ kind: \"prefix\", node });\n if (inner.defaultables) {\n for (const [node, defaultValue] of inner.defaultables)\n tuple.push({ kind: \"defaultables\", node, default: defaultValue });\n }\n if (inner.optionals)\n for (const node of inner.optionals)\n tuple.push({ kind: \"optionals\", node });\n if (inner.variadic)\n tuple.push({ kind: \"variadic\", node: inner.variadic });\n if (inner.postfix)\n for (const node of inner.postfix)\n tuple.push({ kind: \"postfix\", node });\n return tuple;\n};\nconst sequenceTupleToInner = (tuple) => tuple.reduce((result, element) => {\n if (element.kind === \"variadic\")\n result.variadic = element.node;\n else if (element.kind === \"defaultables\") {\n result.defaultables = append(result.defaultables, [\n [element.node, element.default]\n ]);\n }\n else\n result[element.kind] = append(result[element.kind], element.node);\n return result;\n}, {});\nexport const postfixAfterOptionalOrDefaultableMessage = \"A postfix required element cannot follow an optional or defaultable element\";\nexport const postfixWithoutVariadicMessage = \"A postfix element requires a variadic element\";\nconst _intersectSequences = (s) => {\n const [lHead, ...lTail] = s.l;\n const [rHead, ...rTail] = s.r;\n if (!lHead || !rHead)\n return s;\n const lHasPostfix = lTail.at(-1)?.kind === \"postfix\";\n const rHasPostfix = rTail.at(-1)?.kind === \"postfix\";\n const kind = lHead.kind === \"prefix\" || rHead.kind === \"prefix\" ? \"prefix\"\n : lHead.kind === \"postfix\" || rHead.kind === \"postfix\" ? \"postfix\"\n : lHead.kind === \"variadic\" && rHead.kind === \"variadic\" ? \"variadic\"\n // if either operand has postfix elements, the full-length\n // intersection can't include optional elements (though they may\n // exist in some of the fixed length variants)\n : lHasPostfix || rHasPostfix ? \"prefix\"\n : lHead.kind === \"defaultables\" || rHead.kind === \"defaultables\" ?\n \"defaultables\"\n : \"optionals\";\n if (lHead.kind === \"prefix\" && rHead.kind === \"variadic\" && rHasPostfix) {\n const postfixBranchResult = _intersectSequences({\n ...s,\n fixedVariants: [],\n r: rTail.map(element => ({ ...element, kind: \"prefix\" }))\n });\n if (postfixBranchResult.disjoint.length === 0)\n s.fixedVariants.push(postfixBranchResult);\n }\n else if (rHead.kind === \"prefix\" &&\n lHead.kind === \"variadic\" &&\n lHasPostfix) {\n const postfixBranchResult = _intersectSequences({\n ...s,\n fixedVariants: [],\n l: lTail.map(element => ({ ...element, kind: \"prefix\" }))\n });\n if (postfixBranchResult.disjoint.length === 0)\n s.fixedVariants.push(postfixBranchResult);\n }\n const result = intersectOrPipeNodes(lHead.node, rHead.node, s.ctx);\n if (result instanceof Disjoint) {\n if (kind === \"prefix\" || kind === \"postfix\") {\n s.disjoint.push(...result.withPrefixKey(\n // ideally we could handle disjoint paths more precisely here,\n // but not trivial to serialize postfix elements as keys\n kind === \"prefix\" ? s.result.length : `-${lTail.length + 1}`, \"required\"));\n s.result = [...s.result, { kind, node: $ark.intrinsic.never.internal }];\n }\n else if (kind === \"optionals\" || kind === \"defaultables\") {\n // if the element result is optional and unsatisfiable, the\n // intersection can still be satisfied as long as the tuple\n // ends before the disjoint element would occur\n return s;\n }\n else {\n // if the element is variadic and unsatisfiable, the intersection\n // can be satisfied with a fixed length variant including zero\n // variadic elements\n return _intersectSequences({\n ...s,\n fixedVariants: [],\n // if there were any optional elements, there will be no postfix elements\n // so this mapping will never occur (which would be illegal otherwise)\n l: lTail.map(element => ({ ...element, kind: \"prefix\" })),\n r: lTail.map(element => ({ ...element, kind: \"prefix\" }))\n });\n }\n }\n else if (kind === \"defaultables\") {\n if (lHead.kind === \"defaultables\" &&\n rHead.kind === \"defaultables\" &&\n lHead.default !== rHead.default) {\n throwParseError(writeDefaultIntersectionMessage(lHead.default, rHead.default));\n }\n s.result = [\n ...s.result,\n {\n kind,\n node: result,\n default: lHead.kind === \"defaultables\" ? lHead.default\n : rHead.kind === \"defaultables\" ? rHead.default\n : throwInternalError(`Unexpected defaultable intersection from ${lHead.kind} and ${rHead.kind} elements.`)\n }\n ];\n }\n else\n s.result = [...s.result, { kind, node: result }];\n const lRemaining = s.l.length;\n const rRemaining = s.r.length;\n if (lHead.kind !== \"variadic\" ||\n (lRemaining >= rRemaining &&\n (rHead.kind === \"variadic\" || rRemaining === 1)))\n s.l = lTail;\n if (rHead.kind !== \"variadic\" ||\n (rRemaining >= lRemaining &&\n (lHead.kind === \"variadic\" || lRemaining === 1)))\n s.r = rTail;\n return _intersectSequences(s);\n};\n","import { appendUnique, arrayEquals, domainDescriptions, flatMorph, groupBy, hasKey, isArray, jsTypeOfDescriptions, printable, range, throwParseError, unset } from \"@ark/util\";\nimport { compileLiteralPropAccess, compileSerializedValue } from \"../shared/compile.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { intersectNodesRoot, intersectOrPipeNodes } from \"../shared/intersections.js\";\nimport { $ark, registeredReference } from \"../shared/registry.js\";\nimport { Traversal } from \"../shared/traversal.js\";\nimport { hasArkKind } from \"../shared/utils.js\";\nimport { BaseRoot } from \"./root.js\";\nimport { defineRightwardIntersections } from \"./utils.js\";\nconst implementation = implementNode({\n kind: \"union\",\n hasAssociatedError: true,\n collapsibleKey: \"branches\",\n keys: {\n ordered: {},\n branches: {\n child: true,\n parse: (schema, ctx) => {\n const branches = [];\n for (const branchSchema of schema) {\n const branchNodes = hasArkKind(branchSchema, \"root\") ?\n branchSchema.branches\n : ctx.$.parseSchema(branchSchema).branches;\n for (const node of branchNodes) {\n if (node.hasKind(\"morph\")) {\n const matchingMorphIndex = branches.findIndex(matching => matching.hasKind(\"morph\") && matching.hasEqualMorphs(node));\n if (matchingMorphIndex === -1)\n branches.push(node);\n else {\n const matchingMorph = branches[matchingMorphIndex];\n branches[matchingMorphIndex] = ctx.$.node(\"morph\", {\n ...matchingMorph.inner,\n in: matchingMorph.in.rawOr(node.in)\n });\n }\n }\n else\n branches.push(node);\n }\n }\n if (!ctx.def.ordered)\n branches.sort((l, r) => (l.hash < r.hash ? -1 : 1));\n return branches;\n }\n }\n },\n normalize: schema => (isArray(schema) ? { branches: schema } : schema),\n reduce: (inner, $) => {\n const reducedBranches = reduceBranches(inner);\n if (reducedBranches.length === 1)\n return reducedBranches[0];\n if (reducedBranches.length === inner.branches.length)\n return;\n return $.node(\"union\", {\n ...inner,\n branches: reducedBranches\n }, { prereduced: true });\n },\n defaults: {\n description: node => node.distribute(branch => branch.description, describeBranches),\n expected: ctx => {\n const byPath = groupBy(ctx.errors, \"propString\");\n const pathDescriptions = Object.entries(byPath).map(([path, errors]) => {\n const branchesAtPath = [];\n for (const errorAtPath of errors)\n appendUnique(branchesAtPath, errorAtPath.expected);\n const expected = describeBranches(branchesAtPath);\n // if there are multiple actual descriptions that differ,\n // just fall back to printable, which is the most specific\n const actual = errors.every(e => e.actual === errors[0].actual) ?\n errors[0].actual\n : printable(errors[0].data);\n return `${path && `${path} `}must be ${expected}${actual && ` (was ${actual})`}`;\n });\n return describeBranches(pathDescriptions);\n },\n problem: ctx => ctx.expected,\n message: ctx => ctx.problem\n },\n intersections: {\n union: (l, r, ctx) => {\n if (l.isNever !== r.isNever) {\n // if exactly one operand is never, we can use it to discriminate based on presence\n return Disjoint.init(\"presence\", l, r);\n }\n let resultBranches;\n if (l.ordered) {\n if (r.ordered) {\n throwParseError(writeOrderedIntersectionMessage(l.expression, r.expression));\n }\n resultBranches = intersectBranches(r.branches, l.branches, ctx);\n if (resultBranches instanceof Disjoint)\n resultBranches.invert();\n }\n else\n resultBranches = intersectBranches(l.branches, r.branches, ctx);\n if (resultBranches instanceof Disjoint)\n return resultBranches;\n return ctx.$.parseSchema(l.ordered || r.ordered ?\n {\n branches: resultBranches,\n ordered: true\n }\n : { branches: resultBranches });\n },\n ...defineRightwardIntersections(\"union\", (l, r, ctx) => {\n const branches = intersectBranches(l.branches, [r], ctx);\n if (branches instanceof Disjoint)\n return branches;\n if (branches.length === 1)\n return branches[0];\n return ctx.$.parseSchema(l.ordered ? { branches, ordered: true } : { branches });\n })\n }\n});\nexport class UnionNode extends BaseRoot {\n isBoolean = this.branches.length === 2 &&\n this.branches[0].hasUnit(false) &&\n this.branches[1].hasUnit(true);\n get branchGroups() {\n const branchGroups = [];\n let firstBooleanIndex = -1;\n for (const branch of this.branches) {\n if (branch.hasKind(\"unit\") && branch.domain === \"boolean\") {\n if (firstBooleanIndex === -1) {\n firstBooleanIndex = branchGroups.length;\n branchGroups.push(branch);\n }\n else\n branchGroups[firstBooleanIndex] = $ark.intrinsic.boolean;\n continue;\n }\n branchGroups.push(branch);\n }\n return branchGroups;\n }\n unitBranches = this.branches.filter((n) => n.in.hasKind(\"unit\"));\n discriminant = this.discriminate();\n discriminantJson = this.discriminant ? discriminantToJson(this.discriminant) : null;\n expression = this.distribute(n => n.nestableExpression, expressBranches);\n createBranchedOptimisticRootApply() {\n return (data, onFail) => {\n const optimisticResult = this.traverseOptimistic(data);\n if (optimisticResult !== unset)\n return optimisticResult;\n const ctx = new Traversal(data, this.$.resolvedConfig);\n this.traverseApply(data, ctx);\n return ctx.finalize(onFail);\n };\n }\n get shallowMorphs() {\n return this.branches.reduce((morphs, branch) => appendUnique(morphs, branch.shallowMorphs), []);\n }\n get defaultShortDescription() {\n return this.distribute(branch => branch.defaultShortDescription, describeBranches);\n }\n innerToJsonSchema(ctx) {\n // special case to simplify { const: true } | { const: false }\n // to the canonical JSON Schema representation { type: \"boolean\" }\n if (this.branchGroups.length === 1 &&\n this.branchGroups[0].equals($ark.intrinsic.boolean))\n return { type: \"boolean\" };\n const jsonSchemaBranches = this.branchGroups.map(group => group.toJsonSchemaRecurse(ctx));\n if (jsonSchemaBranches.every((branch) => \n // iff all branches are pure unit values with no metadata,\n // we can simplify the representation to an enum\n Object.keys(branch).length === 1 && hasKey(branch, \"const\"))) {\n return {\n enum: jsonSchemaBranches.map(branch => branch.const)\n };\n }\n return {\n anyOf: jsonSchemaBranches\n };\n }\n traverseAllows = (data, ctx) => this.branches.some(b => b.traverseAllows(data, ctx));\n traverseApply = (data, ctx) => {\n const errors = [];\n for (let i = 0; i < this.branches.length; i++) {\n ctx.pushBranch();\n this.branches[i].traverseApply(data, ctx);\n if (!ctx.hasError()) {\n if (this.branches[i].includesTransform)\n return ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs);\n return ctx.popBranch();\n }\n errors.push(ctx.popBranch().error);\n }\n ctx.errorFromNodeContext({ code: \"union\", errors, meta: this.meta });\n };\n traverseOptimistic = (data) => {\n for (let i = 0; i < this.branches.length; i++) {\n const branch = this.branches[i];\n if (branch.traverseAllows(data)) {\n if (branch.contextFreeMorph)\n return branch.contextFreeMorph(data);\n // if we're calling this function and the matching branch didn't have\n // a context-free morph, it shouldn't have morphs at all\n return data;\n }\n }\n return unset;\n };\n compile(js) {\n if (!this.discriminant ||\n // if we have a union of two units like `boolean`, the\n // undiscriminated compilation will be just as fast\n (this.unitBranches.length === this.branches.length &&\n this.branches.length === 2))\n return this.compileIndiscriminable(js);\n // we need to access the path as optional so we don't throw if it isn't present\n let condition = this.discriminant.optionallyChainedPropString;\n if (this.discriminant.kind === \"domain\")\n condition = `typeof ${condition} === \"object\" ? ${condition} === null ? \"null\" : \"object\" : typeof ${condition} === \"function\" ? \"object\" : typeof ${condition}`;\n const cases = this.discriminant.cases;\n const caseKeys = Object.keys(cases);\n const { optimistic } = js;\n // only the first layer can be optimistic\n js.optimistic = false;\n js.block(`switch(${condition})`, () => {\n for (const k in cases) {\n const v = cases[k];\n const caseCondition = k === \"default\" ? k : `case ${k}`;\n js.line(`${caseCondition}: return ${v === true ?\n optimistic ? js.data\n : v\n : optimistic ?\n `${js.invoke(v)} ? ${v.contextFreeMorph ? `${registeredReference(v.contextFreeMorph)}(${js.data})` : js.data} : \"${unset}\"`\n : js.invoke(v)}`);\n }\n return js;\n });\n if (js.traversalKind === \"Allows\") {\n js.return(optimistic ? `\"${unset}\"` : false);\n return;\n }\n const expected = describeBranches(this.discriminant.kind === \"domain\" ?\n caseKeys.map(k => {\n const jsTypeOf = k.slice(1, -1);\n return jsTypeOf === \"function\" ?\n domainDescriptions.object\n : domainDescriptions[jsTypeOf];\n })\n : caseKeys);\n const serializedPathSegments = this.discriminant.path.map(k => typeof k === \"symbol\" ? registeredReference(k) : JSON.stringify(k));\n const serializedExpected = JSON.stringify(expected);\n const serializedActual = this.discriminant.kind === \"domain\" ?\n `${serializedTypeOfDescriptions}[${condition}]`\n : `${serializedPrintable}(${condition})`;\n js.line(`ctx.errorFromNodeContext({\n\tcode: \"predicate\",\n\texpected: ${serializedExpected},\n\tactual: ${serializedActual},\n\trelativePath: [${serializedPathSegments}],\n\tmeta: ${this.compiledMeta}\n})`);\n }\n compileIndiscriminable(js) {\n if (js.traversalKind === \"Apply\") {\n js.const(\"errors\", \"[]\");\n for (const branch of this.branches) {\n js.line(\"ctx.pushBranch()\")\n .line(js.invoke(branch))\n .if(\"!ctx.hasError()\", () => js.return(branch.includesTransform ?\n \"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)\"\n : \"ctx.popBranch()\"))\n .line(\"errors.push(ctx.popBranch().error)\");\n }\n js.line(`ctx.errorFromNodeContext({ code: \"union\", errors, meta: ${this.compiledMeta} })`);\n }\n else {\n const { optimistic } = js;\n // only the first layer can be optimistic\n js.optimistic = false;\n for (const branch of this.branches) {\n js.if(`${js.invoke(branch)}`, () => js.return(optimistic ?\n branch.contextFreeMorph ?\n `${registeredReference(branch.contextFreeMorph)}(${js.data})`\n : js.data\n : true));\n }\n js.return(optimistic ? `\"${unset}\"` : false);\n }\n }\n get nestableExpression() {\n // avoid adding unnecessary parentheses around boolean since it's\n // already collapsed to a single keyword\n return this.isBoolean ? \"boolean\" : `(${this.expression})`;\n }\n discriminate() {\n if (this.branches.length < 2 || this.isCyclic)\n return null;\n if (this.unitBranches.length === this.branches.length) {\n const cases = flatMorph(this.unitBranches, (i, n) => [\n `${n.in.serializedValue}`,\n n.hasKind(\"morph\") ? n : true\n ]);\n return {\n kind: \"unit\",\n path: [],\n optionallyChainedPropString: \"data\",\n cases\n };\n }\n const candidates = [];\n for (let lIndex = 0; lIndex < this.branches.length - 1; lIndex++) {\n const l = this.branches[lIndex];\n for (let rIndex = lIndex + 1; rIndex < this.branches.length; rIndex++) {\n const r = this.branches[rIndex];\n const result = intersectNodesRoot(l.in, r.in, l.$);\n if (!(result instanceof Disjoint))\n continue;\n for (const entry of result) {\n if (!entry.kind || entry.optional)\n continue;\n let lSerialized;\n let rSerialized;\n if (entry.kind === \"domain\") {\n const lValue = entry.l;\n const rValue = entry.r;\n lSerialized = `\"${typeof lValue === \"string\" ? lValue : lValue.domain}\"`;\n rSerialized = `\"${typeof rValue === \"string\" ? rValue : rValue.domain}\"`;\n }\n else if (entry.kind === \"unit\") {\n lSerialized = entry.l.serializedValue;\n rSerialized = entry.r.serializedValue;\n }\n else\n continue;\n const matching = candidates.find(d => arrayEquals(d.path, entry.path) && d.kind === entry.kind);\n if (!matching) {\n candidates.push({\n kind: entry.kind,\n cases: {\n [lSerialized]: {\n branchIndices: [lIndex],\n condition: entry.l\n },\n [rSerialized]: {\n branchIndices: [rIndex],\n condition: entry.r\n }\n },\n path: entry.path\n });\n }\n else {\n if (matching.cases[lSerialized]) {\n matching.cases[lSerialized].branchIndices = appendUnique(matching.cases[lSerialized].branchIndices, lIndex);\n }\n else {\n matching.cases[lSerialized] ??= {\n branchIndices: [lIndex],\n condition: entry.l\n };\n }\n if (matching.cases[rSerialized]) {\n matching.cases[rSerialized].branchIndices = appendUnique(matching.cases[rSerialized].branchIndices, rIndex);\n }\n else {\n matching.cases[rSerialized] ??= {\n branchIndices: [rIndex],\n condition: entry.r\n };\n }\n }\n }\n }\n }\n const orderedCandidates = this.ordered ? orderCandidates(candidates, this.branches) : candidates;\n if (!orderedCandidates.length)\n return null;\n const ctx = createCaseResolutionContext(orderedCandidates, this);\n const cases = {};\n for (const k in ctx.best.cases) {\n const resolution = resolveCase(ctx, k);\n if (resolution === null) {\n cases[k] = true;\n continue;\n }\n // if all the branches ended up back in pruned, we'd loop if we continued\n // so just bail out- nothing left to discriminate\n if (resolution.length === this.branches.length)\n return null;\n if (this.ordered) {\n // ensure the original order of the pruned branches is preserved\n resolution.sort((l, r) => l.originalIndex - r.originalIndex);\n }\n const branches = resolution.map(entry => entry.branch);\n const caseNode = branches.length === 1 ?\n branches[0]\n : this.$.node(\"union\", this.ordered ? { branches, ordered: true } : branches);\n Object.assign(this.referencesById, caseNode.referencesById);\n cases[k] = caseNode;\n }\n if (ctx.defaultEntries.length) {\n // we don't have to worry about order here as it is always preserved\n // within defaultEntries\n const branches = ctx.defaultEntries.map(entry => entry.branch);\n cases.default = this.$.node(\"union\", this.ordered ? { branches, ordered: true } : branches, {\n prereduced: true\n });\n Object.assign(this.referencesById, cases.default.referencesById);\n }\n return Object.assign(ctx.location, {\n cases\n });\n }\n}\nconst createCaseResolutionContext = (orderedCandidates, node) => {\n const best = orderedCandidates.sort((l, r) => Object.keys(r.cases).length - Object.keys(l.cases).length)[0];\n const location = {\n kind: best.kind,\n path: best.path,\n optionallyChainedPropString: optionallyChainPropString(best.path)\n };\n const defaultEntries = node.branches.map((branch, originalIndex) => ({\n originalIndex,\n branch\n }));\n return {\n best,\n location,\n defaultEntries,\n node\n };\n};\nconst resolveCase = (ctx, key) => {\n const caseCtx = ctx.best.cases[key];\n const discriminantNode = discriminantCaseToNode(caseCtx.condition, ctx.location.path, ctx.node.$);\n let resolvedEntries = [];\n const nextDefaults = [];\n for (let i = 0; i < ctx.defaultEntries.length; i++) {\n const entry = ctx.defaultEntries[i];\n if (caseCtx.branchIndices.includes(entry.originalIndex)) {\n const pruned = pruneDiscriminant(ctx.node.branches[entry.originalIndex], ctx.location);\n if (pruned === null) {\n // if any branch of the union has no constraints (i.e. is\n // unknown), the others won't affect the resolution type, but could still\n // remove additional cases from defaultEntries\n resolvedEntries = null;\n }\n else {\n resolvedEntries?.push({\n originalIndex: entry.originalIndex,\n branch: pruned\n });\n }\n }\n else if (\n // we shouldn't need a special case for alias to avoid the below\n // once alias resolution issues are improved:\n // https://github.com/arktypeio/arktype/issues/1026\n entry.branch.hasKind(\"alias\") &&\n discriminantNode.hasKind(\"domain\") &&\n discriminantNode.domain === \"object\")\n resolvedEntries?.push(entry);\n else {\n if (entry.branch.in.overlaps(discriminantNode)) {\n // include cases where an object not including the\n // discriminant path might have that value present as an undeclared key\n const overlapping = pruneDiscriminant(entry.branch, ctx.location);\n resolvedEntries?.push({\n originalIndex: entry.originalIndex,\n branch: overlapping\n });\n }\n nextDefaults.push(entry);\n }\n }\n ctx.defaultEntries = nextDefaults;\n return resolvedEntries;\n};\nconst orderCandidates = (candidates, originalBranches) => {\n const viableCandidates = candidates.filter(candidate => {\n const caseGroups = Object.values(candidate.cases).map(caseCtx => caseCtx.branchIndices);\n // compare each group against all subsequent groups.\n for (let i = 0; i < caseGroups.length - 1; i++) {\n const currentGroup = caseGroups[i];\n for (let j = i + 1; j < caseGroups.length; j++) {\n const nextGroup = caseGroups[j];\n // for each group pair, check for branches whose order was reversed\n for (const currentIndex of currentGroup) {\n for (const nextIndex of nextGroup) {\n if (currentIndex > nextIndex) {\n if (originalBranches[currentIndex].overlaps(originalBranches[nextIndex])) {\n // if the order was not preserved and the branches overlap,\n // this is not a viable discriminant as it cannot guarantee the same behavior\n return false;\n }\n }\n }\n }\n }\n }\n // branch groups preserved order for non-disjoint pairs and is viable\n return true;\n });\n return viableCandidates;\n};\nconst discriminantCaseToNode = (caseDiscriminant, path, $) => {\n let node = caseDiscriminant === \"undefined\" ? $.node(\"unit\", { unit: undefined })\n : caseDiscriminant === \"null\" ? $.node(\"unit\", { unit: null })\n : caseDiscriminant === \"boolean\" ? $.units([true, false])\n : caseDiscriminant;\n for (let i = path.length - 1; i >= 0; i--) {\n const key = path[i];\n node = $.node(\"intersection\", typeof key === \"number\" ?\n {\n proto: \"Array\",\n // create unknown for preceding elements (could be optimized with safe imports)\n sequence: [...range(key).map(_ => ({})), node]\n }\n : {\n domain: \"object\",\n required: [{ key, value: node }]\n });\n }\n return node;\n};\nconst optionallyChainPropString = (path) => path.reduce((acc, k) => acc + compileLiteralPropAccess(k, true), \"data\");\nconst serializedTypeOfDescriptions = registeredReference(jsTypeOfDescriptions);\nconst serializedPrintable = registeredReference(printable);\nexport const Union = {\n implementation,\n Node: UnionNode\n};\nconst discriminantToJson = (discriminant) => ({\n kind: discriminant.kind,\n path: discriminant.path.map(k => typeof k === \"string\" ? k : compileSerializedValue(k)),\n cases: flatMorph(discriminant.cases, (k, node) => [\n k,\n node === true ? node\n : node.hasKind(\"union\") && node.discriminantJson ? node.discriminantJson\n : node.json\n ])\n});\nconst describeExpressionOptions = {\n delimiter: \" | \",\n finalDelimiter: \" | \"\n};\nconst expressBranches = (expressions) => describeBranches(expressions, describeExpressionOptions);\nexport const describeBranches = (descriptions, opts) => {\n const delimiter = opts?.delimiter ?? \", \";\n const finalDelimiter = opts?.finalDelimiter ?? \" or \";\n if (descriptions.length === 0)\n return \"never\";\n if (descriptions.length === 1)\n return descriptions[0];\n if ((descriptions.length === 2 &&\n descriptions[0] === \"false\" &&\n descriptions[1] === \"true\") ||\n (descriptions[0] === \"true\" && descriptions[1] === \"false\"))\n return \"boolean\";\n // keep track of seen descriptions to avoid duplication\n const seen = {};\n const unique = descriptions.filter(s => (seen[s] ? false : (seen[s] = true)));\n const last = unique.pop();\n return `${unique.join(delimiter)}${unique.length ? finalDelimiter : \"\"}${last}`;\n};\nexport const intersectBranches = (l, r, ctx) => {\n // If the corresponding r branch is identified as a subtype of an l branch, the\n // value at rIndex is set to null so we can avoid including previous/future\n // intersections in the reduced result.\n const batchesByR = r.map(() => []);\n for (let lIndex = 0; lIndex < l.length; lIndex++) {\n let candidatesByR = {};\n for (let rIndex = 0; rIndex < r.length; rIndex++) {\n if (batchesByR[rIndex] === null) {\n // rBranch is a subtype of an lBranch and\n // will not yield any distinct intersection\n continue;\n }\n if (l[lIndex].equals(r[rIndex])) {\n // Combination of subtype and supertype cases\n batchesByR[rIndex] = null;\n candidatesByR = {};\n break;\n }\n const branchIntersection = intersectOrPipeNodes(l[lIndex], r[rIndex], ctx);\n if (branchIntersection instanceof Disjoint) {\n // Doesn't tell us anything useful about their relationships\n // with other branches\n continue;\n }\n if (branchIntersection.equals(l[lIndex])) {\n // If the current l branch is a subtype of r, intersections\n // with previous and remaining branches of r won't lead to\n // distinct intersections.\n batchesByR[rIndex].push(l[lIndex]);\n candidatesByR = {};\n break;\n }\n if (branchIntersection.equals(r[rIndex])) {\n // If the current r branch is a subtype of l, set its batch to\n // null, removing any previous intersections and preventing any\n // of its remaining intersections from being computed.\n batchesByR[rIndex] = null;\n }\n else {\n // If neither l nor r is a subtype of the other, add their\n // intersection as a candidate (could still be removed if it is\n // determined l or r is a subtype of a remaining branch).\n candidatesByR[rIndex] = branchIntersection;\n }\n }\n for (const rIndex in candidatesByR) {\n // batchesByR at rIndex should never be null if it is in candidatesByR\n batchesByR[rIndex][lIndex] = candidatesByR[rIndex];\n }\n }\n // Compile the reduced intersection result, including:\n // \t\t1. Remaining candidates resulting from distinct intersections or strict subtypes of r\n // \t\t2. Original r branches corresponding to indices with a null batch (subtypes of l)\n const resultBranches = batchesByR.flatMap(\n // ensure unions returned from branchable intersections like sequence are flattened\n (batch, i) => batch?.flatMap(branch => branch.branches) ?? r[i]);\n return resultBranches.length === 0 ?\n Disjoint.init(\"union\", l, r)\n : resultBranches;\n};\nexport const reduceBranches = ({ branches, ordered }) => {\n if (branches.length < 2)\n return branches;\n const uniquenessByIndex = branches.map(() => true);\n for (let i = 0; i < branches.length; i++) {\n for (let j = i + 1; j < branches.length && uniquenessByIndex[i] && uniquenessByIndex[j]; j++) {\n if (branches[i].equals(branches[j])) {\n // if the two branches are equal, only \"j\" is marked as\n // redundant so at least one copy could still be included in\n // the final set of branches.\n uniquenessByIndex[j] = false;\n continue;\n }\n const intersection = intersectNodesRoot(branches[i].in, branches[j].in, branches[0].$);\n if (intersection instanceof Disjoint)\n continue;\n if (!ordered)\n assertDeterminateOverlap(branches[i], branches[j]);\n if (intersection.equals(branches[i].in)) {\n // preserve ordered branches that are a subtype of a subsequent branch\n uniquenessByIndex[i] = !!ordered;\n }\n else if (intersection.equals(branches[j].in))\n uniquenessByIndex[j] = false;\n }\n }\n return branches.filter((_, i) => uniquenessByIndex[i]);\n};\nconst assertDeterminateOverlap = (l, r) => {\n if (!l.includesTransform && !r.includesTransform)\n return;\n if (!arrayEquals(l.shallowMorphs, r.shallowMorphs)) {\n throwParseError(writeIndiscriminableMorphMessage(l.expression, r.expression));\n }\n if (!arrayEquals(l.flatMorphs, r.flatMorphs, {\n isEqual: (l, r) => l.propString === r.propString &&\n (l.node.hasKind(\"morph\") && r.node.hasKind(\"morph\") ?\n l.node.hasEqualMorphs(r.node)\n : l.node.hasKind(\"intersection\") && r.node.hasKind(\"intersection\") ?\n l.node.structure?.structuralMorphRef ===\n r.node.structure?.structuralMorphRef\n : false)\n })) {\n throwParseError(writeIndiscriminableMorphMessage(l.expression, r.expression));\n }\n};\nexport const pruneDiscriminant = (discriminantBranch, discriminantCtx) => discriminantBranch.transform((nodeKind, inner) => {\n if (nodeKind === \"domain\" || nodeKind === \"unit\")\n return null;\n return inner;\n}, {\n shouldTransform: (node, ctx) => {\n // safe to cast here as index nodes are never discriminants\n const propString = optionallyChainPropString(ctx.path);\n if (!discriminantCtx.optionallyChainedPropString.startsWith(propString))\n return false;\n if (node.hasKind(\"domain\") && node.domain === \"object\")\n // if we've already checked a path at least as long as the current one,\n // we don't need to revalidate that we're in an object\n return true;\n if ((node.hasKind(\"domain\") || discriminantCtx.kind === \"unit\") &&\n propString === discriminantCtx.optionallyChainedPropString)\n // if the discriminant has already checked the domain at the current path\n // (or a unit literal, implying a domain), we don't need to recheck it\n return true;\n // we don't need to recurse into index nodes as they will never\n // have a required path therefore can't be used to discriminate\n return node.children.length !== 0 && node.kind !== \"index\";\n }\n});\nexport const writeIndiscriminableMorphMessage = (lDescription, rDescription) => `An unordered union of a type including a morph and a type with overlapping input is indeterminate:\nLeft: ${lDescription}\nRight: ${rDescription}`;\nexport const writeOrderedIntersectionMessage = (lDescription, rDescription) => `The intersection of two ordered unions is indeterminate:\nLeft: ${lDescription}\nRight: ${rDescription}`;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M4.929 4.929 19.07 19.071', key: '196cmz' }],\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n];\n\n/**\n * @component @name Ban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC45MjkgNC45MjkgMTkuMDcgMTkuMDcxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ban\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Ban = createLucideIcon('ban', __iconNode);\n\nexport default Ban;\n","import { ParseError, flatMorph, hasDomain, isArray, isThunk, printable, throwInternalError, throwParseError } from \"@ark/util\";\nimport { mergeConfigs } from \"./config.js\";\nimport { GenericRoot, LazyGenericBody } from \"./generic.js\";\nimport { nodeImplementationsByKind } from \"./kinds.js\";\nimport { RootModule, bindModule } from \"./module.js\";\nimport { nodesByRegisteredId, parseNode, registerNodeId, schemaKindOf, withId } from \"./parse.js\";\nimport { Alias } from \"./roots/alias.js\";\nimport { CompiledFunction, NodeCompiler } from \"./shared/compile.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { Traversal } from \"./shared/traversal.js\";\nimport { arkKind, hasArkKind, isNode } from \"./shared/utils.js\";\nconst schemaBranchesOf = (schema) => isArray(schema) ? schema\n : \"branches\" in schema && isArray(schema.branches) ? schema.branches\n : undefined;\nconst throwMismatchedNodeRootError = (expected, actual) => throwParseError(`Node of kind ${actual} is not valid as a ${expected} definition`);\nexport const writeDuplicateAliasError = (alias) => `#${alias} duplicates public alias ${alias}`;\nconst scopesByName = {};\n$ark.ambient ??= {};\nlet rawUnknownUnion;\nconst rootScopeFnName = \"function $\";\nconst precompile = (references) => bindPrecompilation(references, precompileReferences(references));\nconst bindPrecompilation = (references, precompiler) => {\n const precompilation = precompiler.write(rootScopeFnName, 4);\n const compiledTraversals = precompiler.compile()();\n for (const node of references) {\n if (node.precompilation) {\n // if node has already been bound to another scope or anonymous type, don't rebind it\n continue;\n }\n node.traverseAllows =\n compiledTraversals[`${node.id}Allows`].bind(compiledTraversals);\n if (node.isRoot() && !node.allowsRequiresContext) {\n // if the reference doesn't require context, we can assign over\n // it directly to avoid having to initialize it\n node.allows = node.traverseAllows;\n }\n node.traverseApply =\n compiledTraversals[`${node.id}Apply`].bind(compiledTraversals);\n if (compiledTraversals[`${node.id}Optimistic`]) {\n ;\n node.traverseOptimistic =\n compiledTraversals[`${node.id}Optimistic`].bind(compiledTraversals);\n }\n node.precompilation = precompilation;\n }\n};\nconst precompileReferences = (references) => new CompiledFunction().return(references.reduce((js, node) => {\n const allowsCompiler = new NodeCompiler({ kind: \"Allows\" }).indent();\n node.compile(allowsCompiler);\n const allowsJs = allowsCompiler.write(`${node.id}Allows`);\n const applyCompiler = new NodeCompiler({ kind: \"Apply\" }).indent();\n node.compile(applyCompiler);\n const applyJs = applyCompiler.write(`${node.id}Apply`);\n const result = `${js}${allowsJs},\\n${applyJs},\\n`;\n if (!node.hasKind(\"union\"))\n return result;\n const optimisticCompiler = new NodeCompiler({\n kind: \"Allows\",\n optimistic: true\n }).indent();\n node.compile(optimisticCompiler);\n const optimisticJs = optimisticCompiler.write(`${node.id}Optimistic`);\n return `${result}${optimisticJs},\\n`;\n}, \"{\\n\") + \"}\");\nexport class BaseScope {\n config;\n resolvedConfig;\n name;\n get [arkKind]() {\n return \"scope\";\n }\n referencesById = {};\n references = [];\n resolutions = {};\n exportedNames = [];\n aliases = {};\n resolved = false;\n nodesByHash = {};\n intrinsic;\n constructor(\n /** The set of names defined at the root-level of the scope mapped to their\n * corresponding definitions.**/\n def, config) {\n this.config = mergeConfigs($ark.config, config);\n this.resolvedConfig = mergeConfigs($ark.resolvedConfig, config);\n this.name =\n this.resolvedConfig.name ??\n `anonymousScope${Object.keys(scopesByName).length}`;\n if (this.name in scopesByName)\n throwParseError(`A Scope already named ${this.name} already exists`);\n scopesByName[this.name] = this;\n const aliasEntries = Object.entries(def).map(entry => this.preparseOwnAliasEntry(...entry));\n for (const [k, v] of aliasEntries) {\n let name = k;\n if (k[0] === \"#\") {\n name = k.slice(1);\n if (name in this.aliases)\n throwParseError(writeDuplicateAliasError(name));\n this.aliases[name] = v;\n }\n else {\n if (name in this.aliases)\n throwParseError(writeDuplicateAliasError(k));\n this.aliases[name] = v;\n this.exportedNames.push(name);\n }\n if (!hasArkKind(v, \"module\") &&\n !hasArkKind(v, \"generic\") &&\n !isThunk(v)) {\n const preparsed = this.preparseOwnDefinitionFormat(v, { alias: name });\n this.resolutions[name] =\n hasArkKind(preparsed, \"root\") ?\n this.bindReference(preparsed)\n : this.createParseContext(preparsed).id;\n }\n }\n // reduce union of all possible values reduces to unknown\n rawUnknownUnion ??= this.node(\"union\", {\n branches: [\n \"string\",\n \"number\",\n \"object\",\n \"bigint\",\n \"symbol\",\n { unit: true },\n { unit: false },\n { unit: undefined },\n { unit: null }\n ]\n }, { prereduced: true });\n this.nodesByHash[rawUnknownUnion.hash] = this.node(\"intersection\", {}, { prereduced: true });\n this.intrinsic =\n $ark.intrinsic ?\n flatMorph($ark.intrinsic, (k, v) => \n // don't include cyclic aliases from JSON scope\n k.startsWith(\"json\") ? [] : [k, this.bindReference(v)])\n // intrinsic won't be available during bootstrapping, so we lie\n // about the type here as an extrnal convenience\n : {};\n }\n cacheGetter(name, value) {\n Object.defineProperty(this, name, { value });\n return value;\n }\n get internal() {\n return this;\n }\n // json is populated when the scope is exported, so ensure it is populated\n // before allowing external access\n _json;\n get json() {\n if (!this._json)\n this.export();\n return this._json;\n }\n defineSchema(def) {\n return def;\n }\n generic = (...params) => {\n const $ = this;\n return (def, possibleHkt) => new GenericRoot(params, possibleHkt ? new LazyGenericBody(def) : def, $, $, possibleHkt ?? null);\n };\n units = (values, opts) => {\n const uniqueValues = [];\n for (const value of values)\n if (!uniqueValues.includes(value))\n uniqueValues.push(value);\n const branches = uniqueValues.map(unit => this.node(\"unit\", { unit }, opts));\n return this.node(\"union\", branches, {\n ...opts,\n prereduced: true\n });\n };\n lazyResolutions = [];\n lazilyResolve(resolve, syntheticAlias) {\n const node = this.node(\"alias\", {\n reference: syntheticAlias ?? \"synthetic\",\n resolve\n }, { prereduced: true });\n if (!this.resolved)\n this.lazyResolutions.push(node);\n return node;\n }\n schema = (schema, opts) => this.finalize(this.parseSchema(schema, opts));\n parseSchema = (schema, opts) => this.node(schemaKindOf(schema), schema, opts);\n preparseNode(kinds, schema, opts) {\n let kind = typeof kinds === \"string\" ? kinds : schemaKindOf(schema, kinds);\n if (isNode(schema) && schema.kind === kind)\n return schema;\n if (kind === \"alias\" && !opts?.prereduced) {\n const { reference } = Alias.implementation.normalize(schema, this);\n if (reference.startsWith(\"$\")) {\n const resolution = this.resolveRoot(reference.slice(1));\n schema = resolution;\n kind = resolution.kind;\n }\n }\n else if (kind === \"union\" && hasDomain(schema, \"object\")) {\n const branches = schemaBranchesOf(schema);\n if (branches?.length === 1) {\n schema = branches[0];\n kind = schemaKindOf(schema);\n }\n }\n if (isNode(schema) && schema.kind === kind)\n return schema;\n const impl = nodeImplementationsByKind[kind];\n const normalizedSchema = impl.normalize?.(schema, this) ?? schema;\n // check again after normalization in case a node is a valid collapsed\n // schema for the kind (e.g. sequence can collapse to element accepting a Node')\n if (isNode(normalizedSchema)) {\n return normalizedSchema.kind === kind ?\n normalizedSchema\n : throwMismatchedNodeRootError(kind, normalizedSchema.kind);\n }\n return {\n ...opts,\n $: this,\n kind,\n def: normalizedSchema,\n prefix: opts.alias ?? kind\n };\n }\n bindReference(reference) {\n let bound;\n if (isNode(reference)) {\n bound =\n reference.$ === this ?\n reference\n : new reference.constructor(reference.attachments, this);\n }\n else {\n bound =\n reference.$ === this ?\n reference\n : new GenericRoot(reference.params, reference.bodyDef, reference.$, this, reference.hkt);\n }\n if (!this.resolved) {\n // we're still parsing the scope itself, so defer compilation but\n // add the node as a reference\n Object.assign(this.referencesById, bound.referencesById);\n }\n return bound;\n }\n resolveRoot(name) {\n return (this.maybeResolveRoot(name) ??\n throwParseError(writeUnresolvableMessage(name)));\n }\n maybeResolveRoot(name) {\n const result = this.maybeResolve(name);\n if (hasArkKind(result, \"generic\"))\n return;\n return result;\n }\n /** If name is a valid reference to a submodule alias, return its resolution */\n maybeResolveSubalias(name) {\n return (maybeResolveSubalias(this.aliases, name) ??\n maybeResolveSubalias(this.ambient, name));\n }\n get ambient() {\n return $ark.ambient;\n }\n maybeResolve(name) {\n const cached = this.resolutions[name];\n if (cached) {\n if (typeof cached !== \"string\")\n return this.bindReference(cached);\n const v = nodesByRegisteredId[cached];\n if (hasArkKind(v, \"root\"))\n return (this.resolutions[name] = v);\n if (hasArkKind(v, \"context\")) {\n if (v.phase === \"resolving\") {\n return this.node(\"alias\", { reference: `$${name}` }, { prereduced: true });\n }\n if (v.phase === \"resolved\") {\n return throwInternalError(`Unexpected resolved context for was uncached by its scope: ${printable(v)}`);\n }\n v.phase = \"resolving\";\n const node = this.bindReference(this.parseOwnDefinitionFormat(v.def, v));\n v.phase = \"resolved\";\n nodesByRegisteredId[node.id] = node;\n nodesByRegisteredId[v.id] = node;\n return (this.resolutions[name] = node);\n }\n return throwInternalError(`Unexpected nodesById entry for ${cached}: ${printable(v)}`);\n }\n let def = this.aliases[name] ?? this.ambient?.[name];\n if (!def)\n return this.maybeResolveSubalias(name);\n def = this.normalizeRootScopeValue(def);\n if (hasArkKind(def, \"generic\"))\n return (this.resolutions[name] = this.bindReference(def));\n if (hasArkKind(def, \"module\")) {\n if (!def.root)\n throwParseError(writeMissingSubmoduleAccessMessage(name));\n return (this.resolutions[name] = this.bindReference(def.root));\n }\n return (this.resolutions[name] = this.parse(def, {\n alias: name\n }));\n }\n createParseContext(input) {\n const id = input.id ?? registerNodeId(input.prefix);\n return (nodesByRegisteredId[id] = Object.assign(input, {\n [arkKind]: \"context\",\n $: this,\n id,\n phase: \"unresolved\"\n }));\n }\n traversal(root) {\n return new Traversal(root, this.resolvedConfig);\n }\n import(...names) {\n return new RootModule(flatMorph(this.export(...names), (alias, value) => [\n `#${alias}`,\n value\n ]));\n }\n precompilation;\n _exportedResolutions;\n _exports;\n export(...names) {\n if (!this._exports) {\n this._exports = {};\n for (const name of this.exportedNames) {\n const def = this.aliases[name];\n this._exports[name] =\n hasArkKind(def, \"module\") ?\n bindModule(def, this)\n : bootstrapAliasReferences(this.maybeResolve(name));\n }\n // force node.resolution getter evaluation\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n for (const node of this.lazyResolutions)\n node.resolution;\n this._exportedResolutions = resolutionsOfModule(this, this._exports);\n this._json = resolutionsToJson(this._exportedResolutions);\n Object.assign(this.resolutions, this._exportedResolutions);\n this.references = Object.values(this.referencesById);\n if (!this.resolvedConfig.jitless) {\n const precompiler = precompileReferences(this.references);\n this.precompilation = precompiler.write(rootScopeFnName, 4);\n bindPrecompilation(this.references, precompiler);\n }\n this.resolved = true;\n }\n const namesToExport = names.length ? names : this.exportedNames;\n return new RootModule(flatMorph(namesToExport, (_, name) => [\n name,\n this._exports[name]\n ]));\n }\n resolve(name) {\n return this.export()[name];\n }\n node = (kinds, nodeSchema, opts = {}) => {\n const ctxOrNode = this.preparseNode(kinds, nodeSchema, opts);\n if (isNode(ctxOrNode))\n return this.bindReference(ctxOrNode);\n const ctx = this.createParseContext(ctxOrNode);\n const node = parseNode(ctx);\n const bound = this.bindReference(node);\n return (nodesByRegisteredId[ctx.id] = bound);\n };\n parse = (def, opts = {}) => this.finalize(this.parseDefinition(def, opts));\n parseDefinition(def, opts = {}) {\n if (hasArkKind(def, \"root\"))\n return this.bindReference(def);\n const ctxInputOrNode = this.preparseOwnDefinitionFormat(def, opts);\n if (hasArkKind(ctxInputOrNode, \"root\"))\n return this.bindReference(ctxInputOrNode);\n const ctx = this.createParseContext(ctxInputOrNode);\n nodesByRegisteredId[ctx.id] = ctx;\n let node = this.bindReference(this.parseOwnDefinitionFormat(def, ctx));\n // if the node is recursive e.g. { box: \"this\" }, we need to make sure it\n // has the original id from context so that its references compile correctly\n if (node.isCyclic)\n node = withId(node, ctx.id);\n nodesByRegisteredId[ctx.id] = node;\n return node;\n }\n finalize(node) {\n bootstrapAliasReferences(node);\n if (!node.precompilation && !this.resolvedConfig.jitless)\n precompile(node.references);\n return node;\n }\n}\nexport class SchemaScope extends BaseScope {\n parseOwnDefinitionFormat(def, ctx) {\n return parseNode(ctx);\n }\n preparseOwnDefinitionFormat(schema, opts) {\n return this.preparseNode(schemaKindOf(schema), schema, opts);\n }\n preparseOwnAliasEntry(k, v) {\n return [k, v];\n }\n normalizeRootScopeValue(v) {\n return v;\n }\n}\nconst bootstrapAliasReferences = (resolution) => {\n const aliases = resolution.references.filter(node => node.hasKind(\"alias\"));\n for (const aliasNode of aliases) {\n Object.assign(aliasNode.referencesById, aliasNode.resolution.referencesById);\n for (const ref of resolution.references) {\n if (aliasNode.id in ref.referencesById)\n Object.assign(ref.referencesById, aliasNode.referencesById);\n }\n }\n return resolution;\n};\nconst resolutionsToJson = (resolutions) => flatMorph(resolutions, (k, v) => [\n k,\n hasArkKind(v, \"root\") || hasArkKind(v, \"generic\") ? v.json\n : hasArkKind(v, \"module\") ? resolutionsToJson(v)\n : throwInternalError(`Unexpected resolution ${printable(v)}`)\n]);\nconst maybeResolveSubalias = (base, name) => {\n const dotIndex = name.indexOf(\".\");\n if (dotIndex === -1)\n return;\n const dotPrefix = name.slice(0, dotIndex);\n const prefixSchema = base[dotPrefix];\n // if the name includes \".\", but the prefix is not an alias, it\n // might be something like a decimal literal, so just fall through to return\n if (prefixSchema === undefined)\n return;\n if (!hasArkKind(prefixSchema, \"module\"))\n return throwParseError(writeNonSubmoduleDotMessage(dotPrefix));\n const subalias = name.slice(dotIndex + 1);\n const resolution = prefixSchema[subalias];\n if (resolution === undefined)\n return maybeResolveSubalias(prefixSchema, subalias);\n if (hasArkKind(resolution, \"root\") || hasArkKind(resolution, \"generic\"))\n return resolution;\n if (hasArkKind(resolution, \"module\")) {\n return (resolution.root ??\n throwParseError(writeMissingSubmoduleAccessMessage(name)));\n }\n throwInternalError(`Unexpected resolution for alias '${name}': ${printable(resolution)}`);\n};\nexport const schemaScope = (aliases, config) => new SchemaScope(aliases, config);\nexport const rootSchemaScope = new SchemaScope({});\nexport const parseAsSchema = (def, opts) => {\n try {\n return rootSchema(def, opts);\n }\n catch (e) {\n if (e instanceof ParseError)\n return e;\n throw e;\n }\n};\nconst resolutionsOfModule = ($, typeSet) => {\n const result = {};\n for (const k in typeSet) {\n const v = typeSet[k];\n if (hasArkKind(v, \"module\")) {\n const innerResolutions = resolutionsOfModule($, v);\n const prefixedResolutions = flatMorph(innerResolutions, (innerK, innerV) => [`${k}.${innerK}`, innerV]);\n Object.assign(result, prefixedResolutions);\n }\n else if (hasArkKind(v, \"root\") || hasArkKind(v, \"generic\"))\n result[k] = v;\n else\n throwInternalError(`Unexpected scope resolution ${printable(v)}`);\n }\n return result;\n};\nexport const writeUnresolvableMessage = (token) => `'${token}' is unresolvable`;\nexport const writeNonSubmoduleDotMessage = (name) => `'${name}' must reference a module to be accessed using dot syntax`;\nexport const writeMissingSubmoduleAccessMessage = (name) => `Reference to submodule '${name}' must specify an alias`;\n// ensure the scope is resolved so JIT will be applied to future types\nrootSchemaScope.export();\nexport const rootSchema = rootSchemaScope.schema;\nexport const node = rootSchemaScope.node;\nexport const defineSchema = rootSchemaScope.defineSchema;\nexport const genericNode = rootSchemaScope.generic;\n","import { arrayEquals, flatMorph, includes, inferred, omit, throwInternalError, throwParseError } from \"@ark/util\";\nimport { mergeToJsonSchemaConfigs } from \"../config.js\";\nimport { throwInvalidOperandError } from \"../constraint.js\";\nimport { BaseNode } from \"../node.js\";\nimport { Disjoint, writeUnsatisfiableExpressionError } from \"../shared/disjoint.js\";\nimport { ArkErrors } from \"../shared/errors.js\";\nimport { structuralKinds } from \"../shared/implement.js\";\nimport { intersectNodesRoot, pipeNodesRoot } from \"../shared/intersections.js\";\nimport { $ark } from \"../shared/registry.js\";\nimport { arkKind, hasArkKind } from \"../shared/utils.js\";\nimport { assertDefaultValueAssignability } from \"../structure/optional.js\";\nexport class BaseRoot extends BaseNode {\n constructor(attachments, $) {\n super(attachments, $);\n // define as a getter to avoid it being enumerable/spreadable\n Object.defineProperty(this, arkKind, { value: \"root\", enumerable: false });\n }\n get internal() {\n return this;\n }\n get \"~standard\"() {\n return {\n vendor: \"arktype\",\n version: 1,\n validate: input => {\n const out = this(input);\n if (out instanceof ArkErrors)\n return out;\n return { value: out };\n }\n };\n }\n as() {\n return this;\n }\n brand(name) {\n if (name === \"\")\n return throwParseError(emptyBrandNameMessage);\n return this;\n }\n readonly() {\n return this;\n }\n branches = this.hasKind(\"union\") ? this.inner.branches : [this];\n distribute(mapBranch, reduceMapped) {\n const mappedBranches = this.branches.map(mapBranch);\n return reduceMapped?.(mappedBranches) ?? mappedBranches;\n }\n get shortDescription() {\n return this.meta.description ?? this.defaultShortDescription;\n }\n toJsonSchema(opts = {}) {\n const ctx = mergeToJsonSchemaConfigs(this.$.resolvedConfig.toJsonSchema, opts);\n ctx.useRefs ||= this.isCyclic;\n // ensure $schema is the first key if present\n const schema = typeof ctx.dialect === \"string\" ? { $schema: ctx.dialect } : {};\n Object.assign(schema, this.toJsonSchemaRecurse(ctx));\n if (ctx.useRefs) {\n schema.$defs = flatMorph(this.references, (i, ref) => ref.isRoot() && !ref.alwaysExpandJsonSchema ?\n [ref.id, ref.toResolvedJsonSchema(ctx)]\n : []);\n }\n return schema;\n }\n toJsonSchemaRecurse(ctx) {\n if (ctx.useRefs && !this.alwaysExpandJsonSchema)\n return { $ref: `#/$defs/${this.id}` };\n return this.toResolvedJsonSchema(ctx);\n }\n get alwaysExpandJsonSchema() {\n return (this.isBasis() ||\n this.kind === \"alias\" ||\n (this.hasKind(\"union\") && this.isBoolean));\n }\n toResolvedJsonSchema(ctx) {\n const result = this.innerToJsonSchema(ctx);\n return Object.assign(result, this.metaJson);\n }\n intersect(r) {\n const rNode = this.$.parseDefinition(r);\n const result = this.rawIntersect(rNode);\n if (result instanceof Disjoint)\n return result;\n return this.$.finalize(result);\n }\n rawIntersect(r) {\n return intersectNodesRoot(this, r, this.$);\n }\n toNeverIfDisjoint() {\n return this;\n }\n and(r) {\n const result = this.intersect(r);\n return result instanceof Disjoint ? result.throw() : result;\n }\n rawAnd(r) {\n const result = this.rawIntersect(r);\n return result instanceof Disjoint ? result.throw() : result;\n }\n or(r) {\n const rNode = this.$.parseDefinition(r);\n return this.$.finalize(this.rawOr(rNode));\n }\n rawOr(r) {\n const branches = [...this.branches, ...r.branches];\n return this.$.node(\"union\", branches);\n }\n map(flatMapEntry) {\n return this.$.schema(this.applyStructuralOperation(\"map\", [flatMapEntry]));\n }\n pick(...keys) {\n return this.$.schema(this.applyStructuralOperation(\"pick\", keys));\n }\n omit(...keys) {\n return this.$.schema(this.applyStructuralOperation(\"omit\", keys));\n }\n required() {\n return this.$.schema(this.applyStructuralOperation(\"required\", []));\n }\n partial() {\n return this.$.schema(this.applyStructuralOperation(\"partial\", []));\n }\n _keyof;\n keyof() {\n if (this._keyof)\n return this._keyof;\n const result = this.applyStructuralOperation(\"keyof\", []).reduce((result, branch) => result.intersect(branch).toNeverIfDisjoint(), $ark.intrinsic.unknown.internal);\n if (result.branches.length === 0) {\n throwParseError(writeUnsatisfiableExpressionError(`keyof ${this.expression}`));\n }\n return (this._keyof = this.$.finalize(result));\n }\n get props() {\n if (this.branches.length !== 1)\n return throwParseError(writeLiteralUnionEntriesMessage(this.expression));\n return [...this.applyStructuralOperation(\"props\", [])[0]];\n }\n merge(r) {\n const rNode = this.$.parseDefinition(r);\n return this.$.schema(rNode.distribute(branch => this.applyStructuralOperation(\"merge\", [\n structureOf(branch) ??\n throwParseError(writeNonStructuralOperandMessage(\"merge\", branch.expression))\n ])));\n }\n applyStructuralOperation(operation, args) {\n return this.distribute(branch => {\n if (branch.equals($ark.intrinsic.object) && operation !== \"merge\")\n // ideally this wouldn't be a special case, but for now it\n // allows us to bypass `assertHasKeys` checks on base\n // instantiations of generics like Pick and Omit. Could\n // potentially be removed once constraints can reference each other:\n // https://github.com/arktypeio/arktype/issues/1053\n return branch;\n const structure = structureOf(branch);\n if (!structure) {\n throwParseError(writeNonStructuralOperandMessage(operation, branch.expression));\n }\n if (operation === \"keyof\")\n return structure.keyof();\n if (operation === \"get\")\n return structure.get(...args);\n if (operation === \"props\")\n return structure.props;\n const structuralMethodName = operation === \"required\" ? \"require\"\n : operation === \"partial\" ? \"optionalize\"\n : operation;\n return this.$.node(\"intersection\", {\n ...branch.inner,\n structure: structure[structuralMethodName](...args)\n });\n });\n }\n get(...path) {\n if (path[0] === undefined)\n return this;\n return this.$.schema(this.applyStructuralOperation(\"get\", path));\n }\n extract(r) {\n const rNode = this.$.parseDefinition(r);\n return this.$.schema(this.branches.filter(branch => branch.extends(rNode)));\n }\n exclude(r) {\n const rNode = this.$.parseDefinition(r);\n return this.$.schema(this.branches.filter(branch => !branch.extends(rNode)));\n }\n array() {\n return this.$.schema(this.isUnknown() ?\n { proto: Array }\n : {\n proto: Array,\n sequence: this\n }, { prereduced: true });\n }\n overlaps(r) {\n const intersection = this.intersect(r);\n return !(intersection instanceof Disjoint);\n }\n extends(r) {\n const intersection = this.intersect(r);\n return (!(intersection instanceof Disjoint) && this.equals(intersection));\n }\n ifExtends(r) {\n return this.extends(r) ? this : undefined;\n }\n subsumes(r) {\n const rNode = this.$.parseDefinition(r);\n return rNode.extends(this);\n }\n configure(meta, selector = \"shallow\") {\n return this.configureReferences(meta, selector);\n }\n describe(description, selector = \"shallow\") {\n return this.configure({ description }, selector);\n }\n // these should ideally be implemented in arktype since they use its syntax\n // https://github.com/arktypeio/arktype/issues/1223\n optional() {\n return [this, \"?\"];\n }\n // these should ideally be implemented in arktype since they use its syntax\n // https://github.com/arktypeio/arktype/issues/1223\n default(thunkableValue) {\n assertDefaultValueAssignability(this, thunkableValue, null);\n return [this, \"=\", thunkableValue];\n }\n from(input) {\n // ideally we might not validate here but for now we need to do determine\n // which morphs to apply\n return this.assert(input);\n }\n _pipe(...morphs) {\n const result = morphs.reduce((acc, morph) => acc.rawPipeOnce(morph), this);\n return this.$.finalize(result);\n }\n tryPipe(...morphs) {\n const result = morphs.reduce((acc, morph) => acc.rawPipeOnce(hasArkKind(morph, \"root\") ? morph : ((In, ctx) => {\n try {\n return morph(In, ctx);\n }\n catch (e) {\n return ctx.error({\n code: \"predicate\",\n predicate: morph,\n actual: `aborted due to error:\\n ${e}\\n`\n });\n }\n })), this);\n return this.$.finalize(result);\n }\n pipe = Object.assign(this._pipe.bind(this), {\n try: this.tryPipe.bind(this)\n });\n to(def) {\n return this.$.finalize(this.toNode(this.$.parseDefinition(def)));\n }\n toNode(root) {\n const result = pipeNodesRoot(this, root, this.$);\n if (result instanceof Disjoint)\n return result.throw();\n return result;\n }\n rawPipeOnce(morph) {\n if (hasArkKind(morph, \"root\"))\n return this.toNode(morph);\n return this.distribute(branch => branch.hasKind(\"morph\") ?\n this.$.node(\"morph\", {\n in: branch.inner.in,\n morphs: [...branch.morphs, morph]\n })\n : this.$.node(\"morph\", {\n in: branch,\n morphs: [morph]\n }), this.$.parseSchema);\n }\n narrow(predicate) {\n return this.constrainOut(\"predicate\", predicate);\n }\n constrain(kind, schema) {\n return this._constrain(\"root\", kind, schema);\n }\n constrainIn(kind, schema) {\n return this._constrain(\"in\", kind, schema);\n }\n constrainOut(kind, schema) {\n return this._constrain(\"out\", kind, schema);\n }\n _constrain(io, kind, schema) {\n const constraint = this.$.node(kind, schema);\n if (constraint.isRoot()) {\n // if the node reduces to `unknown`, nothing to do (e.g. minLength: 0)\n return constraint.isUnknown() ? this : (throwInternalError(`Unexpected constraint node ${constraint}`));\n }\n const operand = io === \"root\" ? this : this[io];\n if (operand.hasKind(\"morph\") ||\n (constraint.impliedBasis && !operand.extends(constraint.impliedBasis))) {\n return throwInvalidOperandError(kind, constraint.impliedBasis, this);\n }\n const partialIntersection = this.$.node(\"intersection\", {\n // important this is constraint.kind instead of kind in case\n // the node was reduced during parsing\n [constraint.kind]: constraint\n });\n const result = io === \"out\" ?\n pipeNodesRoot(this, partialIntersection, this.$)\n : intersectNodesRoot(this, partialIntersection, this.$);\n if (result instanceof Disjoint)\n result.throw();\n return this.$.finalize(result);\n }\n onUndeclaredKey(cfg) {\n const rule = typeof cfg === \"string\" ? cfg : cfg.rule;\n const deep = typeof cfg === \"string\" ? false : cfg.deep;\n return this.$.finalize(this.transform((kind, inner) => kind === \"structure\" ?\n rule === \"ignore\" ?\n omit(inner, { undeclared: 1 })\n : { ...inner, undeclared: rule }\n : inner, deep ? undefined : ({ shouldTransform: node => !includes(structuralKinds, node.kind) })));\n }\n hasEqualMorphs(r) {\n if (!this.includesTransform && !r.includesTransform)\n return true;\n if (!arrayEquals(this.shallowMorphs, r.shallowMorphs))\n return false;\n if (!arrayEquals(this.flatMorphs, r.flatMorphs, {\n isEqual: (l, r) => l.propString === r.propString &&\n (l.node.hasKind(\"morph\") && r.node.hasKind(\"morph\") ?\n l.node.hasEqualMorphs(r.node)\n : l.node.hasKind(\"intersection\") && r.node.hasKind(\"intersection\") ?\n l.node.structure?.structuralMorphRef ===\n r.node.structure?.structuralMorphRef\n : false)\n }))\n return false;\n return true;\n }\n onDeepUndeclaredKey(behavior) {\n return this.onUndeclaredKey({ rule: behavior, deep: true });\n }\n filter(predicate) {\n return this.constrainIn(\"predicate\", predicate);\n }\n divisibleBy(schema) {\n return this.constrain(\"divisor\", schema);\n }\n matching(schema) {\n return this.constrain(\"pattern\", schema);\n }\n atLeast(schema) {\n return this.constrain(\"min\", schema);\n }\n atMost(schema) {\n return this.constrain(\"max\", schema);\n }\n moreThan(schema) {\n return this.constrain(\"min\", exclusivizeRangeSchema(schema));\n }\n lessThan(schema) {\n return this.constrain(\"max\", exclusivizeRangeSchema(schema));\n }\n atLeastLength(schema) {\n return this.constrain(\"minLength\", schema);\n }\n atMostLength(schema) {\n return this.constrain(\"maxLength\", schema);\n }\n moreThanLength(schema) {\n return this.constrain(\"minLength\", exclusivizeRangeSchema(schema));\n }\n lessThanLength(schema) {\n return this.constrain(\"maxLength\", exclusivizeRangeSchema(schema));\n }\n exactlyLength(schema) {\n return this.constrain(\"exactLength\", schema);\n }\n atOrAfter(schema) {\n return this.constrain(\"after\", schema);\n }\n atOrBefore(schema) {\n return this.constrain(\"before\", schema);\n }\n laterThan(schema) {\n return this.constrain(\"after\", exclusivizeRangeSchema(schema));\n }\n earlierThan(schema) {\n return this.constrain(\"before\", exclusivizeRangeSchema(schema));\n }\n}\nexport const emptyBrandNameMessage = `Expected a non-empty brand name after #`;\nexport const exclusivizeRangeSchema = (schema) => (typeof schema === \"object\" && !(schema instanceof Date) ?\n { ...schema, exclusive: true }\n : {\n rule: schema,\n exclusive: true\n });\nexport const typeOrTermExtends = (t, base) => hasArkKind(base, \"root\") ?\n hasArkKind(t, \"root\") ? t.extends(base)\n : base.allows(t)\n : hasArkKind(t, \"root\") ? t.hasUnit(base)\n : base === t;\nconst structureOf = (branch) => {\n if (branch.hasKind(\"morph\"))\n return null;\n if (branch.hasKind(\"intersection\")) {\n return (branch.inner.structure ??\n (branch.basis?.domain === \"object\" ?\n branch.$.bindReference($ark.intrinsic.emptyStructure)\n : null));\n }\n if (branch.isBasis() && branch.domain === \"object\")\n return branch.$.bindReference($ark.intrinsic.emptyStructure);\n return null;\n};\nexport const writeLiteralUnionEntriesMessage = (expression) => `Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:\n${expression}`;\nexport const writeNonStructuralOperandMessage = (operation, operand) => `${operation} operand must be an object (was ${operand})`;\n","import { append, conflatenate, flatMorph, printable, spliterate, throwInternalError, throwParseError } from \"@ark/util\";\nimport { BaseConstraint, constraintKeyParser, flattenConstraints, intersectConstraints } from \"../constraint.js\";\nimport { intrinsic } from \"../intrinsic.js\";\nimport { typeOrTermExtends } from \"../roots/root.js\";\nimport { Disjoint } from \"../shared/disjoint.js\";\nimport { implementNode } from \"../shared/implement.js\";\nimport { intersectNodesRoot } from \"../shared/intersections.js\";\nimport { $ark, registeredReference } from \"../shared/registry.js\";\nimport { ToJsonSchema } from \"../shared/toJsonSchema.js\";\nimport { traverseKey } from \"../shared/traversal.js\";\nimport { hasArkKind, isNode, makeRootAndArrayPropertiesMutable } from \"../shared/utils.js\";\nimport { Optional } from \"./optional.js\";\nconst createStructuralWriter = (childStringProp) => (node) => {\n if (node.props.length || node.index) {\n const parts = node.index?.map(index => index[childStringProp]) ?? [];\n for (const prop of node.props)\n parts.push(prop[childStringProp]);\n if (node.undeclared)\n parts.push(`+ (undeclared): ${node.undeclared}`);\n const objectLiteralDescription = `{ ${parts.join(\", \")} }`;\n return node.sequence ?\n `${objectLiteralDescription} & ${node.sequence.description}`\n : objectLiteralDescription;\n }\n return node.sequence?.description ?? \"{}\";\n};\nconst structuralDescription = createStructuralWriter(\"description\");\nconst structuralExpression = createStructuralWriter(\"expression\");\nconst intersectPropsAndIndex = (l, r, $) => {\n const kind = l.required ? \"required\" : \"optional\";\n if (!r.signature.allows(l.key))\n return null;\n const value = intersectNodesRoot(l.value, r.value, $);\n if (value instanceof Disjoint) {\n return kind === \"optional\" ?\n $.node(\"optional\", {\n key: l.key,\n value: $ark.intrinsic.never.internal\n })\n : value.withPrefixKey(l.key, l.kind);\n }\n return null;\n};\nconst implementation = implementNode({\n kind: \"structure\",\n hasAssociatedError: false,\n normalize: schema => schema,\n applyConfig: (schema, config) => {\n if (!schema.undeclared && config.onUndeclaredKey !== \"ignore\") {\n return {\n ...schema,\n undeclared: config.onUndeclaredKey\n };\n }\n return schema;\n },\n keys: {\n required: {\n child: true,\n parse: constraintKeyParser(\"required\"),\n reduceIo: (ioKind, inner, nodes) => {\n // ensure we don't overwrite nodes added by optional\n inner.required = append(inner.required, nodes.map(node => node[ioKind]));\n return;\n }\n },\n optional: {\n child: true,\n parse: constraintKeyParser(\"optional\"),\n reduceIo: (ioKind, inner, nodes) => {\n if (ioKind === \"in\") {\n inner.optional = nodes.map(node => node.in);\n return;\n }\n for (const node of nodes) {\n inner[node.outProp.kind] = append(inner[node.outProp.kind], node.outProp.out);\n }\n }\n },\n index: {\n child: true,\n parse: constraintKeyParser(\"index\")\n },\n sequence: {\n child: true,\n parse: constraintKeyParser(\"sequence\")\n },\n undeclared: {\n parse: behavior => (behavior === \"ignore\" ? undefined : behavior),\n reduceIo: (ioKind, inner, value) => {\n if (value !== \"delete\")\n return;\n // if base is \"delete\", undeclared keys are \"ignore\" (i.e. unconstrained)\n // on input and \"reject\" on output\n if (ioKind === \"in\")\n delete inner.undeclared;\n else\n inner.undeclared = \"reject\";\n }\n }\n },\n defaults: {\n description: structuralDescription\n },\n intersections: {\n structure: (l, r, ctx) => {\n const lInner = { ...l.inner };\n const rInner = { ...r.inner };\n const disjointResult = new Disjoint();\n if (l.undeclared) {\n const lKey = l.keyof();\n for (const k of r.requiredKeys) {\n if (!lKey.allows(k)) {\n disjointResult.add(\"presence\", $ark.intrinsic.never.internal, r.propsByKey[k].value, {\n path: [k]\n });\n }\n }\n if (rInner.optional)\n rInner.optional = rInner.optional.filter(n => lKey.allows(n.key));\n if (rInner.index) {\n rInner.index = rInner.index.flatMap(n => {\n if (n.signature.extends(lKey))\n return n;\n const indexOverlap = intersectNodesRoot(lKey, n.signature, ctx.$);\n if (indexOverlap instanceof Disjoint)\n return [];\n const normalized = normalizeIndex(indexOverlap, n.value, ctx.$);\n if (normalized.required) {\n rInner.required = conflatenate(rInner.required, normalized.required);\n }\n if (normalized.optional) {\n rInner.optional = conflatenate(rInner.optional, normalized.optional);\n }\n return normalized.index ?? [];\n });\n }\n }\n if (r.undeclared) {\n const rKey = r.keyof();\n for (const k of l.requiredKeys) {\n if (!rKey.allows(k)) {\n disjointResult.add(\"presence\", l.propsByKey[k].value, $ark.intrinsic.never.internal, {\n path: [k]\n });\n }\n }\n if (lInner.optional)\n lInner.optional = lInner.optional.filter(n => rKey.allows(n.key));\n if (lInner.index) {\n lInner.index = lInner.index.flatMap(n => {\n if (n.signature.extends(rKey))\n return n;\n const indexOverlap = intersectNodesRoot(rKey, n.signature, ctx.$);\n if (indexOverlap instanceof Disjoint)\n return [];\n const normalized = normalizeIndex(indexOverlap, n.value, ctx.$);\n if (normalized.required) {\n lInner.required = conflatenate(lInner.required, normalized.required);\n }\n if (normalized.optional) {\n lInner.optional = conflatenate(lInner.optional, normalized.optional);\n }\n return normalized.index ?? [];\n });\n }\n }\n const baseInner = {};\n if (l.undeclared || r.undeclared) {\n baseInner.undeclared =\n l.undeclared === \"reject\" || r.undeclared === \"reject\" ?\n \"reject\"\n : \"delete\";\n }\n const childIntersectionResult = intersectConstraints({\n kind: \"structure\",\n baseInner,\n l: flattenConstraints(lInner),\n r: flattenConstraints(rInner),\n roots: [],\n ctx\n });\n if (childIntersectionResult instanceof Disjoint)\n disjointResult.push(...childIntersectionResult);\n if (disjointResult.length)\n return disjointResult;\n return childIntersectionResult;\n }\n },\n reduce: (inner, $) => {\n if (inner.index) {\n if (!(inner.required || inner.optional))\n return;\n let updated = false;\n const requiredProps = inner.required ?? [];\n const optionalProps = inner.optional ?? [];\n const newOptionalProps = [...optionalProps];\n for (const index of inner.index) {\n for (const requiredProp of requiredProps) {\n const intersection = intersectPropsAndIndex(requiredProp, index, $);\n if (intersection instanceof Disjoint)\n return intersection;\n }\n for (const [indx, optionalProp] of optionalProps.entries()) {\n const intersection = intersectPropsAndIndex(optionalProp, index, $);\n if (intersection instanceof Disjoint)\n return intersection;\n if (intersection === null)\n continue;\n newOptionalProps[indx] = intersection;\n updated = true;\n }\n }\n if (updated) {\n return $.node(\"structure\", { ...inner, optional: newOptionalProps }, { prereduced: true });\n }\n }\n }\n});\nexport class StructureNode extends BaseConstraint {\n impliedBasis = $ark.intrinsic.object.internal;\n impliedSiblings = this.children.flatMap(n => n.impliedSiblings ?? []);\n props = conflatenate(this.required, this.optional);\n propsByKey = flatMorph(this.props, (i, node) => [node.key, node]);\n propsByKeyReference = registeredReference(this.propsByKey);\n expression = structuralExpression(this);\n requiredKeys = this.required?.map(node => node.key) ?? [];\n optionalKeys = this.optional?.map(node => node.key) ?? [];\n literalKeys = [...this.requiredKeys, ...this.optionalKeys];\n _keyof;\n keyof() {\n if (this._keyof)\n return this._keyof;\n let branches = this.$.units(this.literalKeys).branches;\n if (this.index) {\n for (const { signature } of this.index)\n branches = branches.concat(signature.branches);\n }\n return (this._keyof = this.$.node(\"union\", branches));\n }\n map(flatMapProp) {\n return this.$.node(\"structure\", this.props\n .flatMap(flatMapProp)\n .reduce((structureInner, mapped) => {\n const originalProp = this.propsByKey[mapped.key];\n if (isNode(mapped)) {\n if (mapped.kind !== \"required\" && mapped.kind !== \"optional\") {\n return throwParseError(`Map result must have kind \"required\" or \"optional\" (was ${mapped.kind})`);\n }\n structureInner[mapped.kind] = append(structureInner[mapped.kind], mapped);\n return structureInner;\n }\n const mappedKind = mapped.kind ?? originalProp?.kind ?? \"required\";\n // extract the inner keys from the map result in case a node was spread,\n // which would otherwise lead to invalid keys\n const mappedPropInner = flatMorph(mapped, (k, v) => (k in Optional.implementation.keys ? [k, v] : []));\n structureInner[mappedKind] = append(structureInner[mappedKind], this.$.node(mappedKind, mappedPropInner));\n return structureInner;\n }, {}));\n }\n assertHasKeys(keys) {\n const invalidKeys = keys.filter(k => !typeOrTermExtends(k, this.keyof()));\n if (invalidKeys.length) {\n return throwParseError(writeInvalidKeysMessage(this.expression, invalidKeys));\n }\n }\n get(indexer, ...path) {\n let value;\n let required = false;\n const key = indexerToKey(indexer);\n if ((typeof key === \"string\" || typeof key === \"symbol\") &&\n this.propsByKey[key]) {\n value = this.propsByKey[key].value;\n required = this.propsByKey[key].required;\n }\n if (this.index) {\n for (const n of this.index) {\n if (typeOrTermExtends(key, n.signature))\n value = value?.and(n.value) ?? n.value;\n }\n }\n if (this.sequence &&\n typeOrTermExtends(key, $ark.intrinsic.nonNegativeIntegerString)) {\n if (hasArkKind(key, \"root\")) {\n if (this.sequence.variadic)\n // if there is a variadic element and we're accessing an index, return a union\n // of all possible elements. If there is no variadic expression, we're in a tuple\n // so this access wouldn't be safe based on the array indices\n value = value?.and(this.sequence.element) ?? this.sequence.element;\n }\n else {\n const index = Number.parseInt(key);\n if (index < this.sequence.prevariadic.length) {\n const fixedElement = this.sequence.prevariadic[index].node;\n value = value?.and(fixedElement) ?? fixedElement;\n required ||= index < this.sequence.prefixLength;\n }\n else if (this.sequence.variadic) {\n // ideally we could return something more specific for postfix\n // but there is no way to represent it using an index alone\n const nonFixedElement = this.$.node(\"union\", this.sequence.variadicOrPostfix);\n value = value?.and(nonFixedElement) ?? nonFixedElement;\n }\n }\n }\n if (!value) {\n if (this.sequence?.variadic &&\n hasArkKind(key, \"root\") &&\n key.extends($ark.intrinsic.number)) {\n return throwParseError(writeNumberIndexMessage(key.expression, this.sequence.expression));\n }\n return throwParseError(writeInvalidKeysMessage(this.expression, [key]));\n }\n const result = value.get(...path);\n return required ? result : result.or($ark.intrinsic.undefined);\n }\n pick(...keys) {\n this.assertHasKeys(keys);\n return this.$.node(\"structure\", this.filterKeys(\"pick\", keys));\n }\n omit(...keys) {\n this.assertHasKeys(keys);\n return this.$.node(\"structure\", this.filterKeys(\"omit\", keys));\n }\n optionalize() {\n const { required, ...inner } = this.inner;\n return this.$.node(\"structure\", {\n ...inner,\n optional: this.props.map(prop => prop.hasKind(\"required\") ? this.$.node(\"optional\", prop.inner) : prop)\n });\n }\n require() {\n const { optional, ...inner } = this.inner;\n return this.$.node(\"structure\", {\n ...inner,\n required: this.props.map(prop => prop.hasKind(\"optional\") ?\n {\n key: prop.key,\n value: prop.value\n }\n : prop)\n });\n }\n merge(r) {\n const inner = this.filterKeys(\"omit\", [r.keyof()]);\n if (r.required)\n inner.required = append(inner.required, r.required);\n if (r.optional)\n inner.optional = append(inner.optional, r.optional);\n if (r.index)\n inner.index = append(inner.index, r.index);\n if (r.sequence)\n inner.sequence = r.sequence;\n if (r.undeclared)\n inner.undeclared = r.undeclared;\n else\n delete inner.undeclared;\n return this.$.node(\"structure\", inner);\n }\n filterKeys(operation, keys) {\n const result = makeRootAndArrayPropertiesMutable(this.inner);\n const shouldKeep = (key) => {\n const matchesKey = keys.some(k => typeOrTermExtends(key, k));\n return operation === \"pick\" ? matchesKey : !matchesKey;\n };\n if (result.required)\n result.required = result.required.filter(prop => shouldKeep(prop.key));\n if (result.optional)\n result.optional = result.optional.filter(prop => shouldKeep(prop.key));\n if (result.index)\n result.index = result.index.filter(index => shouldKeep(index.signature));\n return result;\n }\n traverseAllows = (data, ctx) => this._traverse(\"Allows\", data, ctx);\n traverseApply = (data, ctx) => this._traverse(\"Apply\", data, ctx);\n _traverse = (traversalKind, data, ctx) => {\n const errorCount = ctx?.currentErrorCount ?? 0;\n for (let i = 0; i < this.props.length; i++) {\n if (traversalKind === \"Allows\") {\n if (!this.props[i].traverseAllows(data, ctx))\n return false;\n }\n else {\n this.props[i].traverseApply(data, ctx);\n if (ctx.failFast && ctx.currentErrorCount > errorCount)\n return false;\n }\n }\n if (this.sequence) {\n if (traversalKind === \"Allows\") {\n if (!this.sequence.traverseAllows(data, ctx))\n return false;\n }\n else {\n this.sequence.traverseApply(data, ctx);\n if (ctx.failFast && ctx.currentErrorCount > errorCount)\n return false;\n }\n }\n if (this.index || this.undeclared === \"reject\") {\n const keys = Object.keys(data);\n keys.push(...Object.getOwnPropertySymbols(data));\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (this.index) {\n for (const node of this.index) {\n if (node.signature.traverseAllows(k, ctx)) {\n if (traversalKind === \"Allows\") {\n const result = traverseKey(k, () => node.value.traverseAllows(data[k], ctx), ctx);\n if (!result)\n return false;\n }\n else {\n traverseKey(k, () => node.value.traverseApply(data[k], ctx), ctx);\n if (ctx.failFast && ctx.currentErrorCount > errorCount)\n return false;\n }\n }\n }\n }\n if (this.undeclared === \"reject\" && !this.declaresKey(k)) {\n if (traversalKind === \"Allows\")\n return false;\n // this should have its own error code:\n // https://github.com/arktypeio/arktype/issues/1403\n ctx.errorFromNodeContext({\n code: \"predicate\",\n expected: \"removed\",\n actual: \"\",\n relativePath: [k],\n meta: this.meta\n });\n if (ctx.failFast)\n return false;\n }\n }\n }\n // added additional ctx check here to address\n // https://github.com/arktypeio/arktype/issues/1346\n if (this.structuralMorph && ctx && !ctx.hasError())\n ctx.queueMorphs([this.structuralMorph]);\n return true;\n };\n get defaultable() {\n return this.cacheGetter(\"defaultable\", this.optional?.filter(o => o.hasDefault()) ?? []);\n }\n declaresKey = (k) => k in this.propsByKey ||\n this.index?.some(n => n.signature.allows(k)) ||\n (this.sequence !== undefined &&\n $ark.intrinsic.nonNegativeIntegerString.allows(k));\n _compileDeclaresKey(js) {\n const parts = [];\n if (this.props.length)\n parts.push(`k in ${this.propsByKeyReference}`);\n if (this.index) {\n for (const index of this.index)\n parts.push(js.invoke(index.signature, { kind: \"Allows\", arg: \"k\" }));\n }\n if (this.sequence)\n parts.push(\"$ark.intrinsic.nonNegativeIntegerString.allows(k)\");\n // if parts is empty, this is a structure like { \"+\": \"reject\" }\n // that declares no keys, so return false\n return parts.join(\" || \") || \"false\";\n }\n get structuralMorph() {\n return this.cacheGetter(\"structuralMorph\", getPossibleMorph(this));\n }\n structuralMorphRef = this.structuralMorph && registeredReference(this.structuralMorph);\n compile(js) {\n if (js.traversalKind === \"Apply\")\n js.initializeErrorCount();\n for (const prop of this.props) {\n js.check(prop);\n if (js.traversalKind === \"Apply\")\n js.returnIfFailFast();\n }\n if (this.sequence) {\n js.check(this.sequence);\n if (js.traversalKind === \"Apply\")\n js.returnIfFailFast();\n }\n if (this.index || this.undeclared === \"reject\") {\n js.const(\"keys\", \"Object.keys(data)\");\n js.line(\"keys.push(...Object.getOwnPropertySymbols(data))\");\n js.for(\"i < keys.length\", () => this.compileExhaustiveEntry(js));\n }\n if (js.traversalKind === \"Allows\")\n return js.return(true);\n // always queue deleteUndeclared on valid traversal for \"delete\"\n if (this.structuralMorphRef) {\n // added additional ctx check here to address\n // https://github.com/arktypeio/arktype/issues/1346\n js.if(\"ctx && !ctx.hasError()\", () => {\n js.line(`ctx.queueMorphs([`);\n precompileMorphs(js, this);\n return js.line(\"])\");\n });\n }\n }\n compileExhaustiveEntry(js) {\n js.const(\"k\", \"keys[i]\");\n if (this.index) {\n for (const node of this.index) {\n js.if(`${js.invoke(node.signature, { arg: \"k\", kind: \"Allows\" })}`, () => js.traverseKey(\"k\", \"data[k]\", node.value));\n }\n }\n if (this.undeclared === \"reject\") {\n js.if(`!(${this._compileDeclaresKey(js)})`, () => {\n if (js.traversalKind === \"Allows\")\n return js.return(false);\n return js\n .line(`ctx.errorFromNodeContext({ code: \"predicate\", expected: \"removed\", actual: \"\", relativePath: [k], meta: ${this.compiledMeta} })`)\n .if(\"ctx.failFast\", () => js.return());\n });\n }\n return js;\n }\n reduceJsonSchema(schema, ctx) {\n switch (schema.type) {\n case \"object\":\n return this.reduceObjectJsonSchema(schema, ctx);\n case \"array\":\n const arraySchema = this.sequence?.reduceJsonSchema(schema, ctx) ?? schema;\n if (this.props.length || this.index) {\n return ctx.fallback.arrayObject({\n code: \"arrayObject\",\n base: arraySchema,\n object: this.reduceObjectJsonSchema({ type: \"object\" }, ctx)\n });\n }\n return arraySchema;\n default:\n return ToJsonSchema.throwInternalOperandError(\"structure\", schema);\n }\n }\n reduceObjectJsonSchema(schema, ctx) {\n if (this.props.length) {\n schema.properties = {};\n for (const prop of this.props) {\n const valueSchema = prop.value.toJsonSchemaRecurse(ctx);\n if (typeof prop.key === \"symbol\") {\n ctx.fallback.symbolKey({\n code: \"symbolKey\",\n base: schema,\n key: prop.key,\n value: valueSchema,\n optional: prop.optional\n });\n continue;\n }\n if (prop.hasDefault()) {\n const value = typeof prop.default === \"function\" ? prop.default() : prop.default;\n valueSchema.default =\n $ark.intrinsic.jsonData.allows(value) ?\n value\n : ctx.fallback.defaultValue({\n code: \"defaultValue\",\n base: valueSchema,\n value\n });\n }\n schema.properties[prop.key] = valueSchema;\n }\n if (this.requiredKeys.length && schema.properties) {\n schema.required = this.requiredKeys.filter((k) => typeof k === \"string\" && k in schema.properties);\n }\n }\n if (this.index) {\n for (const index of this.index) {\n const valueJsonSchema = index.value.toJsonSchemaRecurse(ctx);\n if (index.signature.equals($ark.intrinsic.string)) {\n schema.additionalProperties = valueJsonSchema;\n continue;\n }\n for (const keyBranch of index.signature.branches) {\n if (!keyBranch.extends($ark.intrinsic.string)) {\n schema = ctx.fallback.symbolKey({\n code: \"symbolKey\",\n base: schema,\n key: null,\n value: valueJsonSchema,\n optional: false\n });\n continue;\n }\n let keySchema = { type: \"string\" };\n if (keyBranch.hasKind(\"morph\")) {\n keySchema = ctx.fallback.morph({\n code: \"morph\",\n base: keyBranch.in.toJsonSchemaRecurse(ctx),\n out: keyBranch.out.toJsonSchemaRecurse(ctx)\n });\n }\n if (!keyBranch.hasKind(\"intersection\")) {\n return throwInternalError(`Unexpected index branch kind ${keyBranch.kind}.`);\n }\n const { pattern } = keyBranch.inner;\n if (pattern) {\n const keySchemaWithPattern = Object.assign(keySchema, {\n pattern: pattern[0].rule\n });\n for (let i = 1; i < pattern.length; i++) {\n keySchema = ctx.fallback.patternIntersection({\n code: \"patternIntersection\",\n base: keySchemaWithPattern,\n pattern: pattern[i].rule\n });\n }\n schema.patternProperties ??= {};\n schema.patternProperties[keySchemaWithPattern.pattern] =\n valueJsonSchema;\n }\n }\n }\n }\n if (this.undeclared && !schema.additionalProperties)\n schema.additionalProperties = false;\n return schema;\n }\n}\nconst defaultableMorphsCache = {};\nconst constructStructuralMorphCacheKey = (node) => {\n let cacheKey = \"\";\n for (let i = 0; i < node.defaultable.length; i++)\n cacheKey += node.defaultable[i].defaultValueMorphRef;\n if (node.sequence?.defaultValueMorphsReference)\n cacheKey += node.sequence?.defaultValueMorphsReference;\n if (node.undeclared === \"delete\") {\n cacheKey += \"delete !(\";\n if (node.required)\n for (const n of node.required)\n cacheKey += n.compiledKey + \" | \";\n if (node.optional)\n for (const n of node.optional)\n cacheKey += n.compiledKey + \" | \";\n if (node.index)\n for (const index of node.index)\n cacheKey += index.signature.id + \" | \";\n if (node.sequence) {\n if (node.sequence.maxLength === null)\n cacheKey += intrinsic.nonNegativeIntegerString.id;\n else {\n for (let i = 0; i < node.sequence.tuple.length; i++)\n cacheKey += i + \" | \";\n }\n }\n cacheKey += \")\";\n }\n return cacheKey;\n};\nconst getPossibleMorph = (node) => {\n const cacheKey = constructStructuralMorphCacheKey(node);\n if (!cacheKey)\n return undefined;\n if (defaultableMorphsCache[cacheKey])\n return defaultableMorphsCache[cacheKey];\n const $arkStructuralMorph = (data, ctx) => {\n for (let i = 0; i < node.defaultable.length; i++) {\n if (!(node.defaultable[i].key in data))\n node.defaultable[i].defaultValueMorph(data, ctx);\n }\n if (node.sequence?.defaultables) {\n for (let i = data.length - node.sequence.prefixLength; i < node.sequence.defaultables.length; i++)\n node.sequence.defaultValueMorphs[i](data, ctx);\n }\n if (node.undeclared === \"delete\")\n for (const k in data)\n if (!node.declaresKey(k))\n delete data[k];\n return data;\n };\n return (defaultableMorphsCache[cacheKey] = $arkStructuralMorph);\n};\nconst precompileMorphs = (js, node) => {\n const requiresContext = node.defaultable.some(node => node.defaultValueMorph.length === 2) ||\n node.sequence?.defaultValueMorphs.some(morph => morph.length === 2);\n const args = `(data${requiresContext ? \", ctx\" : \"\"})`;\n return js.block(`${args} => `, js => {\n for (let i = 0; i < node.defaultable.length; i++) {\n const { serializedKey, defaultValueMorphRef } = node.defaultable[i];\n js.if(`!(${serializedKey} in data)`, js => js.line(`${defaultValueMorphRef}${args}`));\n }\n if (node.sequence?.defaultables) {\n js.for(`i < ${node.sequence.defaultables.length}`, js => js.set(`data[i]`, 5), `data.length - ${node.sequence.prefixLength}`);\n }\n if (node.undeclared === \"delete\") {\n js.forIn(\"data\", js => js.if(`!(${node._compileDeclaresKey(js)})`, js => js.line(`delete data[k]`)));\n }\n return js.return(\"data\");\n });\n};\nexport const Structure = {\n implementation,\n Node: StructureNode\n};\nconst indexerToKey = (indexable) => {\n if (hasArkKind(indexable, \"root\") && indexable.hasKind(\"unit\"))\n indexable = indexable.unit;\n if (typeof indexable === \"number\")\n indexable = `${indexable}`;\n return indexable;\n};\nexport const writeNumberIndexMessage = (indexExpression, sequenceExpression) => `${indexExpression} is not allowed as an array index on ${sequenceExpression}. Use the 'nonNegativeIntegerString' keyword instead.`;\n/** extract enumerable named props from an index signature */\nexport const normalizeIndex = (signature, value, $) => {\n const [enumerableBranches, nonEnumerableBranches] = spliterate(signature.branches, k => k.hasKind(\"unit\"));\n if (!enumerableBranches.length)\n return { index: $.node(\"index\", { signature, value }) };\n const normalized = {};\n for (const n of enumerableBranches) {\n // since required can be reduced to optional if it has a default or\n // optional meta on its value, we have to assign it depending on the\n // compiled kind\n const prop = $.node(\"required\", { key: n.unit, value });\n normalized[prop.kind] = append(normalized[prop.kind], prop);\n }\n if (nonEnumerableBranches.length) {\n normalized.index = $.node(\"index\", {\n signature: nonEnumerableBranches,\n value\n });\n }\n return normalized;\n};\nexport const typeKeyToString = (k) => hasArkKind(k, \"root\") ? k.expression : printable(k);\nexport const writeInvalidKeysMessage = (o, keys) => `Key${keys.length === 1 ? \"\" : \"s\"} ${keys.map(typeKeyToString).join(\", \")} ${keys.length === 1 ? \"does\" : \"do\"} not exist on ${o}`;\n","type Ok<T, _E> = {\n value: T;\n};\ntype Error<_T, E> = {\n error: E;\n};\n\n/**\n * Do not destructure this object, it is meant to have all fields together\n * in the same object\n */\nexport type Result<T, E> = Ok<T, E> | Error<T, E>;\n\nexport function isErr<T, E>(result: Result<T, E>): result is Error<T, E> {\n return \"error\" in result;\n}\n\nexport function isOk<T, E>(result: Result<T, E>): result is Ok<T, E> {\n return \"value\" in result && !(\"error\" in result);\n}\n\nexport function mapResult<T, E, B>(\n result: Result<T, E>,\n callback: (value: T) => B,\n): Result<B, E> {\n if (isOk(result)) {\n return ok(callback(result.value));\n }\n\n return result;\n}\n\nexport function ok<T, E>(value: NoInfer<T>): Ok<T, E>;\n// biome-ignore lint/suspicious/noConfusingVoidType: This is required for void return types on functions that can still error\nexport function ok<_T extends void = void, E = never>(value: void): Ok<void, E>;\nexport function ok<T, E>(value: NoInfer<T>): Ok<T, E> {\n return {\n value,\n };\n}\n\nexport function err<T, E>(error: NoInfer<E>): Error<T, E>;\n// biome-ignore lint/suspicious/noConfusingVoidType: This is required for void return types on functions that can still error\nexport function err<T, _E extends void = void>(error: void): Error<T, void>;\nexport function err<T, E>(error: NoInfer<E>): Error<T, E> {\n return {\n error,\n };\n}\n","import { deepClone, envHasCsp, flatMorph, withAlphabetizedKeys } from \"@ark/util\";\nimport { mergeConfigs } from \"./config.js\";\nimport { Predicate } from \"./predicate.js\";\nimport { Divisor } from \"./refinements/divisor.js\";\nimport { boundClassesByKind, boundImplementationsByKind } from \"./refinements/kinds.js\";\nimport { Pattern } from \"./refinements/pattern.js\";\nimport { Alias } from \"./roots/alias.js\";\nimport { Domain } from \"./roots/domain.js\";\nimport { Intersection } from \"./roots/intersection.js\";\nimport { Morph } from \"./roots/morph.js\";\nimport { Proto } from \"./roots/proto.js\";\nimport { Union } from \"./roots/union.js\";\nimport { Unit } from \"./roots/unit.js\";\nimport { $ark } from \"./shared/registry.js\";\nimport { ToJsonSchema } from \"./shared/toJsonSchema.js\";\nimport { Index } from \"./structure/index.js\";\nimport { Optional } from \"./structure/optional.js\";\nimport { Required } from \"./structure/required.js\";\nimport { Sequence } from \"./structure/sequence.js\";\nimport { Structure } from \"./structure/structure.js\";\nexport const nodeImplementationsByKind = {\n ...boundImplementationsByKind,\n alias: Alias.implementation,\n domain: Domain.implementation,\n unit: Unit.implementation,\n proto: Proto.implementation,\n union: Union.implementation,\n morph: Morph.implementation,\n intersection: Intersection.implementation,\n divisor: Divisor.implementation,\n pattern: Pattern.implementation,\n predicate: Predicate.implementation,\n required: Required.implementation,\n optional: Optional.implementation,\n index: Index.implementation,\n sequence: Sequence.implementation,\n structure: Structure.implementation\n};\n$ark.defaultConfig = withAlphabetizedKeys(Object.assign(flatMorph(nodeImplementationsByKind, (kind, implementation) => [\n kind,\n implementation.defaults\n]), {\n jitless: envHasCsp(),\n clone: deepClone,\n onUndeclaredKey: \"ignore\",\n exactOptionalPropertyTypes: true,\n numberAllowsNaN: false,\n dateAllowsInvalid: false,\n onFail: null,\n keywords: {},\n toJsonSchema: ToJsonSchema.defaultConfig\n}));\n$ark.resolvedConfig = mergeConfigs($ark.defaultConfig, $ark.config);\nexport const nodeClassesByKind = {\n ...boundClassesByKind,\n alias: Alias.Node,\n domain: Domain.Node,\n unit: Unit.Node,\n proto: Proto.Node,\n union: Union.Node,\n morph: Morph.Node,\n intersection: Intersection.Node,\n divisor: Divisor.Node,\n pattern: Pattern.Node,\n predicate: Predicate.Node,\n required: Required.Node,\n optional: Optional.Node,\n index: Index.Node,\n sequence: Sequence.Node,\n structure: Structure.Node\n};\n"],"names":["registerServerReference","ensureServerEntryExports","actions","i","length","action","Error"],"mappings":"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M,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,AAAM,UACA,AAAN,UACA,AAAM,UACA,AAAN,UACA,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,GAAK,MAAU,GAAK,MACd,AAAN,UACA,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACd,AAAN,UACA,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACA,AAAN,UACA,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACA,AAAN,UACA,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,GAAK,MAAU,GAAK,MACpB,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,AAAM,UACN,GAAK,MAAU,GAAK,MACpB,GAAK,M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","ignoreList":[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,22,23,24,25,26,28,31,32,33,34,35,36,37,38,39,40,41,42,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,202,203,204,205,206,207,209]}