zod 3.25.21 → 3.25.22

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 (506) hide show
  1. package/package.json +2 -2
  2. package/dist/cjs/v3/tests/all-errors.test.js +0 -147
  3. package/dist/cjs/v3/tests/anyunknown.test.js +0 -47
  4. package/dist/cjs/v3/tests/array.test.js +0 -80
  5. package/dist/cjs/v3/tests/async-parsing.test.js +0 -381
  6. package/dist/cjs/v3/tests/async-refinements.test.js +0 -60
  7. package/dist/cjs/v3/tests/base.test.js +0 -47
  8. package/dist/cjs/v3/tests/bigint.test.js +0 -74
  9. package/dist/cjs/v3/tests/branded.test.js +0 -58
  10. package/dist/cjs/v3/tests/catch.test.js +0 -181
  11. package/dist/cjs/v3/tests/coerce.test.js +0 -152
  12. package/dist/cjs/v3/tests/complex.test.js +0 -78
  13. package/dist/cjs/v3/tests/custom.test.js +0 -51
  14. package/dist/cjs/v3/tests/date.test.js +0 -49
  15. package/dist/cjs/v3/tests/deepmasking.test.js +0 -187
  16. package/dist/cjs/v3/tests/default.test.js +0 -86
  17. package/dist/cjs/v3/tests/description.test.js +0 -51
  18. package/dist/cjs/v3/tests/discriminated-unions.test.js +0 -321
  19. package/dist/cjs/v3/tests/enum.test.js +0 -91
  20. package/dist/cjs/v3/tests/error.test.js +0 -526
  21. package/dist/cjs/v3/tests/firstparty.test.js +0 -109
  22. package/dist/cjs/v3/tests/firstpartyschematypes.test.js +0 -8
  23. package/dist/cjs/v3/tests/function.test.js +0 -236
  24. package/dist/cjs/v3/tests/generics.test.js +0 -67
  25. package/dist/cjs/v3/tests/instanceof.test.js +0 -60
  26. package/dist/cjs/v3/tests/intersection.test.js +0 -111
  27. package/dist/cjs/v3/tests/language-server.source.js +0 -71
  28. package/dist/cjs/v3/tests/language-server.test.js +0 -177
  29. package/dist/cjs/v3/tests/literal.test.js +0 -55
  30. package/dist/cjs/v3/tests/map.test.js +0 -112
  31. package/dist/cjs/v3/tests/masking.test.js +0 -5
  32. package/dist/cjs/v3/tests/mocker.test.js +0 -19
  33. package/dist/cjs/v3/tests/nan.test.js +0 -42
  34. package/dist/cjs/v3/tests/nativeEnum.test.js +0 -100
  35. package/dist/cjs/v3/tests/nullable.test.js +0 -65
  36. package/dist/cjs/v3/tests/number.test.js +0 -189
  37. package/dist/cjs/v3/tests/object-augmentation.test.js +0 -50
  38. package/dist/cjs/v3/tests/object-in-es5-env.test.js +0 -49
  39. package/dist/cjs/v3/tests/object.test.js +0 -352
  40. package/dist/cjs/v3/tests/optional.test.js +0 -65
  41. package/dist/cjs/v3/tests/parseUtil.test.js +0 -20
  42. package/dist/cjs/v3/tests/parser.test.js +0 -55
  43. package/dist/cjs/v3/tests/partials.test.js +0 -201
  44. package/dist/cjs/v3/tests/pickomit.test.js +0 -113
  45. package/dist/cjs/v3/tests/pipeline.test.js +0 -50
  46. package/dist/cjs/v3/tests/preprocess.test.js +0 -181
  47. package/dist/cjs/v3/tests/primitive.test.js +0 -385
  48. package/dist/cjs/v3/tests/promise.test.js +0 -98
  49. package/dist/cjs/v3/tests/readonly.test.js +0 -190
  50. package/dist/cjs/v3/tests/record.test.js +0 -153
  51. package/dist/cjs/v3/tests/recursive.test.js +0 -161
  52. package/dist/cjs/v3/tests/refine.test.js +0 -279
  53. package/dist/cjs/v3/tests/safeparse.test.js +0 -46
  54. package/dist/cjs/v3/tests/set.test.js +0 -144
  55. package/dist/cjs/v3/tests/standard-schema.test.js +0 -102
  56. package/dist/cjs/v3/tests/string.test.js +0 -842
  57. package/dist/cjs/v3/tests/transformer.test.js +0 -218
  58. package/dist/cjs/v3/tests/tuple.test.js +0 -97
  59. package/dist/cjs/v3/tests/unions.test.js +0 -75
  60. package/dist/cjs/v3/tests/validations.test.js +0 -155
  61. package/dist/cjs/v3/tests/void.test.js +0 -36
  62. package/dist/cjs/v4/classic/tests/anyunknown.test.js +0 -45
  63. package/dist/cjs/v4/classic/tests/array.test.js +0 -249
  64. package/dist/cjs/v4/classic/tests/assignability.test.js +0 -110
  65. package/dist/cjs/v4/classic/tests/async-parsing.test.js +0 -364
  66. package/dist/cjs/v4/classic/tests/async-refinements.test.js +0 -82
  67. package/dist/cjs/v4/classic/tests/base.test.js +0 -31
  68. package/dist/cjs/v4/classic/tests/bigint.test.js +0 -73
  69. package/dist/cjs/v4/classic/tests/brand.test.js +0 -60
  70. package/dist/cjs/v4/classic/tests/catch.test.js +0 -214
  71. package/dist/cjs/v4/classic/tests/coalesce.test.js +0 -18
  72. package/dist/cjs/v4/classic/tests/coerce.test.js +0 -175
  73. package/dist/cjs/v4/classic/tests/custom.test.js +0 -38
  74. package/dist/cjs/v4/classic/tests/date.test.js +0 -48
  75. package/dist/cjs/v4/classic/tests/default.test.js +0 -88
  76. package/dist/cjs/v4/classic/tests/description.test.js +0 -51
  77. package/dist/cjs/v4/classic/tests/discriminated-unions.test.js +0 -540
  78. package/dist/cjs/v4/classic/tests/enum.test.js +0 -260
  79. package/dist/cjs/v4/classic/tests/error-utils.test.js +0 -411
  80. package/dist/cjs/v4/classic/tests/error.test.js +0 -651
  81. package/dist/cjs/v4/classic/tests/file.test.js +0 -68
  82. package/dist/cjs/v4/classic/tests/firstparty.test.js +0 -198
  83. package/dist/cjs/v4/classic/tests/function.test.js +0 -219
  84. package/dist/cjs/v4/classic/tests/generics.test.js +0 -72
  85. package/dist/cjs/v4/classic/tests/index.test.js +0 -765
  86. package/dist/cjs/v4/classic/tests/instanceof.test.js +0 -58
  87. package/dist/cjs/v4/classic/tests/intersection.test.js +0 -134
  88. package/dist/cjs/v4/classic/tests/json-schema.test.js +0 -1707
  89. package/dist/cjs/v4/classic/tests/json.test.js +0 -105
  90. package/dist/cjs/v4/classic/tests/lazy.test.js +0 -185
  91. package/dist/cjs/v4/classic/tests/literal.test.js +0 -94
  92. package/dist/cjs/v4/classic/tests/map.test.js +0 -193
  93. package/dist/cjs/v4/classic/tests/nan.test.js +0 -42
  94. package/dist/cjs/v4/classic/tests/nested-refine.test.js +0 -180
  95. package/dist/cjs/v4/classic/tests/nonoptional.test.js +0 -80
  96. package/dist/cjs/v4/classic/tests/nullable.test.js +0 -43
  97. package/dist/cjs/v4/classic/tests/number.test.js +0 -241
  98. package/dist/cjs/v4/classic/tests/object.test.js +0 -405
  99. package/dist/cjs/v4/classic/tests/optional.test.js +0 -98
  100. package/dist/cjs/v4/classic/tests/partial.test.js +0 -137
  101. package/dist/cjs/v4/classic/tests/pickomit.test.js +0 -125
  102. package/dist/cjs/v4/classic/tests/pipe.test.js +0 -92
  103. package/dist/cjs/v4/classic/tests/prefault.test.js +0 -22
  104. package/dist/cjs/v4/classic/tests/preprocess.test.js +0 -273
  105. package/dist/cjs/v4/classic/tests/primitive.test.js +0 -184
  106. package/dist/cjs/v4/classic/tests/promise.test.js +0 -91
  107. package/dist/cjs/v4/classic/tests/readonly.test.js +0 -241
  108. package/dist/cjs/v4/classic/tests/record.test.js +0 -307
  109. package/dist/cjs/v4/classic/tests/recursive-types.test.js +0 -108
  110. package/dist/cjs/v4/classic/tests/refine.test.js +0 -402
  111. package/dist/cjs/v4/classic/tests/registries.test.js +0 -155
  112. package/dist/cjs/v4/classic/tests/set.test.js +0 -182
  113. package/dist/cjs/v4/classic/tests/standard-schema.test.js +0 -77
  114. package/dist/cjs/v4/classic/tests/string-formats.test.js +0 -49
  115. package/dist/cjs/v4/classic/tests/string.test.js +0 -980
  116. package/dist/cjs/v4/classic/tests/template-literal.test.js +0 -705
  117. package/dist/cjs/v4/classic/tests/transform.test.js +0 -239
  118. package/dist/cjs/v4/classic/tests/tuple.test.js +0 -166
  119. package/dist/cjs/v4/classic/tests/union.test.js +0 -107
  120. package/dist/cjs/v4/classic/tests/validations.test.js +0 -301
  121. package/dist/cjs/v4/classic/tests/void.test.js +0 -34
  122. package/dist/cjs/v4/core/tests/index.test.js +0 -66
  123. package/dist/cjs/v4/core/tests/locales/be.test.js +0 -123
  124. package/dist/cjs/v4/core/tests/locales/en.test.js +0 -21
  125. package/dist/cjs/v4/core/tests/locales/ru.test.js +0 -123
  126. package/dist/cjs/v4/core/tests/locales/tr.test.js +0 -79
  127. package/dist/cjs/v4/mini/tests/assignability.test.js +0 -104
  128. package/dist/cjs/v4/mini/tests/brand.test.js +0 -58
  129. package/dist/cjs/v4/mini/tests/checks.test.js +0 -147
  130. package/dist/cjs/v4/mini/tests/computed.test.js +0 -55
  131. package/dist/cjs/v4/mini/tests/error.test.js +0 -45
  132. package/dist/cjs/v4/mini/tests/functions.test.js +0 -37
  133. package/dist/cjs/v4/mini/tests/index.test.js +0 -763
  134. package/dist/cjs/v4/mini/tests/number.test.js +0 -109
  135. package/dist/cjs/v4/mini/tests/object.test.js +0 -122
  136. package/dist/cjs/v4/mini/tests/prototypes.test.js +0 -44
  137. package/dist/cjs/v4/mini/tests/recursive-types.test.js +0 -106
  138. package/dist/cjs/v4/mini/tests/string.test.js +0 -265
  139. package/dist/types/v3/tests/all-errors.test.d.ts +0 -1
  140. package/dist/types/v3/tests/anyunknown.test.d.ts +0 -1
  141. package/dist/types/v3/tests/array.test.d.ts +0 -1
  142. package/dist/types/v3/tests/async-parsing.test.d.ts +0 -1
  143. package/dist/types/v3/tests/async-refinements.test.d.ts +0 -1
  144. package/dist/types/v3/tests/base.test.d.ts +0 -1
  145. package/dist/types/v3/tests/bigint.test.d.ts +0 -1
  146. package/dist/types/v3/tests/branded.test.d.ts +0 -1
  147. package/dist/types/v3/tests/catch.test.d.ts +0 -1
  148. package/dist/types/v3/tests/coerce.test.d.ts +0 -1
  149. package/dist/types/v3/tests/complex.test.d.ts +0 -1
  150. package/dist/types/v3/tests/custom.test.d.ts +0 -1
  151. package/dist/types/v3/tests/date.test.d.ts +0 -1
  152. package/dist/types/v3/tests/deepmasking.test.d.ts +0 -1
  153. package/dist/types/v3/tests/default.test.d.ts +0 -1
  154. package/dist/types/v3/tests/description.test.d.ts +0 -1
  155. package/dist/types/v3/tests/discriminated-unions.test.d.ts +0 -1
  156. package/dist/types/v3/tests/enum.test.d.ts +0 -1
  157. package/dist/types/v3/tests/error.test.d.ts +0 -1
  158. package/dist/types/v3/tests/firstparty.test.d.ts +0 -1
  159. package/dist/types/v3/tests/firstpartyschematypes.test.d.ts +0 -1
  160. package/dist/types/v3/tests/function.test.d.ts +0 -1
  161. package/dist/types/v3/tests/generics.test.d.ts +0 -1
  162. package/dist/types/v3/tests/instanceof.test.d.ts +0 -1
  163. package/dist/types/v3/tests/intersection.test.d.ts +0 -1
  164. package/dist/types/v3/tests/language-server.source.d.ts +0 -70
  165. package/dist/types/v3/tests/language-server.test.d.ts +0 -1
  166. package/dist/types/v3/tests/literal.test.d.ts +0 -1
  167. package/dist/types/v3/tests/map.test.d.ts +0 -1
  168. package/dist/types/v3/tests/masking.test.d.ts +0 -1
  169. package/dist/types/v3/tests/mocker.test.d.ts +0 -1
  170. package/dist/types/v3/tests/nan.test.d.ts +0 -1
  171. package/dist/types/v3/tests/nativeEnum.test.d.ts +0 -1
  172. package/dist/types/v3/tests/nullable.test.d.ts +0 -1
  173. package/dist/types/v3/tests/number.test.d.ts +0 -1
  174. package/dist/types/v3/tests/object-augmentation.test.d.ts +0 -1
  175. package/dist/types/v3/tests/object-in-es5-env.test.d.ts +0 -1
  176. package/dist/types/v3/tests/object.test.d.ts +0 -1
  177. package/dist/types/v3/tests/optional.test.d.ts +0 -1
  178. package/dist/types/v3/tests/parseUtil.test.d.ts +0 -1
  179. package/dist/types/v3/tests/parser.test.d.ts +0 -1
  180. package/dist/types/v3/tests/partials.test.d.ts +0 -1
  181. package/dist/types/v3/tests/pickomit.test.d.ts +0 -1
  182. package/dist/types/v3/tests/pipeline.test.d.ts +0 -1
  183. package/dist/types/v3/tests/preprocess.test.d.ts +0 -1
  184. package/dist/types/v3/tests/primitive.test.d.ts +0 -1
  185. package/dist/types/v3/tests/promise.test.d.ts +0 -1
  186. package/dist/types/v3/tests/readonly.test.d.ts +0 -1
  187. package/dist/types/v3/tests/record.test.d.ts +0 -1
  188. package/dist/types/v3/tests/recursive.test.d.ts +0 -1
  189. package/dist/types/v3/tests/refine.test.d.ts +0 -1
  190. package/dist/types/v3/tests/safeparse.test.d.ts +0 -1
  191. package/dist/types/v3/tests/set.test.d.ts +0 -1
  192. package/dist/types/v3/tests/standard-schema.test.d.ts +0 -1
  193. package/dist/types/v3/tests/string.test.d.ts +0 -1
  194. package/dist/types/v3/tests/transformer.test.d.ts +0 -1
  195. package/dist/types/v3/tests/tuple.test.d.ts +0 -1
  196. package/dist/types/v3/tests/unions.test.d.ts +0 -1
  197. package/dist/types/v3/tests/validations.test.d.ts +0 -1
  198. package/dist/types/v3/tests/void.test.d.ts +0 -1
  199. package/dist/types/v4/classic/tests/anyunknown.test.d.ts +0 -1
  200. package/dist/types/v4/classic/tests/array.test.d.ts +0 -1
  201. package/dist/types/v4/classic/tests/assignability.test.d.ts +0 -1
  202. package/dist/types/v4/classic/tests/async-parsing.test.d.ts +0 -1
  203. package/dist/types/v4/classic/tests/async-refinements.test.d.ts +0 -1
  204. package/dist/types/v4/classic/tests/base.test.d.ts +0 -1
  205. package/dist/types/v4/classic/tests/bigint.test.d.ts +0 -1
  206. package/dist/types/v4/classic/tests/brand.test.d.ts +0 -1
  207. package/dist/types/v4/classic/tests/catch.test.d.ts +0 -1
  208. package/dist/types/v4/classic/tests/coalesce.test.d.ts +0 -1
  209. package/dist/types/v4/classic/tests/coerce.test.d.ts +0 -1
  210. package/dist/types/v4/classic/tests/custom.test.d.ts +0 -1
  211. package/dist/types/v4/classic/tests/date.test.d.ts +0 -1
  212. package/dist/types/v4/classic/tests/default.test.d.ts +0 -1
  213. package/dist/types/v4/classic/tests/description.test.d.ts +0 -1
  214. package/dist/types/v4/classic/tests/discriminated-unions.test.d.ts +0 -1
  215. package/dist/types/v4/classic/tests/enum.test.d.ts +0 -1
  216. package/dist/types/v4/classic/tests/error-utils.test.d.ts +0 -1
  217. package/dist/types/v4/classic/tests/error.test.d.ts +0 -1
  218. package/dist/types/v4/classic/tests/file.test.d.ts +0 -1
  219. package/dist/types/v4/classic/tests/firstparty.test.d.ts +0 -1
  220. package/dist/types/v4/classic/tests/function.test.d.ts +0 -1
  221. package/dist/types/v4/classic/tests/generics.test.d.ts +0 -1
  222. package/dist/types/v4/classic/tests/index.test.d.ts +0 -1
  223. package/dist/types/v4/classic/tests/instanceof.test.d.ts +0 -1
  224. package/dist/types/v4/classic/tests/intersection.test.d.ts +0 -1
  225. package/dist/types/v4/classic/tests/json-schema.test.d.ts +0 -1
  226. package/dist/types/v4/classic/tests/json.test.d.ts +0 -1
  227. package/dist/types/v4/classic/tests/lazy.test.d.ts +0 -1
  228. package/dist/types/v4/classic/tests/literal.test.d.ts +0 -1
  229. package/dist/types/v4/classic/tests/map.test.d.ts +0 -1
  230. package/dist/types/v4/classic/tests/nan.test.d.ts +0 -1
  231. package/dist/types/v4/classic/tests/nested-refine.test.d.ts +0 -1
  232. package/dist/types/v4/classic/tests/nonoptional.test.d.ts +0 -1
  233. package/dist/types/v4/classic/tests/nullable.test.d.ts +0 -1
  234. package/dist/types/v4/classic/tests/number.test.d.ts +0 -1
  235. package/dist/types/v4/classic/tests/object.test.d.ts +0 -1
  236. package/dist/types/v4/classic/tests/optional.test.d.ts +0 -1
  237. package/dist/types/v4/classic/tests/partial.test.d.ts +0 -1
  238. package/dist/types/v4/classic/tests/pickomit.test.d.ts +0 -1
  239. package/dist/types/v4/classic/tests/pipe.test.d.ts +0 -1
  240. package/dist/types/v4/classic/tests/prefault.test.d.ts +0 -1
  241. package/dist/types/v4/classic/tests/preprocess.test.d.ts +0 -1
  242. package/dist/types/v4/classic/tests/primitive.test.d.ts +0 -1
  243. package/dist/types/v4/classic/tests/promise.test.d.ts +0 -1
  244. package/dist/types/v4/classic/tests/readonly.test.d.ts +0 -1
  245. package/dist/types/v4/classic/tests/record.test.d.ts +0 -1
  246. package/dist/types/v4/classic/tests/recursive-types.test.d.ts +0 -1
  247. package/dist/types/v4/classic/tests/refine.test.d.ts +0 -1
  248. package/dist/types/v4/classic/tests/registries.test.d.ts +0 -1
  249. package/dist/types/v4/classic/tests/set.test.d.ts +0 -1
  250. package/dist/types/v4/classic/tests/standard-schema.test.d.ts +0 -1
  251. package/dist/types/v4/classic/tests/string-formats.test.d.ts +0 -1
  252. package/dist/types/v4/classic/tests/string.test.d.ts +0 -1
  253. package/dist/types/v4/classic/tests/template-literal.test.d.ts +0 -1
  254. package/dist/types/v4/classic/tests/transform.test.d.ts +0 -1
  255. package/dist/types/v4/classic/tests/tuple.test.d.ts +0 -1
  256. package/dist/types/v4/classic/tests/union.test.d.ts +0 -1
  257. package/dist/types/v4/classic/tests/validations.test.d.ts +0 -1
  258. package/dist/types/v4/classic/tests/void.test.d.ts +0 -1
  259. package/dist/types/v4/core/tests/index.test.d.ts +0 -1
  260. package/dist/types/v4/core/tests/locales/be.test.d.ts +0 -1
  261. package/dist/types/v4/core/tests/locales/en.test.d.ts +0 -1
  262. package/dist/types/v4/core/tests/locales/ru.test.d.ts +0 -1
  263. package/dist/types/v4/core/tests/locales/tr.test.d.ts +0 -1
  264. package/dist/types/v4/mini/tests/assignability.test.d.ts +0 -1
  265. package/dist/types/v4/mini/tests/brand.test.d.ts +0 -1
  266. package/dist/types/v4/mini/tests/checks.test.d.ts +0 -1
  267. package/dist/types/v4/mini/tests/computed.test.d.ts +0 -1
  268. package/dist/types/v4/mini/tests/error.test.d.ts +0 -1
  269. package/dist/types/v4/mini/tests/functions.test.d.ts +0 -1
  270. package/dist/types/v4/mini/tests/index.test.d.ts +0 -1
  271. package/dist/types/v4/mini/tests/number.test.d.ts +0 -1
  272. package/dist/types/v4/mini/tests/object.test.d.ts +0 -1
  273. package/dist/types/v4/mini/tests/prototypes.test.d.ts +0 -1
  274. package/dist/types/v4/mini/tests/recursive-types.test.d.ts +0 -1
  275. package/dist/types/v4/mini/tests/string.test.d.ts +0 -1
  276. package/src/index.ts +0 -4
  277. package/src/v3/ZodError.ts +0 -329
  278. package/src/v3/benchmarks/datetime.ts +0 -58
  279. package/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  280. package/src/v3/benchmarks/index.ts +0 -59
  281. package/src/v3/benchmarks/ipv4.ts +0 -57
  282. package/src/v3/benchmarks/object.ts +0 -69
  283. package/src/v3/benchmarks/primitives.ts +0 -162
  284. package/src/v3/benchmarks/realworld.ts +0 -63
  285. package/src/v3/benchmarks/string.ts +0 -55
  286. package/src/v3/benchmarks/union.ts +0 -80
  287. package/src/v3/errors.ts +0 -13
  288. package/src/v3/external.ts +0 -6
  289. package/src/v3/helpers/enumUtil.ts +0 -17
  290. package/src/v3/helpers/errorUtil.ts +0 -8
  291. package/src/v3/helpers/parseUtil.ts +0 -176
  292. package/src/v3/helpers/partialUtil.ts +0 -34
  293. package/src/v3/helpers/typeAliases.ts +0 -2
  294. package/src/v3/helpers/util.ts +0 -224
  295. package/src/v3/index.ts +0 -4
  296. package/src/v3/locales/en.ts +0 -120
  297. package/src/v3/standard-schema.ts +0 -113
  298. package/src/v3/tests/Mocker.ts +0 -54
  299. package/src/v3/tests/all-errors.test.ts +0 -157
  300. package/src/v3/tests/anyunknown.test.ts +0 -28
  301. package/src/v3/tests/array.test.ts +0 -71
  302. package/src/v3/tests/async-parsing.test.ts +0 -388
  303. package/src/v3/tests/async-refinements.test.ts +0 -46
  304. package/src/v3/tests/base.test.ts +0 -29
  305. package/src/v3/tests/bigint.test.ts +0 -55
  306. package/src/v3/tests/branded.test.ts +0 -53
  307. package/src/v3/tests/catch.test.ts +0 -220
  308. package/src/v3/tests/coerce.test.ts +0 -133
  309. package/src/v3/tests/complex.test.ts +0 -56
  310. package/src/v3/tests/custom.test.ts +0 -31
  311. package/src/v3/tests/date.test.ts +0 -32
  312. package/src/v3/tests/deepmasking.test.ts +0 -186
  313. package/src/v3/tests/default.test.ts +0 -112
  314. package/src/v3/tests/description.test.ts +0 -33
  315. package/src/v3/tests/discriminated-unions.test.ts +0 -315
  316. package/src/v3/tests/enum.test.ts +0 -80
  317. package/src/v3/tests/error.test.ts +0 -551
  318. package/src/v3/tests/firstparty.test.ts +0 -87
  319. package/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  320. package/src/v3/tests/function.test.ts +0 -257
  321. package/src/v3/tests/generics.test.ts +0 -48
  322. package/src/v3/tests/instanceof.test.ts +0 -37
  323. package/src/v3/tests/intersection.test.ts +0 -110
  324. package/src/v3/tests/language-server.source.ts +0 -76
  325. package/src/v3/tests/language-server.test.ts +0 -207
  326. package/src/v3/tests/literal.test.ts +0 -36
  327. package/src/v3/tests/map.test.ts +0 -110
  328. package/src/v3/tests/masking.test.ts +0 -4
  329. package/src/v3/tests/mocker.test.ts +0 -19
  330. package/src/v3/tests/nan.test.ts +0 -21
  331. package/src/v3/tests/nativeEnum.test.ts +0 -87
  332. package/src/v3/tests/nullable.test.ts +0 -42
  333. package/src/v3/tests/number.test.ts +0 -176
  334. package/src/v3/tests/object-augmentation.test.ts +0 -29
  335. package/src/v3/tests/object-in-es5-env.test.ts +0 -29
  336. package/src/v3/tests/object.test.ts +0 -434
  337. package/src/v3/tests/optional.test.ts +0 -42
  338. package/src/v3/tests/parseUtil.test.ts +0 -23
  339. package/src/v3/tests/parser.test.ts +0 -41
  340. package/src/v3/tests/partials.test.ts +0 -243
  341. package/src/v3/tests/pickomit.test.ts +0 -111
  342. package/src/v3/tests/pipeline.test.ts +0 -29
  343. package/src/v3/tests/preprocess.test.ts +0 -188
  344. package/src/v3/tests/primitive.test.ts +0 -440
  345. package/src/v3/tests/promise.test.ts +0 -90
  346. package/src/v3/tests/readonly.test.ts +0 -194
  347. package/src/v3/tests/record.test.ts +0 -171
  348. package/src/v3/tests/recursive.test.ts +0 -197
  349. package/src/v3/tests/refine.test.ts +0 -297
  350. package/src/v3/tests/safeparse.test.ts +0 -27
  351. package/src/v3/tests/set.test.ts +0 -142
  352. package/src/v3/tests/standard-schema.test.ts +0 -83
  353. package/src/v3/tests/string.test.ts +0 -916
  354. package/src/v3/tests/transformer.test.ts +0 -233
  355. package/src/v3/tests/tuple.test.ts +0 -90
  356. package/src/v3/tests/unions.test.ts +0 -57
  357. package/src/v3/tests/validations.test.ts +0 -133
  358. package/src/v3/tests/void.test.ts +0 -15
  359. package/src/v3/types.ts +0 -5135
  360. package/src/v4/classic/checks.ts +0 -30
  361. package/src/v4/classic/coerce.ts +0 -27
  362. package/src/v4/classic/compat.ts +0 -76
  363. package/src/v4/classic/errors.ts +0 -75
  364. package/src/v4/classic/external.ts +0 -31
  365. package/src/v4/classic/index.ts +0 -5
  366. package/src/v4/classic/iso.ts +0 -90
  367. package/src/v4/classic/parse.ts +0 -33
  368. package/src/v4/classic/schemas.ts +0 -2062
  369. package/src/v4/classic/tests/anyunknown.test.ts +0 -26
  370. package/src/v4/classic/tests/array.test.ts +0 -257
  371. package/src/v4/classic/tests/assignability.test.ts +0 -124
  372. package/src/v4/classic/tests/async-parsing.test.ts +0 -381
  373. package/src/v4/classic/tests/async-refinements.test.ts +0 -68
  374. package/src/v4/classic/tests/base.test.ts +0 -7
  375. package/src/v4/classic/tests/bigint.test.ts +0 -54
  376. package/src/v4/classic/tests/brand.test.ts +0 -57
  377. package/src/v4/classic/tests/catch.test.ts +0 -252
  378. package/src/v4/classic/tests/coalesce.test.ts +0 -20
  379. package/src/v4/classic/tests/coerce.test.ts +0 -160
  380. package/src/v4/classic/tests/custom.test.ts +0 -16
  381. package/src/v4/classic/tests/date.test.ts +0 -31
  382. package/src/v4/classic/tests/default.test.ts +0 -114
  383. package/src/v4/classic/tests/description.test.ts +0 -32
  384. package/src/v4/classic/tests/discriminated-unions.test.ts +0 -566
  385. package/src/v4/classic/tests/enum.test.ts +0 -285
  386. package/src/v4/classic/tests/error-utils.test.ts +0 -480
  387. package/src/v4/classic/tests/error.test.ts +0 -698
  388. package/src/v4/classic/tests/file.test.ts +0 -52
  389. package/src/v4/classic/tests/firstparty.test.ts +0 -177
  390. package/src/v4/classic/tests/function.test.ts +0 -230
  391. package/src/v4/classic/tests/generics.test.ts +0 -58
  392. package/src/v4/classic/tests/index.test.ts +0 -909
  393. package/src/v4/classic/tests/instanceof.test.ts +0 -34
  394. package/src/v4/classic/tests/intersection.test.ts +0 -171
  395. package/src/v4/classic/tests/json-schema.test.ts +0 -1810
  396. package/src/v4/classic/tests/json.test.ts +0 -108
  397. package/src/v4/classic/tests/lazy.test.ts +0 -227
  398. package/src/v4/classic/tests/literal.test.ts +0 -82
  399. package/src/v4/classic/tests/map.test.ts +0 -196
  400. package/src/v4/classic/tests/nan.test.ts +0 -21
  401. package/src/v4/classic/tests/nested-refine.test.ts +0 -165
  402. package/src/v4/classic/tests/nonoptional.test.ts +0 -86
  403. package/src/v4/classic/tests/nullable.test.ts +0 -22
  404. package/src/v4/classic/tests/number.test.ts +0 -242
  405. package/src/v4/classic/tests/object.test.ts +0 -493
  406. package/src/v4/classic/tests/optional.test.ts +0 -103
  407. package/src/v4/classic/tests/partial.test.ts +0 -147
  408. package/src/v4/classic/tests/pickomit.test.ts +0 -125
  409. package/src/v4/classic/tests/pipe.test.ts +0 -81
  410. package/src/v4/classic/tests/prefault.test.ts +0 -37
  411. package/src/v4/classic/tests/preprocess.test.ts +0 -272
  412. package/src/v4/classic/tests/primitive.test.ts +0 -175
  413. package/src/v4/classic/tests/promise.test.ts +0 -81
  414. package/src/v4/classic/tests/readonly.test.ts +0 -252
  415. package/src/v4/classic/tests/record.test.ts +0 -332
  416. package/src/v4/classic/tests/recursive-types.test.ts +0 -126
  417. package/src/v4/classic/tests/refine.test.ts +0 -423
  418. package/src/v4/classic/tests/registries.test.ts +0 -159
  419. package/src/v4/classic/tests/set.test.ts +0 -179
  420. package/src/v4/classic/tests/standard-schema.test.ts +0 -57
  421. package/src/v4/classic/tests/string-formats.test.ts +0 -31
  422. package/src/v4/classic/tests/string.test.ts +0 -1081
  423. package/src/v4/classic/tests/template-literal.test.ts +0 -758
  424. package/src/v4/classic/tests/transform.test.ts +0 -250
  425. package/src/v4/classic/tests/tuple.test.ts +0 -163
  426. package/src/v4/classic/tests/union.test.ts +0 -94
  427. package/src/v4/classic/tests/validations.test.ts +0 -277
  428. package/src/v4/classic/tests/void.test.ts +0 -12
  429. package/src/v4/core/api.ts +0 -1533
  430. package/src/v4/core/checks.ts +0 -1282
  431. package/src/v4/core/config.ts +0 -15
  432. package/src/v4/core/core.ts +0 -98
  433. package/src/v4/core/doc.ts +0 -45
  434. package/src/v4/core/errors.ts +0 -433
  435. package/src/v4/core/function.ts +0 -143
  436. package/src/v4/core/index.ts +0 -15
  437. package/src/v4/core/json-schema.ts +0 -106
  438. package/src/v4/core/parse.ts +0 -94
  439. package/src/v4/core/regexes.ts +0 -133
  440. package/src/v4/core/registries.ts +0 -89
  441. package/src/v4/core/schemas.ts +0 -3802
  442. package/src/v4/core/standard-schema.ts +0 -64
  443. package/src/v4/core/tests/index.test.ts +0 -46
  444. package/src/v4/core/tests/locales/be.test.ts +0 -124
  445. package/src/v4/core/tests/locales/en.test.ts +0 -22
  446. package/src/v4/core/tests/locales/ru.test.ts +0 -128
  447. package/src/v4/core/tests/locales/tr.test.ts +0 -69
  448. package/src/v4/core/to-json-schema.ts +0 -790
  449. package/src/v4/core/util.ts +0 -750
  450. package/src/v4/core/versions.ts +0 -5
  451. package/src/v4/core/zsf.ts +0 -323
  452. package/src/v4/index.ts +0 -4
  453. package/src/v4/locales/ar.ts +0 -125
  454. package/src/v4/locales/az.ts +0 -121
  455. package/src/v4/locales/be.ts +0 -185
  456. package/src/v4/locales/ca.ts +0 -127
  457. package/src/v4/locales/cs.ts +0 -142
  458. package/src/v4/locales/de.ts +0 -124
  459. package/src/v4/locales/en.ts +0 -127
  460. package/src/v4/locales/es.ts +0 -124
  461. package/src/v4/locales/fa.ts +0 -134
  462. package/src/v4/locales/fi.ts +0 -131
  463. package/src/v4/locales/fr.ts +0 -124
  464. package/src/v4/locales/frCA.ts +0 -126
  465. package/src/v4/locales/he.ts +0 -125
  466. package/src/v4/locales/hu.ts +0 -126
  467. package/src/v4/locales/id.ts +0 -124
  468. package/src/v4/locales/index.ts +0 -34
  469. package/src/v4/locales/it.ts +0 -125
  470. package/src/v4/locales/ja.ts +0 -122
  471. package/src/v4/locales/ko.ts +0 -131
  472. package/src/v4/locales/mk.ts +0 -127
  473. package/src/v4/locales/ms.ts +0 -124
  474. package/src/v4/locales/no.ts +0 -124
  475. package/src/v4/locales/ota.ts +0 -125
  476. package/src/v4/locales/pl.ts +0 -125
  477. package/src/v4/locales/pt.ts +0 -123
  478. package/src/v4/locales/ru.ts +0 -185
  479. package/src/v4/locales/sl.ts +0 -125
  480. package/src/v4/locales/ta.ts +0 -125
  481. package/src/v4/locales/th.ts +0 -126
  482. package/src/v4/locales/tr.ts +0 -121
  483. package/src/v4/locales/ua.ts +0 -126
  484. package/src/v4/locales/ur.ts +0 -126
  485. package/src/v4/locales/vi.ts +0 -125
  486. package/src/v4/locales/zh-CN.ts +0 -123
  487. package/src/v4/locales/zh-tw.ts +0 -125
  488. package/src/v4/mini/checks.ts +0 -32
  489. package/src/v4/mini/coerce.ts +0 -22
  490. package/src/v4/mini/external.ts +0 -26
  491. package/src/v4/mini/index.ts +0 -3
  492. package/src/v4/mini/iso.ts +0 -62
  493. package/src/v4/mini/parse.ts +0 -1
  494. package/src/v4/mini/schemas.ts +0 -1556
  495. package/src/v4/mini/tests/assignability.test.ts +0 -117
  496. package/src/v4/mini/tests/brand.test.ts +0 -51
  497. package/src/v4/mini/tests/checks.test.ts +0 -144
  498. package/src/v4/mini/tests/computed.test.ts +0 -36
  499. package/src/v4/mini/tests/error.test.ts +0 -22
  500. package/src/v4/mini/tests/functions.test.ts +0 -43
  501. package/src/v4/mini/tests/index.test.ts +0 -914
  502. package/src/v4/mini/tests/number.test.ts +0 -95
  503. package/src/v4/mini/tests/object.test.ts +0 -139
  504. package/src/v4/mini/tests/prototypes.test.ts +0 -23
  505. package/src/v4/mini/tests/recursive-types.test.ts +0 -124
  506. package/src/v4/mini/tests/string.test.ts +0 -284
