zod 4.0.0-beta.20250505T195954 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +208 -0
  2. package/index.cjs +33 -0
  3. package/index.d.cts +4 -0
  4. package/index.d.ts +4 -0
  5. package/index.js +4 -0
  6. package/locales/index.cjs +17 -0
  7. package/locales/index.d.cts +1 -0
  8. package/locales/index.d.ts +1 -0
  9. package/locales/index.js +1 -0
  10. package/mini/index.cjs +17 -0
  11. package/mini/index.d.cts +1 -0
  12. package/mini/index.d.ts +1 -0
  13. package/mini/index.js +1 -0
  14. package/package.json +87 -40
  15. package/src/index.ts +2 -3
  16. package/src/locales/index.ts +1 -0
  17. package/src/mini/index.ts +1 -0
  18. package/src/v3/ZodError.ts +330 -0
  19. package/src/v3/benchmarks/datetime.ts +58 -0
  20. package/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  21. package/src/v3/benchmarks/index.ts +59 -0
  22. package/src/v3/benchmarks/ipv4.ts +57 -0
  23. package/src/v3/benchmarks/object.ts +69 -0
  24. package/src/v3/benchmarks/primitives.ts +162 -0
  25. package/src/v3/benchmarks/realworld.ts +63 -0
  26. package/src/v3/benchmarks/string.ts +55 -0
  27. package/src/v3/benchmarks/union.ts +80 -0
  28. package/src/v3/errors.ts +13 -0
  29. package/src/v3/external.ts +6 -0
  30. package/src/v3/helpers/enumUtil.ts +17 -0
  31. package/src/v3/helpers/errorUtil.ts +8 -0
  32. package/src/v3/helpers/parseUtil.ts +176 -0
  33. package/src/v3/helpers/partialUtil.ts +34 -0
  34. package/src/v3/helpers/typeAliases.ts +2 -0
  35. package/src/v3/helpers/util.ts +224 -0
  36. package/src/v3/index.ts +4 -0
  37. package/src/v3/locales/en.ts +124 -0
  38. package/src/v3/standard-schema.ts +113 -0
  39. package/src/v3/tests/Mocker.ts +54 -0
  40. package/src/v3/tests/all-errors.test.ts +157 -0
  41. package/src/v3/tests/anyunknown.test.ts +28 -0
  42. package/src/v3/tests/array.test.ts +71 -0
  43. package/src/v3/tests/async-parsing.test.ts +388 -0
  44. package/src/v3/tests/async-refinements.test.ts +46 -0
  45. package/src/v3/tests/base.test.ts +29 -0
  46. package/src/v3/tests/bigint.test.ts +55 -0
  47. package/src/v3/tests/branded.test.ts +53 -0
  48. package/src/v3/tests/catch.test.ts +220 -0
  49. package/src/v3/tests/coerce.test.ts +133 -0
  50. package/src/v3/tests/complex.test.ts +56 -0
  51. package/src/v3/tests/custom.test.ts +31 -0
  52. package/src/v3/tests/date.test.ts +32 -0
  53. package/src/v3/tests/deepmasking.test.ts +186 -0
  54. package/src/v3/tests/default.test.ts +112 -0
  55. package/src/v3/tests/description.test.ts +33 -0
  56. package/src/v3/tests/discriminated-unions.test.ts +315 -0
  57. package/src/v3/tests/enum.test.ts +80 -0
  58. package/src/v3/tests/error.test.ts +551 -0
  59. package/src/v3/tests/firstparty.test.ts +87 -0
  60. package/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  61. package/src/v3/tests/function.test.ts +257 -0
  62. package/src/v3/tests/generics.test.ts +48 -0
  63. package/src/v3/tests/instanceof.test.ts +37 -0
  64. package/src/v3/tests/intersection.test.ts +110 -0
  65. package/src/v3/tests/language-server.source.ts +76 -0
  66. package/src/v3/tests/language-server.test.ts +207 -0
  67. package/src/v3/tests/literal.test.ts +36 -0
  68. package/src/v3/tests/map.test.ts +110 -0
  69. package/src/v3/tests/masking.test.ts +4 -0
  70. package/src/v3/tests/mocker.test.ts +19 -0
  71. package/src/v3/tests/nan.test.ts +21 -0
  72. package/src/v3/tests/nativeEnum.test.ts +87 -0
  73. package/src/v3/tests/nullable.test.ts +42 -0
  74. package/src/v3/tests/number.test.ts +176 -0
  75. package/src/v3/tests/object-augmentation.test.ts +29 -0
  76. package/src/v3/tests/object-in-es5-env.test.ts +29 -0
  77. package/src/v3/tests/object.test.ts +434 -0
  78. package/src/v3/tests/optional.test.ts +42 -0
  79. package/src/v3/tests/parseUtil.test.ts +23 -0
  80. package/src/v3/tests/parser.test.ts +41 -0
  81. package/src/v3/tests/partials.test.ts +243 -0
  82. package/src/v3/tests/pickomit.test.ts +111 -0
  83. package/src/v3/tests/pipeline.test.ts +29 -0
  84. package/src/v3/tests/preprocess.test.ts +186 -0
  85. package/src/v3/tests/primitive.test.ts +440 -0
  86. package/src/v3/tests/promise.test.ts +90 -0
  87. package/src/v3/tests/readonly.test.ts +194 -0
  88. package/src/v3/tests/record.test.ts +171 -0
  89. package/src/v3/tests/recursive.test.ts +197 -0
  90. package/src/v3/tests/refine.test.ts +313 -0
  91. package/src/v3/tests/safeparse.test.ts +27 -0
  92. package/src/v3/tests/set.test.ts +142 -0
  93. package/src/v3/tests/standard-schema.test.ts +83 -0
  94. package/src/v3/tests/string.test.ts +916 -0
  95. package/src/v3/tests/transformer.test.ts +233 -0
  96. package/src/v3/tests/tuple.test.ts +90 -0
  97. package/src/v3/tests/unions.test.ts +57 -0
  98. package/src/v3/tests/validations.test.ts +133 -0
  99. package/src/v3/tests/void.test.ts +15 -0
  100. package/src/v3/types.ts +5136 -0
  101. package/src/{checks.ts → v4/classic/checks.ts} +1 -1
  102. package/src/v4/classic/coerce.ts +27 -0
  103. package/src/{compat.ts → v4/classic/compat.ts} +3 -13
  104. package/src/v4/classic/errors.ts +75 -0
  105. package/src/v4/classic/external.ts +50 -0
  106. package/src/v4/classic/index.ts +5 -0
  107. package/src/{iso.ts → v4/classic/iso.ts} +1 -1
  108. package/src/{parse.ts → v4/classic/parse.ts} +13 -12
  109. package/src/{schemas.ts → v4/classic/schemas.ts} +430 -417
  110. package/src/v4/classic/tests/anyunknown.test.ts +26 -0
  111. package/src/v4/classic/tests/array.test.ts +264 -0
  112. package/src/v4/classic/tests/assignability.test.ts +210 -0
  113. package/src/v4/classic/tests/async-parsing.test.ts +381 -0
  114. package/src/v4/classic/tests/async-refinements.test.ts +68 -0
  115. package/src/v4/classic/tests/base.test.ts +7 -0
  116. package/src/v4/classic/tests/bigint.test.ts +54 -0
  117. package/src/v4/classic/tests/brand.test.ts +63 -0
  118. package/src/v4/classic/tests/catch.test.ts +252 -0
  119. package/src/v4/classic/tests/coalesce.test.ts +20 -0
  120. package/src/v4/classic/tests/coerce.test.ts +160 -0
  121. package/src/v4/classic/tests/continuability.test.ts +352 -0
  122. package/src/v4/classic/tests/custom.test.ts +40 -0
  123. package/src/v4/classic/tests/date.test.ts +31 -0
  124. package/src/v4/classic/tests/datetime.test.ts +296 -0
  125. package/src/v4/classic/tests/default.test.ts +313 -0
  126. package/src/v4/classic/tests/description.test.ts +32 -0
  127. package/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
  128. package/src/v4/classic/tests/enum.test.ts +285 -0
  129. package/src/v4/classic/tests/error-utils.test.ts +552 -0
  130. package/src/v4/classic/tests/error.test.ts +711 -0
  131. package/src/v4/classic/tests/file.test.ts +91 -0
  132. package/src/v4/classic/tests/firstparty.test.ts +175 -0
  133. package/src/v4/classic/tests/function.test.ts +268 -0
  134. package/src/v4/classic/tests/generics.test.ts +72 -0
  135. package/src/v4/classic/tests/index.test.ts +829 -0
  136. package/src/v4/classic/tests/instanceof.test.ts +34 -0
  137. package/src/v4/classic/tests/intersection.test.ts +171 -0
  138. package/src/v4/classic/tests/json.test.ts +108 -0
  139. package/src/v4/classic/tests/lazy.test.ts +227 -0
  140. package/src/v4/classic/tests/literal.test.ts +92 -0
  141. package/src/v4/classic/tests/map.test.ts +196 -0
  142. package/src/v4/classic/tests/nan.test.ts +21 -0
  143. package/src/v4/classic/tests/nested-refine.test.ts +168 -0
  144. package/src/v4/classic/tests/nonoptional.test.ts +86 -0
  145. package/src/v4/classic/tests/nullable.test.ts +22 -0
  146. package/src/v4/classic/tests/number.test.ts +247 -0
  147. package/src/v4/classic/tests/object.test.ts +563 -0
  148. package/src/v4/classic/tests/optional.test.ts +123 -0
  149. package/src/v4/classic/tests/partial.test.ts +147 -0
  150. package/src/v4/classic/tests/pickomit.test.ts +127 -0
  151. package/src/v4/classic/tests/pipe.test.ts +81 -0
  152. package/src/v4/classic/tests/prefault.test.ts +37 -0
  153. package/src/v4/classic/tests/preprocess.test.ts +298 -0
  154. package/src/v4/classic/tests/primitive.test.ts +175 -0
  155. package/src/v4/classic/tests/promise.test.ts +81 -0
  156. package/src/v4/classic/tests/prototypes.test.ts +23 -0
  157. package/src/v4/classic/tests/readonly.test.ts +252 -0
  158. package/src/v4/classic/tests/record.test.ts +342 -0
  159. package/src/v4/classic/tests/recursive-types.test.ts +356 -0
  160. package/src/v4/classic/tests/refine.test.ts +532 -0
  161. package/src/v4/classic/tests/registries.test.ts +204 -0
  162. package/src/v4/classic/tests/set.test.ts +179 -0
  163. package/src/v4/classic/tests/standard-schema.test.ts +57 -0
  164. package/src/v4/classic/tests/string-formats.test.ts +109 -0
  165. package/src/v4/classic/tests/string.test.ts +881 -0
  166. package/src/v4/classic/tests/stringbool.test.ts +66 -0
  167. package/src/v4/classic/tests/template-literal.test.ts +758 -0
  168. package/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
  169. package/src/v4/classic/tests/transform.test.ts +250 -0
  170. package/src/v4/classic/tests/tuple.test.ts +163 -0
  171. package/src/v4/classic/tests/union.test.ts +94 -0
  172. package/src/v4/classic/tests/validations.test.ts +283 -0
  173. package/src/v4/classic/tests/void.test.ts +12 -0
  174. package/src/v4/core/api.ts +1594 -0
  175. package/src/v4/core/checks.ts +1283 -0
  176. package/src/v4/core/config.ts +15 -0
  177. package/src/v4/core/core.ts +134 -0
  178. package/src/v4/core/doc.ts +44 -0
  179. package/src/v4/core/errors.ts +426 -0
  180. package/src/v4/core/function.ts +176 -0
  181. package/src/v4/core/index.ts +15 -0
  182. package/src/v4/core/json-schema.ts +143 -0
  183. package/src/v4/core/parse.ts +94 -0
  184. package/src/v4/core/regexes.ts +135 -0
  185. package/src/v4/core/registries.ts +96 -0
  186. package/src/v4/core/schemas.ts +3842 -0
  187. package/src/v4/core/standard-schema.ts +64 -0
  188. package/src/v4/core/tests/index.test.ts +46 -0
  189. package/src/v4/core/tests/locales/be.test.ts +124 -0
  190. package/src/v4/core/tests/locales/en.test.ts +22 -0
  191. package/src/v4/core/tests/locales/ru.test.ts +128 -0
  192. package/src/v4/core/tests/locales/tr.test.ts +69 -0
  193. package/src/v4/core/to-json-schema.ts +977 -0
  194. package/src/v4/core/util.ts +775 -0
  195. package/src/v4/core/versions.ts +5 -0
  196. package/src/v4/core/zsf.ts +323 -0
  197. package/src/v4/index.ts +4 -0
  198. package/src/v4/locales/ar.ts +125 -0
  199. package/src/v4/locales/az.ts +121 -0
  200. package/src/v4/locales/be.ts +184 -0
  201. package/src/v4/locales/ca.ts +127 -0
  202. package/src/v4/locales/cs.ts +142 -0
  203. package/src/v4/locales/de.ts +124 -0
  204. package/src/v4/locales/en.ts +127 -0
  205. package/src/v4/locales/eo.ts +125 -0
  206. package/src/v4/locales/es.ts +125 -0
  207. package/src/v4/locales/fa.ts +134 -0
  208. package/src/v4/locales/fi.ts +131 -0
  209. package/src/v4/locales/fr-CA.ts +126 -0
  210. package/src/v4/locales/fr.ts +124 -0
  211. package/src/v4/locales/he.ts +125 -0
  212. package/src/v4/locales/hu.ts +126 -0
  213. package/src/v4/locales/id.ts +125 -0
  214. package/src/v4/locales/index.ts +39 -0
  215. package/src/v4/locales/it.ts +125 -0
  216. package/src/v4/locales/ja.ts +122 -0
  217. package/src/v4/locales/kh.ts +126 -0
  218. package/src/v4/locales/ko.ts +131 -0
  219. package/src/v4/locales/mk.ts +127 -0
  220. package/src/v4/locales/ms.ts +124 -0
  221. package/src/v4/locales/nl.ts +126 -0
  222. package/src/v4/locales/no.ts +124 -0
  223. package/src/v4/locales/ota.ts +125 -0
  224. package/src/v4/locales/pl.ts +126 -0
  225. package/src/v4/locales/ps.ts +133 -0
  226. package/src/v4/locales/pt.ts +123 -0
  227. package/src/v4/locales/ru.ts +184 -0
  228. package/src/v4/locales/sl.ts +126 -0
  229. package/src/v4/locales/sv.ts +127 -0
  230. package/src/v4/locales/ta.ts +125 -0
  231. package/src/v4/locales/th.ts +126 -0
  232. package/src/v4/locales/tr.ts +121 -0
  233. package/src/v4/locales/ua.ts +126 -0
  234. package/src/v4/locales/ur.ts +126 -0
  235. package/src/v4/locales/vi.ts +125 -0
  236. package/src/v4/locales/zh-CN.ts +123 -0
  237. package/src/v4/locales/zh-TW.ts +125 -0
  238. package/src/v4/mini/checks.ts +32 -0
  239. package/src/v4/mini/coerce.ts +22 -0
  240. package/src/v4/mini/external.ts +40 -0
  241. package/src/v4/mini/index.ts +3 -0
  242. package/src/v4/mini/iso.ts +62 -0
  243. package/src/v4/mini/parse.ts +1 -0
  244. package/src/v4/mini/schemas.ts +1579 -0
  245. package/src/v4/mini/tests/assignability.test.ts +129 -0
  246. package/src/v4/mini/tests/brand.test.ts +51 -0
  247. package/src/v4/mini/tests/checks.test.ts +144 -0
  248. package/src/v4/mini/tests/computed.test.ts +36 -0
  249. package/src/v4/mini/tests/error.test.ts +22 -0
  250. package/src/v4/mini/tests/functions.test.ts +43 -0
  251. package/src/v4/mini/tests/index.test.ts +871 -0
  252. package/src/v4/mini/tests/number.test.ts +95 -0
  253. package/src/v4/mini/tests/object.test.ts +185 -0
  254. package/src/v4/mini/tests/prototypes.test.ts +43 -0
  255. package/src/v4/mini/tests/recursive-types.test.ts +275 -0
  256. package/src/v4/mini/tests/string.test.ts +299 -0
  257. package/src/v4-mini/index.ts +1 -0
  258. package/v3/ZodError.cjs +138 -0
  259. package/v3/ZodError.d.cts +164 -0
  260. package/v3/ZodError.d.ts +164 -0
  261. package/v3/ZodError.js +133 -0
  262. package/v3/errors.cjs +17 -0
  263. package/v3/errors.d.cts +5 -0
  264. package/v3/errors.d.ts +5 -0
  265. package/v3/errors.js +9 -0
  266. package/v3/external.cjs +22 -0
  267. package/v3/external.d.cts +6 -0
  268. package/v3/external.d.ts +6 -0
  269. package/v3/external.js +6 -0
  270. package/v3/helpers/enumUtil.cjs +2 -0
  271. package/v3/helpers/enumUtil.d.cts +8 -0
  272. package/v3/helpers/enumUtil.d.ts +8 -0
  273. package/v3/helpers/enumUtil.js +1 -0
  274. package/v3/helpers/errorUtil.cjs +9 -0
  275. package/v3/helpers/errorUtil.d.cts +9 -0
  276. package/v3/helpers/errorUtil.d.ts +9 -0
  277. package/v3/helpers/errorUtil.js +6 -0
  278. package/v3/helpers/parseUtil.cjs +124 -0
  279. package/v3/helpers/parseUtil.d.cts +78 -0
  280. package/v3/helpers/parseUtil.d.ts +78 -0
  281. package/v3/helpers/parseUtil.js +109 -0
  282. package/v3/helpers/partialUtil.cjs +2 -0
  283. package/v3/helpers/partialUtil.d.cts +8 -0
  284. package/v3/helpers/partialUtil.d.ts +8 -0
  285. package/v3/helpers/partialUtil.js +1 -0
  286. package/v3/helpers/typeAliases.cjs +2 -0
  287. package/v3/helpers/typeAliases.d.cts +2 -0
  288. package/v3/helpers/typeAliases.d.ts +2 -0
  289. package/v3/helpers/typeAliases.js +1 -0
  290. package/v3/helpers/util.cjs +137 -0
  291. package/v3/helpers/util.d.cts +85 -0
  292. package/v3/helpers/util.d.ts +85 -0
  293. package/v3/helpers/util.js +133 -0
  294. package/{dist/commonjs/index.js → v3/index.cjs} +2 -2
  295. package/v3/index.d.cts +4 -0
  296. package/v3/index.js +4 -0
  297. package/v3/locales/en.cjs +111 -0
  298. package/v3/locales/en.d.cts +3 -0
  299. package/v3/locales/en.d.ts +3 -0
  300. package/v3/locales/en.js +109 -0
  301. package/v3/standard-schema.cjs +2 -0
  302. package/v3/standard-schema.d.cts +102 -0
  303. package/v3/standard-schema.d.ts +102 -0
  304. package/v3/standard-schema.js +1 -0
  305. package/v3/types.cjs +3775 -0
  306. package/v3/types.d.cts +1031 -0
  307. package/v3/types.d.ts +1031 -0
  308. package/v3/types.js +3693 -0
  309. package/{dist/commonjs/checks.js → v4/classic/checks.cjs} +29 -29
  310. package/{dist/esm/checks.d.ts → v4/classic/checks.d.cts} +1 -1
  311. package/{dist/commonjs → v4/classic}/checks.d.ts +1 -1
  312. package/{dist/esm → v4/classic}/checks.js +1 -1
  313. package/{dist/commonjs/coerce.js → v4/classic/coerce.cjs} +2 -2
  314. package/v4/classic/coerce.d.cts +17 -0
  315. package/v4/classic/coerce.d.ts +17 -0
  316. package/{dist/esm → v4/classic}/coerce.js +1 -1
  317. package/{dist/commonjs/compat.js → v4/classic/compat.cjs} +5 -11
  318. package/{dist/esm/compat.d.ts → v4/classic/compat.d.cts} +4 -6
  319. package/{dist/commonjs → v4/classic}/compat.d.ts +3 -5
  320. package/{dist/esm → v4/classic}/compat.js +2 -8
  321. package/v4/classic/errors.cjs +67 -0
  322. package/{dist/commonjs/errors.d.ts → v4/classic/errors.d.cts} +8 -7
  323. package/{dist/esm → v4/classic}/errors.d.ts +8 -7
  324. package/v4/classic/errors.js +41 -0
  325. package/v4/classic/external.cjs +70 -0
  326. package/v4/classic/external.d.cts +13 -0
  327. package/v4/classic/external.d.ts +13 -0
  328. package/v4/classic/external.js +18 -0
  329. package/v4/classic/index.cjs +33 -0
  330. package/v4/classic/index.d.cts +4 -0
  331. package/{dist/commonjs/iso.js → v4/classic/iso.cjs} +2 -2
  332. package/{dist/esm/iso.d.ts → v4/classic/iso.d.cts} +2 -2
  333. package/{dist/commonjs → v4/classic}/iso.d.ts +1 -1
  334. package/{dist/esm → v4/classic}/iso.js +1 -1
  335. package/{dist/commonjs/parse.js → v4/classic/parse.cjs} +7 -9
  336. package/{dist/commonjs/parse.d.ts → v4/classic/parse.d.cts} +10 -4
  337. package/{dist/esm → v4/classic}/parse.d.ts +10 -4
  338. package/v4/classic/parse.js +6 -0
  339. package/{dist/commonjs/schemas.js → v4/classic/schemas.cjs} +167 -138
  340. package/{dist/esm/schemas.d.ts → v4/classic/schemas.d.cts} +176 -196
  341. package/{dist/commonjs → v4/classic}/schemas.d.ts +175 -195
  342. package/{dist/esm → v4/classic}/schemas.js +128 -102
  343. package/v4/core/api.cjs +1039 -0
  344. package/v4/core/api.d.cts +284 -0
  345. package/v4/core/api.d.ts +284 -0
  346. package/v4/core/api.js +906 -0
  347. package/v4/core/checks.cjs +591 -0
  348. package/v4/core/checks.d.cts +278 -0
  349. package/v4/core/checks.d.ts +278 -0
  350. package/v4/core/checks.js +565 -0
  351. package/v4/core/core.cjs +67 -0
  352. package/v4/core/core.d.cts +49 -0
  353. package/v4/core/core.d.ts +49 -0
  354. package/v4/core/core.js +61 -0
  355. package/v4/core/doc.cjs +39 -0
  356. package/v4/core/doc.d.cts +14 -0
  357. package/v4/core/doc.d.ts +14 -0
  358. package/v4/core/doc.js +35 -0
  359. package/v4/core/errors.cjs +226 -0
  360. package/v4/core/errors.d.cts +210 -0
  361. package/v4/core/errors.d.ts +210 -0
  362. package/v4/core/errors.js +195 -0
  363. package/v4/core/function.cjs +102 -0
  364. package/v4/core/function.d.cts +52 -0
  365. package/v4/core/function.d.ts +52 -0
  366. package/v4/core/function.js +75 -0
  367. package/v4/core/index.cjs +44 -0
  368. package/v4/core/index.d.cts +15 -0
  369. package/v4/core/index.d.ts +15 -0
  370. package/v4/core/index.js +15 -0
  371. package/v4/core/json-schema.cjs +2 -0
  372. package/v4/core/json-schema.d.cts +87 -0
  373. package/v4/core/json-schema.d.ts +87 -0
  374. package/v4/core/json-schema.js +1 -0
  375. package/v4/core/parse.cjs +87 -0
  376. package/v4/core/parse.d.cts +25 -0
  377. package/v4/core/parse.d.ts +25 -0
  378. package/v4/core/parse.js +57 -0
  379. package/v4/core/regexes.cjs +103 -0
  380. package/v4/core/regexes.d.cts +61 -0
  381. package/v4/core/regexes.d.ts +61 -0
  382. package/v4/core/regexes.js +95 -0
  383. package/v4/core/registries.cjs +56 -0
  384. package/v4/core/registries.d.cts +35 -0
  385. package/v4/core/registries.d.ts +35 -0
  386. package/v4/core/registries.js +51 -0
  387. package/v4/core/schemas.cjs +1748 -0
  388. package/v4/core/schemas.d.cts +1041 -0
  389. package/v4/core/schemas.d.ts +1041 -0
  390. package/v4/core/schemas.js +1717 -0
  391. package/v4/core/standard-schema.cjs +2 -0
  392. package/v4/core/standard-schema.d.cts +55 -0
  393. package/v4/core/standard-schema.d.ts +55 -0
  394. package/v4/core/standard-schema.js +1 -0
  395. package/v4/core/to-json-schema.cjs +854 -0
  396. package/v4/core/to-json-schema.d.cts +88 -0
  397. package/v4/core/to-json-schema.d.ts +88 -0
  398. package/v4/core/to-json-schema.js +849 -0
  399. package/v4/core/util.cjs +539 -0
  400. package/v4/core/util.d.cts +183 -0
  401. package/v4/core/util.d.ts +183 -0
  402. package/v4/core/util.js +493 -0
  403. package/v4/core/versions.cjs +8 -0
  404. package/v4/core/versions.d.cts +5 -0
  405. package/v4/core/versions.d.ts +5 -0
  406. package/v4/core/versions.js +5 -0
  407. package/v4/index.cjs +22 -0
  408. package/v4/index.d.cts +3 -0
  409. package/v4/index.d.ts +3 -0
  410. package/v4/index.js +3 -0
  411. package/v4/locales/ar.cjs +142 -0
  412. package/v4/locales/ar.d.cts +4 -0
  413. package/v4/locales/ar.d.ts +4 -0
  414. package/v4/locales/ar.js +116 -0
  415. package/v4/locales/az.cjs +141 -0
  416. package/v4/locales/az.d.cts +4 -0
  417. package/v4/locales/az.d.ts +4 -0
  418. package/v4/locales/az.js +115 -0
  419. package/v4/locales/be.cjs +190 -0
  420. package/v4/locales/be.d.cts +4 -0
  421. package/v4/locales/be.d.ts +4 -0
  422. package/v4/locales/be.js +164 -0
  423. package/v4/locales/ca.cjs +144 -0
  424. package/v4/locales/ca.d.cts +4 -0
  425. package/v4/locales/ca.d.ts +4 -0
  426. package/v4/locales/ca.js +118 -0
  427. package/v4/locales/cs.cjs +161 -0
  428. package/v4/locales/cs.d.cts +4 -0
  429. package/v4/locales/cs.d.ts +4 -0
  430. package/v4/locales/cs.js +135 -0
  431. package/v4/locales/de.cjs +142 -0
  432. package/v4/locales/de.d.cts +4 -0
  433. package/v4/locales/de.d.ts +4 -0
  434. package/v4/locales/de.js +116 -0
  435. package/v4/locales/en.cjs +145 -0
  436. package/v4/locales/en.d.cts +5 -0
  437. package/v4/locales/en.d.ts +5 -0
  438. package/v4/locales/en.js +117 -0
  439. package/v4/locales/eo.cjs +144 -0
  440. package/v4/locales/eo.d.cts +5 -0
  441. package/v4/locales/eo.d.ts +5 -0
  442. package/v4/locales/eo.js +116 -0
  443. package/v4/locales/es.cjs +143 -0
  444. package/v4/locales/es.d.cts +4 -0
  445. package/v4/locales/es.d.ts +4 -0
  446. package/v4/locales/es.js +117 -0
  447. package/v4/locales/fa.cjs +148 -0
  448. package/v4/locales/fa.d.cts +4 -0
  449. package/v4/locales/fa.d.ts +4 -0
  450. package/v4/locales/fa.js +122 -0
  451. package/v4/locales/fi.cjs +148 -0
  452. package/v4/locales/fi.d.cts +4 -0
  453. package/v4/locales/fi.d.ts +4 -0
  454. package/v4/locales/fi.js +122 -0
  455. package/v4/locales/fr-CA.cjs +143 -0
  456. package/v4/locales/fr-CA.d.cts +4 -0
  457. package/v4/locales/fr-CA.d.ts +4 -0
  458. package/v4/locales/fr-CA.js +117 -0
  459. package/v4/locales/fr.cjs +142 -0
  460. package/v4/locales/fr.d.cts +4 -0
  461. package/v4/locales/fr.d.ts +4 -0
  462. package/v4/locales/fr.js +116 -0
  463. package/v4/locales/he.cjs +143 -0
  464. package/v4/locales/he.d.cts +4 -0
  465. package/v4/locales/he.d.ts +4 -0
  466. package/v4/locales/he.js +117 -0
  467. package/v4/locales/hu.cjs +143 -0
  468. package/v4/locales/hu.d.cts +4 -0
  469. package/v4/locales/hu.d.ts +4 -0
  470. package/v4/locales/hu.js +117 -0
  471. package/v4/locales/id.cjs +142 -0
  472. package/v4/locales/id.d.cts +4 -0
  473. package/v4/locales/id.d.ts +4 -0
  474. package/v4/locales/id.js +116 -0
  475. package/v4/locales/index.cjs +84 -0
  476. package/v4/locales/index.d.cts +39 -0
  477. package/v4/locales/index.d.ts +39 -0
  478. package/v4/locales/index.js +39 -0
  479. package/v4/locales/it.cjs +143 -0
  480. package/v4/locales/it.d.cts +4 -0
  481. package/v4/locales/it.d.ts +4 -0
  482. package/v4/locales/it.js +117 -0
  483. package/v4/locales/ja.cjs +141 -0
  484. package/v4/locales/ja.d.cts +4 -0
  485. package/v4/locales/ja.d.ts +4 -0
  486. package/v4/locales/ja.js +115 -0
  487. package/v4/locales/kh.cjs +143 -0
  488. package/v4/locales/kh.d.cts +4 -0
  489. package/v4/locales/kh.d.ts +4 -0
  490. package/v4/locales/kh.js +117 -0
  491. package/v4/locales/ko.cjs +147 -0
  492. package/v4/locales/ko.d.cts +4 -0
  493. package/v4/locales/ko.d.ts +4 -0
  494. package/v4/locales/ko.js +121 -0
  495. package/v4/locales/mk.cjs +144 -0
  496. package/v4/locales/mk.d.cts +4 -0
  497. package/v4/locales/mk.d.ts +4 -0
  498. package/v4/locales/mk.js +118 -0
  499. package/v4/locales/ms.cjs +142 -0
  500. package/v4/locales/ms.d.cts +4 -0
  501. package/v4/locales/ms.d.ts +4 -0
  502. package/v4/locales/ms.js +116 -0
  503. package/v4/locales/nl.cjs +143 -0
  504. package/v4/locales/nl.d.cts +4 -0
  505. package/v4/locales/nl.d.ts +4 -0
  506. package/v4/locales/nl.js +117 -0
  507. package/v4/locales/no.cjs +142 -0
  508. package/v4/locales/no.d.cts +4 -0
  509. package/v4/locales/no.d.ts +4 -0
  510. package/v4/locales/no.js +116 -0
  511. package/v4/locales/ota.cjs +143 -0
  512. package/v4/locales/ota.d.cts +4 -0
  513. package/v4/locales/ota.d.ts +4 -0
  514. package/v4/locales/ota.js +117 -0
  515. package/v4/locales/pl.cjs +143 -0
  516. package/v4/locales/pl.d.cts +4 -0
  517. package/v4/locales/pl.d.ts +4 -0
  518. package/v4/locales/pl.js +117 -0
  519. package/v4/locales/ps.cjs +148 -0
  520. package/v4/locales/ps.d.cts +4 -0
  521. package/v4/locales/ps.d.ts +4 -0
  522. package/v4/locales/ps.js +122 -0
  523. package/v4/locales/pt.cjs +142 -0
  524. package/v4/locales/pt.d.cts +4 -0
  525. package/v4/locales/pt.d.ts +4 -0
  526. package/v4/locales/pt.js +116 -0
  527. package/v4/locales/ru.cjs +190 -0
  528. package/v4/locales/ru.d.cts +4 -0
  529. package/v4/locales/ru.d.ts +4 -0
  530. package/v4/locales/ru.js +164 -0
  531. package/v4/locales/sl.cjs +143 -0
  532. package/v4/locales/sl.d.cts +4 -0
  533. package/v4/locales/sl.d.ts +4 -0
  534. package/v4/locales/sl.js +117 -0
  535. package/v4/locales/sv.cjs +144 -0
  536. package/v4/locales/sv.d.cts +4 -0
  537. package/v4/locales/sv.d.ts +4 -0
  538. package/v4/locales/sv.js +118 -0
  539. package/v4/locales/ta.cjs +143 -0
  540. package/v4/locales/ta.d.cts +4 -0
  541. package/v4/locales/ta.d.ts +4 -0
  542. package/v4/locales/ta.js +117 -0
  543. package/v4/locales/th.cjs +143 -0
  544. package/v4/locales/th.d.cts +4 -0
  545. package/v4/locales/th.d.ts +4 -0
  546. package/v4/locales/th.js +117 -0
  547. package/v4/locales/tr.cjs +143 -0
  548. package/v4/locales/tr.d.cts +5 -0
  549. package/v4/locales/tr.d.ts +5 -0
  550. package/v4/locales/tr.js +115 -0
  551. package/v4/locales/ua.cjs +143 -0
  552. package/v4/locales/ua.d.cts +4 -0
  553. package/v4/locales/ua.d.ts +4 -0
  554. package/v4/locales/ua.js +117 -0
  555. package/v4/locales/ur.cjs +143 -0
  556. package/v4/locales/ur.d.cts +4 -0
  557. package/v4/locales/ur.d.ts +4 -0
  558. package/v4/locales/ur.js +117 -0
  559. package/v4/locales/vi.cjs +142 -0
  560. package/v4/locales/vi.d.cts +4 -0
  561. package/v4/locales/vi.d.ts +4 -0
  562. package/v4/locales/vi.js +116 -0
  563. package/v4/locales/zh-CN.cjs +142 -0
  564. package/v4/locales/zh-CN.d.cts +4 -0
  565. package/v4/locales/zh-CN.d.ts +4 -0
  566. package/v4/locales/zh-CN.js +116 -0
  567. package/v4/locales/zh-TW.cjs +143 -0
  568. package/v4/locales/zh-TW.d.cts +4 -0
  569. package/v4/locales/zh-TW.d.ts +4 -0
  570. package/v4/locales/zh-TW.js +117 -0
  571. package/v4/mini/checks.cjs +34 -0
  572. package/v4/mini/checks.d.cts +1 -0
  573. package/v4/mini/checks.d.ts +1 -0
  574. package/v4/mini/checks.js +1 -0
  575. package/{dist/commonjs/errors.js → v4/mini/coerce.cjs} +21 -25
  576. package/v4/mini/coerce.d.cts +7 -0
  577. package/v4/mini/coerce.d.ts +7 -0
  578. package/v4/mini/coerce.js +17 -0
  579. package/v4/mini/external.cjs +62 -0
  580. package/v4/mini/external.d.cts +11 -0
  581. package/v4/mini/external.d.ts +11 -0
  582. package/v4/mini/external.js +13 -0
  583. package/v4/mini/index.cjs +32 -0
  584. package/v4/mini/index.d.cts +3 -0
  585. package/v4/mini/index.d.ts +3 -0
  586. package/v4/mini/index.js +3 -0
  587. package/v4/mini/iso.cjs +60 -0
  588. package/v4/mini/iso.d.cts +22 -0
  589. package/v4/mini/iso.d.ts +22 -0
  590. package/v4/mini/iso.js +30 -0
  591. package/v4/mini/parse.cjs +8 -0
  592. package/v4/mini/parse.d.cts +1 -0
  593. package/v4/mini/parse.d.ts +1 -0
  594. package/v4/mini/parse.js +1 -0
  595. package/v4/mini/schemas.cjs +839 -0
  596. package/v4/mini/schemas.d.cts +356 -0
  597. package/v4/mini/schemas.d.ts +356 -0
  598. package/v4/mini/schemas.js +732 -0
  599. package/v4-mini/index.cjs +17 -0
  600. package/v4-mini/index.d.cts +1 -0
  601. package/v4-mini/index.d.ts +1 -0
  602. package/v4-mini/index.js +1 -0
  603. package/dist/commonjs/coerce.d.ts +0 -17
  604. package/dist/commonjs/external.d.ts +0 -8
  605. package/dist/commonjs/external.js +0 -58
  606. package/dist/commonjs/package.json +0 -3
  607. package/dist/esm/coerce.d.ts +0 -17
  608. package/dist/esm/errors.js +0 -24
  609. package/dist/esm/external.d.ts +0 -8
  610. package/dist/esm/external.js +0 -14
  611. package/dist/esm/package.json +0 -3
  612. package/dist/esm/parse.js +0 -8
  613. package/src/coerce.ts +0 -27
  614. package/src/errors.ts +0 -50
  615. package/src/external.ts +0 -30
  616. package/{dist/esm → v3}/index.d.ts +1 -1
  617. /package/{dist/commonjs → v4/classic}/index.d.ts +0 -0
  618. /package/{dist/esm → v4/classic}/index.js +0 -0
