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
package/v4/core/api.js ADDED
@@ -0,0 +1,906 @@
1
+ import * as checks from "./checks.js";
2
+ import * as schemas from "./schemas.js";
3
+ import * as util from "./util.js";
4
+ export function _string(Class, params) {
5
+ return new Class({
6
+ type: "string",
7
+ ...util.normalizeParams(params),
8
+ });
9
+ }
10
+ export function _coercedString(Class, params) {
11
+ return new Class({
12
+ type: "string",
13
+ coerce: true,
14
+ ...util.normalizeParams(params),
15
+ });
16
+ }
17
+ export function _email(Class, params) {
18
+ return new Class({
19
+ type: "string",
20
+ format: "email",
21
+ check: "string_format",
22
+ abort: false,
23
+ ...util.normalizeParams(params),
24
+ });
25
+ }
26
+ export function _guid(Class, params) {
27
+ return new Class({
28
+ type: "string",
29
+ format: "guid",
30
+ check: "string_format",
31
+ abort: false,
32
+ ...util.normalizeParams(params),
33
+ });
34
+ }
35
+ export function _uuid(Class, params) {
36
+ return new Class({
37
+ type: "string",
38
+ format: "uuid",
39
+ check: "string_format",
40
+ abort: false,
41
+ ...util.normalizeParams(params),
42
+ });
43
+ }
44
+ export function _uuidv4(Class, params) {
45
+ return new Class({
46
+ type: "string",
47
+ format: "uuid",
48
+ check: "string_format",
49
+ abort: false,
50
+ version: "v4",
51
+ ...util.normalizeParams(params),
52
+ });
53
+ }
54
+ export function _uuidv6(Class, params) {
55
+ return new Class({
56
+ type: "string",
57
+ format: "uuid",
58
+ check: "string_format",
59
+ abort: false,
60
+ version: "v6",
61
+ ...util.normalizeParams(params),
62
+ });
63
+ }
64
+ export function _uuidv7(Class, params) {
65
+ return new Class({
66
+ type: "string",
67
+ format: "uuid",
68
+ check: "string_format",
69
+ abort: false,
70
+ version: "v7",
71
+ ...util.normalizeParams(params),
72
+ });
73
+ }
74
+ export function _url(Class, params) {
75
+ return new Class({
76
+ type: "string",
77
+ format: "url",
78
+ check: "string_format",
79
+ abort: false,
80
+ ...util.normalizeParams(params),
81
+ });
82
+ }
83
+ export function _emoji(Class, params) {
84
+ return new Class({
85
+ type: "string",
86
+ format: "emoji",
87
+ check: "string_format",
88
+ abort: false,
89
+ ...util.normalizeParams(params),
90
+ });
91
+ }
92
+ export function _nanoid(Class, params) {
93
+ return new Class({
94
+ type: "string",
95
+ format: "nanoid",
96
+ check: "string_format",
97
+ abort: false,
98
+ ...util.normalizeParams(params),
99
+ });
100
+ }
101
+ export function _cuid(Class, params) {
102
+ return new Class({
103
+ type: "string",
104
+ format: "cuid",
105
+ check: "string_format",
106
+ abort: false,
107
+ ...util.normalizeParams(params),
108
+ });
109
+ }
110
+ export function _cuid2(Class, params) {
111
+ return new Class({
112
+ type: "string",
113
+ format: "cuid2",
114
+ check: "string_format",
115
+ abort: false,
116
+ ...util.normalizeParams(params),
117
+ });
118
+ }
119
+ export function _ulid(Class, params) {
120
+ return new Class({
121
+ type: "string",
122
+ format: "ulid",
123
+ check: "string_format",
124
+ abort: false,
125
+ ...util.normalizeParams(params),
126
+ });
127
+ }
128
+ export function _xid(Class, params) {
129
+ return new Class({
130
+ type: "string",
131
+ format: "xid",
132
+ check: "string_format",
133
+ abort: false,
134
+ ...util.normalizeParams(params),
135
+ });
136
+ }
137
+ export function _ksuid(Class, params) {
138
+ return new Class({
139
+ type: "string",
140
+ format: "ksuid",
141
+ check: "string_format",
142
+ abort: false,
143
+ ...util.normalizeParams(params),
144
+ });
145
+ }
146
+ export function _ipv4(Class, params) {
147
+ return new Class({
148
+ type: "string",
149
+ format: "ipv4",
150
+ check: "string_format",
151
+ abort: false,
152
+ ...util.normalizeParams(params),
153
+ });
154
+ }
155
+ export function _ipv6(Class, params) {
156
+ return new Class({
157
+ type: "string",
158
+ format: "ipv6",
159
+ check: "string_format",
160
+ abort: false,
161
+ ...util.normalizeParams(params),
162
+ });
163
+ }
164
+ export function _cidrv4(Class, params) {
165
+ return new Class({
166
+ type: "string",
167
+ format: "cidrv4",
168
+ check: "string_format",
169
+ abort: false,
170
+ ...util.normalizeParams(params),
171
+ });
172
+ }
173
+ export function _cidrv6(Class, params) {
174
+ return new Class({
175
+ type: "string",
176
+ format: "cidrv6",
177
+ check: "string_format",
178
+ abort: false,
179
+ ...util.normalizeParams(params),
180
+ });
181
+ }
182
+ export function _base64(Class, params) {
183
+ return new Class({
184
+ type: "string",
185
+ format: "base64",
186
+ check: "string_format",
187
+ abort: false,
188
+ ...util.normalizeParams(params),
189
+ });
190
+ }
191
+ export function _base64url(Class, params) {
192
+ return new Class({
193
+ type: "string",
194
+ format: "base64url",
195
+ check: "string_format",
196
+ abort: false,
197
+ ...util.normalizeParams(params),
198
+ });
199
+ }
200
+ export function _e164(Class, params) {
201
+ return new Class({
202
+ type: "string",
203
+ format: "e164",
204
+ check: "string_format",
205
+ abort: false,
206
+ ...util.normalizeParams(params),
207
+ });
208
+ }
209
+ export function _jwt(Class, params) {
210
+ return new Class({
211
+ type: "string",
212
+ format: "jwt",
213
+ check: "string_format",
214
+ abort: false,
215
+ ...util.normalizeParams(params),
216
+ });
217
+ }
218
+ export const TimePrecision = {
219
+ Any: null,
220
+ Minute: -1,
221
+ Second: 0,
222
+ Millisecond: 3,
223
+ Microsecond: 6,
224
+ };
225
+ export function _isoDateTime(Class, params) {
226
+ return new Class({
227
+ type: "string",
228
+ format: "datetime",
229
+ check: "string_format",
230
+ offset: false,
231
+ local: false,
232
+ precision: null,
233
+ ...util.normalizeParams(params),
234
+ });
235
+ }
236
+ export function _isoDate(Class, params) {
237
+ return new Class({
238
+ type: "string",
239
+ format: "date",
240
+ check: "string_format",
241
+ ...util.normalizeParams(params),
242
+ });
243
+ }
244
+ export function _isoTime(Class, params) {
245
+ return new Class({
246
+ type: "string",
247
+ format: "time",
248
+ check: "string_format",
249
+ precision: null,
250
+ ...util.normalizeParams(params),
251
+ });
252
+ }
253
+ export function _isoDuration(Class, params) {
254
+ return new Class({
255
+ type: "string",
256
+ format: "duration",
257
+ check: "string_format",
258
+ ...util.normalizeParams(params),
259
+ });
260
+ }
261
+ export function _number(Class, params) {
262
+ return new Class({
263
+ type: "number",
264
+ checks: [],
265
+ ...util.normalizeParams(params),
266
+ });
267
+ }
268
+ export function _coercedNumber(Class, params) {
269
+ return new Class({
270
+ type: "number",
271
+ coerce: true,
272
+ checks: [],
273
+ ...util.normalizeParams(params),
274
+ });
275
+ }
276
+ export function _int(Class, params) {
277
+ return new Class({
278
+ type: "number",
279
+ check: "number_format",
280
+ abort: false,
281
+ format: "safeint",
282
+ ...util.normalizeParams(params),
283
+ });
284
+ }
285
+ export function _float32(Class, params) {
286
+ return new Class({
287
+ type: "number",
288
+ check: "number_format",
289
+ abort: false,
290
+ format: "float32",
291
+ ...util.normalizeParams(params),
292
+ });
293
+ }
294
+ export function _float64(Class, params) {
295
+ return new Class({
296
+ type: "number",
297
+ check: "number_format",
298
+ abort: false,
299
+ format: "float64",
300
+ ...util.normalizeParams(params),
301
+ });
302
+ }
303
+ export function _int32(Class, params) {
304
+ return new Class({
305
+ type: "number",
306
+ check: "number_format",
307
+ abort: false,
308
+ format: "int32",
309
+ ...util.normalizeParams(params),
310
+ });
311
+ }
312
+ export function _uint32(Class, params) {
313
+ return new Class({
314
+ type: "number",
315
+ check: "number_format",
316
+ abort: false,
317
+ format: "uint32",
318
+ ...util.normalizeParams(params),
319
+ });
320
+ }
321
+ export function _boolean(Class, params) {
322
+ return new Class({
323
+ type: "boolean",
324
+ ...util.normalizeParams(params),
325
+ });
326
+ }
327
+ export function _coercedBoolean(Class, params) {
328
+ return new Class({
329
+ type: "boolean",
330
+ coerce: true,
331
+ ...util.normalizeParams(params),
332
+ });
333
+ }
334
+ export function _bigint(Class, params) {
335
+ return new Class({
336
+ type: "bigint",
337
+ ...util.normalizeParams(params),
338
+ });
339
+ }
340
+ export function _coercedBigint(Class, params) {
341
+ return new Class({
342
+ type: "bigint",
343
+ coerce: true,
344
+ ...util.normalizeParams(params),
345
+ });
346
+ }
347
+ export function _int64(Class, params) {
348
+ return new Class({
349
+ type: "bigint",
350
+ check: "bigint_format",
351
+ abort: false,
352
+ format: "int64",
353
+ ...util.normalizeParams(params),
354
+ });
355
+ }
356
+ export function _uint64(Class, params) {
357
+ return new Class({
358
+ type: "bigint",
359
+ check: "bigint_format",
360
+ abort: false,
361
+ format: "uint64",
362
+ ...util.normalizeParams(params),
363
+ });
364
+ }
365
+ export function _symbol(Class, params) {
366
+ return new Class({
367
+ type: "symbol",
368
+ ...util.normalizeParams(params),
369
+ });
370
+ }
371
+ export function _undefined(Class, params) {
372
+ return new Class({
373
+ type: "undefined",
374
+ ...util.normalizeParams(params),
375
+ });
376
+ }
377
+ export function _null(Class, params) {
378
+ return new Class({
379
+ type: "null",
380
+ ...util.normalizeParams(params),
381
+ });
382
+ }
383
+ export function _any(Class) {
384
+ return new Class({
385
+ type: "any",
386
+ });
387
+ }
388
+ export function _unknown(Class) {
389
+ return new Class({
390
+ type: "unknown",
391
+ });
392
+ }
393
+ export function _never(Class, params) {
394
+ return new Class({
395
+ type: "never",
396
+ ...util.normalizeParams(params),
397
+ });
398
+ }
399
+ export function _void(Class, params) {
400
+ return new Class({
401
+ type: "void",
402
+ ...util.normalizeParams(params),
403
+ });
404
+ }
405
+ export function _date(Class, params) {
406
+ return new Class({
407
+ type: "date",
408
+ ...util.normalizeParams(params),
409
+ });
410
+ }
411
+ export function _coercedDate(Class, params) {
412
+ return new Class({
413
+ type: "date",
414
+ coerce: true,
415
+ ...util.normalizeParams(params),
416
+ });
417
+ }
418
+ export function _nan(Class, params) {
419
+ return new Class({
420
+ type: "nan",
421
+ ...util.normalizeParams(params),
422
+ });
423
+ }
424
+ export function _lt(value, params) {
425
+ return new checks.$ZodCheckLessThan({
426
+ check: "less_than",
427
+ ...util.normalizeParams(params),
428
+ value,
429
+ inclusive: false,
430
+ });
431
+ }
432
+ export function _lte(value, params) {
433
+ return new checks.$ZodCheckLessThan({
434
+ check: "less_than",
435
+ ...util.normalizeParams(params),
436
+ value,
437
+ inclusive: true,
438
+ });
439
+ }
440
+ export {
441
+ /** @deprecated Use `z.lte()` instead. */
442
+ _lte as _max, };
443
+ export function _gt(value, params) {
444
+ return new checks.$ZodCheckGreaterThan({
445
+ check: "greater_than",
446
+ ...util.normalizeParams(params),
447
+ value,
448
+ inclusive: false,
449
+ });
450
+ }
451
+ export function _gte(value, params) {
452
+ return new checks.$ZodCheckGreaterThan({
453
+ check: "greater_than",
454
+ ...util.normalizeParams(params),
455
+ value,
456
+ inclusive: true,
457
+ });
458
+ }
459
+ export {
460
+ /** @deprecated Use `z.gte()` instead. */
461
+ _gte as _min, };
462
+ export function _positive(params) {
463
+ return _gt(0, params);
464
+ }
465
+ // negative
466
+ export function _negative(params) {
467
+ return _lt(0, params);
468
+ }
469
+ // nonpositive
470
+ export function _nonpositive(params) {
471
+ return _lte(0, params);
472
+ }
473
+ // nonnegative
474
+ export function _nonnegative(params) {
475
+ return _gte(0, params);
476
+ }
477
+ export function _multipleOf(value, params) {
478
+ return new checks.$ZodCheckMultipleOf({
479
+ check: "multiple_of",
480
+ ...util.normalizeParams(params),
481
+ value,
482
+ });
483
+ }
484
+ export function _maxSize(maximum, params) {
485
+ return new checks.$ZodCheckMaxSize({
486
+ check: "max_size",
487
+ ...util.normalizeParams(params),
488
+ maximum,
489
+ });
490
+ }
491
+ export function _minSize(minimum, params) {
492
+ return new checks.$ZodCheckMinSize({
493
+ check: "min_size",
494
+ ...util.normalizeParams(params),
495
+ minimum,
496
+ });
497
+ }
498
+ export function _size(size, params) {
499
+ return new checks.$ZodCheckSizeEquals({
500
+ check: "size_equals",
501
+ ...util.normalizeParams(params),
502
+ size,
503
+ });
504
+ }
505
+ export function _maxLength(maximum, params) {
506
+ const ch = new checks.$ZodCheckMaxLength({
507
+ check: "max_length",
508
+ ...util.normalizeParams(params),
509
+ maximum,
510
+ });
511
+ return ch;
512
+ }
513
+ export function _minLength(minimum, params) {
514
+ return new checks.$ZodCheckMinLength({
515
+ check: "min_length",
516
+ ...util.normalizeParams(params),
517
+ minimum,
518
+ });
519
+ }
520
+ export function _length(length, params) {
521
+ return new checks.$ZodCheckLengthEquals({
522
+ check: "length_equals",
523
+ ...util.normalizeParams(params),
524
+ length,
525
+ });
526
+ }
527
+ export function _regex(pattern, params) {
528
+ return new checks.$ZodCheckRegex({
529
+ check: "string_format",
530
+ format: "regex",
531
+ ...util.normalizeParams(params),
532
+ pattern,
533
+ });
534
+ }
535
+ export function _lowercase(params) {
536
+ return new checks.$ZodCheckLowerCase({
537
+ check: "string_format",
538
+ format: "lowercase",
539
+ ...util.normalizeParams(params),
540
+ });
541
+ }
542
+ export function _uppercase(params) {
543
+ return new checks.$ZodCheckUpperCase({
544
+ check: "string_format",
545
+ format: "uppercase",
546
+ ...util.normalizeParams(params),
547
+ });
548
+ }
549
+ export function _includes(includes, params) {
550
+ return new checks.$ZodCheckIncludes({
551
+ check: "string_format",
552
+ format: "includes",
553
+ ...util.normalizeParams(params),
554
+ includes,
555
+ });
556
+ }
557
+ export function _startsWith(prefix, params) {
558
+ return new checks.$ZodCheckStartsWith({
559
+ check: "string_format",
560
+ format: "starts_with",
561
+ ...util.normalizeParams(params),
562
+ prefix,
563
+ });
564
+ }
565
+ export function _endsWith(suffix, params) {
566
+ return new checks.$ZodCheckEndsWith({
567
+ check: "string_format",
568
+ format: "ends_with",
569
+ ...util.normalizeParams(params),
570
+ suffix,
571
+ });
572
+ }
573
+ export function _property(property, schema, params) {
574
+ return new checks.$ZodCheckProperty({
575
+ check: "property",
576
+ property,
577
+ schema,
578
+ ...util.normalizeParams(params),
579
+ });
580
+ }
581
+ export function _mime(types, params) {
582
+ return new checks.$ZodCheckMimeType({
583
+ check: "mime_type",
584
+ mime: types,
585
+ ...util.normalizeParams(params),
586
+ });
587
+ }
588
+ export function _overwrite(tx) {
589
+ return new checks.$ZodCheckOverwrite({
590
+ check: "overwrite",
591
+ tx,
592
+ });
593
+ }
594
+ // normalize
595
+ export function _normalize(form) {
596
+ return _overwrite((input) => input.normalize(form));
597
+ }
598
+ // trim
599
+ export function _trim() {
600
+ return _overwrite((input) => input.trim());
601
+ }
602
+ // toLowerCase
603
+ export function _toLowerCase() {
604
+ return _overwrite((input) => input.toLowerCase());
605
+ }
606
+ // toUpperCase
607
+ export function _toUpperCase() {
608
+ return _overwrite((input) => input.toUpperCase());
609
+ }
610
+ export function _array(Class, element, params) {
611
+ return new Class({
612
+ type: "array",
613
+ element,
614
+ // get element() {
615
+ // return element;
616
+ // },
617
+ ...util.normalizeParams(params),
618
+ });
619
+ }
620
+ export function _union(Class, options, params) {
621
+ return new Class({
622
+ type: "union",
623
+ options,
624
+ ...util.normalizeParams(params),
625
+ });
626
+ }
627
+ export function _discriminatedUnion(Class, discriminator, options, params) {
628
+ return new Class({
629
+ type: "union",
630
+ options,
631
+ discriminator,
632
+ ...util.normalizeParams(params),
633
+ });
634
+ }
635
+ export function _intersection(Class, left, right) {
636
+ return new Class({
637
+ type: "intersection",
638
+ left,
639
+ right,
640
+ });
641
+ }
642
+ // export function _tuple(
643
+ // Class: util.SchemaClass<schemas.$ZodTuple>,
644
+ // items: [],
645
+ // params?: string | $ZodTupleParams
646
+ // ): schemas.$ZodTuple<[], null>;
647
+ export function _tuple(Class, items, _paramsOrRest, _params) {
648
+ const hasRest = _paramsOrRest instanceof schemas.$ZodType;
649
+ const params = hasRest ? _params : _paramsOrRest;
650
+ const rest = hasRest ? _paramsOrRest : null;
651
+ return new Class({
652
+ type: "tuple",
653
+ items,
654
+ rest,
655
+ ...util.normalizeParams(params),
656
+ });
657
+ }
658
+ export function _record(Class, keyType, valueType, params) {
659
+ return new Class({
660
+ type: "record",
661
+ keyType,
662
+ valueType,
663
+ ...util.normalizeParams(params),
664
+ });
665
+ }
666
+ export function _map(Class, keyType, valueType, params) {
667
+ return new Class({
668
+ type: "map",
669
+ keyType,
670
+ valueType,
671
+ ...util.normalizeParams(params),
672
+ });
673
+ }
674
+ export function _set(Class, valueType, params) {
675
+ return new Class({
676
+ type: "set",
677
+ valueType,
678
+ ...util.normalizeParams(params),
679
+ });
680
+ }
681
+ export function _enum(Class, values, params) {
682
+ const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
683
+ // if (Array.isArray(values)) {
684
+ // for (const value of values) {
685
+ // entries[value] = value;
686
+ // }
687
+ // } else {
688
+ // Object.assign(entries, values);
689
+ // }
690
+ // const entries: util.EnumLike = {};
691
+ // for (const val of values) {
692
+ // entries[val] = val;
693
+ // }
694
+ return new Class({
695
+ type: "enum",
696
+ entries,
697
+ ...util.normalizeParams(params),
698
+ });
699
+ }
700
+ /** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
701
+ *
702
+ * ```ts
703
+ * enum Colors { red, green, blue }
704
+ * z.enum(Colors);
705
+ * ```
706
+ */
707
+ export function _nativeEnum(Class, entries, params) {
708
+ return new Class({
709
+ type: "enum",
710
+ entries,
711
+ ...util.normalizeParams(params),
712
+ });
713
+ }
714
+ export function _literal(Class, value, params) {
715
+ return new Class({
716
+ type: "literal",
717
+ values: Array.isArray(value) ? value : [value],
718
+ ...util.normalizeParams(params),
719
+ });
720
+ }
721
+ export function _file(Class, params) {
722
+ return new Class({
723
+ type: "file",
724
+ ...util.normalizeParams(params),
725
+ });
726
+ }
727
+ export function _transform(Class, fn) {
728
+ return new Class({
729
+ type: "transform",
730
+ transform: fn,
731
+ });
732
+ }
733
+ export function _optional(Class, innerType) {
734
+ return new Class({
735
+ type: "optional",
736
+ innerType,
737
+ });
738
+ }
739
+ export function _nullable(Class, innerType) {
740
+ return new Class({
741
+ type: "nullable",
742
+ innerType,
743
+ });
744
+ }
745
+ export function _default(Class, innerType, defaultValue) {
746
+ return new Class({
747
+ type: "default",
748
+ innerType,
749
+ get defaultValue() {
750
+ return typeof defaultValue === "function" ? defaultValue() : defaultValue;
751
+ },
752
+ });
753
+ }
754
+ export function _nonoptional(Class, innerType, params) {
755
+ return new Class({
756
+ type: "nonoptional",
757
+ innerType,
758
+ ...util.normalizeParams(params),
759
+ });
760
+ }
761
+ export function _success(Class, innerType) {
762
+ return new Class({
763
+ type: "success",
764
+ innerType,
765
+ });
766
+ }
767
+ export function _catch(Class, innerType, catchValue) {
768
+ return new Class({
769
+ type: "catch",
770
+ innerType,
771
+ catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
772
+ });
773
+ }
774
+ export function _pipe(Class, in_, out) {
775
+ return new Class({
776
+ type: "pipe",
777
+ in: in_,
778
+ out,
779
+ });
780
+ }
781
+ export function _readonly(Class, innerType) {
782
+ return new Class({
783
+ type: "readonly",
784
+ innerType,
785
+ });
786
+ }
787
+ export function _templateLiteral(Class, parts, params) {
788
+ return new Class({
789
+ type: "template_literal",
790
+ parts,
791
+ ...util.normalizeParams(params),
792
+ });
793
+ }
794
+ export function _lazy(Class, getter) {
795
+ return new Class({
796
+ type: "lazy",
797
+ getter,
798
+ });
799
+ }
800
+ export function _promise(Class, innerType) {
801
+ return new Class({
802
+ type: "promise",
803
+ innerType,
804
+ });
805
+ }
806
+ export function _custom(Class, fn, _params) {
807
+ const norm = util.normalizeParams(_params);
808
+ norm.abort ?? (norm.abort = true); // default to abort:false
809
+ const schema = new Class({
810
+ type: "custom",
811
+ check: "custom",
812
+ fn: fn,
813
+ ...norm,
814
+ });
815
+ return schema;
816
+ }
817
+ // export function _refine<T>(
818
+ // Class: util.SchemaClass<schemas.$ZodCustom>,
819
+ // fn: (arg: NoInfer<T>) => util.MaybeAsync<unknown>,
820
+ // _params: string | $ZodCustomParams = {}
821
+ // ): checks.$ZodCheck<T> {
822
+ // return _custom(Class, fn, _params);
823
+ // }
824
+ // same as _custom but defaults to abort:false
825
+ export function _refine(Class, fn, _params) {
826
+ const schema = new Class({
827
+ type: "custom",
828
+ check: "custom",
829
+ fn: fn,
830
+ ...util.normalizeParams(_params),
831
+ });
832
+ return schema;
833
+ }
834
+ export function _stringbool(Classes, _params) {
835
+ const params = util.normalizeParams(_params);
836
+ let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
837
+ let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
838
+ if (params.case !== "sensitive") {
839
+ truthyArray = truthyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
840
+ falsyArray = falsyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
841
+ }
842
+ const truthySet = new Set(truthyArray);
843
+ const falsySet = new Set(falsyArray);
844
+ const _Pipe = Classes.Pipe ?? schemas.$ZodPipe;
845
+ const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;
846
+ const _String = Classes.String ?? schemas.$ZodString;
847
+ const _Transform = Classes.Transform ?? schemas.$ZodTransform;
848
+ const tx = new _Transform({
849
+ type: "transform",
850
+ transform: (input, payload) => {
851
+ let data = input;
852
+ if (params.case !== "sensitive")
853
+ data = data.toLowerCase();
854
+ if (truthySet.has(data)) {
855
+ return true;
856
+ }
857
+ else if (falsySet.has(data)) {
858
+ return false;
859
+ }
860
+ else {
861
+ payload.issues.push({
862
+ code: "invalid_value",
863
+ expected: "stringbool",
864
+ values: [...truthySet, ...falsySet],
865
+ input: payload.value,
866
+ inst: tx,
867
+ });
868
+ return {};
869
+ }
870
+ },
871
+ error: params.error,
872
+ });
873
+ // params.error;
874
+ const innerPipe = new _Pipe({
875
+ type: "pipe",
876
+ in: new _String({ type: "string", error: params.error }),
877
+ out: tx,
878
+ error: params.error,
879
+ });
880
+ const outerPipe = new _Pipe({
881
+ type: "pipe",
882
+ in: innerPipe,
883
+ out: new _Boolean({
884
+ type: "boolean",
885
+ error: params.error,
886
+ }),
887
+ error: params.error,
888
+ });
889
+ return outerPipe;
890
+ }
891
+ export function _stringFormat(Class, format, fnOrRegex, _params = {}) {
892
+ const params = util.normalizeParams(_params);
893
+ const def = {
894
+ ...util.normalizeParams(_params),
895
+ check: "string_format",
896
+ type: "string",
897
+ format,
898
+ fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
899
+ ...params,
900
+ };
901
+ if (fnOrRegex instanceof RegExp) {
902
+ def.pattern = fnOrRegex;
903
+ }
904
+ const inst = new Class(def);
905
+ return inst;
906
+ }