zod 3.25.0 → 3.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/commonjs/index.d.ts +3 -0
  2. package/dist/commonjs/index.js +22 -0
  3. package/dist/commonjs/package.json +3 -0
  4. package/dist/commonjs/v3/ZodError.d.ts +164 -0
  5. package/dist/commonjs/v3/ZodError.js +137 -0
  6. package/dist/commonjs/v3/benchmarks/datetime.d.ts +5 -0
  7. package/dist/commonjs/v3/benchmarks/datetime.js +54 -0
  8. package/dist/commonjs/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  9. package/dist/commonjs/v3/benchmarks/discriminatedUnion.js +79 -0
  10. package/dist/commonjs/v3/benchmarks/index.d.ts +1 -0
  11. package/dist/commonjs/v3/benchmarks/index.js +59 -0
  12. package/dist/commonjs/v3/benchmarks/ipv4.d.ts +5 -0
  13. package/dist/commonjs/v3/benchmarks/ipv4.js +54 -0
  14. package/dist/commonjs/v3/benchmarks/object.d.ts +5 -0
  15. package/dist/commonjs/v3/benchmarks/object.js +70 -0
  16. package/dist/commonjs/v3/benchmarks/primitives.d.ts +5 -0
  17. package/dist/commonjs/v3/benchmarks/primitives.js +159 -0
  18. package/dist/commonjs/v3/benchmarks/realworld.d.ts +5 -0
  19. package/dist/commonjs/v3/benchmarks/realworld.js +56 -0
  20. package/dist/commonjs/v3/benchmarks/string.d.ts +5 -0
  21. package/dist/commonjs/v3/benchmarks/string.js +55 -0
  22. package/dist/commonjs/v3/benchmarks/union.d.ts +5 -0
  23. package/dist/commonjs/v3/benchmarks/union.js +79 -0
  24. package/dist/commonjs/v3/errors.d.ts +5 -0
  25. package/dist/commonjs/v3/errors.js +17 -0
  26. package/dist/commonjs/v3/external.d.ts +6 -0
  27. package/dist/commonjs/v3/external.js +22 -0
  28. package/dist/commonjs/v3/helpers/enumUtil.d.ts +8 -0
  29. package/dist/commonjs/v3/helpers/enumUtil.js +2 -0
  30. package/dist/commonjs/v3/helpers/errorUtil.d.ts +9 -0
  31. package/dist/commonjs/v3/helpers/errorUtil.js +9 -0
  32. package/dist/commonjs/v3/helpers/parseUtil.d.ts +78 -0
  33. package/dist/commonjs/v3/helpers/parseUtil.js +124 -0
  34. package/dist/commonjs/v3/helpers/partialUtil.d.ts +8 -0
  35. package/dist/commonjs/v3/helpers/partialUtil.js +2 -0
  36. package/dist/commonjs/v3/helpers/typeAliases.d.ts +2 -0
  37. package/dist/commonjs/v3/helpers/typeAliases.js +2 -0
  38. package/dist/commonjs/v3/helpers/util.d.ts +85 -0
  39. package/dist/commonjs/v3/helpers/util.js +137 -0
  40. package/dist/commonjs/v3/index.d.ts +4 -0
  41. package/dist/commonjs/v3/index.js +43 -0
  42. package/dist/commonjs/v3/locales/en.d.ts +3 -0
  43. package/dist/commonjs/v3/locales/en.js +109 -0
  44. package/dist/commonjs/v3/standard-schema.d.ts +102 -0
  45. package/dist/commonjs/v3/standard-schema.js +2 -0
  46. package/dist/commonjs/v3/tests/Mocker.d.ts +17 -0
  47. package/dist/commonjs/v3/tests/Mocker.js +57 -0
  48. package/dist/commonjs/v3/tests/language-server.source.d.ts +70 -0
  49. package/dist/commonjs/v3/tests/language-server.source.js +81 -0
  50. package/dist/commonjs/v3/types.d.ts +1031 -0
  51. package/dist/commonjs/v3/types.js +3795 -0
  52. package/dist/commonjs/v4/classic/checks.d.ts +1 -0
  53. package/dist/commonjs/v4/classic/checks.js +32 -0
  54. package/dist/commonjs/v4/classic/coerce.d.ts +17 -0
  55. package/dist/commonjs/v4/classic/coerce.js +57 -0
  56. package/dist/commonjs/v4/classic/compat.d.ts +48 -0
  57. package/dist/commonjs/v4/classic/compat.js +73 -0
  58. package/dist/commonjs/v4/classic/errors.d.ts +30 -0
  59. package/dist/commonjs/v4/classic/errors.js +76 -0
  60. package/dist/commonjs/v4/classic/external.d.ts +8 -0
  61. package/dist/commonjs/v4/classic/external.js +68 -0
  62. package/dist/commonjs/v4/classic/index.d.ts +4 -0
  63. package/dist/commonjs/v4/classic/index.js +43 -0
  64. package/dist/commonjs/v4/classic/iso.d.ts +22 -0
  65. package/dist/commonjs/v4/classic/iso.js +70 -0
  66. package/dist/commonjs/v4/classic/parse.d.ts +23 -0
  67. package/dist/commonjs/v4/classic/parse.js +42 -0
  68. package/dist/commonjs/v4/classic/schemas.d.ts +653 -0
  69. package/dist/commonjs/v4/classic/schemas.js +1123 -0
  70. package/dist/commonjs/v4/core/api.d.ts +273 -0
  71. package/dist/commonjs/v4/core/api.js +1004 -0
  72. package/dist/commonjs/v4/core/checks.d.ts +277 -0
  73. package/dist/commonjs/v4/core/checks.js +571 -0
  74. package/dist/commonjs/v4/core/config.d.ts +9 -0
  75. package/dist/commonjs/v4/core/config.js +10 -0
  76. package/dist/commonjs/v4/core/core.d.ts +43 -0
  77. package/dist/commonjs/v4/core/core.js +59 -0
  78. package/dist/commonjs/v4/core/doc.d.ts +14 -0
  79. package/dist/commonjs/v4/core/doc.js +40 -0
  80. package/dist/commonjs/v4/core/errors.d.ts +204 -0
  81. package/dist/commonjs/v4/core/errors.js +203 -0
  82. package/dist/commonjs/v4/core/function.d.ts +35 -0
  83. package/dist/commonjs/v4/core/function.js +107 -0
  84. package/dist/commonjs/v4/core/index.d.ts +15 -0
  85. package/dist/commonjs/v4/core/index.js +54 -0
  86. package/dist/commonjs/v4/core/json-schema.d.ts +100 -0
  87. package/dist/commonjs/v4/core/json-schema.js +2 -0
  88. package/dist/commonjs/v4/core/parse.d.ts +25 -0
  89. package/dist/commonjs/v4/core/parse.js +97 -0
  90. package/dist/commonjs/v4/core/regexes.d.ts +62 -0
  91. package/dist/commonjs/v4/core/regexes.js +101 -0
  92. package/dist/commonjs/v4/core/registries.d.ts +32 -0
  93. package/dist/commonjs/v4/core/registries.js +47 -0
  94. package/dist/commonjs/v4/core/schemas.d.ts +975 -0
  95. package/dist/commonjs/v4/core/schemas.js +1781 -0
  96. package/dist/commonjs/v4/core/standard-schema.d.ts +55 -0
  97. package/dist/commonjs/v4/core/standard-schema.js +2 -0
  98. package/dist/commonjs/v4/core/to-json-schema.d.ts +84 -0
  99. package/dist/commonjs/v4/core/to-json-schema.js +670 -0
  100. package/dist/commonjs/v4/core/util.d.ts +186 -0
  101. package/dist/commonjs/v4/core/util.js +515 -0
  102. package/dist/commonjs/v4/core/versions.d.ts +5 -0
  103. package/dist/commonjs/v4/core/versions.js +8 -0
  104. package/dist/commonjs/v4/core/zsf.d.ts +91 -0
  105. package/dist/commonjs/v4/core/zsf.js +172 -0
  106. package/dist/commonjs/v4/index.d.ts +3 -0
  107. package/dist/commonjs/v4/index.js +22 -0
  108. package/dist/commonjs/v4/locales/ar.d.ts +7 -0
  109. package/dist/commonjs/v4/locales/ar.js +153 -0
  110. package/dist/commonjs/v4/locales/az.d.ts +7 -0
  111. package/dist/commonjs/v4/locales/az.js +152 -0
  112. package/dist/commonjs/v4/locales/be.d.ts +7 -0
  113. package/dist/commonjs/v4/locales/be.js +201 -0
  114. package/dist/commonjs/v4/locales/ca.d.ts +7 -0
  115. package/dist/commonjs/v4/locales/ca.js +155 -0
  116. package/dist/commonjs/v4/locales/cs.d.ts +7 -0
  117. package/dist/commonjs/v4/locales/cs.js +172 -0
  118. package/dist/commonjs/v4/locales/de.d.ts +7 -0
  119. package/dist/commonjs/v4/locales/de.js +153 -0
  120. package/dist/commonjs/v4/locales/en.d.ts +7 -0
  121. package/dist/commonjs/v4/locales/en.js +155 -0
  122. package/dist/commonjs/v4/locales/es.d.ts +7 -0
  123. package/dist/commonjs/v4/locales/es.js +154 -0
  124. package/dist/commonjs/v4/locales/fa.d.ts +7 -0
  125. package/dist/commonjs/v4/locales/fa.js +159 -0
  126. package/dist/commonjs/v4/locales/fi.d.ts +7 -0
  127. package/dist/commonjs/v4/locales/fi.js +159 -0
  128. package/dist/commonjs/v4/locales/fr.d.ts +7 -0
  129. package/dist/commonjs/v4/locales/fr.js +153 -0
  130. package/dist/commonjs/v4/locales/frCA.d.ts +7 -0
  131. package/dist/commonjs/v4/locales/frCA.js +154 -0
  132. package/dist/commonjs/v4/locales/he.d.ts +7 -0
  133. package/dist/commonjs/v4/locales/he.js +154 -0
  134. package/dist/commonjs/v4/locales/hu.d.ts +7 -0
  135. package/dist/commonjs/v4/locales/hu.js +154 -0
  136. package/dist/commonjs/v4/locales/id.d.ts +7 -0
  137. package/dist/commonjs/v4/locales/id.js +153 -0
  138. package/dist/commonjs/v4/locales/index.d.ts +34 -0
  139. package/dist/commonjs/v4/locales/index.js +74 -0
  140. package/dist/commonjs/v4/locales/it.d.ts +7 -0
  141. package/dist/commonjs/v4/locales/it.js +154 -0
  142. package/dist/commonjs/v4/locales/ja.d.ts +7 -0
  143. package/dist/commonjs/v4/locales/ja.js +152 -0
  144. package/dist/commonjs/v4/locales/ko.d.ts +7 -0
  145. package/dist/commonjs/v4/locales/ko.js +158 -0
  146. package/dist/commonjs/v4/locales/mk.d.ts +7 -0
  147. package/dist/commonjs/v4/locales/mk.js +155 -0
  148. package/dist/commonjs/v4/locales/ms.d.ts +7 -0
  149. package/dist/commonjs/v4/locales/ms.js +153 -0
  150. package/dist/commonjs/v4/locales/no.d.ts +7 -0
  151. package/dist/commonjs/v4/locales/no.js +153 -0
  152. package/dist/commonjs/v4/locales/ota.d.ts +7 -0
  153. package/dist/commonjs/v4/locales/ota.js +154 -0
  154. package/dist/commonjs/v4/locales/pl.d.ts +7 -0
  155. package/dist/commonjs/v4/locales/pl.js +154 -0
  156. package/dist/commonjs/v4/locales/pt.d.ts +7 -0
  157. package/dist/commonjs/v4/locales/pt.js +153 -0
  158. package/dist/commonjs/v4/locales/ru.d.ts +7 -0
  159. package/dist/commonjs/v4/locales/ru.js +201 -0
  160. package/dist/commonjs/v4/locales/sl.d.ts +7 -0
  161. package/dist/commonjs/v4/locales/sl.js +154 -0
  162. package/dist/commonjs/v4/locales/ta.d.ts +7 -0
  163. package/dist/commonjs/v4/locales/ta.js +154 -0
  164. package/dist/commonjs/v4/locales/th.d.ts +7 -0
  165. package/dist/commonjs/v4/locales/th.js +154 -0
  166. package/dist/commonjs/v4/locales/tr.d.ts +7 -0
  167. package/dist/commonjs/v4/locales/tr.js +152 -0
  168. package/dist/commonjs/v4/locales/ua.d.ts +7 -0
  169. package/dist/commonjs/v4/locales/ua.js +154 -0
  170. package/dist/commonjs/v4/locales/ur.d.ts +7 -0
  171. package/dist/commonjs/v4/locales/ur.js +154 -0
  172. package/dist/commonjs/v4/locales/vi.d.ts +7 -0
  173. package/dist/commonjs/v4/locales/vi.js +153 -0
  174. package/dist/commonjs/v4/locales/zh-CN.d.ts +7 -0
  175. package/dist/commonjs/v4/locales/zh-CN.js +153 -0
  176. package/dist/commonjs/v4/locales/zh-tw.d.ts +7 -0
  177. package/dist/commonjs/v4/locales/zh-tw.js +154 -0
  178. package/dist/commonjs/v4/mini/checks.d.ts +1 -0
  179. package/dist/commonjs/v4/mini/checks.js +34 -0
  180. package/dist/commonjs/v4/mini/coerce.d.ts +7 -0
  181. package/dist/commonjs/v4/mini/coerce.js +57 -0
  182. package/dist/commonjs/v4/mini/external.d.ts +7 -0
  183. package/dist/commonjs/v4/mini/external.js +61 -0
  184. package/dist/commonjs/v4/mini/index.d.ts +3 -0
  185. package/dist/commonjs/v4/mini/index.js +42 -0
  186. package/dist/commonjs/v4/mini/iso.d.ts +22 -0
  187. package/dist/commonjs/v4/mini/iso.js +70 -0
  188. package/dist/commonjs/v4/mini/parse.d.ts +1 -0
  189. package/dist/commonjs/v4/mini/parse.js +8 -0
  190. package/dist/commonjs/v4/mini/schemas.d.ts +405 -0
  191. package/dist/commonjs/v4/mini/schemas.js +852 -0
  192. package/dist/esm/index.d.ts +3 -0
  193. package/dist/esm/index.js +3 -0
  194. package/dist/esm/package.json +3 -0
  195. package/dist/esm/v3/ZodError.d.ts +164 -0
  196. package/dist/esm/v3/ZodError.js +132 -0
  197. package/dist/esm/v3/benchmarks/datetime.d.ts +5 -0
  198. package/dist/esm/v3/benchmarks/datetime.js +49 -0
  199. package/dist/esm/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  200. package/dist/esm/v3/benchmarks/discriminatedUnion.js +74 -0
  201. package/dist/esm/v3/benchmarks/index.d.ts +1 -0
  202. package/dist/esm/v3/benchmarks/index.js +54 -0
  203. package/dist/esm/v3/benchmarks/ipv4.d.ts +5 -0
  204. package/dist/esm/v3/benchmarks/ipv4.js +49 -0
  205. package/dist/esm/v3/benchmarks/object.d.ts +5 -0
  206. package/dist/esm/v3/benchmarks/object.js +65 -0
  207. package/dist/esm/v3/benchmarks/primitives.d.ts +5 -0
  208. package/dist/esm/v3/benchmarks/primitives.js +154 -0
  209. package/dist/esm/v3/benchmarks/realworld.d.ts +5 -0
  210. package/dist/esm/v3/benchmarks/realworld.js +51 -0
  211. package/dist/esm/v3/benchmarks/string.d.ts +5 -0
  212. package/dist/esm/v3/benchmarks/string.js +50 -0
  213. package/dist/esm/v3/benchmarks/union.d.ts +5 -0
  214. package/dist/esm/v3/benchmarks/union.js +74 -0
  215. package/dist/esm/v3/errors.d.ts +5 -0
  216. package/dist/esm/v3/errors.js +9 -0
  217. package/dist/esm/v3/external.d.ts +6 -0
  218. package/dist/esm/v3/external.js +6 -0
  219. package/dist/esm/v3/helpers/enumUtil.d.ts +8 -0
  220. package/dist/esm/v3/helpers/enumUtil.js +1 -0
  221. package/dist/esm/v3/helpers/errorUtil.d.ts +9 -0
  222. package/dist/esm/v3/helpers/errorUtil.js +6 -0
  223. package/dist/esm/v3/helpers/parseUtil.d.ts +78 -0
  224. package/dist/esm/v3/helpers/parseUtil.js +109 -0
  225. package/dist/esm/v3/helpers/partialUtil.d.ts +8 -0
  226. package/dist/esm/v3/helpers/partialUtil.js +1 -0
  227. package/dist/esm/v3/helpers/typeAliases.d.ts +2 -0
  228. package/dist/esm/v3/helpers/typeAliases.js +1 -0
  229. package/dist/esm/v3/helpers/util.d.ts +85 -0
  230. package/dist/esm/v3/helpers/util.js +133 -0
  231. package/dist/esm/v3/index.d.ts +4 -0
  232. package/dist/esm/v3/index.js +4 -0
  233. package/dist/esm/v3/locales/en.d.ts +3 -0
  234. package/dist/esm/v3/locales/en.js +107 -0
  235. package/dist/esm/v3/standard-schema.d.ts +102 -0
  236. package/dist/esm/v3/standard-schema.js +1 -0
  237. package/dist/esm/v3/tests/Mocker.d.ts +17 -0
  238. package/dist/esm/v3/tests/Mocker.js +53 -0
  239. package/dist/esm/v3/tests/language-server.source.d.ts +70 -0
  240. package/dist/esm/v3/tests/language-server.source.js +45 -0
  241. package/dist/esm/v3/types.d.ts +1031 -0
  242. package/dist/esm/v3/types.js +3713 -0
  243. package/dist/esm/v4/classic/checks.d.ts +1 -0
  244. package/dist/esm/v4/classic/checks.js +1 -0
  245. package/dist/esm/v4/classic/coerce.d.ts +17 -0
  246. package/dist/esm/v4/classic/coerce.js +17 -0
  247. package/dist/esm/v4/classic/compat.d.ts +48 -0
  248. package/dist/esm/v4/classic/compat.js +33 -0
  249. package/dist/esm/v4/classic/errors.d.ts +30 -0
  250. package/dist/esm/v4/classic/errors.js +40 -0
  251. package/dist/esm/v4/classic/external.d.ts +8 -0
  252. package/dist/esm/v4/classic/external.js +11 -0
  253. package/dist/esm/v4/classic/index.d.ts +4 -0
  254. package/dist/esm/v4/classic/index.js +4 -0
  255. package/dist/esm/v4/classic/iso.d.ts +22 -0
  256. package/dist/esm/v4/classic/iso.js +30 -0
  257. package/dist/esm/v4/classic/parse.d.ts +23 -0
  258. package/dist/esm/v4/classic/parse.js +6 -0
  259. package/dist/esm/v4/classic/schemas.d.ts +653 -0
  260. package/dist/esm/v4/classic/schemas.js +1012 -0
  261. package/dist/esm/v4/core/api.d.ts +273 -0
  262. package/dist/esm/v4/core/api.js +867 -0
  263. package/dist/esm/v4/core/checks.d.ts +277 -0
  264. package/dist/esm/v4/core/checks.js +535 -0
  265. package/dist/esm/v4/core/config.d.ts +9 -0
  266. package/dist/esm/v4/core/config.js +6 -0
  267. package/dist/esm/v4/core/core.d.ts +43 -0
  268. package/dist/esm/v4/core/core.js +53 -0
  269. package/dist/esm/v4/core/doc.d.ts +14 -0
  270. package/dist/esm/v4/core/doc.js +36 -0
  271. package/dist/esm/v4/core/errors.d.ts +204 -0
  272. package/dist/esm/v4/core/errors.js +195 -0
  273. package/dist/esm/v4/core/function.d.ts +35 -0
  274. package/dist/esm/v4/core/function.js +70 -0
  275. package/dist/esm/v4/core/index.d.ts +15 -0
  276. package/dist/esm/v4/core/index.js +15 -0
  277. package/dist/esm/v4/core/json-schema.d.ts +100 -0
  278. package/dist/esm/v4/core/json-schema.js +1 -0
  279. package/dist/esm/v4/core/parse.d.ts +25 -0
  280. package/dist/esm/v4/core/parse.js +57 -0
  281. package/dist/esm/v4/core/regexes.d.ts +62 -0
  282. package/dist/esm/v4/core/regexes.js +93 -0
  283. package/dist/esm/v4/core/registries.d.ts +32 -0
  284. package/dist/esm/v4/core/registries.js +42 -0
  285. package/dist/esm/v4/core/schemas.d.ts +975 -0
  286. package/dist/esm/v4/core/schemas.js +1740 -0
  287. package/dist/esm/v4/core/standard-schema.d.ts +55 -0
  288. package/dist/esm/v4/core/standard-schema.js +1 -0
  289. package/dist/esm/v4/core/to-json-schema.d.ts +84 -0
  290. package/dist/esm/v4/core/to-json-schema.js +665 -0
  291. package/dist/esm/v4/core/util.d.ts +186 -0
  292. package/dist/esm/v4/core/util.js +469 -0
  293. package/dist/esm/v4/core/versions.d.ts +5 -0
  294. package/dist/esm/v4/core/versions.js +5 -0
  295. package/dist/esm/v4/core/zsf.d.ts +91 -0
  296. package/dist/esm/v4/core/zsf.js +171 -0
  297. package/dist/esm/v4/index.d.ts +3 -0
  298. package/dist/esm/v4/index.js +3 -0
  299. package/dist/esm/v4/locales/ar.d.ts +7 -0
  300. package/dist/esm/v4/locales/ar.js +115 -0
  301. package/dist/esm/v4/locales/az.d.ts +7 -0
  302. package/dist/esm/v4/locales/az.js +114 -0
  303. package/dist/esm/v4/locales/be.d.ts +7 -0
  304. package/dist/esm/v4/locales/be.js +163 -0
  305. package/dist/esm/v4/locales/ca.d.ts +7 -0
  306. package/dist/esm/v4/locales/ca.js +117 -0
  307. package/dist/esm/v4/locales/cs.d.ts +7 -0
  308. package/dist/esm/v4/locales/cs.js +134 -0
  309. package/dist/esm/v4/locales/de.d.ts +7 -0
  310. package/dist/esm/v4/locales/de.js +115 -0
  311. package/dist/esm/v4/locales/en.d.ts +7 -0
  312. package/dist/esm/v4/locales/en.js +117 -0
  313. package/dist/esm/v4/locales/es.d.ts +7 -0
  314. package/dist/esm/v4/locales/es.js +116 -0
  315. package/dist/esm/v4/locales/fa.d.ts +7 -0
  316. package/dist/esm/v4/locales/fa.js +121 -0
  317. package/dist/esm/v4/locales/fi.d.ts +7 -0
  318. package/dist/esm/v4/locales/fi.js +121 -0
  319. package/dist/esm/v4/locales/fr.d.ts +7 -0
  320. package/dist/esm/v4/locales/fr.js +115 -0
  321. package/dist/esm/v4/locales/frCA.d.ts +7 -0
  322. package/dist/esm/v4/locales/frCA.js +116 -0
  323. package/dist/esm/v4/locales/he.d.ts +7 -0
  324. package/dist/esm/v4/locales/he.js +116 -0
  325. package/dist/esm/v4/locales/hu.d.ts +7 -0
  326. package/dist/esm/v4/locales/hu.js +116 -0
  327. package/dist/esm/v4/locales/id.d.ts +7 -0
  328. package/dist/esm/v4/locales/id.js +115 -0
  329. package/dist/esm/v4/locales/index.d.ts +34 -0
  330. package/dist/esm/v4/locales/index.js +34 -0
  331. package/dist/esm/v4/locales/it.d.ts +7 -0
  332. package/dist/esm/v4/locales/it.js +116 -0
  333. package/dist/esm/v4/locales/ja.d.ts +7 -0
  334. package/dist/esm/v4/locales/ja.js +114 -0
  335. package/dist/esm/v4/locales/ko.d.ts +7 -0
  336. package/dist/esm/v4/locales/ko.js +120 -0
  337. package/dist/esm/v4/locales/mk.d.ts +7 -0
  338. package/dist/esm/v4/locales/mk.js +117 -0
  339. package/dist/esm/v4/locales/ms.d.ts +7 -0
  340. package/dist/esm/v4/locales/ms.js +115 -0
  341. package/dist/esm/v4/locales/no.d.ts +7 -0
  342. package/dist/esm/v4/locales/no.js +115 -0
  343. package/dist/esm/v4/locales/ota.d.ts +7 -0
  344. package/dist/esm/v4/locales/ota.js +116 -0
  345. package/dist/esm/v4/locales/pl.d.ts +7 -0
  346. package/dist/esm/v4/locales/pl.js +116 -0
  347. package/dist/esm/v4/locales/pt.d.ts +7 -0
  348. package/dist/esm/v4/locales/pt.js +115 -0
  349. package/dist/esm/v4/locales/ru.d.ts +7 -0
  350. package/dist/esm/v4/locales/ru.js +163 -0
  351. package/dist/esm/v4/locales/sl.d.ts +7 -0
  352. package/dist/esm/v4/locales/sl.js +116 -0
  353. package/dist/esm/v4/locales/ta.d.ts +7 -0
  354. package/dist/esm/v4/locales/ta.js +116 -0
  355. package/dist/esm/v4/locales/th.d.ts +7 -0
  356. package/dist/esm/v4/locales/th.js +116 -0
  357. package/dist/esm/v4/locales/tr.d.ts +7 -0
  358. package/dist/esm/v4/locales/tr.js +114 -0
  359. package/dist/esm/v4/locales/ua.d.ts +7 -0
  360. package/dist/esm/v4/locales/ua.js +116 -0
  361. package/dist/esm/v4/locales/ur.d.ts +7 -0
  362. package/dist/esm/v4/locales/ur.js +116 -0
  363. package/dist/esm/v4/locales/vi.d.ts +7 -0
  364. package/dist/esm/v4/locales/vi.js +115 -0
  365. package/dist/esm/v4/locales/zh-CN.d.ts +7 -0
  366. package/dist/esm/v4/locales/zh-CN.js +115 -0
  367. package/dist/esm/v4/locales/zh-tw.d.ts +7 -0
  368. package/dist/esm/v4/locales/zh-tw.js +116 -0
  369. package/dist/esm/v4/mini/checks.d.ts +1 -0
  370. package/dist/esm/v4/mini/checks.js +1 -0
  371. package/dist/esm/v4/mini/coerce.d.ts +7 -0
  372. package/dist/esm/v4/mini/coerce.js +17 -0
  373. package/dist/esm/v4/mini/external.d.ts +7 -0
  374. package/dist/esm/v4/mini/external.js +7 -0
  375. package/dist/esm/v4/mini/index.d.ts +3 -0
  376. package/dist/esm/v4/mini/index.js +3 -0
  377. package/dist/esm/v4/mini/iso.d.ts +22 -0
  378. package/dist/esm/v4/mini/iso.js +30 -0
  379. package/dist/esm/v4/mini/parse.d.ts +1 -0
  380. package/dist/esm/v4/mini/parse.js +1 -0
  381. package/dist/esm/v4/mini/schemas.d.ts +405 -0
  382. package/dist/esm/v4/mini/schemas.js +738 -0
  383. package/package.json +1 -1
  384. package/src/v4/core/schemas.ts +0 -2
  385. package/src/v4/core/to-json-schema.ts +1 -1