@@ -1,14 +1,12 @@
1
- import * as core from "@zod/core";
2
- import { util } from "@zod/core";
1
+ import * as core from "../core/index.js";
2
+ import { util } from "../core/index.js";
3
3
  import * as checks from "./checks.js";
4
4
  import * as iso from "./iso.js";
5
5
  import * as parse from "./parse.js";
6
- export * as iso from "./iso.js";
7
- export * as coerce from "./coerce.js";
8
6
  export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) => {
9
7
  core.$ZodType.init(inst, def);
10
8
  inst.def = def;
11
- inst._def = def;
9
+ Object.defineProperty(inst, "_def", { value: def });
12
10
  // base methods
13
11
  inst.check = (...checks) => {
14
12
  return inst.clone({
@@ -17,18 +15,20 @@ export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) =>
17
15
  ...(def.checks ?? []),
18
16
  ...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
19
17
  ],
20
- });
18
+ }
19
+ // { parent: true }
20
+ );
21
21
  };
22
- inst.clone = (_def) => core.clone(inst, _def);
22
+ inst.clone = (def, params) => core.clone(inst, def, params);
23
23
  inst.brand = () => inst;
24
24
  inst.register = ((reg, meta) => {
25
25
  reg.add(inst, meta);
26
26
  return inst;
27
27
  });