@@ -1,651 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const vitest_1 = require("vitest");
27
- const z = __importStar(require("zod/v4"));
28
- (0, vitest_1.test)("error creation", () => {
29
- const err1 = new z.ZodError([]);
30
- err1.issues.push({
31
- code: "invalid_type",
32
- expected: "object",
33
- path: [],
34
- message: "",
35
- input: "adf",
36
- });
37
- err1.isEmpty;
38
- const err2 = new z.ZodError(err1.issues);
39
- const err3 = new z.ZodError([]);
40
- err3.addIssues(err1.issues);
41
- err3.addIssue(err1.issues[0]);
42
- err1.message;
43
- err2.message;
44
- err3.message;
45
- });
46
- (0, vitest_1.test)("do not allow error and message together", () => {
47
- (0, vitest_1.expect)(() => z.string().refine((_) => true, {
48
- message: "override",
49
- error: (iss) => (iss.input === undefined ? "asdf" : null),
50
- })).toThrow();
51
- });
52
- const errorMap = (issue) => {
53
- if (issue.code === "invalid_type") {
54
- if (issue.expected === "string") {
55
- return { message: "bad type!" };
56
- }
57
- }
58
- if (issue.code === "custom") {
59
- return { message: `less-than-${issue.params?.minimum}` };
60
- }
61
- return undefined;
62
- };
63
- (0, vitest_1.test)("type error with custom error map", () => {
64
- const result = z.string().safeParse(234, { error: errorMap });
65
- (0, vitest_1.expect)(result.success).toBe(false);
66
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
67
- [ZodError: [
68
- {
69
- "expected": "string",
70
- "code": "invalid_type",
71
- "path": [],
72
- "message": "bad type!"
73
- }
74
- ]]
75
- `);
76
- });
77
- (0, vitest_1.test)("refinement fail with params", () => {
78
- const result = z
79
- .number()
80
- .refine((val) => val >= 3, {
81
- params: { minimum: 3 },
82
- })
83
- .safeParse(2, { error: errorMap });
84
- (0, vitest_1.expect)(result.success).toBe(false);
85
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
86
- [ZodError: [
87
- {
88
- "code": "custom",
89
- "path": [],
90
- "params": {
91
- "minimum": 3
92
- },
93
- "message": "less-than-3"
94
- }
95
- ]]
96
- `);
97
- });
98
- (0, vitest_1.test)("hard coded error with custom errormap", () => {
99
- const result = z
100
- .string()
101
- .refine((val) => val.length > 12, {
102
- params: { minimum: 13 },
103
- message: "override",
104
- })
105
- .safeParse("asdf", { error: () => "contextual" });
106
- (0, vitest_1.expect)(result.success).toBe(false);
107
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
108
- [ZodError: [
109
- {
110
- "code": "custom",
111
- "path": [],
112
- "params": {
113
- "minimum": 13
114
- },
115
- "message": "override"
116
- }
117
- ]]
118
- `);
119
- });
120
- (0, vitest_1.test)("default error message", () => {
121
- const result = z
122
- .number()
123
- .refine((x) => x > 3)
124
- .safeParse(2);
125
- (0, vitest_1.expect)(result.success).toBe(false);
126
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
127
- [ZodError: [
128
- {
129
- "code": "custom",
130
- "path": [],
131
- "message": "Invalid input"
132
- }
133
- ]]
134
- `);
135
- });
136
- (0, vitest_1.test)("override error in refine", () => {
137
- const result = z
138
- .number()
139
- .refine((x) => x > 3, "override")
140
- .safeParse(2);
141
- (0, vitest_1.expect)(result.success).toBe(false);
142
- (0, vitest_1.expect)(result.error.issues.length).toEqual(1);
143
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
144
- [ZodError: [
145
- {
146
- "code": "custom",
147
- "path": [],
148
- "message": "override"
149
- }
150
- ]]
151
- `);
152
- });
153
- (0, vitest_1.test)("override error in refinement", () => {
154
- const result = z
155
- .number()
156
- .refine((x) => x > 3, {
157
- message: "override",
158
- })
159
- .safeParse(2);
160
- (0, vitest_1.expect)(result.success).toBe(false);
161
- (0, vitest_1.expect)(result.error.issues.length).toEqual(1);
162
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
163
- [ZodError: [
164
- {
165
- "code": "custom",
166
- "path": [],
167
- "message": "override"
168
- }
169
- ]]
170
- `);
171
- });
172
- (0, vitest_1.test)("array minimum", () => {
173
- let result = z.array(z.string()).min(3, "tooshort").safeParse(["asdf", "qwer"]);
174
- (0, vitest_1.expect)(result.success).toBe(false);
175
- (0, vitest_1.expect)(result.error.issues[0].code).toEqual("too_small");
176
- (0, vitest_1.expect)(result.error.issues[0].message).toEqual("tooshort");
177
- result = z.array(z.string()).min(3).safeParse(["asdf", "qwer"]);
178
- (0, vitest_1.expect)(result.success).toBe(false);
179
- (0, vitest_1.expect)(result.error.issues[0].code).toEqual("too_small");
180
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
181
- [ZodError: [
182
- {
183
- "origin": "array",
184
- "code": "too_small",
185
- "minimum": 3,
186
- "path": [],
187
- "message": "Too small: expected array to have >3 items"
188
- }
189
- ]]
190
- `);
191
- });
192
- (0, vitest_1.test)("literal bigint default error message", () => {
193
- const result = z.literal(BigInt(12)).safeParse(BigInt(13));
194
- (0, vitest_1.expect)(result.success).toBe(false);
195
- (0, vitest_1.expect)(result.error.issues.length).toEqual(1);
196
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
197
- [ZodError: [
198
- {
199
- "code": "invalid_value",
200
- "values": [
201
- "12"
202
- ],
203
- "path": [],
204
- "message": "Invalid input: expected 12n"
205
- }
206
- ]]
207
- `);
208
- });
209
- (0, vitest_1.test)("custom path in custom error map", () => {
210
- const schema = z.object({
211
- items: z.array(z.string()).refine((data) => data.length > 3, {
212
- path: ["items-too-few"],
213
- }),
214
- });
215
- const errorMap = (issue) => {
216
- (0, vitest_1.expect)((issue.path ?? []).length).toBe(2);
217
- return { message: "doesnt matter" };
218
- };
219
- const result = schema.safeParse({ items: ["first"] }, { error: errorMap });
220
- (0, vitest_1.expect)(result.success).toBe(false);
221
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
222
- [ZodError: [
223
- {
224
- "code": "custom",
225
- "path": [
226
- "items",
227
- "items-too-few"
228
- ],
229
- "message": "doesnt matter"
230
- }
231
- ]]
232
- `);
233
- });
234
- // test("error metadata from value", () => {
235
- // const dynamicRefine = z.string().refine(
236
- // (val) => val === val.toUpperCase(),
237
- // (val) => ({ params: { val } })
238
- // );
239
- // const result = dynamicRefine.safeParse("asdf");
240
- // expect(result.success).toEqual(false);
241
- // if (!result.success) {
242
- // const sub = result.error.issues[0];
243
- // expect(result.error.issues[0].code).toEqual("custom");
244
- // if (sub.code === "custom") {
245
- // expect(sub.params?.val).toEqual("asdf");
246
- // }
247
- // }
248
- // });
249
- // test("don't call refine after validation failed", () => {
250
- // const asdf = z
251
- // .union([
252
- // z.number(),
253
- // z.string().transform(z.number(), (val) => {
254
- // return parseFloat(val);
255
- // }),
256
- // ])
257
- // .refine((v) => v >= 1);
258
- // expect(() => asdf.safeParse("foo")).not.toThrow();
259
- // });
260
- (0, vitest_1.test)("root level formatting", () => {
261
- const schema = z.string().email();
262
- const result = schema.safeParse("asdfsdf");
263
- (0, vitest_1.expect)(result.success).toBe(false);
264
- (0, vitest_1.expect)(result.error.format()).toMatchInlineSnapshot(`
265
- {
266
- "_errors": [
267
- "Invalid email address",
268
- ],
269
- }
270
- `);
271
- });
272
- (0, vitest_1.test)("custom path", () => {
273
- const schema = z
274
- .object({
275
- password: z.string(),
276
- confirm: z.string(),
277
- })
278
- .refine((val) => val.confirm === val.password, { path: ["confirm"] });
279
- const result = schema.safeParse({
280
- password: "peanuts",
281
- confirm: "qeanuts",
282
- });
283
- (0, vitest_1.expect)(result.success).toBe(false);
284
- const error = result.error.format();
285
- (0, vitest_1.expect)(error._errors).toEqual([]);
286
- (0, vitest_1.expect)(error.password?._errors).toEqual(undefined);
287
- (0, vitest_1.expect)(error.confirm?._errors).toEqual(["Invalid input"]);
288
- });
289
- (0, vitest_1.test)("custom path", () => {
290
- const schema = z
291
- .object({
292
- password: z.string().min(6),
293
- confirm: z.string().min(6),
294
- })
295
- .refine((val) => val.confirm === val.password);
296
- const result = schema.safeParse({
297
- password: "qwer",
298
- confirm: "asdf",
299
- });
300
- (0, vitest_1.expect)(result.success).toBe(false);
301
- (0, vitest_1.expect)(result.error.issues.length).toEqual(3);
302
- });
303
- const schema = z.object({
304
- inner: z.object({
305
- name: z
306
- .string()
307
- .refine((val) => val.length > 5)
308
- .array()
309
- .refine((val) => val.length <= 1),
310
- }),
311
- });
312
- (0, vitest_1.test)("no abort early on refinements", () => {
313
- const invalidItem = {
314
- inner: { name: ["aasd", "asdfasdfasfd"] },
315
- };
316
- const result1 = schema.safeParse(invalidItem);
317
- (0, vitest_1.expect)(result1.success).toBe(false);
318
- (0, vitest_1.expect)(result1.error.issues.length).toEqual(2);
319
- });
320
- (0, vitest_1.test)("detect issue with input fallback", () => {
321
- const schema = z
322
- .string()
323
- .transform((val) => val.length)
324
- .refine(() => false, { message: "always fails" })
325
- .refine((val) => {
326
- if (typeof val !== "number")
327
- throw new Error();
328
- return (val ^ 2) > 10;
329
- } // should be number but it's a string
330
- );
331
- (0, vitest_1.expect)(() => schema.parse("hello")).toThrow(z.ZodError);
332
- });
333
- (0, vitest_1.test)("formatting", () => {
334
- const invalidItem = {
335
- inner: { name: ["aasd", "asdfasdfasfd"] },
336
- };
337
- const invalidArray = {
338
- inner: { name: ["asdfasdf", "asdfasdfasfd"] },
339
- };
340
- const result1 = schema.safeParse(invalidItem);
341
- const result2 = schema.safeParse(invalidArray);
342
- (0, vitest_1.expect)(result1.success).toBe(false);
343
- (0, vitest_1.expect)(result2.success).toBe(false);
344
- const error1 = result1.error.format();
345
- (0, vitest_1.expect)(error1._errors).toEqual([]);
346
- (0, vitest_1.expect)(error1.inner?._errors).toEqual([]);
347
- (0, vitest_1.expect)(error1.inner?.name?.[1]).toEqual(undefined);
348
- const error2 = result2.error.format();
349
- (0, vitest_1.expect)(error2._errors).toEqual([]);
350
- (0, vitest_1.expect)(error2.inner?._errors).toEqual([]);
351
- (0, vitest_1.expect)(error2.inner?.name?._errors).toEqual(["Invalid input"]);
352
- (0, vitest_1.expect)(error2.inner?.name?.[0]).toEqual(undefined);
353
- (0, vitest_1.expect)(error2.inner?.name?.[1]).toEqual(undefined);
354
- (0, vitest_1.expect)(error2.inner?.name?.[2]).toEqual(undefined);
355
- const errorWithNumber = result2.error.format(() => 5);
356
- (0, vitest_1.expect)(errorWithNumber._errors).toEqual([]);
357
- (0, vitest_1.expect)(errorWithNumber.inner?._errors).toEqual([]);
358
- (0, vitest_1.expect)(errorWithNumber.inner?.name?._errors).toEqual([5]);
359
- });
360
- (0, vitest_1.test)("formatting with nullable and optional fields", () => {
361
- const nameSchema = z.string().refine((val) => val.length > 5);
362
- const schema = z.object({
363
- nullableObject: z.object({ name: nameSchema }).nullable(),
364
- nullableArray: z.array(nameSchema).nullable(),
365
- nullableTuple: z.tuple([nameSchema, nameSchema, z.number()]).nullable(),
366
- optionalObject: z.object({ name: nameSchema }).optional(),
367
- optionalArray: z.array(nameSchema).optional(),
368
- optionalTuple: z.tuple([nameSchema, nameSchema, z.number()]).optional(),
369
- });
370
- const invalidItem = {
371
- nullableObject: { name: "abcd" },
372
- nullableArray: ["abcd"],
373
- nullableTuple: ["abcd", "abcd", 1],
374
- optionalObject: { name: "abcd" },
375
- optionalArray: ["abcd"],
376
- optionalTuple: ["abcd", "abcd", 1],
377
- };
378
- const result = schema.safeParse(invalidItem);
379
- (0, vitest_1.expect)(result.success).toBe(false);
380
- const error = result.error.format();
381
- (0, vitest_1.expect)(error._errors).toEqual([]);
382
- (0, vitest_1.expect)(error.nullableObject?._errors).toEqual([]);
383
- (0, vitest_1.expect)(error.nullableObject?.name?._errors).toEqual(["Invalid input"]);
384
- (0, vitest_1.expect)(error.nullableArray?._errors).toEqual([]);
385
- (0, vitest_1.expect)(error.nullableArray?.[0]?._errors).toEqual(["Invalid input"]);
386
- (0, vitest_1.expect)(error.nullableTuple?._errors).toEqual([]);
387
- (0, vitest_1.expect)(error.nullableTuple?.[0]?._errors).toEqual(["Invalid input"]);
388
- (0, vitest_1.expect)(error.nullableTuple?.[1]?._errors).toEqual(["Invalid input"]);
389
- (0, vitest_1.expect)(error.optionalObject?._errors).toEqual([]);
390
- (0, vitest_1.expect)(error.optionalObject?.name?._errors).toEqual(["Invalid input"]);
391
- (0, vitest_1.expect)(error.optionalArray?._errors).toEqual([]);
392
- (0, vitest_1.expect)(error.optionalArray?.[0]?._errors).toEqual(["Invalid input"]);
393
- (0, vitest_1.expect)(error.optionalTuple?._errors).toEqual([]);
394
- (0, vitest_1.expect)(error.optionalTuple?.[0]?._errors).toEqual(["Invalid input"]);
395
- (0, vitest_1.expect)(error.optionalTuple?.[1]?._errors).toEqual(["Invalid input"]);
396
- (0, vitest_1.expect)(error).toMatchInlineSnapshot(`
397
- {
398
- "_errors": [],
399
- "nullableArray": {
400
- "0": {
401
- "_errors": [
402
- "Invalid input",
403
- ],
404
- },
405
- "_errors": [],
406
- },
407
- "nullableObject": {
408
- "_errors": [],
409
- "name": {
410
- "_errors": [
411
- "Invalid input",
412
- ],
413
- },
414
- },
415
- "nullableTuple": {
416
- "0": {
417
- "_errors": [
418
- "Invalid input",
419
- ],
420
- },
421
- "1": {
422
- "_errors": [
423
- "Invalid input",
424
- ],
425
- },
426
- "_errors": [],
427
- },
428
- "optionalArray": {
429
- "0": {
430
- "_errors": [
431
- "Invalid input",
432
- ],
433
- },
434
- "_errors": [],
435
- },
436
- "optionalObject": {
437
- "_errors": [],
438
- "name": {
439
- "_errors": [
440
- "Invalid input",
441
- ],
442
- },
443
- },
444
- "optionalTuple": {
445
- "0": {
446
- "_errors": [
447
- "Invalid input",
448
- ],
449
- },
450
- "1": {
451
- "_errors": [
452
- "Invalid input",
453
- ],
454
- },
455
- "_errors": [],
456
- },
457
- }
458
- `);
459
- });
460
- (0, vitest_1.test)("inferFlattenedErrors", () => {
461
- const schemaWithTransform = z.object({ foo: z.string() }).transform((o) => ({ bar: o.foo }));
462
- const result = schemaWithTransform.safeParse({});
463
- (0, vitest_1.expect)(result.success).toBe(false);
464
- const error = result.error.flatten();
465
- (0, vitest_1.expect)(error).toMatchInlineSnapshot(`
466
- {
467
- "fieldErrors": {
468
- "foo": [
469
- "Invalid input: expected string, received undefined",
470
- ],
471
- },
472
- "formErrors": [],
473
- }
474
- `);
475
- });
476
- const stringWithCustomError = z.string({
477
- error: () => "bound",
478
- });
479
- (0, vitest_1.test)("schema-bound error map", () => {
480
- const result = stringWithCustomError.safeParse(1234);
481
- (0, vitest_1.expect)(result.success).toBe(false);
482
- (0, vitest_1.expect)(result.error.issues[0].message).toEqual("bound");
483
- });
484
- (0, vitest_1.test)("bound error map overrides contextual", () => {
485
- // support contextual override
486
- const result = stringWithCustomError.safeParse(undefined, {
487
- error: () => ({ message: "override" }),
488
- });
489
- (0, vitest_1.expect)(result.success).toBe(false);
490
- (0, vitest_1.expect)(result.error.issues[0].message).toEqual("bound");
491
- });
492
- (0, vitest_1.test)("z.config customError ", () => {
493
- // support overrideErrorMap
494
- z.config({ customError: () => ({ message: "override" }) });
495
- const result = stringWithCustomError.min(10).safeParse("tooshort");
496
- (0, vitest_1.expect)(result.success).toBe(false);
497
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
498
- [ZodError: [
499
- {
500
- "origin": "string",
501
- "code": "too_small",
502
- "minimum": 10,
503
- "path": [],
504
- "message": "override"
505
- }
506
- ]]
507
- `);
508
- (0, vitest_1.expect)(result.error.issues[0].message).toEqual("override");
509
- z.config({ customError: undefined });
510
- });
511
- // test("invalid and required", () => {
512
- // const str = z.string({
513
- // invalid_type_error: "Invalid name",
514
- // required_error: "Name is required",
515
- // });
516
- // const result1 = str.safeParse(1234);
517
- // expect(result1.success).toBe(false);
518
- // if (!result1.success) {
519
- // expect(result1.error.issues[0].message).toEqual("Invalid name");
520
- // }
521
- // const result2 = str.safeParse(undefined);
522
- // expect(result2.success).toBe(false);
523
- // if (!result2.success) {
524
- // expect(result2.error.issues[0].message).toEqual("Name is required");
525
- // }
526
- // });
527
- // test("Fallback to default required error", () => {
528
- // const str = z.string({
529
- // invalid_type_error: "Invalid name",
530
- // // required_error: "Name is required",
531
- // });
532
- // const result2 = str.safeParse(undefined);
533
- // expect(result2.success).toBe(false);
534
- // if (!result2.success) {
535
- // expect(result2.error.issues[0].message).toEqual("Required");
536
- // }
537
- // });
538
- // test("invalid and required and errorMap", () => {
539
- // expect(() => {
540
- // return z.string({
541
- // invalid_type_error: "Invalid name",
542
- // required_error: "Name is required",
543
- // errorMap: () => ({ message: "override" }),
544
- // });
545
- // }).toThrow();
546
- // });
547
- // test("strict error message", () => {
548
- // const errorMsg = "Invalid object";
549
- // const obj = z.object({ x: z.string() }).strict(errorMsg);
550
- // const result = obj.safeParse({ x: "a", y: "b" });
551
- // expect(result.success).toBe(false);
552
- // if (!result.success) {
553
- // expect(result.error.issues[0].message).toEqual(errorMsg);
554
- // }
555
- // });
556
- (0, vitest_1.test)("empty string error message", () => {
557
- const schema = z.string().max(1, { message: "" });
558
- const result = schema.safeParse("asdf");
559
- (0, vitest_1.expect)(result.success).toBe(false);
560
- (0, vitest_1.expect)(result.error.issues[0].message).toEqual("");
561
- });
562
- (0, vitest_1.test)("dont short circuit on continuable errors", () => {
563
- const user = z
564
- .object({
565
- password: z.string().min(6),
566
- confirm: z.string(),
567
- })
568
- .refine((data) => data.password === data.confirm, {
569
- message: "Passwords don't match",
570
- path: ["confirm"],
571
- });
572
- const result = user.safeParse({ password: "asdf", confirm: "qwer" });
573
- (0, vitest_1.expect)(result.success).toBe(false);
574
- (0, vitest_1.expect)(result.error).toMatchInlineSnapshot(`
575
- [ZodError: [
576
- {
577
- "origin": "string",
578
- "code": "too_small",
579
- "minimum": 6,
580
- "path": [
581
- "password"
582
- ],
583
- "message": "Too small: expected string to have >6 characters"
584
- },
585
- {
586
- "code": "custom",
587
- "path": [
588
- "confirm"
589
- ],
590
- "message": "Passwords don't match"
591
- }
592
- ]]
593
- `);
594
- // expect(result.error!.issues.length).toEqual(2);
595
- });
596
- (0, vitest_1.test)("string error params", () => {
597
- const a = z.string("Bad!");
598
- (0, vitest_1.expect)(a.safeParse(123).error.issues[0].message).toBe("Bad!");
599
- const b = z.string().min(5, "Too short!");
600
- (0, vitest_1.expect)(b.safeParse("abc").error.issues[0].message).toBe("Too short!");
601
- const c = z.uuid("Bad UUID!");
602
- (0, vitest_1.expect)(c.safeParse("not-a-uuid").error.issues[0].message).toBe("Bad UUID!");
603
- const d = z.string().datetime({ message: "Bad date!" });
604
- (0, vitest_1.expect)(d.safeParse("not-a-date").error.issues[0].message).toBe("Bad date!");
605
- const e = z.array(z.string(), "Bad array!");
606
- (0, vitest_1.expect)(e.safeParse("not-an-array").error.issues[0].message).toBe("Bad array!");
607
- const f = z.array(z.string()).min(5, "Too few items!");
608
- (0, vitest_1.expect)(f.safeParse(["a", "b"]).error.issues[0].message).toBe("Too few items!");
609
- const g = z.set(z.string(), "Bad set!");
610
- (0, vitest_1.expect)(g.safeParse("not-a-set").error.issues[0].message).toBe("Bad set!");
611
- const h = z.array(z.string(), "Bad array!");
612
- (0, vitest_1.expect)(h.safeParse(123).error.issues[0].message).toBe("Bad array!");
613
- const i = z.set(z.string(), "Bad set!");
614
- (0, vitest_1.expect)(i.safeParse(123).error.issues[0].message).toBe("Bad set!");
615
- const j = z.array(z.string(), "Bad array!");
616
- (0, vitest_1.expect)(j.safeParse(null).error.issues[0].message).toBe("Bad array!");
617
- });
618
- (0, vitest_1.test)("error inheritance", () => {
619
- const e1 = z.string().safeParse(123).error;
620
- (0, vitest_1.expect)(e1).toBeInstanceOf(z.core.$ZodError);
621
- (0, vitest_1.expect)(e1).toBeInstanceOf(z.ZodError);
622
- (0, vitest_1.expect)(e1).toBeInstanceOf(z.ZodRealError);
623
- // expect(e1).not.toBeInstanceOf(Error);
624
- try {
625
- z.string().parse(123);
626
- }
627
- catch (e2) {
628
- (0, vitest_1.expect)(e1).toBeInstanceOf(z.core.$ZodError);
629
- (0, vitest_1.expect)(e2).toBeInstanceOf(z.ZodError);
630
- (0, vitest_1.expect)(e2).toBeInstanceOf(z.ZodRealError);
631
- // expect(e2).toBeInstanceOf(Error);
632
- }
633
- });
634
- (0, vitest_1.test)("error serialization", () => {
635
- try {
636
- z.string().parse(123);
637
- }
638
- catch (e) {
639
- console.dir(e, { depth: null });
640
- (0, vitest_1.expect)(e).toMatchInlineSnapshot(`
641
- [ZodError: [
642
- {
643
- "expected": "string",
644
- "code": "invalid_type",
645
- "path": [],
646
- "message": "Invalid input: expected string, received number"
647
- }
648
- ]]
649
- `);
650
- }
651
- });