@@ -0,0 +1,36 @@
1
+ export class Doc {
2
+ constructor(args = []) {
3
+ this.content = [];
4
+ this.indent = 0;
5
+ if (this)
6
+ this.args = args;
7
+ }
8
+ indented(fn) {
9
+ this.indent += 1;
10
+ fn(this);
11
+ this.indent -= 1;
12
+ }
13
+ write(arg) {
14
+ if (typeof arg === "function") {
15
+ arg(this, { execution: "sync" });
16
+ arg(this, { execution: "async" });
17
+ return;
18
+ }
19
+ const content = arg;
20
+ const lines = content.split("\n").filter((x) => x);
21
+ const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));
22
+ const dedented = lines.map((x) => x.slice(minIndent)).map((x) => " ".repeat(this.indent * 2) + x);
23
+ for (const line of dedented) {
24
+ this.content.push(line);
25
+ }
26
+ }
27
+ compile() {
28
+ const F = Function;
29
+ const args = this?.args;
30
+ const content = this?.content ?? [``];
31
+ const lines = [...content.map((x) => ` ${x}`)];
32
+ // console.log(lines.join("\n"));
33
+ // console.dir("COMPILE", {depth: null});
34
+ return new F(...args, lines.join("\n"));
35
+ }
36
+ }
@@ -0,0 +1,204 @@
1
+ import type { $ZodCheck, $ZodStringFormats } from "./checks.js";
2
+ import { $constructor } from "./core.js";
3
+ import type { $ZodType } from "./schemas.js";
4
+ import type * as util from "./util.js";
5
+ export interface $ZodIssueBase {
6
+ readonly code?: string;
7
+ readonly input?: unknown;
8
+ readonly path: PropertyKey[];
9
+ readonly message: string;
10
+ }
11
+ export interface $ZodIssueInvalidType<Input = unknown> extends $ZodIssueBase {
12
+ readonly code: "invalid_type";
13
+ readonly expected: $ZodType["_zod"]["def"]["type"];
14
+ readonly input: Input;
15
+ }
16
+ export interface $ZodIssueTooBig<Input = unknown> extends $ZodIssueBase {
17
+ readonly code: "too_big";
18
+ readonly origin: "number" | "int" | "bigint" | "date" | "string" | "array" | "set" | "file" | (string & {});
19
+ readonly maximum: number | bigint;
20
+ readonly inclusive?: boolean;
21
+ readonly input: Input;
22
+ }
23
+ export interface $ZodIssueTooSmall<Input = unknown> extends $ZodIssueBase {
24
+ readonly code: "too_small";
25
+ readonly origin: "number" | "int" | "bigint" | "date" | "string" | "array" | "set" | "file" | (string & {});
26
+ readonly minimum: number | bigint;
27
+ readonly inclusive?: boolean;
28
+ readonly input: Input;
29
+ }
30
+ export interface $ZodIssueInvalidStringFormat extends $ZodIssueBase {
31
+ readonly code: "invalid_format";
32
+ readonly format: $ZodStringFormats | (string & {});
33
+ readonly pattern?: string;
34
+ readonly input: string;
35
+ }
36
+ export interface $ZodIssueNotMultipleOf<Input extends number | bigint = number | bigint> extends $ZodIssueBase {
37
+ readonly code: "not_multiple_of";
38
+ readonly divisor: number;
39
+ readonly input: Input;
40
+ }
41
+ export interface $ZodIssueUnrecognizedKeys extends $ZodIssueBase {
42
+ readonly code: "unrecognized_keys";
43
+ readonly keys: string[];
44
+ readonly input: Record<string, unknown>;
45
+ }
46
+ export interface $ZodIssueInvalidUnion extends $ZodIssueBase {
47
+ readonly code: "invalid_union";
48
+ readonly errors: $ZodIssue[][];
49
+ readonly input: unknown;
50
+ }
51
+ export interface $ZodIssueInvalidKey<Input = unknown> extends $ZodIssueBase {
52
+ readonly code: "invalid_key";
53
+ readonly origin: "map" | "record";
54
+ readonly issues: $ZodIssue[];
55
+ readonly input: Input;
56
+ }
57
+ export interface $ZodIssueInvalidElement<Input = unknown> extends $ZodIssueBase {
58
+ readonly code: "invalid_element";
59
+ readonly origin: "map" | "set";
60
+ readonly key: unknown;
61
+ readonly issues: $ZodIssue[];
62
+ readonly input: Input;
63
+ }
64
+ export interface $ZodIssueInvalidValue<Input = unknown> extends $ZodIssueBase {
65
+ readonly code: "invalid_value";
66
+ readonly values: util.Primitive[];
67
+ readonly input: Input;
68
+ }
69
+ export interface $ZodIssueCustom extends $ZodIssueBase {
70
+ readonly code?: "custom";
71
+ readonly params?: Record<string, any> | undefined;
72
+ readonly input: unknown;
73
+ }
74
+ export interface $ZodIssueStringCommonFormats extends $ZodIssueInvalidStringFormat {
75
+ format: Exclude<$ZodStringFormats, "regex" | "jwt" | "starts_with" | "ends_with" | "includes">;
76
+ }
77
+ export interface $ZodIssueStringInvalidRegex extends $ZodIssueInvalidStringFormat {
78
+ format: "regex";
79
+ pattern: string;
80
+ }
81
+ export interface $ZodIssueStringInvalidJWT extends $ZodIssueInvalidStringFormat {
82
+ format: "jwt";
83
+ algorithm?: string;
84
+ }
85
+ export interface $ZodIssueStringStartsWith extends $ZodIssueInvalidStringFormat {
86
+ format: "starts_with";
87
+ prefix: string;
88
+ }
89
+ export interface $ZodIssueStringEndsWith extends $ZodIssueInvalidStringFormat {
90
+ format: "ends_with";
91
+ suffix: string;
92
+ }
93
+ export interface $ZodIssueStringIncludes extends $ZodIssueInvalidStringFormat {
94
+ format: "includes";
95
+ includes: string;
96
+ }
97
+ export type $ZodStringFormatIssues = $ZodIssueStringCommonFormats | $ZodIssueStringInvalidRegex | $ZodIssueStringInvalidJWT | $ZodIssueStringStartsWith | $ZodIssueStringEndsWith | $ZodIssueStringIncludes;
98
+ export type $ZodIssue = $ZodIssueInvalidType | $ZodIssueTooBig | $ZodIssueTooSmall | $ZodIssueInvalidStringFormat | $ZodIssueNotMultipleOf | $ZodIssueUnrecognizedKeys | $ZodIssueInvalidUnion | $ZodIssueInvalidKey | $ZodIssueInvalidElement | $ZodIssueInvalidValue | $ZodIssueCustom;
99
+ export type $ZodRawIssue<T extends $ZodIssueBase = $ZodIssue> = T extends any ? RawIssue<T> : never;
100
+ type RawIssue<T extends $ZodIssueBase> = util.Flatten<util.MakePartial<T, "message" | "path"> & {
101
+ /** The input data */
102
+ readonly input?: unknown;
103
+ /** The schema or check that originated this issue. */
104
+ readonly inst?: $ZodType | $ZodCheck;
105
+ /** @deprecated Internal use only. If `true`, Zod will continue executing validation despite this issue. */
106
+ readonly continue?: boolean | undefined;
107
+ } & Record<string, any>>;
108
+ export interface $ZodErrorMap<T extends $ZodIssueBase = $ZodIssue> {
109
+ (issue: $ZodRawIssue<T>): {
110
+ message: string;
111
+ } | string | undefined | null;
112
+ }
113
+ export interface $ZodError<T = unknown> extends Error {
114
+ type: T;
115
+ issues: $ZodIssue[];
116
+ _zod: {
117
+ output: T;
118
+ def: $ZodIssue[];
119
+ };
120
+ stack?: string;
121
+ name: string;
122
+ }
123
+ export declare const $ZodError: $constructor<$ZodError>;
124
+ interface $ZodRealError<T = any> extends $ZodError<T> {
125
+ }
126
+ export declare const $ZodRealError: $constructor<$ZodRealError>;
127
+ export type $ZodFlattenedError<T, U = string> = _FlattenedError<T, U>;
128
+ type _FlattenedError<T, U = string> = {
129
+ formErrors: U[];
130
+ fieldErrors: {
131
+ [P in keyof T]?: U[];
132
+ };
133
+ };
134
+ /** @deprecated Use `z.treeifyError()` instead. */
135
+ export declare function flattenError<T>(error: $ZodError<T>): _FlattenedError<T>;
136
+ export declare function flattenError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): _FlattenedError<T, U>;
137
+ type _ZodFormattedError<T, U = string> = T extends [any, ...any[]] ? {
138
+ [K in keyof T]?: $ZodFormattedError<T[K], U>;
139
+ } : T extends any[] ? {
140
+ [k: number]: $ZodFormattedError<T[number], U>;
141
+ } : T extends object ? util.Flatten<{
142
+ [K in keyof T]?: $ZodFormattedError<T[K], U>;
143
+ }> : any;
144
+ export type $ZodFormattedError<T, U = string> = {
145
+ _errors: U[];
146
+ } & util.Flatten<_ZodFormattedError<T, U>>;
147
+ export declare function formatError<T>(error: $ZodError<T>): $ZodFormattedError<T>;
148
+ export declare function formatError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): $ZodFormattedError<T, U>;
149
+ export type $ZodErrorTree<T, U = string> = T extends [any, ...any[]] ? {
150
+ errors: U[];
151
+ items?: {
152
+ [K in keyof T]?: $ZodErrorTree<T[K], U>;
153
+ };
154
+ } : T extends any[] ? {
155
+ errors: U[];
156
+ items?: Array<$ZodErrorTree<T[number], U>>;
157
+ } : T extends object ? {
158
+ errors: U[];
159
+ properties?: {
160
+ [K in keyof T]?: $ZodErrorTree<T[K], U>;
161
+ };
162
+ } : {
163
+ errors: U[];
164
+ };
165
+ export declare function treeifyError<T>(error: $ZodError<T>): $ZodErrorTree<T>;
166
+ export declare function treeifyError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): $ZodErrorTree<T, U>;
167
+ /** Format a ZodError as a human-readable string in the following form.
168
+ *
169
+ * From
170
+ *
171
+ * ```ts
172
+ * ZodError {
173
+ * issues: [
174
+ * {
175
+ * expected: 'string',
176
+ * code: 'invalid_type',
177
+ * path: [ 'username' ],
178
+ * message: 'Invalid input: expected string'
179
+ * },
180
+ * {
181
+ * expected: 'number',
182
+ * code: 'invalid_type',
183
+ * path: [ 'favoriteNumbers', 1 ],
184
+ * message: 'Invalid input: expected number'
185
+ * }
186
+ * ];
187
+ * }
188
+ * ```
189
+ *
190
+ * to
191
+ *
192
+ * ```
193
+ * username
194
+ * ✖ Expected number, received string at "username
195
+ * favoriteNumbers[0]
196
+ * ✖ Invalid input: expected number
197
+ * ```
198
+ */
199
+ export declare function toDotPath(path: (string | number | symbol)[]): string;
200
+ interface BaseError {
201
+ issues: $ZodIssueBase[];
202
+ }
203
+ export declare function prettifyError(error: BaseError): string;
204
+ export {};
@@ -0,0 +1,195 @@
1
+ import { $constructor } from "./core.js";
2
+ const initializer = (inst, def) => {
3
+ Object.defineProperty(inst, "_zod", {
4
+ value: inst._zod,
5
+ enumerable: false,
6
+ });
7
+ Object.defineProperty(inst, "issues", {
8
+ value: def,
9
+ enumerable: true,
10
+ });
11
+ // inst.message = `Invalid input`;
12
+ // Object.defineProperty(inst, "message", {
13
+ // get() {
14
+ // return (
15
+ // "\n" +
16
+ // inst.issues
17
+ // .map((iss) => {
18
+ // return `✖ ${iss.message}${iss.path.length ? ` [${iss.path.join(".")}]` : ""}`;
19
+ // })
20
+ // .join("\n")
21
+ // );
22
+ // },
23
+ // enumerable: false,
24
+ // });
25
+ };
26
+ export const $ZodError = $constructor("$ZodError", initializer);
27
+ export const $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
28
+ export function flattenError(error, mapper = (issue) => issue.message) {
29
+ const fieldErrors = {};
30
+ const formErrors = [];
31
+ for (const sub of error.issues) {
32
+ if (sub.path.length > 0) {
33
+ fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
34
+ fieldErrors[sub.path[0]].push(mapper(sub));
35
+ }
36
+ else {
37
+ formErrors.push(mapper(sub));
38
+ }
39
+ }
40
+ return { formErrors, fieldErrors };
41
+ }
42
+ export function formatError(error, _mapper) {
43
+ const mapper = _mapper ||
44
+ function (issue) {
45
+ return issue.message;
46
+ };
47
+ const fieldErrors = { _errors: [] };
48
+ const processError = (error) => {
49
+ for (const issue of error.issues) {
50
+ if (issue.code === "invalid_union") {
51
+ issue.errors.map((issues) => processError({ issues }));
52
+ }
53
+ else if (issue.code === "invalid_key") {
54
+ processError({ issues: issue.issues });
55
+ }
56
+ else if (issue.code === "invalid_element") {
57
+ processError({ issues: issue.issues });
58
+ }
59
+ else if (issue.path.length === 0) {
60
+ fieldErrors._errors.push(mapper(issue));
61
+ }
62
+ else {
63
+ let curr = fieldErrors;
64
+ let i = 0;
65
+ while (i < issue.path.length) {
66
+ const el = issue.path[i];
67
+ const terminal = i === issue.path.length - 1;
68
+ if (!terminal) {
69
+ curr[el] = curr[el] || { _errors: [] };
70
+ }
71
+ else {
72
+ curr[el] = curr[el] || { _errors: [] };
73
+ curr[el]._errors.push(mapper(issue));
74
+ }
75
+ curr = curr[el];
76
+ i++;
77
+ }
78
+ }
79
+ }
80
+ };
81
+ processError(error);
82
+ return fieldErrors;
83
+ }
84
+ export function treeifyError(error, _mapper) {
85
+ const mapper = _mapper ||
86
+ function (issue) {
87
+ return issue.message;
88
+ };
89
+ const result = { errors: [] };
90
+ const processError = (error, path = []) => {
91
+ var _a, _b;
92
+ for (const issue of error.issues) {
93
+ if (issue.code === "invalid_union") {
94
+ issue.errors.map((issues) => processError({ issues }, issue.path));
95
+ }
96
+ else if (issue.code === "invalid_key") {
97
+ processError({ issues: issue.issues }, issue.path);
98
+ }
99
+ else if (issue.code === "invalid_element") {
100
+ processError({ issues: issue.issues }, issue.path);
101
+ }
102
+ else {
103
+ const fullpath = [...path, ...issue.path];
104
+ if (fullpath.length === 0) {
105
+ result.errors.push(mapper(issue));
106
+ continue;
107
+ }
108
+ let curr = result;
109
+ let i = 0;
110
+ while (i < fullpath.length) {
111
+ const el = fullpath[i];
112
+ const terminal = i === fullpath.length - 1;
113
+ if (typeof el === "string") {
114
+ curr.properties ?? (curr.properties = {});
115
+ (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });
116
+ curr = curr.properties[el];
117
+ }
118
+ else {
119
+ curr.items ?? (curr.items = []);
120
+ (_b = curr.items)[el] ?? (_b[el] = { errors: [] });
121
+ curr = curr.items[el];
122
+ }
123
+ if (terminal) {
124
+ curr.errors.push(mapper(issue));
125
+ }
126
+ i++;
127
+ }
128
+ }
129
+ }
130
+ };
131
+ processError(error);
132
+ return result;
133
+ }
134
+ /** Format a ZodError as a human-readable string in the following form.
135
+ *
136
+ * From
137
+ *
138
+ * ```ts
139
+ * ZodError {
140
+ * issues: [
141
+ * {
142
+ * expected: 'string',
143
+ * code: 'invalid_type',
144
+ * path: [ 'username' ],
145
+ * message: 'Invalid input: expected string'
146
+ * },
147
+ * {
148
+ * expected: 'number',
149
+ * code: 'invalid_type',
150
+ * path: [ 'favoriteNumbers', 1 ],
151
+ * message: 'Invalid input: expected number'
152
+ * }
153
+ * ];
154
+ * }
155
+ * ```
156
+ *
157
+ * to
158
+ *
159
+ * ```
160
+ * username
161
+ * ✖ Expected number, received string at "username
162
+ * favoriteNumbers[0]
163
+ * ✖ Invalid input: expected number
164
+ * ```
165
+ */
166
+ export function toDotPath(path) {
167
+ const segs = [];
168
+ for (const seg of path) {
169
+ if (typeof seg === "number")
170
+ segs.push(`[${seg}]`);
171
+ else if (typeof seg === "symbol")
172
+ segs.push(`[${JSON.stringify(String(seg))}]`);
173
+ else if (/[^\w$]/.test(seg))
174
+ segs.push(`[${JSON.stringify(seg)}]`);
175
+ else {
176
+ if (segs.length)
177
+ segs.push(".");
178
+ segs.push(seg);
179
+ }
180
+ }
181
+ return segs.join("");
182
+ }
183
+ export function prettifyError(error) {
184
+ const lines = [];
185
+ // sort by path length
186
+ const issues = [...error.issues].sort((a, b) => a.path.length - b.path.length);
187
+ // Process each issue
188
+ for (const issue of issues) {
189
+ lines.push(`✖ ${issue.message}`);
190
+ if (issue.path?.length)
191
+ lines.push(` → at ${toDotPath(issue.path)}`);
192
+ }
193
+ // Convert Map to formatted string
194
+ return lines.join("\n");
195
+ }
@@ -0,0 +1,35 @@
1
+ import * as schemas from "./schemas.js";
2
+ import { $ZodTuple } from "./schemas.js";
3
+ import type * as util from "./util.js";
4
+ export interface $ZodFunctionDef {
5
+ type: "function";
6
+ input: $ZodFunctionArgs | null;
7
+ output: schemas.$ZodType | null;
8
+ }
9
+ export type $ZodFunctionArgs = schemas.$ZodType<unknown[], unknown[]>;
10
+ export type $InferInnerFunctionType<Args extends $ZodFunctionArgs, Returns extends schemas.$ZodType> = (...args: Args["_zod"]["output"]) => Returns["_zod"]["input"];
11
+ export type $InferInnerFunctionTypeAsync<Args extends $ZodFunctionArgs, Returns extends schemas.$ZodType> = (...args: Args["_zod"]["output"]) => util.MaybeAsync<Returns["_zod"]["input"]>;
12
+ export type $InferOuterFunctionType<Args extends $ZodFunctionArgs, Returns extends schemas.$ZodType> = (...args: Args["_zod"]["input"]) => Returns["_zod"]["output"];
13
+ export type $InferOuterFunctionTypeAsync<Args extends $ZodFunctionArgs, Returns extends schemas.$ZodType> = (...args: Args["_zod"]["input"]) => util.MaybeAsync<Returns["_zod"]["output"]>;
14
+ export declare class $ZodFunction<Args extends $ZodFunctionArgs = $ZodFunctionArgs, Returns extends schemas.$ZodType = schemas.$ZodType> {
15
+ _def: $ZodFunctionDef;
16
+ _input: $InferInnerFunctionType<Args, Returns>;
17
+ _output: $InferOuterFunctionType<Args, Returns>;
18
+ constructor(def: $ZodFunctionDef);
19
+ implement<F extends $InferInnerFunctionType<Args, Returns>>(func: F): F extends this["_output"] ? F : this["_output"];
20
+ implementAsync<F extends $InferInnerFunctionTypeAsync<Args, Returns>>(func: F): F extends $InferOuterFunctionTypeAsync<Args, Returns> ? F : $InferOuterFunctionTypeAsync<Args, Returns>;
21
+ input<const Items extends util.TupleItems, const Rest extends schemas.$ZodType | null = null>(args: Items, rest?: Rest): $ZodFunction<schemas.$ZodTuple<Items, Rest>, Returns>;
22
+ input<NewArgs extends $ZodFunctionArgs>(args: NewArgs): $ZodFunction<NewArgs, Returns>;
23
+ output<NewReturns extends schemas.$ZodType>(output: NewReturns): $ZodFunction<Args, NewReturns>;
24
+ }
25
+ export interface $ZodFunctionParams<I extends $ZodFunctionArgs, O extends schemas.$ZodType> {
26
+ input?: I;
27
+ output?: O;
28
+ }
29
+ declare function _function(): $ZodFunction;
30
+ declare function _function<const In extends Array<schemas.$ZodType> = Array<schemas.$ZodType>, Out extends schemas.$ZodType = schemas.$ZodType>(params?: {
31
+ input?: In;
32
+ output?: Out;
33
+ }): $ZodFunction<$ZodTuple<In, null>, Out>;
34
+ declare function _function<In extends $ZodFunctionArgs = $ZodFunctionArgs, Out extends schemas.$ZodType = schemas.$ZodType>(params?: $ZodFunctionParams<In, Out>): $ZodFunction<In, Out>;
35
+ export { _function as function };
@@ -0,0 +1,70 @@
1
+ import { _tuple } from "./api.js";
2
+ import { parse, parseAsync } from "./parse.js";
3
+ import * as schemas from "./schemas.js";
4
+ import { $ZodTuple } from "./schemas.js";
5
+ export class $ZodFunction {
6
+ constructor(def) {
7
+ this._def = def;
8
+ }
9
+ implement(func) {
10
+ if (typeof func !== "function") {
11
+ throw new Error("implement() must be called with a function");
12
+ }
13
+ const impl = ((...args) => {
14
+ const parsedArgs = this._def.input ? parse(this._def.input, args, undefined, { callee: impl }) : args;
15
+ if (!Array.isArray(parsedArgs)) {
16
+ throw new Error("Invalid arguments schema: not an array or tuple schema.");
17
+ }
18
+ const output = func(...parsedArgs);
19
+ return this._def.output ? parse(this._def.output, output, undefined, { callee: impl }) : output;
20
+ });
21
+ return impl;
22
+ }
23
+ implementAsync(func) {
24
+ if (typeof func !== "function") {
25
+ throw new Error("implement() must be called with a function");
26
+ }
27
+ const impl = (async (...args) => {
28
+ const parsedArgs = this._def.input ? await parseAsync(this._def.input, args, undefined, { callee: impl }) : args;
29
+ if (!Array.isArray(parsedArgs)) {
30
+ throw new Error("Invalid arguments schema: not an array or tuple schema.");
31
+ }
32
+ const output = await func(...parsedArgs);
33
+ return this._def.output ? parseAsync(this._def.output, output, undefined, { callee: impl }) : output;
34
+ });
35
+ return impl;
36
+ }
37
+ input(...args) {
38
+ if (Array.isArray(args[0])) {
39
+ return new $ZodFunction({
40
+ type: "function",
41
+ input: new $ZodTuple({
42
+ type: "tuple",
43
+ items: args[0],
44
+ rest: args[1],
45
+ }),
46
+ output: this._def.output,
47
+ });
48
+ }
49
+ return new $ZodFunction({
50
+ type: "function",
51
+ input: args[0],
52
+ output: this._def.output,
53
+ });
54
+ }
55
+ output(output) {
56
+ return new $ZodFunction({
57
+ type: "function",
58
+ input: this._def.input,
59
+ output,
60
+ });
61
+ }
62
+ }
63
+ function _function(params) {
64
+ return new $ZodFunction({
65
+ type: "function",
66
+ input: Array.isArray(params?.input) ? _tuple(schemas.$ZodTuple, params?.input) : (params?.input ?? null),
67
+ output: params?.output ?? null,
68
+ });
69
+ }
70
+ export { _function as function };
@@ -0,0 +1,15 @@
1
+ export * from "./core.js";
2
+ export * from "./parse.js";
3
+ export * from "./errors.js";
4
+ export * from "./schemas.js";
5
+ export * from "./checks.js";
6
+ export * from "./versions.js";
7
+ export * as util from "./util.js";
8
+ export * as regexes from "./regexes.js";
9
+ export * as locales from "../locales/index.js";
10
+ export * from "./registries.js";
11
+ export * from "./doc.js";
12
+ export * from "./function.js";
13
+ export * from "./api.js";
14
+ export * from "./to-json-schema.js";
15
+ export * as JSONSchema from "./json-schema.js";
@@ -0,0 +1,15 @@
1
+ export * from "./core.js";
2
+ export * from "./parse.js";
3
+ export * from "./errors.js";
4
+ export * from "./schemas.js";
5
+ export * from "./checks.js";
6
+ export * from "./versions.js";
7
+ export * as util from "./util.js";
8
+ export * as regexes from "./regexes.js";
9
+ export * as locales from "../locales/index.js";
10
+ export * from "./registries.js";
11
+ export * from "./doc.js";
12
+ export * from "./function.js";
13
+ export * from "./api.js";
14
+ export * from "./to-json-schema.js";
15
+ export * as JSONSchema from "./json-schema.js";
@@ -0,0 +1,100 @@
1
+ export type Schema = ObjectSchema | ArraySchema | StringSchema | NumberSchema | IntegerSchema | BooleanSchema | NullSchema;
2
+ export interface BaseSchema {
3
+ type?: string | undefined;
4
+ $id?: string | undefined;
5
+ id?: string | undefined;
6
+ $schema?: string | undefined;
7
+ $ref?: string | undefined;
8
+ $anchor?: string | undefined;
9
+ $defs?: {
10
+ [key: string]: BaseSchema;
11
+ } | undefined;
12
+ definitions?: {
13
+ [key: string]: BaseSchema;
14
+ } | undefined;
15
+ $comment?: string | undefined;
16
+ title?: string | undefined;
17
+ description?: string | undefined;
18
+ default?: unknown | undefined;
19
+ examples?: unknown[] | undefined;
20
+ readOnly?: boolean | undefined;
21
+ writeOnly?: boolean | undefined;
22
+ deprecated?: boolean | undefined;
23
+ allOf?: BaseSchema[] | undefined;
24
+ anyOf?: BaseSchema[] | undefined;
25
+ oneOf?: BaseSchema[] | undefined;
26
+ not?: BaseSchema | undefined;
27
+ if?: BaseSchema | undefined;
28
+ then?: BaseSchema | undefined;
29
+ else?: BaseSchema | undefined;
30
+ enum?: Array<string | number | boolean | null> | undefined;
31
+ const?: string | number | boolean | null | undefined;
32
+ [k: string]: unknown;
33
+ /** A special key used as an intermediate representation of extends-style relationships. Omitted as a $ref with additional properties. */
34
+ _prefault?: unknown | undefined;
35
+ }
36
+ export interface ObjectSchema extends BaseSchema {
37
+ type: "object";
38
+ properties?: {
39
+ [key: string]: BaseSchema;
40
+ } | undefined;
41
+ patternProperties?: {
42
+ [key: string]: BaseSchema;
43
+ } | undefined;
44
+ additionalProperties?: BaseSchema | boolean | undefined;
45
+ required?: string[] | undefined;
46
+ dependentRequired?: {
47
+ [key: string]: string[];
48
+ } | undefined;
49
+ propertyNames?: BaseSchema | undefined;
50
+ minProperties?: number | undefined;
51
+ maxProperties?: number | undefined;
52
+ unevaluatedProperties?: BaseSchema | boolean | undefined;
53
+ dependentSchemas?: {
54
+ [key: string]: BaseSchema;
55
+ } | undefined;
56
+ }
57
+ export interface ArraySchema extends BaseSchema {
58
+ type: "array";
59
+ items?: BaseSchema | BaseSchema[] | undefined;
60
+ prefixItems?: BaseSchema[] | undefined;
61
+ additionalItems?: BaseSchema | boolean;
62
+ contains?: BaseSchema | undefined;
63
+ minItems?: number | undefined;
64
+ maxItems?: number | undefined;
65
+ minContains?: number | undefined;
66
+ maxContains?: number | undefined;
67
+ uniqueItems?: boolean | undefined;
68
+ unevaluatedItems?: BaseSchema | boolean | undefined;
69
+ }
70
+ export interface StringSchema extends BaseSchema {
71
+ type: "string";
72
+ minLength?: number | undefined;
73
+ maxLength?: number | undefined;
74
+ pattern?: string | undefined;
75
+ format?: string | undefined;
76
+ contentEncoding?: string | undefined;
77
+ contentMediaType?: string | undefined;
78
+ }
79
+ export interface NumberSchema extends BaseSchema {
80
+ type: "number";
81
+ minimum?: number | undefined;
82
+ maximum?: number | undefined;
83
+ exclusiveMinimum?: number | undefined;
84
+ exclusiveMaximum?: number | undefined;
85
+ multipleOf?: number | undefined;
86
+ }
87
+ export interface IntegerSchema extends BaseSchema {
88
+ type: "integer";
89
+ minimum?: number | undefined;
90
+ maximum?: number | undefined;
91
+ exclusiveMinimum?: number | undefined;
92
+ exclusiveMaximum?: number | undefined;
93
+ multipleOf?: number | undefined;
94
+ }
95
+ export interface BooleanSchema extends BaseSchema {
96
+ type: "boolean";
97
+ }
98
+ export interface NullSchema extends BaseSchema {
99
+ type: "null";
100
+ }
@@ -0,0 +1 @@
1
+ export {};