28
28
  // parsing
29
- inst.parse = (data, params) => parse.parse(inst, data, params);
29
+ inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });
30
30
  inst.safeParse = (data, params) => parse.safeParse(inst, data, params);
31
- inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params);
31
+ inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });
32
32
  inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);
33
33
  inst.spa = inst.safeParseAsync;
34
34
  // refinements
@@ -36,15 +36,16 @@ export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) =>
36
36
  inst.superRefine = (refinement) => inst.check(superRefine(refinement));
37
37
  inst.overwrite = (fn) => inst.check(checks.overwrite(fn));
38
38
  // wrappers
39
- inst.optional = (params) => optional(inst, params);
40
- inst.nullable = (params) => nullable(inst, params);
39
+ inst.optional = () => optional(inst);
40
+ inst.nullable = () => nullable(inst);
41
41
  inst.nullish = () => optional(nullable(inst));
42
42
  inst.nonoptional = (params) => nonoptional(inst, params);
43
43
  inst.array = () => array(inst);
44
44
  inst.or = (arg) => union([inst, arg]);
45
45
  inst.and = (arg) => intersection(inst, arg);
46
46
  inst.transform = (tx) => pipe(inst, transform(tx));
47
- inst.default = (def, params) => _default(inst, def, params);
47
+ inst.default = (def) => _default(inst, def);
48
+ inst.prefault = (def) => prefault(inst, def);
48
49
  // inst.coalesce = (def, params) => coalesce(inst, def, params);
49
50
  inst.catch = (params) => _catch(inst, params);
50
51
  inst.pipe = (target) => pipe(inst, target);
@@ -52,9 +53,7 @@ export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) =>
52
53
  // meta
53
54
  inst.describe = (description) => {
54
55
  const cl = inst.clone();
55
- const meta = { ...(core.globalRegistry.get(inst) ?? {}), description };
56
- delete meta.id; // do not inherit
57
- core.globalRegistry.add(cl, meta);
56
+ core.globalRegistry.add(cl, { description });
58
57
  return cl;
59
58
  };
60
59
  Object.defineProperty(inst, "description", {
@@ -64,8 +63,9 @@ export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) =>
64
63
  configurable: true,
65
64
  });
66
65
  inst.meta = (...args) => {
67
- if (args.length === 0)
66
+ if (args.length === 0) {
68
67
  return core.globalRegistry.get(inst);
68
+ }
69
69
  const cl = inst.clone();
70
70
  core.globalRegistry.add(cl, args[0]);
71
71
  return cl;
@@ -75,17 +75,19 @@ export const ZodType = /*@__PURE__*/ core.$constructor("ZodType", (inst, def) =>
75
75
  inst.isNullable = () => inst.safeParse(null).success;
76
76
  return inst;
77
77
  });
78
+ /** @internal */
78
79
  export const _ZodString = /*@__PURE__*/ core.$constructor("_ZodString", (inst, def) => {
79
80
  core.$ZodString.init(inst, def);
80
81
  ZodType.init(inst, def);
81
- inst.format = inst._zod.computed.format ?? null;
82
- inst.minLength = inst._zod.computed.minimum ?? null;
83
- inst.maxLength = inst._zod.computed.maximum ?? null;
82
+ const bag = inst._zod.bag;
83
+ inst.format = bag.format ?? null;
84
+ inst.minLength = bag.minimum ?? null;
85
+ inst.maxLength = bag.maximum ?? null;
84
86
  // validations
85
87
  inst.regex = (...args) => inst.check(checks.regex(...args));
86
88
  inst.includes = (...args) => inst.check(checks.includes(...args));
87
- inst.startsWith = (params) => inst.check(checks.startsWith(params));
88
- inst.endsWith = (params) => inst.check(checks.endsWith(params));
89
+ inst.startsWith = (...args) => inst.check(checks.startsWith(...args));
90
+ inst.endsWith = (...args) => inst.check(checks.endsWith(...args));
89
91
  inst.min = (...args) => inst.check(checks.minLength(...args));
90
92
  inst.max = (...args) => inst.check(checks.maxLength(...args));
91
93
  inst.length = (...args) => inst.check(checks.length(...args));
@@ -298,6 +300,14 @@ export const ZodJWT = /*@__PURE__*/ core.$constructor("ZodJWT", (inst, def) => {
298
300
  export function jwt(params) {
299
301
  return core._jwt(ZodJWT, params);
300
302
  }
303
+ export const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor("ZodCustomStringFormat", (inst, def) => {
304
+ // ZodStringFormat.init(inst, def);
305
+ core.$ZodCustomStringFormat.init(inst, def);
306
+ ZodStringFormat.init(inst, def);
307
+ });
308
+ export function stringFormat(format, fnOrRegex, _params = {}) {
309
+ return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
310
+ }
301
311
  export const ZodNumber = /*@__PURE__*/ core.$constructor("ZodNumber", (inst, def) => {
302
312
  core.$ZodNumber.init(inst, def);
303
313
  ZodType.init(inst, def);
@@ -317,12 +327,14 @@ export const ZodNumber = /*@__PURE__*/ core.$constructor("ZodNumber", (inst, def
317
327
  inst.step = (value, params) => inst.check(checks.multipleOf(value, params));
318
328
  // inst.finite = (params) => inst.check(core.finite(params));
319
329
  inst.finite = () => inst;
320
- inst.minValue = inst._zod.computed.minimum ?? null;
321
- inst.maxValue = inst._zod.computed.maximum ?? null;
322
- inst.isInt =
323
- (inst._zod.computed.format ?? "").includes("int") || Number.isSafeInteger(inst._zod.computed.multipleOf ?? 0.5);
330
+ const bag = inst._zod.bag;
331
+ inst.minValue =
332
+ Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;
333
+ inst.maxValue =
334
+ Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;
335
+ inst.isInt = (bag.format ?? "").includes("int") || Number.isSafeInteger(bag.multipleOf ?? 0.5);
324
336
  inst.isFinite = true;
325
- inst.format = inst._zod.computed.format ?? null;
337
+ inst.format = bag.format ?? null;
326
338
  });
327
339
  export function number(params) {
328
340
  return core._number(ZodNumber, params);
@@ -369,9 +381,10 @@ export const ZodBigInt = /*@__PURE__*/ core.$constructor("ZodBigInt", (inst, def
369
381
  inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));
370
382
  inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));
371
383
  inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));
372
- inst.minValue = inst._zod.computed.minimum ?? null;
373
- inst.maxValue = inst._zod.computed.maximum ?? null;
374
- inst.format = inst._zod.computed.format ?? null;
384
+ const bag = inst._zod.bag;
385
+ inst.minValue = bag.minimum ?? null;
386
+ inst.maxValue = bag.maximum ?? null;
387
+ inst.format = bag.format ?? null;
375
388
  });
376
389
  export function bigint(params) {
377
390
  return core._bigint(ZodBigInt, params);
@@ -415,15 +428,15 @@ export const ZodAny = /*@__PURE__*/ core.$constructor("ZodAny", (inst, def) => {
415
428
  core.$ZodAny.init(inst, def);
416
429
  ZodType.init(inst, def);
417
430
  });
418
- export function any(params) {
419
- return core._any(ZodAny, params);
431
+ export function any() {
432
+ return core._any(ZodAny);
420
433
  }
421
434
  export const ZodUnknown = /*@__PURE__*/ core.$constructor("ZodUnknown", (inst, def) => {
422
435
  core.$ZodUnknown.init(inst, def);
423
436
  ZodType.init(inst, def);
424
437
  });
425
- export function unknown(params) {
426
- return core._unknown(ZodUnknown, params);
438
+ export function unknown() {
439
+ return core._unknown(ZodUnknown);
427
440
  }
428
441
  export const ZodNever = /*@__PURE__*/ core.$constructor("ZodNever", (inst, def) => {
429
442
  core.$ZodNever.init(inst, def);
@@ -445,7 +458,7 @@ export const ZodDate = /*@__PURE__*/ core.$constructor("ZodDate", (inst, def) =>
445
458
  ZodType.init(inst, def);
446
459
  inst.min = (value, params) => inst.check(checks.gte(value, params));
447
460
  inst.max = (value, params) => inst.check(checks.lte(value, params));
448
- const c = inst._zod.computed;
461
+ const c = inst._zod.bag;
449
462
  inst.minDate = c.minimum ? new Date(c.minimum) : null;
450
463
  inst.maxDate = c.maximum ? new Date(c.maximum) : null;
451
464
  });
@@ -460,6 +473,7 @@ export const ZodArray = /*@__PURE__*/ core.$constructor("ZodArray", (inst, def)
460
473
  inst.nonempty = (params) => inst.check(checks.minLength(1, params));
461
474
  inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));
462
475
  inst.length = (len, params) => inst.check(checks.length(len, params));
476
+ inst.unwrap = () => inst.element;
463
477
  });
464
478
  export function array(element, params) {
465
479
  return core._array(ZodArray, element, params);
@@ -472,11 +486,9 @@ export function keyof(schema) {
472
486
  export const ZodObject = /*@__PURE__*/ core.$constructor("ZodObject", (inst, def) => {
473
487
  core.$ZodObject.init(inst, def);
474
488
  ZodType.init(inst, def);
475
- util.defineLazy(inst, "shape", () => {
476
- return Object.fromEntries(Object.entries(inst._zod.def.shape));
477
- });
489
+ util.defineLazy(inst, "shape", () => def.shape);
478
490
  inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));
479
- inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall });
491
+ inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });
480
492
  inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
481
493
  // inst.nonstrict = () => inst.clone({ ...inst._zod.def, catchall: api.unknown() });
482
494
  inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
@@ -534,21 +546,20 @@ export const ZodUnion = /*@__PURE__*/ core.$constructor("ZodUnion", (inst, def)
534
546
  export function union(options, params) {
535
547
  return new ZodUnion({
536
548
  type: "union",
537
- options,
549
+ options: options,
538
550
  ...util.normalizeParams(params),
539
551
  });
540
552
  }
541
553
  export const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor("ZodDiscriminatedUnion", (inst, def) => {
554
+ ZodUnion.init(inst, def);
542
555
  core.$ZodDiscriminatedUnion.init(inst, def);
543
- ZodType.init(inst, def);
544
556
  });
545
- export function discriminatedUnion(...args) {
546
- if (typeof args[0] === "string")
547
- args = args.slice(1);
548
- const [options, params] = args;
557
+ export function discriminatedUnion(discriminator, options, params) {
558
+ // const [options, params] = args;
549
559
  return new ZodDiscriminatedUnion({
550
560
  type: "union",
551
561
  options,
562
+ discriminator,
552
563
  ...util.normalizeParams(params),
553
564
  });
554
565
  }
@@ -556,12 +567,11 @@ export const ZodIntersection = /*@__PURE__*/ core.$constructor("ZodIntersection"
556
567
  core.$ZodIntersection.init(inst, def);
557
568
  ZodType.init(inst, def);
558
569
  });
559
- export function intersection(left, right, params) {
570
+ export function intersection(left, right) {
560
571
  return new ZodIntersection({
561
572
  type: "intersection",
562
- left,
563
- right,
564
- ...util.normalizeParams(params),
573
+ left: left,
574
+ right: right,
565
575
  });
566
576
  }
567
577
  export const ZodTuple = /*@__PURE__*/ core.$constructor("ZodTuple", (inst, def) => {
@@ -569,7 +579,7 @@ export const ZodTuple = /*@__PURE__*/ core.$constructor("ZodTuple", (inst, def)
569
579
  ZodType.init(inst, def);
570
580
  inst.rest = (rest) => inst.clone({
571
581
  ...inst._zod.def,
572
- rest,
582
+ rest: rest,
573
583
  });
574
584
  });
575
585
  export function tuple(items, _paramsOrRest, _params) {
@@ -578,7 +588,7 @@ export function tuple(items, _paramsOrRest, _params) {
578
588
  const rest = hasRest ? _paramsOrRest : null;
579
589
  return new ZodTuple({
580
590
  type: "tuple",
581
- items,
591
+ items: items,
582
592
  rest,
583
593
  ...util.normalizeParams(params),
584
594
  });
@@ -593,15 +603,16 @@ export function record(keyType, valueType, params) {
593
603
  return new ZodRecord({
594
604
  type: "record",
595
605
  keyType,
596
- valueType,
606
+ valueType: valueType,
597
607
  ...util.normalizeParams(params),
598
608
  });
599
609
  }
610
+ // type alksjf = core.output<core.$ZodRecordKey>;
600
611
  export function partialRecord(keyType, valueType, params) {
601
612
  return new ZodRecord({
602
613
  type: "record",
603
614
  keyType: union([keyType, never()]),
604
- valueType,
615
+ valueType: valueType,
605
616
  ...util.normalizeParams(params),
606
617
  });
607
618
  }
@@ -614,8 +625,8 @@ export const ZodMap = /*@__PURE__*/ core.$constructor("ZodMap", (inst, def) => {
614
625
  export function map(keyType, valueType, params) {
615
626
  return new ZodMap({
616
627
  type: "map",
617
- keyType,
618
- valueType,
628
+ keyType: keyType,
629
+ valueType: valueType,
619
630
  ...util.normalizeParams(params),
620
631
  });
621
632
  }
@@ -630,7 +641,7 @@ export const ZodSet = /*@__PURE__*/ core.$constructor("ZodSet", (inst, def) => {
630
641
  export function set(valueType, params) {
631
642
  return new ZodSet({
632
643
  type: "set",
633
- valueType,
644
+ valueType: valueType,
634
645
  ...util.normalizeParams(params),
635
646
  });
636
647
  }
@@ -700,6 +711,14 @@ export const ZodLiteral = /*@__PURE__*/ core.$constructor("ZodLiteral", (inst, d
700
711
  core.$ZodLiteral.init(inst, def);
701
712
  ZodType.init(inst, def);
702
713
  inst.values = new Set(def.values);
714
+ Object.defineProperty(inst, "value", {
715
+ get() {
716
+ if (def.values.length > 1) {
717
+ throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
718
+ }
719
+ return def.values[0];
720
+ },
721
+ });
703
722
  });
704
723
  export function literal(value, params) {
705
724
  return new ZodLiteral({
@@ -713,7 +732,7 @@ export const ZodFile = /*@__PURE__*/ core.$constructor("ZodFile", (inst, def) =>
713
732
  ZodType.init(inst, def);
714
733
  inst.min = (size, params) => inst.check(core._minSize(size, params));
715
734
  inst.max = (size, params) => inst.check(core._maxSize(size, params));
716
- inst.mime = (types, params) => inst.check(core._mime(types, params));
735
+ inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));
717
736
  });
718
737
  export function file(params) {
719
738
  return core._file(ZodFile, params);
@@ -734,7 +753,7 @@ export const ZodTransform = /*@__PURE__*/ core.$constructor("ZodTransform", (ins
734
753
  _issue.code ?? (_issue.code = "custom");
735
754
  _issue.input ?? (_issue.input = payload.value);
736
755
  _issue.inst ?? (_issue.inst = inst);
737
- _issue.continue ?? (_issue.continue = !def.abort);
756
+ _issue.continue ?? (_issue.continue = true);
738
757
  payload.issues.push(util.issue(_issue));
739
758
  }
740
759
  };
@@ -749,11 +768,10 @@ export const ZodTransform = /*@__PURE__*/ core.$constructor("ZodTransform", (ins
749
768
  return payload;
750
769
  };
751
770
  });
752
- export function transform(fn, params) {
771
+ export function transform(fn) {
753
772
  return new ZodTransform({
754
773
  type: "transform",
755
774
  transform: fn,
756
- ...util.normalizeParams(params),
757
775
  });
758
776
  }
759
777
  export const ZodOptional = /*@__PURE__*/ core.$constructor("ZodOptional", (inst, def) => {
@@ -761,11 +779,10 @@ export const ZodOptional = /*@__PURE__*/ core.$constructor("ZodOptional", (inst,
761
779
  ZodType.init(inst, def);
762
780
  inst.unwrap = () => inst._zod.def.innerType;
763
781
  });
764
- export function optional(innerType, params) {
782
+ export function optional(innerType) {
765
783
  return new ZodOptional({
766
784
  type: "optional",
767
- innerType,
768
- ...util.normalizeParams(params),
785
+ innerType: innerType,
769
786
  });
770
787
  }
771
788
  export const ZodNullable = /*@__PURE__*/ core.$constructor("ZodNullable", (inst, def) => {
@@ -773,11 +790,10 @@ export const ZodNullable = /*@__PURE__*/ core.$constructor("ZodNullable", (inst,
773
790
  ZodType.init(inst, def);
774
791
  inst.unwrap = () => inst._zod.def.innerType;
775
792
  });
776
- export function nullable(innerType, params) {
793
+ export function nullable(innerType) {
777
794
  return new ZodNullable({
778
795
  type: "nullable",
779
- innerType,
780
- ...util.normalizeParams(params),
796
+ innerType: innerType,
781
797
  });
782
798
  }
783
799
  // nullish
@@ -790,12 +806,27 @@ export const ZodDefault = /*@__PURE__*/ core.$constructor("ZodDefault", (inst, d
790
806
  inst.unwrap = () => inst._zod.def.innerType;
791
807
  inst.removeDefault = inst.unwrap;
792
808
  });
793
- export function _default(innerType, defaultValue, params) {
809
+ export function _default(innerType, defaultValue) {
794
810
  return new ZodDefault({
795
811
  type: "default",
796
- defaultValue: (typeof defaultValue === "function" ? defaultValue : () => defaultValue),
797
- innerType,
798
- ...util.normalizeParams(params),
812
+ innerType: innerType,
813
+ get defaultValue() {
814
+ return typeof defaultValue === "function" ? defaultValue() : defaultValue;
815
+ },
816
+ });
817
+ }
818
+ export const ZodPrefault = /*@__PURE__*/ core.$constructor("ZodPrefault", (inst, def) => {
819
+ core.$ZodPrefault.init(inst, def);
820
+ ZodType.init(inst, def);
821
+ inst.unwrap = () => inst._zod.def.innerType;
822
+ });
823
+ export function prefault(innerType, defaultValue) {
824
+ return new ZodPrefault({
825
+ type: "prefault",
826
+ innerType: innerType,
827
+ get defaultValue() {
828
+ return typeof defaultValue === "function" ? defaultValue() : defaultValue;
829
+ },
799
830
  });
800
831
  }
801
832
  export const ZodNonOptional = /*@__PURE__*/ core.$constructor("ZodNonOptional", (inst, def) => {
@@ -806,7 +837,7 @@ export const ZodNonOptional = /*@__PURE__*/ core.$constructor("ZodNonOptional",
806
837
  export function nonoptional(innerType, params) {
807
838
  return new ZodNonOptional({
808
839
  type: "nonoptional",
809
- innerType,
840
+ innerType: innerType,
810
841
  ...util.normalizeParams(params),
811
842
  });
812
843
  }
@@ -815,11 +846,10 @@ export const ZodSuccess = /*@__PURE__*/ core.$constructor("ZodSuccess", (inst, d
815
846
  ZodType.init(inst, def);
816
847
  inst.unwrap = () => inst._zod.def.innerType;
817
848
  });
818
- export function success(innerType, params) {
849
+ export function success(innerType) {
819
850
  return new ZodSuccess({
820
851
  type: "success",
821
- innerType,
822
- ...util.normalizeParams(params),
852
+ innerType: innerType,
823
853
  });
824
854
  }
825
855
  export const ZodCatch = /*@__PURE__*/ core.$constructor("ZodCatch", (inst, def) => {
@@ -828,12 +858,11 @@ export const ZodCatch = /*@__PURE__*/ core.$constructor("ZodCatch", (inst, def)
828
858
  inst.unwrap = () => inst._zod.def.innerType;
829
859
  inst.removeCatch = inst.unwrap;
830
860
  });
831
- function _catch(innerType, catchValue, params) {
861
+ function _catch(innerType, catchValue) {
832
862
  return new ZodCatch({
833
863
  type: "catch",
834
- innerType,
864
+ innerType: innerType,
835
865
  catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
836
- ...util.normalizeParams(params),
837
866
  });
838
867
  }
839
868
  export { _catch as catch };
@@ -850,23 +879,22 @@ export const ZodPipe = /*@__PURE__*/ core.$constructor("ZodPipe", (inst, def) =>
850
879
  inst.in = def.in;
851
880
  inst.out = def.out;
852
881
  });
853
- export function pipe(in_, out, params) {
882
+ export function pipe(in_, out) {
854
883
  return new ZodPipe({
855
884
  type: "pipe",
856
885
  in: in_,
857
- out,
858
- ...util.normalizeParams(params),
886
+ out: out,
887
+ // ...util.normalizeParams(params),
859
888
  });
860
889
  }
861
890
  export const ZodReadonly = /*@__PURE__*/ core.$constructor("ZodReadonly", (inst, def) => {
862
891
  core.$ZodReadonly.init(inst, def);
863
892
  ZodType.init(inst, def);
864
893
  });
865
- export function readonly(innerType, params) {
894
+ export function readonly(innerType) {
866
895
  return new ZodReadonly({
867
896
  type: "readonly",
868
- innerType,
869
- ...util.normalizeParams(params),
897
+ innerType: innerType,
870
898
  });
871
899
  }
872
900
  export const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("ZodTemplateLiteral", (inst, def) => {
@@ -888,7 +916,7 @@ export const ZodLazy = /*@__PURE__*/ core.$constructor("ZodLazy", (inst, def) =>
888
916
  export function lazy(getter) {
889
917
  return new ZodLazy({
890
918
  type: "lazy",
891
- getter,
919
+ getter: getter,
892
920
  });
893
921
  }
894
922
  export const ZodPromise = /*@__PURE__*/ core.$constructor("ZodPromise", (inst, def) => {
@@ -896,11 +924,10 @@ export const ZodPromise = /*@__PURE__*/ core.$constructor("ZodPromise", (inst, d
896
924
  ZodType.init(inst, def);
897
925
  inst.unwrap = () => inst._zod.def.innerType;
898
926
  });
899
- export function promise(innerType, params) {
927
+ export function promise(innerType) {
900
928
  return new ZodPromise({
901
929
  type: "promise",
902
- innerType,
903
- ...util.normalizeParams(params),
930
+ innerType: innerType,
904
931
  });
905
932
  }
906
933
  export const ZodCustom = /*@__PURE__*/ core.$constructor("ZodCustom", (inst, def) => {
@@ -908,10 +935,10 @@ export const ZodCustom = /*@__PURE__*/ core.$constructor("ZodCustom", (inst, def
908
935
  ZodType.init(inst, def);
909
936
  });
910
937
  // custom checks
911
- export function check(fn, params) {
938
+ export function check(fn) {
912
939
  const ch = new core.$ZodCheck({
913
940
  check: "custom",
914
- ...util.normalizeParams(params),
941
+ // ...util.normalizeParams(params),
915
942
  });
916
943
  ch._zod.check = fn;
917
944
  return ch;
@@ -920,10 +947,10 @@ export function custom(fn, _params) {
920
947
  return core._custom(ZodCustom, fn ?? (() => true), _params);
921
948
  }
922
949
  export function refine(fn, _params = {}) {
923
- return core._custom(ZodCustom, fn, _params);
950
+ return core._refine(ZodCustom, fn, _params);
924
951
  }
925
952
  // superRefine
926
- export function superRefine(fn, params) {
953
+ export function superRefine(fn) {
927
954
  const ch = check((payload) => {
928
955
  payload.addIssue = (issue) => {
929
956
  if (typeof issue === "string") {
@@ -942,39 +969,38 @@ export function superRefine(fn, params) {
942
969
  }
943
970
  };
944
971
  return fn(payload.value, payload);
945
- }, params);
972
+ });
946
973
  return ch;
947
974
  }
948
- // instanceof
949
- class Class {
950
- constructor(..._args) { }
951
- }
952
975
  function _instanceof(cls, params = {
953
976
  error: `Input not instance of ${cls.name}`,
954
977
  }) {
955
- return new ZodCustom({
978
+ const inst = new ZodCustom({
956
979
  type: "custom",
957
980
  check: "custom",
958
981
  fn: (data) => data instanceof cls,
959
982
  abort: true,
960
983
  ...util.normalizeParams(params),
961
984
  });
985
+ inst._zod.bag.Class = cls;
986
+ return inst;
962
987
  }
963
988
  export { _instanceof as instanceof };
964
989
  // stringbool
965
- export const stringbool =
966
- /*@__PURE__*/ core._stringbool.bind(null, {
990
+ export const stringbool = (...args) => core._stringbool({
967
991
  Pipe: ZodPipe,
968
992
  Boolean: ZodBoolean,
969
- Unknown: ZodUnknown,
970
- });
993
+ String: ZodString,
994
+ Transform: ZodTransform,
995
+ }, ...args);
971
996
  export function json(params) {
972
997
  const jsonSchema = lazy(() => {
973
998
  return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);
974
999
  });
975
1000
  return jsonSchema;
976
1001
  }
1002
+ // preprocess
977
1003
  // /** @deprecated Use `z.pipe()` and `z.transform()` instead. */
978
- export function preprocess(fn, schema, params) {
979
- return pipe(transform(fn, params), schema, params);
1004
+ export function preprocess(fn, schema) {
1005
+ return pipe(transform(fn), schema);
980
1006
  }