zod 3.26.0-canary.20250618T044324 → 3.26.0-canary.20250702T074442

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 (402) hide show
  1. package/README.md +2 -2
  2. package/{dist/cjs/v3/index.js → index.cjs} +2 -2
  3. package/index.d.cts +4 -0
  4. package/index.d.ts +4 -0
  5. package/index.js +4 -0
  6. package/package.json +63 -80
  7. package/{dist/cjs/v3/ZodError.js → v3/ZodError.cjs} +4 -3
  8. package/v3/ZodError.d.cts +164 -0
  9. package/{dist/esm/v3 → v3}/ZodError.js +3 -2
  10. package/{dist/cjs/v3/errors.js → v3/errors.cjs} +1 -1
  11. package/v3/errors.d.cts +5 -0
  12. package/{dist/cjs/v3/external.js → v3/external.cjs} +6 -6
  13. package/v3/external.d.cts +6 -0
  14. package/v3/helpers/enumUtil.d.ts +8 -0
  15. package/v3/helpers/errorUtil.d.ts +9 -0
  16. package/{dist/cjs/v3/helpers/parseUtil.js → v3/helpers/parseUtil.cjs} +2 -2
  17. package/v3/helpers/parseUtil.d.cts +78 -0
  18. package/v3/helpers/partialUtil.d.cts +8 -0
  19. package/v3/helpers/typeAliases.d.ts +2 -0
  20. package/v3/helpers/util.d.ts +85 -0
  21. package/{dist/cjs/v4/classic/index.js → v3/index.cjs} +2 -2
  22. package/v3/index.d.cts +4 -0
  23. package/v3/index.d.ts +3 -2
  24. package/v3/index.js +4 -1
  25. package/{dist/cjs/v3/locales/en.js → v3/locales/en.cjs} +2 -2
  26. package/v3/locales/en.d.cts +3 -0
  27. package/v3/standard-schema.d.ts +102 -0
  28. package/{dist/cjs/v3/types.js → v3/types.cjs} +7 -5
  29. package/v3/types.d.cts +1031 -0
  30. package/{dist/esm/v3 → v3}/types.js +2 -0
  31. package/{dist/cjs/v4/classic/checks.js → v4/classic/checks.cjs} +29 -29
  32. package/v4/classic/checks.d.cts +1 -0
  33. package/{dist/types/v4 → v4}/classic/checks.d.ts +1 -1
  34. package/{dist/esm/v4 → v4}/classic/checks.js +1 -1
  35. package/{dist/cjs/v4/classic/coerce.js → v4/classic/coerce.cjs} +2 -2
  36. package/v4/classic/coerce.d.cts +17 -0
  37. package/{dist/types/v4 → v4}/classic/coerce.d.ts +1 -1
  38. package/{dist/esm/v4 → v4}/classic/coerce.js +1 -1
  39. package/{dist/cjs/v4/classic/compat.js → v4/classic/compat.cjs} +4 -4
  40. package/v4/classic/compat.d.cts +48 -0
  41. package/{dist/types/v4 → v4}/classic/compat.d.ts +3 -3
  42. package/{dist/esm/v4 → v4}/classic/compat.js +2 -2
  43. package/{dist/cjs/v4/classic/errors.js → v4/classic/errors.cjs} +3 -3
  44. package/v4/classic/errors.d.cts +30 -0
  45. package/{dist/types/v4 → v4}/classic/errors.d.ts +3 -3
  46. package/{dist/esm/v4 → v4}/classic/errors.js +2 -2
  47. package/{dist/cjs/v4/classic/external.js → v4/classic/external.cjs} +29 -29
  48. package/v4/classic/external.d.cts +13 -0
  49. package/{dist/types/v4 → v4}/classic/external.d.ts +3 -3
  50. package/{dist/esm/v4 → v4}/classic/external.js +4 -4
  51. package/v4/classic/index.cjs +33 -0
  52. package/v4/classic/index.d.cts +4 -0
  53. package/{dist/cjs/v4/classic/iso.js → v4/classic/iso.cjs} +2 -2
  54. package/v4/classic/iso.d.cts +22 -0
  55. package/{dist/types/v4 → v4}/classic/iso.d.ts +1 -1
  56. package/{dist/esm/v4 → v4}/classic/iso.js +1 -1
  57. package/{dist/cjs/v4/classic/parse.js → v4/classic/parse.cjs} +2 -2
  58. package/v4/classic/parse.d.cts +23 -0
  59. package/{dist/types/v4 → v4}/classic/parse.d.ts +1 -1
  60. package/{dist/esm/v4 → v4}/classic/parse.js +1 -1
  61. package/{dist/cjs/v4/classic/schemas.js → v4/classic/schemas.cjs} +38 -38
  62. package/v4/classic/schemas.d.cts +629 -0
  63. package/{dist/types/v4 → v4}/classic/schemas.d.ts +2 -2
  64. package/{dist/esm/v4 → v4}/classic/schemas.js +2 -2
  65. package/{dist/cjs/v4/core/api.js → v4/core/api.cjs} +3 -3
  66. package/v4/core/api.d.cts +284 -0
  67. package/{dist/cjs/v4/core/checks.js → v4/core/checks.cjs} +3 -3
  68. package/v4/core/checks.d.cts +277 -0
  69. package/v4/core/core.d.cts +47 -0
  70. package/v4/core/doc.d.ts +14 -0
  71. package/{dist/cjs/v4/core/errors.js → v4/core/errors.cjs} +2 -2
  72. package/v4/core/errors.d.cts +204 -0
  73. package/{dist/cjs/v4/core/function.js → v4/core/function.cjs} +4 -4
  74. package/v4/core/function.d.cts +52 -0
  75. package/{dist/cjs/v4/core/index.js → v4/core/index.cjs} +15 -15
  76. package/v4/core/index.d.cts +15 -0
  77. package/v4/core/index.d.ts +15 -1
  78. package/v4/core/index.js +15 -1
  79. package/v4/core/json-schema.d.ts +87 -0
  80. package/{dist/cjs/v4/core/parse.js → v4/core/parse.cjs} +3 -3
  81. package/v4/core/parse.d.cts +25 -0
  82. package/v4/core/regexes.d.ts +62 -0
  83. package/v4/core/registries.d.cts +34 -0
  84. package/{dist/types/v4 → v4}/core/registries.d.ts +0 -5
  85. package/{dist/cjs/v4/core/schemas.js → v4/core/schemas.cjs} +10 -10
  86. package/v4/core/schemas.d.cts +1015 -0
  87. package/{dist/esm/v4 → v4}/core/schemas.js +2 -2
  88. package/v4/core/standard-schema.d.ts +55 -0
  89. package/{dist/cjs/v4/core/to-json-schema.js → v4/core/to-json-schema.cjs} +2 -2
  90. package/v4/core/to-json-schema.d.cts +84 -0
  91. package/{dist/cjs/v4/core/util.js → v4/core/util.cjs} +1 -4
  92. package/v4/core/util.d.cts +183 -0
  93. package/{dist/esm/v4 → v4}/core/util.js +1 -4
  94. package/v4/core/versions.d.ts +5 -0
  95. package/{dist/cjs/index.js → v4/index.cjs} +2 -2
  96. package/v4/index.d.cts +3 -0
  97. package/v4/index.d.ts +3 -3
  98. package/v4/index.js +3 -1
  99. package/{dist/cjs/v4/locales/ar.js → v4/locales/ar.cjs} +1 -1
  100. package/v4/locales/ar.d.cts +4 -0
  101. package/{dist/cjs/v4/locales/az.js → v4/locales/az.cjs} +1 -1
  102. package/v4/locales/az.d.cts +4 -0
  103. package/{dist/cjs/v4/locales/be.js → v4/locales/be.cjs} +1 -1
  104. package/v4/locales/be.d.cts +4 -0
  105. package/{dist/cjs/v4/locales/ca.js → v4/locales/ca.cjs} +1 -1
  106. package/v4/locales/ca.d.cts +4 -0
  107. package/{dist/cjs/v4/locales/cs.js → v4/locales/cs.cjs} +1 -1
  108. package/v4/locales/cs.d.cts +4 -0
  109. package/{dist/cjs/v4/locales/de.js → v4/locales/de.cjs} +1 -1
  110. package/v4/locales/de.d.cts +4 -0
  111. package/{dist/cjs/v4/locales/en.js → v4/locales/en.cjs} +1 -1
  112. package/{dist/types/v4/locales/en.d.ts → v4/locales/en.d.cts} +1 -1
  113. package/v4/locales/en.d.ts +5 -2
  114. package/v4/locales/en.js +117 -2
  115. package/{dist/cjs/v4/locales/es.js → v4/locales/es.cjs} +1 -1
  116. package/v4/locales/es.d.cts +4 -0
  117. package/{dist/cjs/v4/locales/fa.js → v4/locales/fa.cjs} +1 -1
  118. package/v4/locales/fa.d.cts +4 -0
  119. package/{dist/cjs/v4/locales/fi.js → v4/locales/fi.cjs} +1 -1
  120. package/v4/locales/fi.d.cts +4 -0
  121. package/{dist/cjs/v4/locales/fr-CA.js → v4/locales/fr-CA.cjs} +1 -1
  122. package/v4/locales/fr-CA.d.cts +4 -0
  123. package/{dist/cjs/v4/locales/fr.js → v4/locales/fr.cjs} +1 -1
  124. package/v4/locales/fr.d.cts +4 -0
  125. package/{dist/cjs/v4/locales/he.js → v4/locales/he.cjs} +1 -1
  126. package/v4/locales/he.d.cts +4 -0
  127. package/{dist/cjs/v4/locales/hu.js → v4/locales/hu.cjs} +1 -1
  128. package/v4/locales/hu.d.cts +4 -0
  129. package/{dist/cjs/v4/locales/id.js → v4/locales/id.cjs} +1 -1
  130. package/v4/locales/id.d.cts +4 -0
  131. package/{dist/cjs/v4/locales/index.js → v4/locales/index.cjs} +38 -38
  132. package/v4/locales/index.d.cts +38 -0
  133. package/v4/locales/index.d.ts +38 -1
  134. package/v4/locales/index.js +38 -1
  135. package/{dist/cjs/v4/locales/it.js → v4/locales/it.cjs} +1 -1
  136. package/v4/locales/it.d.cts +4 -0
  137. package/{dist/cjs/v4/locales/ja.js → v4/locales/ja.cjs} +1 -1
  138. package/v4/locales/ja.d.cts +4 -0
  139. package/{dist/cjs/v4/locales/kh.js → v4/locales/kh.cjs} +1 -1
  140. package/v4/locales/kh.d.cts +4 -0
  141. package/{dist/cjs/v4/locales/ko.js → v4/locales/ko.cjs} +1 -1
  142. package/v4/locales/ko.d.cts +4 -0
  143. package/{dist/cjs/v4/locales/mk.js → v4/locales/mk.cjs} +1 -1
  144. package/v4/locales/mk.d.cts +4 -0
  145. package/{dist/cjs/v4/locales/ms.js → v4/locales/ms.cjs} +1 -1
  146. package/v4/locales/ms.d.cts +4 -0
  147. package/{dist/cjs/v4/locales/nl.js → v4/locales/nl.cjs} +1 -1
  148. package/v4/locales/nl.d.cts +4 -0
  149. package/{dist/cjs/v4/locales/no.js → v4/locales/no.cjs} +1 -1
  150. package/v4/locales/no.d.cts +4 -0
  151. package/{dist/cjs/v4/locales/ota.js → v4/locales/ota.cjs} +1 -1
  152. package/v4/locales/ota.d.cts +4 -0
  153. package/{dist/cjs/v4/locales/pl.js → v4/locales/pl.cjs} +1 -1
  154. package/v4/locales/pl.d.cts +4 -0
  155. package/{dist/cjs/v4/locales/ps.js → v4/locales/ps.cjs} +1 -1
  156. package/v4/locales/ps.d.cts +4 -0
  157. package/{dist/cjs/v4/locales/pt.js → v4/locales/pt.cjs} +1 -1
  158. package/v4/locales/pt.d.cts +4 -0
  159. package/{dist/cjs/v4/locales/ru.js → v4/locales/ru.cjs} +1 -1
  160. package/v4/locales/ru.d.cts +4 -0
  161. package/{dist/cjs/v4/locales/sl.js → v4/locales/sl.cjs} +1 -1
  162. package/v4/locales/sl.d.cts +4 -0
  163. package/{dist/cjs/v4/locales/sv.js → v4/locales/sv.cjs} +1 -1
  164. package/v4/locales/sv.d.cts +4 -0
  165. package/{dist/cjs/v4/locales/ta.js → v4/locales/ta.cjs} +1 -1
  166. package/v4/locales/ta.d.cts +4 -0
  167. package/{dist/cjs/v4/locales/th.js → v4/locales/th.cjs} +1 -1
  168. package/v4/locales/th.d.cts +4 -0
  169. package/{dist/cjs/v4/locales/tr.js → v4/locales/tr.cjs} +1 -1
  170. package/v4/locales/tr.d.cts +5 -0
  171. package/{dist/cjs/v4/locales/ua.js → v4/locales/ua.cjs} +1 -1
  172. package/v4/locales/ua.d.cts +4 -0
  173. package/{dist/cjs/v4/locales/ur.js → v4/locales/ur.cjs} +1 -1
  174. package/v4/locales/ur.d.cts +4 -0
  175. package/{dist/cjs/v4/locales/vi.js → v4/locales/vi.cjs} +1 -1
  176. package/v4/locales/vi.d.cts +4 -0
  177. package/{dist/cjs/v4/locales/zh-CN.js → v4/locales/zh-CN.cjs} +1 -1
  178. package/v4/locales/zh-CN.d.cts +4 -0
  179. package/{dist/cjs/v4/locales/zh-TW.js → v4/locales/zh-TW.cjs} +1 -1
  180. package/v4/locales/zh-TW.d.cts +4 -0
  181. package/{dist/cjs/v4/mini/checks.js → v4/mini/checks.cjs} +31 -31
  182. package/v4/mini/checks.d.cts +1 -0
  183. package/{dist/types/v4 → v4}/mini/checks.d.ts +1 -1
  184. package/{dist/esm/v4 → v4}/mini/checks.js +1 -1
  185. package/{dist/cjs/v4/mini/coerce.js → v4/mini/coerce.cjs} +2 -2
  186. package/v4/mini/coerce.d.cts +7 -0
  187. package/{dist/types/v4 → v4}/mini/coerce.d.ts +1 -1
  188. package/{dist/esm/v4 → v4}/mini/coerce.js +1 -1
  189. package/{dist/cjs/v4/mini/external.js → v4/mini/external.cjs} +24 -24
  190. package/v4/mini/external.d.cts +11 -0
  191. package/{dist/types/v4 → v4}/mini/external.d.ts +3 -3
  192. package/{dist/esm/v4 → v4}/mini/external.js +2 -2
  193. package/{dist/cjs/v4/mini/index.js → v4/mini/index.cjs} +2 -2
  194. package/v4/mini/index.d.cts +3 -0
  195. package/{dist/cjs/v4/mini/iso.js → v4/mini/iso.cjs} +2 -2
  196. package/v4/mini/iso.d.cts +22 -0
  197. package/{dist/types/v4 → v4}/mini/iso.d.ts +1 -1
  198. package/{dist/esm/v4 → v4}/mini/iso.js +1 -1
  199. package/{dist/cjs/v4/mini/parse.js → v4/mini/parse.cjs} +5 -5
  200. package/v4/mini/parse.d.cts +1 -0
  201. package/v4/mini/parse.d.ts +1 -0
  202. package/v4/mini/parse.js +1 -0
  203. package/{dist/cjs/v4/mini/schemas.js → v4/mini/schemas.cjs} +30 -30
  204. package/v4/mini/schemas.d.cts +356 -0
  205. package/{dist/types/v4 → v4}/mini/schemas.d.ts +2 -2
  206. package/{dist/esm/v4 → v4}/mini/schemas.js +2 -2
  207. package/{dist/cjs/v4/index.js → v4-mini/index.cjs} +1 -6
  208. package/v4-mini/index.d.cts +1 -0
  209. package/v4-mini/index.d.ts +1 -1
  210. package/v4-mini/index.js +1 -1
  211. package/dist/cjs/package.json +0 -3
  212. package/dist/cjs/v3/benchmarks/datetime.js +0 -54
  213. package/dist/cjs/v3/benchmarks/discriminatedUnion.js +0 -79
  214. package/dist/cjs/v3/benchmarks/index.js +0 -59
  215. package/dist/cjs/v3/benchmarks/ipv4.js +0 -54
  216. package/dist/cjs/v3/benchmarks/object.js +0 -70
  217. package/dist/cjs/v3/benchmarks/primitives.js +0 -159
  218. package/dist/cjs/v3/benchmarks/realworld.js +0 -56
  219. package/dist/cjs/v3/benchmarks/string.js +0 -55
  220. package/dist/cjs/v3/benchmarks/union.js +0 -79
  221. package/dist/cjs/v3/tests/Mocker.js +0 -57
  222. package/dist/cjs/v4/core/config.js +0 -10
  223. package/dist/cjs/v4/core/zsf.js +0 -172
  224. package/dist/esm/index.js +0 -3
  225. package/dist/esm/package.json +0 -3
  226. package/dist/esm/v3/benchmarks/datetime.js +0 -49
  227. package/dist/esm/v3/benchmarks/discriminatedUnion.js +0 -74
  228. package/dist/esm/v3/benchmarks/index.js +0 -54
  229. package/dist/esm/v3/benchmarks/ipv4.js +0 -49
  230. package/dist/esm/v3/benchmarks/object.js +0 -65
  231. package/dist/esm/v3/benchmarks/primitives.js +0 -154
  232. package/dist/esm/v3/benchmarks/realworld.js +0 -51
  233. package/dist/esm/v3/benchmarks/string.js +0 -50
  234. package/dist/esm/v3/benchmarks/union.js +0 -74
  235. package/dist/esm/v3/index.js +0 -4
  236. package/dist/esm/v3/tests/Mocker.js +0 -53
  237. package/dist/esm/v4/core/config.js +0 -6
  238. package/dist/esm/v4/core/index.js +0 -15
  239. package/dist/esm/v4/core/zsf.js +0 -171
  240. package/dist/esm/v4/index.js +0 -3
  241. package/dist/esm/v4/locales/en.js +0 -117
  242. package/dist/esm/v4/locales/index.js +0 -38
  243. package/dist/esm/v4/mini/parse.js +0 -1
  244. package/dist/types/index.d.ts +0 -3
  245. package/dist/types/package.json +0 -3
  246. package/dist/types/v3/benchmarks/datetime.d.ts +0 -5
  247. package/dist/types/v3/benchmarks/discriminatedUnion.d.ts +0 -5
  248. package/dist/types/v3/benchmarks/index.d.ts +0 -1
  249. package/dist/types/v3/benchmarks/ipv4.d.ts +0 -5
  250. package/dist/types/v3/benchmarks/object.d.ts +0 -5
  251. package/dist/types/v3/benchmarks/primitives.d.ts +0 -5
  252. package/dist/types/v3/benchmarks/realworld.d.ts +0 -5
  253. package/dist/types/v3/benchmarks/string.d.ts +0 -5
  254. package/dist/types/v3/benchmarks/union.d.ts +0 -5
  255. package/dist/types/v3/index.d.ts +0 -4
  256. package/dist/types/v3/tests/Mocker.d.ts +0 -17
  257. package/dist/types/v4/core/config.d.ts +0 -9
  258. package/dist/types/v4/core/index.d.ts +0 -15
  259. package/dist/types/v4/core/zsf.d.ts +0 -91
  260. package/dist/types/v4/index.d.ts +0 -3
  261. package/dist/types/v4/locales/index.d.ts +0 -38
  262. package/dist/types/v4/mini/parse.d.ts +0 -1
  263. /package/{dist/types/v3 → v3}/ZodError.d.ts +0 -0
  264. /package/{dist/types/v3 → v3}/errors.d.ts +0 -0
  265. /package/{dist/esm/v3 → v3}/errors.js +0 -0
  266. /package/{dist/types/v3 → v3}/external.d.ts +0 -0
  267. /package/{dist/esm/v3 → v3}/external.js +0 -0
  268. /package/{dist/cjs/v3/helpers/enumUtil.js → v3/helpers/enumUtil.cjs} +0 -0
  269. /package/{dist/types/v3/helpers/enumUtil.d.ts → v3/helpers/enumUtil.d.cts} +0 -0
  270. /package/{dist/esm/v3 → v3}/helpers/enumUtil.js +0 -0
  271. /package/{dist/cjs/v3/helpers/errorUtil.js → v3/helpers/errorUtil.cjs} +0 -0
  272. /package/{dist/types/v3/helpers/errorUtil.d.ts → v3/helpers/errorUtil.d.cts} +0 -0
  273. /package/{dist/esm/v3 → v3}/helpers/errorUtil.js +0 -0
  274. /package/{dist/types/v3 → v3}/helpers/parseUtil.d.ts +0 -0
  275. /package/{dist/esm/v3 → v3}/helpers/parseUtil.js +0 -0
  276. /package/{dist/cjs/v3/helpers/partialUtil.js → v3/helpers/partialUtil.cjs} +0 -0
  277. /package/{dist/types/v3 → v3}/helpers/partialUtil.d.ts +0 -0
  278. /package/{dist/esm/v3 → v3}/helpers/partialUtil.js +0 -0
  279. /package/{dist/cjs/v3/helpers/typeAliases.js → v3/helpers/typeAliases.cjs} +0 -0
  280. /package/{dist/types/v3/helpers/typeAliases.d.ts → v3/helpers/typeAliases.d.cts} +0 -0
  281. /package/{dist/esm/v3 → v3}/helpers/typeAliases.js +0 -0
  282. /package/{dist/cjs/v3/helpers/util.js → v3/helpers/util.cjs} +0 -0
  283. /package/{dist/types/v3/helpers/util.d.ts → v3/helpers/util.d.cts} +0 -0
  284. /package/{dist/esm/v3 → v3}/helpers/util.js +0 -0
  285. /package/{dist/types/v3 → v3}/locales/en.d.ts +0 -0
  286. /package/{dist/esm/v3 → v3}/locales/en.js +0 -0
  287. /package/{dist/cjs/v3/standard-schema.js → v3/standard-schema.cjs} +0 -0
  288. /package/{dist/types/v3/standard-schema.d.ts → v3/standard-schema.d.cts} +0 -0
  289. /package/{dist/esm/v3 → v3}/standard-schema.js +0 -0
  290. /package/{dist/types/v3 → v3}/types.d.ts +0 -0
  291. /package/{dist/types/v4 → v4}/classic/index.d.ts +0 -0
  292. /package/{dist/esm/v4 → v4}/classic/index.js +0 -0
  293. /package/{dist/types/v4 → v4}/core/api.d.ts +0 -0
  294. /package/{dist/esm/v4 → v4}/core/api.js +0 -0
  295. /package/{dist/types/v4 → v4}/core/checks.d.ts +0 -0
  296. /package/{dist/esm/v4 → v4}/core/checks.js +0 -0
  297. /package/{dist/cjs/v4/core/core.js → v4/core/core.cjs} +0 -0
  298. /package/{dist/types/v4 → v4}/core/core.d.ts +0 -0
  299. /package/{dist/esm/v4 → v4}/core/core.js +0 -0
  300. /package/{dist/cjs/v4/core/doc.js → v4/core/doc.cjs} +0 -0
  301. /package/{dist/types/v4/core/doc.d.ts → v4/core/doc.d.cts} +0 -0
  302. /package/{dist/esm/v4 → v4}/core/doc.js +0 -0
  303. /package/{dist/types/v4 → v4}/core/errors.d.ts +0 -0
  304. /package/{dist/esm/v4 → v4}/core/errors.js +0 -0
  305. /package/{dist/types/v4 → v4}/core/function.d.ts +0 -0
  306. /package/{dist/esm/v4 → v4}/core/function.js +0 -0
  307. /package/{dist/cjs/v4/core/json-schema.js → v4/core/json-schema.cjs} +0 -0
  308. /package/{dist/types/v4/core/json-schema.d.ts → v4/core/json-schema.d.cts} +0 -0
  309. /package/{dist/esm/v4 → v4}/core/json-schema.js +0 -0
  310. /package/{dist/types/v4 → v4}/core/parse.d.ts +0 -0
  311. /package/{dist/esm/v4 → v4}/core/parse.js +0 -0
  312. /package/{dist/cjs/v4/core/regexes.js → v4/core/regexes.cjs} +0 -0
  313. /package/{dist/types/v4/core/regexes.d.ts → v4/core/regexes.d.cts} +0 -0
  314. /package/{dist/esm/v4 → v4}/core/regexes.js +0 -0
  315. /package/{dist/cjs/v4/core/registries.js → v4/core/registries.cjs} +0 -0
  316. /package/{dist/esm/v4 → v4}/core/registries.js +0 -0
  317. /package/{dist/types/v4 → v4}/core/schemas.d.ts +0 -0
  318. /package/{dist/cjs/v4/core/standard-schema.js → v4/core/standard-schema.cjs} +0 -0
  319. /package/{dist/types/v4/core/standard-schema.d.ts → v4/core/standard-schema.d.cts} +0 -0
  320. /package/{dist/esm/v4 → v4}/core/standard-schema.js +0 -0
  321. /package/{dist/types/v4 → v4}/core/to-json-schema.d.ts +0 -0
  322. /package/{dist/esm/v4 → v4}/core/to-json-schema.js +0 -0
  323. /package/{dist/types/v4 → v4}/core/util.d.ts +0 -0
  324. /package/{dist/cjs/v4/core/versions.js → v4/core/versions.cjs} +0 -0
  325. /package/{dist/types/v4/core/versions.d.ts → v4/core/versions.d.cts} +0 -0
  326. /package/{dist/esm/v4 → v4}/core/versions.js +0 -0
  327. /package/{dist/types/v4 → v4}/locales/ar.d.ts +0 -0
  328. /package/{dist/esm/v4 → v4}/locales/ar.js +0 -0
  329. /package/{dist/types/v4 → v4}/locales/az.d.ts +0 -0
  330. /package/{dist/esm/v4 → v4}/locales/az.js +0 -0
  331. /package/{dist/types/v4 → v4}/locales/be.d.ts +0 -0
  332. /package/{dist/esm/v4 → v4}/locales/be.js +0 -0
  333. /package/{dist/types/v4 → v4}/locales/ca.d.ts +0 -0
  334. /package/{dist/esm/v4 → v4}/locales/ca.js +0 -0
  335. /package/{dist/types/v4 → v4}/locales/cs.d.ts +0 -0
  336. /package/{dist/esm/v4 → v4}/locales/cs.js +0 -0
  337. /package/{dist/types/v4 → v4}/locales/de.d.ts +0 -0
  338. /package/{dist/esm/v4 → v4}/locales/de.js +0 -0
  339. /package/{dist/types/v4 → v4}/locales/es.d.ts +0 -0
  340. /package/{dist/esm/v4 → v4}/locales/es.js +0 -0
  341. /package/{dist/types/v4 → v4}/locales/fa.d.ts +0 -0
  342. /package/{dist/esm/v4 → v4}/locales/fa.js +0 -0
  343. /package/{dist/types/v4 → v4}/locales/fi.d.ts +0 -0
  344. /package/{dist/esm/v4 → v4}/locales/fi.js +0 -0
  345. /package/{dist/types/v4 → v4}/locales/fr-CA.d.ts +0 -0
  346. /package/{dist/esm/v4 → v4}/locales/fr-CA.js +0 -0
  347. /package/{dist/types/v4 → v4}/locales/fr.d.ts +0 -0
  348. /package/{dist/esm/v4 → v4}/locales/fr.js +0 -0
  349. /package/{dist/types/v4 → v4}/locales/he.d.ts +0 -0
  350. /package/{dist/esm/v4 → v4}/locales/he.js +0 -0
  351. /package/{dist/types/v4 → v4}/locales/hu.d.ts +0 -0
  352. /package/{dist/esm/v4 → v4}/locales/hu.js +0 -0
  353. /package/{dist/types/v4 → v4}/locales/id.d.ts +0 -0
  354. /package/{dist/esm/v4 → v4}/locales/id.js +0 -0
  355. /package/{dist/types/v4 → v4}/locales/it.d.ts +0 -0
  356. /package/{dist/esm/v4 → v4}/locales/it.js +0 -0
  357. /package/{dist/types/v4 → v4}/locales/ja.d.ts +0 -0
  358. /package/{dist/esm/v4 → v4}/locales/ja.js +0 -0
  359. /package/{dist/types/v4 → v4}/locales/kh.d.ts +0 -0
  360. /package/{dist/esm/v4 → v4}/locales/kh.js +0 -0
  361. /package/{dist/types/v4 → v4}/locales/ko.d.ts +0 -0
  362. /package/{dist/esm/v4 → v4}/locales/ko.js +0 -0
  363. /package/{dist/types/v4 → v4}/locales/mk.d.ts +0 -0
  364. /package/{dist/esm/v4 → v4}/locales/mk.js +0 -0
  365. /package/{dist/types/v4 → v4}/locales/ms.d.ts +0 -0
  366. /package/{dist/esm/v4 → v4}/locales/ms.js +0 -0
  367. /package/{dist/types/v4 → v4}/locales/nl.d.ts +0 -0
  368. /package/{dist/esm/v4 → v4}/locales/nl.js +0 -0
  369. /package/{dist/types/v4 → v4}/locales/no.d.ts +0 -0
  370. /package/{dist/esm/v4 → v4}/locales/no.js +0 -0
  371. /package/{dist/types/v4 → v4}/locales/ota.d.ts +0 -0
  372. /package/{dist/esm/v4 → v4}/locales/ota.js +0 -0
  373. /package/{dist/types/v4 → v4}/locales/pl.d.ts +0 -0
  374. /package/{dist/esm/v4 → v4}/locales/pl.js +0 -0
  375. /package/{dist/types/v4 → v4}/locales/ps.d.ts +0 -0
  376. /package/{dist/esm/v4 → v4}/locales/ps.js +0 -0
  377. /package/{dist/types/v4 → v4}/locales/pt.d.ts +0 -0
  378. /package/{dist/esm/v4 → v4}/locales/pt.js +0 -0
  379. /package/{dist/types/v4 → v4}/locales/ru.d.ts +0 -0
  380. /package/{dist/esm/v4 → v4}/locales/ru.js +0 -0
  381. /package/{dist/types/v4 → v4}/locales/sl.d.ts +0 -0
  382. /package/{dist/esm/v4 → v4}/locales/sl.js +0 -0
  383. /package/{dist/types/v4 → v4}/locales/sv.d.ts +0 -0
  384. /package/{dist/esm/v4 → v4}/locales/sv.js +0 -0
  385. /package/{dist/types/v4 → v4}/locales/ta.d.ts +0 -0
  386. /package/{dist/esm/v4 → v4}/locales/ta.js +0 -0
  387. /package/{dist/types/v4 → v4}/locales/th.d.ts +0 -0
  388. /package/{dist/esm/v4 → v4}/locales/th.js +0 -0
  389. /package/{dist/types/v4 → v4}/locales/tr.d.ts +0 -0
  390. /package/{dist/esm/v4 → v4}/locales/tr.js +0 -0
  391. /package/{dist/types/v4 → v4}/locales/ua.d.ts +0 -0
  392. /package/{dist/esm/v4 → v4}/locales/ua.js +0 -0
  393. /package/{dist/types/v4 → v4}/locales/ur.d.ts +0 -0
  394. /package/{dist/esm/v4 → v4}/locales/ur.js +0 -0
  395. /package/{dist/types/v4 → v4}/locales/vi.d.ts +0 -0
  396. /package/{dist/esm/v4 → v4}/locales/vi.js +0 -0
  397. /package/{dist/types/v4 → v4}/locales/zh-CN.d.ts +0 -0
  398. /package/{dist/esm/v4 → v4}/locales/zh-CN.js +0 -0
  399. /package/{dist/types/v4 → v4}/locales/zh-TW.d.ts +0 -0
  400. /package/{dist/esm/v4 → v4}/locales/zh-TW.js +0 -0
  401. /package/{dist/types/v4 → v4}/mini/index.d.ts +0 -0
  402. /package/{dist/esm/v4 → v4}/mini/index.js +0 -0
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const datetimeValidationSuite = new benchmark_1.default.Suite("datetime");
8
- const DATA = "2021-01-01";
9
- const MONTHS_31 = new Set([1, 3, 5, 7, 8, 10, 12]);
10
- const MONTHS_30 = new Set([4, 6, 9, 11]);
11
- const simpleDatetimeRegex = /^(\d{4})-(\d{2})-(\d{2})$/;
12
- const datetimeRegexNoLeapYearValidation = /^\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\d|2\d))$/;
13
- const datetimeRegexWithLeapYearValidation = /^((\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\d|3[01])|(0[469]|11)-(0[1-9]|[12]\d|30)|(02)-(0[1-9]|1\d|2[0-8])))$/;
14
- datetimeValidationSuite
15
- .add("new Date()", () => {
16
- return !Number.isNaN(new Date(DATA).getTime());
17
- })
18
- .add("regex (no validation)", () => {
19
- return simpleDatetimeRegex.test(DATA);
20
- })
21
- .add("regex (no leap year)", () => {
22
- return datetimeRegexNoLeapYearValidation.test(DATA);
23
- })
24
- .add("regex (w/ leap year)", () => {
25
- return datetimeRegexWithLeapYearValidation.test(DATA);
26
- })
27
- .add("capture groups + code", () => {
28
- const match = DATA.match(simpleDatetimeRegex);
29
- if (!match)
30
- return false;
31
- // Extract year, month, and day from the capture groups
32
- const year = Number.parseInt(match[1], 10);
33
- const month = Number.parseInt(match[2], 10); // month is 0-indexed in JavaScript Date, so subtract 1
34
- const day = Number.parseInt(match[3], 10);
35
- if (month === 2) {
36
- if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
37
- return day <= 29;
38
- }
39
- return day <= 28;
40
- }
41
- if (MONTHS_30.has(month)) {
42
- return day <= 30;
43
- }
44
- if (MONTHS_31.has(month)) {
45
- return day <= 31;
46
- }
47
- return false;
48
- })
49
- .on("cycle", (e) => {
50
- console.log(`${datetimeValidationSuite.name}: ${e.target}`);
51
- });
52
- exports.default = {
53
- suites: [datetimeValidationSuite],
54
- };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const doubleSuite = new benchmark_1.default.Suite("z.discriminatedUnion: double");
9
- const manySuite = new benchmark_1.default.Suite("z.discriminatedUnion: many");
10
- const aSchema = v3_1.z.object({
11
- type: v3_1.z.literal("a"),
12
- });
13
- const objA = {
14
- type: "a",
15
- };
16
- const bSchema = v3_1.z.object({
17
- type: v3_1.z.literal("b"),
18
- });
19
- const objB = {
20
- type: "b",
21
- };
22
- const cSchema = v3_1.z.object({
23
- type: v3_1.z.literal("c"),
24
- });
25
- const objC = {
26
- type: "c",
27
- };
28
- const dSchema = v3_1.z.object({
29
- type: v3_1.z.literal("d"),
30
- });
31
- const double = v3_1.z.discriminatedUnion("type", [aSchema, bSchema]);
32
- const many = v3_1.z.discriminatedUnion("type", [aSchema, bSchema, cSchema, dSchema]);
33
- doubleSuite
34
- .add("valid: a", () => {
35
- double.parse(objA);
36
- })
37
- .add("valid: b", () => {
38
- double.parse(objB);
39
- })
40
- .add("invalid: null", () => {
41
- try {
42
- double.parse(null);
43
- }
44
- catch (_err) { }
45
- })
46
- .add("invalid: wrong shape", () => {
47
- try {
48
- double.parse(objC);
49
- }
50
- catch (_err) { }
51
- })
52
- .on("cycle", (e) => {
53
- console.log(`${doubleSuite.name}: ${e.target}`);
54
- });
55
- manySuite
56
- .add("valid: a", () => {
57
- many.parse(objA);
58
- })
59
- .add("valid: c", () => {
60
- many.parse(objC);
61
- })
62
- .add("invalid: null", () => {
63
- try {
64
- many.parse(null);
65
- }
66
- catch (_err) { }
67
- })
68
- .add("invalid: wrong shape", () => {
69
- try {
70
- many.parse({ type: "unknown" });
71
- }
72
- catch (_err) { }
73
- })
74
- .on("cycle", (e) => {
75
- console.log(`${manySuite.name}: ${e.target}`);
76
- });
77
- exports.default = {
78
- suites: [doubleSuite, manySuite],
79
- };
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const datetime_js_1 = __importDefault(require("./datetime.js"));
7
- const discriminatedUnion_js_1 = __importDefault(require("./discriminatedUnion.js"));
8
- const ipv4_js_1 = __importDefault(require("./ipv4.js"));
9
- const object_js_1 = __importDefault(require("./object.js"));
10
- const primitives_js_1 = __importDefault(require("./primitives.js"));
11
- const realworld_js_1 = __importDefault(require("./realworld.js"));
12
- const string_js_1 = __importDefault(require("./string.js"));
13
- const union_js_1 = __importDefault(require("./union.js"));
14
- const argv = process.argv.slice(2);
15
- let suites = [];
16
- if (!argv.length) {
17
- suites = [
18
- ...realworld_js_1.default.suites,
19
- ...primitives_js_1.default.suites,
20
- ...string_js_1.default.suites,
21
- ...object_js_1.default.suites,
22
- ...union_js_1.default.suites,
23
- ...discriminatedUnion_js_1.default.suites,
24
- ];
25
- }
26
- else {
27
- if (argv.includes("--realworld")) {
28
- suites.push(...realworld_js_1.default.suites);
29
- }
30
- if (argv.includes("--primitives")) {
31
- suites.push(...primitives_js_1.default.suites);
32
- }
33
- if (argv.includes("--string")) {
34
- suites.push(...string_js_1.default.suites);
35
- }
36
- if (argv.includes("--object")) {
37
- suites.push(...object_js_1.default.suites);
38
- }
39
- if (argv.includes("--union")) {
40
- suites.push(...union_js_1.default.suites);
41
- }
42
- if (argv.includes("--discriminatedUnion")) {
43
- suites.push(...datetime_js_1.default.suites);
44
- }
45
- if (argv.includes("--datetime")) {
46
- suites.push(...datetime_js_1.default.suites);
47
- }
48
- if (argv.includes("--ipv4")) {
49
- suites.push(...ipv4_js_1.default.suites);
50
- }
51
- }
52
- for (const suite of suites) {
53
- suite.run({});
54
- }
55
- // exit on Ctrl-C
56
- process.on("SIGINT", function () {
57
- console.log("Exiting...");
58
- process.exit();
59
- });
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const suite = new benchmark_1.default.Suite("ipv4");
8
- const DATA = "127.0.0.1";
9
- const ipv4RegexA = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;
10
- const ipv4RegexB = /^(?:(?:(?=(25[0-5]))\1|(?=(2[0-4][0-9]))\2|(?=(1[0-9]{2}))\3|(?=([0-9]{1,2}))\4)\.){3}(?:(?=(25[0-5]))\5|(?=(2[0-4][0-9]))\6|(?=(1[0-9]{2}))\7|(?=([0-9]{1,2}))\8)$/;
11
- const ipv4RegexC = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
12
- const ipv4RegexD = /^(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;
13
- const ipv4RegexE = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.){3}(25[0-5]|(2[0-4]|1\d|[1-9]|)\d)$/;
14
- const ipv4RegexF = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
15
- const ipv4RegexG = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/;
16
- const ipv4RegexH = /^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$/;
17
- const ipv4RegexI = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
18
- suite
19
- .add("A", () => {
20
- return ipv4RegexA.test(DATA);
21
- })
22
- .add("B", () => {
23
- return ipv4RegexB.test(DATA);
24
- })
25
- .add("C", () => {
26
- return ipv4RegexC.test(DATA);
27
- })
28
- .add("D", () => {
29
- return ipv4RegexD.test(DATA);
30
- })
31
- .add("E", () => {
32
- return ipv4RegexE.test(DATA);
33
- })
34
- .add("F", () => {
35
- return ipv4RegexF.test(DATA);
36
- })
37
- .add("G", () => {
38
- return ipv4RegexG.test(DATA);
39
- })
40
- .add("H", () => {
41
- return ipv4RegexH.test(DATA);
42
- })
43
- .add("I", () => {
44
- return ipv4RegexI.test(DATA);
45
- })
46
- .on("cycle", (e) => {
47
- console.log(`${suite.name}: ${e.target}`);
48
- });
49
- exports.default = {
50
- suites: [suite],
51
- };
52
- if (require.main === module) {
53
- suite.run();
54
- }
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const emptySuite = new benchmark_1.default.Suite("z.object: empty");
9
- const shortSuite = new benchmark_1.default.Suite("z.object: short");
10
- const longSuite = new benchmark_1.default.Suite("z.object: long");
11
- const empty = v3_1.z.object({});
12
- const short = v3_1.z.object({
13
- string: v3_1.z.string(),
14
- });
15
- const long = v3_1.z.object({
16
- string: v3_1.z.string(),
17
- number: v3_1.z.number(),
18
- boolean: v3_1.z.boolean(),
19
- });
20
- emptySuite
21
- .add("valid", () => {
22
- empty.parse({});
23
- })
24
- .add("valid: extra keys", () => {
25
- empty.parse({ string: "string" });
26
- })
27
- .add("invalid: null", () => {
28
- try {
29
- empty.parse(null);
30
- }
31
- catch (_err) { }
32
- })
33
- .on("cycle", (e) => {
34
- console.log(`${emptySuite.name}: ${e.target}`);
35
- });
36
- shortSuite
37
- .add("valid", () => {
38
- short.parse({ string: "string" });
39
- })
40
- .add("valid: extra keys", () => {
41
- short.parse({ string: "string", number: 42 });
42
- })
43
- .add("invalid: null", () => {
44
- try {
45
- short.parse(null);
46
- }
47
- catch (_err) { }
48
- })
49
- .on("cycle", (e) => {
50
- console.log(`${shortSuite.name}: ${e.target}`);
51
- });
52
- longSuite
53
- .add("valid", () => {
54
- long.parse({ string: "string", number: 42, boolean: true });
55
- })
56
- .add("valid: extra keys", () => {
57
- long.parse({ string: "string", number: 42, boolean: true, list: [] });
58
- })
59
- .add("invalid: null", () => {
60
- try {
61
- long.parse(null);
62
- }
63
- catch (_err) { }
64
- })
65
- .on("cycle", (e) => {
66
- console.log(`${longSuite.name}: ${e.target}`);
67
- });
68
- exports.default = {
69
- suites: [emptySuite, shortSuite, longSuite],
70
- };
@@ -1,159 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const Mocker_js_1 = require("../tests/Mocker.js");
9
- const val = new Mocker_js_1.Mocker();
10
- const enumSuite = new benchmark_1.default.Suite("z.enum");
11
- const enumSchema = v3_1.z.enum(["a", "b", "c"]);
12
- enumSuite
13
- .add("valid", () => {
14
- enumSchema.parse("a");
15
- })
16
- .add("invalid", () => {
17
- try {
18
- enumSchema.parse("x");
19
- }
20
- catch (_e) { }
21
- })
22
- .on("cycle", (e) => {
23
- console.log(`z.enum: ${e.target}`);
24
- });
25
- const longEnumSuite = new benchmark_1.default.Suite("long z.enum");
26
- const longEnumSchema = v3_1.z.enum([
27
- "one",
28
- "two",
29
- "three",
30
- "four",
31
- "five",
32
- "six",
33
- "seven",
34
- "eight",
35
- "nine",
36
- "ten",
37
- "eleven",
38
- "twelve",
39
- "thirteen",
40
- "fourteen",
41
- "fifteen",
42
- "sixteen",
43
- "seventeen",
44
- ]);
45
- longEnumSuite
46
- .add("valid", () => {
47
- longEnumSchema.parse("five");
48
- })
49
- .add("invalid", () => {
50
- try {
51
- longEnumSchema.parse("invalid");
52
- }
53
- catch (_e) { }
54
- })
55
- .on("cycle", (e) => {
56
- console.log(`long z.enum: ${e.target}`);
57
- });
58
- const undefinedSuite = new benchmark_1.default.Suite("z.undefined");
59
- const undefinedSchema = v3_1.z.undefined();
60
- undefinedSuite
61
- .add("valid", () => {
62
- undefinedSchema.parse(undefined);
63
- })
64
- .add("invalid", () => {
65
- try {
66
- undefinedSchema.parse(1);
67
- }
68
- catch (_e) { }
69
- })
70
- .on("cycle", (e) => {
71
- console.log(`z.undefined: ${e.target}`);
72
- });
73
- const literalSuite = new benchmark_1.default.Suite("z.literal");
74
- const short = "short";
75
- const bad = "bad";
76
- const literalSchema = v3_1.z.literal("short");
77
- literalSuite
78
- .add("valid", () => {
79
- literalSchema.parse(short);
80
- })
81
- .add("invalid", () => {
82
- try {
83
- literalSchema.parse(bad);
84
- }
85
- catch (_e) { }
86
- })
87
- .on("cycle", (e) => {
88
- console.log(`z.literal: ${e.target}`);
89
- });
90
- const numberSuite = new benchmark_1.default.Suite("z.number");
91
- const numberSchema = v3_1.z.number().int();
92
- numberSuite
93
- .add("valid", () => {
94
- numberSchema.parse(1);
95
- })
96
- .add("invalid type", () => {
97
- try {
98
- numberSchema.parse("bad");
99
- }
100
- catch (_e) { }
101
- })
102
- .add("invalid number", () => {
103
- try {
104
- numberSchema.parse(0.5);
105
- }
106
- catch (_e) { }
107
- })
108
- .on("cycle", (e) => {
109
- console.log(`z.number: ${e.target}`);
110
- });
111
- const dateSuite = new benchmark_1.default.Suite("z.date");
112
- const plainDate = v3_1.z.date();
113
- const minMaxDate = v3_1.z.date().min(new Date("2021-01-01")).max(new Date("2030-01-01"));
114
- dateSuite
115
- .add("valid", () => {
116
- plainDate.parse(new Date());
117
- })
118
- .add("invalid", () => {
119
- try {
120
- plainDate.parse(1);
121
- }
122
- catch (_e) { }
123
- })
124
- .add("valid min and max", () => {
125
- minMaxDate.parse(new Date("2023-01-01"));
126
- })
127
- .add("invalid min", () => {
128
- try {
129
- minMaxDate.parse(new Date("2019-01-01"));
130
- }
131
- catch (_e) { }
132
- })
133
- .add("invalid max", () => {
134
- try {
135
- minMaxDate.parse(new Date("2031-01-01"));
136
- }
137
- catch (_e) { }
138
- })
139
- .on("cycle", (e) => {
140
- console.log(`z.date: ${e.target}`);
141
- });
142
- const symbolSuite = new benchmark_1.default.Suite("z.symbol");
143
- const symbolSchema = v3_1.z.symbol();
144
- symbolSuite
145
- .add("valid", () => {
146
- symbolSchema.parse(val.symbol);
147
- })
148
- .add("invalid", () => {
149
- try {
150
- symbolSchema.parse(1);
151
- }
152
- catch (_e) { }
153
- })
154
- .on("cycle", (e) => {
155
- console.log(`z.symbol: ${e.target}`);
156
- });
157
- exports.default = {
158
- suites: [enumSuite, longEnumSuite, undefinedSuite, literalSuite, numberSuite, dateSuite, symbolSuite],
159
- };
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const shortSuite = new benchmark_1.default.Suite("realworld");
9
- const People = v3_1.z.array(v3_1.z.object({
10
- type: v3_1.z.literal("person"),
11
- hair: v3_1.z.enum(["blue", "brown"]),
12
- active: v3_1.z.boolean(),
13
- name: v3_1.z.string(),
14
- age: v3_1.z.number().int(),
15
- hobbies: v3_1.z.array(v3_1.z.string()),
16
- address: v3_1.z.object({
17
- street: v3_1.z.string(),
18
- zip: v3_1.z.string(),
19
- country: v3_1.z.string(),
20
- }),
21
- }));
22
- let i = 0;
23
- function num() {
24
- return ++i;
25
- }
26
- function str() {
27
- return (++i % 100).toString(16);
28
- }
29
- function array(fn) {
30
- return Array.from({ length: ++i % 10 }, () => fn());
31
- }
32
- const people = Array.from({ length: 100 }, () => {
33
- return {
34
- type: "person",
35
- hair: i % 2 ? "blue" : "brown",
36
- active: !!(i % 2),
37
- name: str(),
38
- age: num(),
39
- hobbies: array(str),
40
- address: {
41
- street: str(),
42
- zip: str(),
43
- country: str(),
44
- },
45
- };
46
- });
47
- shortSuite
48
- .add("valid", () => {
49
- People.parse(people);
50
- })
51
- .on("cycle", (e) => {
52
- console.log(`${shortSuite.name}: ${e.target}`);
53
- });
54
- exports.default = {
55
- suites: [shortSuite],
56
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const SUITE_NAME = "z.string";
9
- const suite = new benchmark_1.default.Suite(SUITE_NAME);
10
- const empty = "";
11
- const short = "short";
12
- const long = "long".repeat(256);
13
- const manual = (str) => {
14
- if (typeof str !== "string") {
15
- throw new Error("Not a string");
16
- }
17
- return str;
18
- };
19
- const stringSchema = v3_1.z.string();
20
- const optionalStringSchema = v3_1.z.string().optional();
21
- const optionalNullableStringSchema = v3_1.z.string().optional().nullable();
22
- suite
23
- .add("empty string", () => {
24
- stringSchema.parse(empty);
25
- })
26
- .add("short string", () => {
27
- stringSchema.parse(short);
28
- })
29
- .add("long string", () => {
30
- stringSchema.parse(long);
31
- })
32
- .add("optional string", () => {
33
- optionalStringSchema.parse(long);
34
- })
35
- .add("nullable string", () => {
36
- optionalNullableStringSchema.parse(long);
37
- })
38
- .add("nullable (null) string", () => {
39
- optionalNullableStringSchema.parse(null);
40
- })
41
- .add("invalid: null", () => {
42
- try {
43
- stringSchema.parse(null);
44
- }
45
- catch (_err) { }
46
- })
47
- .add("manual parser: long", () => {
48
- manual(long);
49
- })
50
- .on("cycle", (e) => {
51
- console.log(`${SUITE_NAME}: ${e.target}`);
52
- });
53
- exports.default = {
54
- suites: [suite],
55
- };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const benchmark_1 = __importDefault(require("benchmark"));
7
- const v3_1 = require("zod/v3");
8
- const doubleSuite = new benchmark_1.default.Suite("z.union: double");
9
- const manySuite = new benchmark_1.default.Suite("z.union: many");
10
- const aSchema = v3_1.z.object({
11
- type: v3_1.z.literal("a"),
12
- });
13
- const objA = {
14
- type: "a",
15
- };
16
- const bSchema = v3_1.z.object({
17
- type: v3_1.z.literal("b"),
18
- });
19
- const objB = {
20
- type: "b",
21
- };
22
- const cSchema = v3_1.z.object({
23
- type: v3_1.z.literal("c"),
24
- });
25
- const objC = {
26
- type: "c",
27
- };
28
- const dSchema = v3_1.z.object({
29
- type: v3_1.z.literal("d"),
30
- });
31
- const double = v3_1.z.union([aSchema, bSchema]);
32
- const many = v3_1.z.union([aSchema, bSchema, cSchema, dSchema]);
33
- doubleSuite
34
- .add("valid: a", () => {
35
- double.parse(objA);
36
- })
37
- .add("valid: b", () => {
38
- double.parse(objB);
39
- })
40
- .add("invalid: null", () => {
41
- try {
42
- double.parse(null);
43
- }
44
- catch (_err) { }
45
- })
46
- .add("invalid: wrong shape", () => {
47
- try {
48
- double.parse(objC);
49
- }
50
- catch (_err) { }
51
- })
52
- .on("cycle", (e) => {
53
- console.log(`${doubleSuite.name}: ${e.target}`);
54
- });
55
- manySuite
56
- .add("valid: a", () => {
57
- many.parse(objA);
58
- })
59
- .add("valid: c", () => {
60
- many.parse(objC);
61
- })
62
- .add("invalid: null", () => {
63
- try {
64
- many.parse(null);
65
- }
66
- catch (_err) { }
67
- })
68
- .add("invalid: wrong shape", () => {
69
- try {
70
- many.parse({ type: "unknown" });
71
- }
72
- catch (_err) { }
73
- })
74
- .on("cycle", (e) => {
75
- console.log(`${manySuite.name}: ${e.target}`);
76
- });
77
- exports.default = {
78
- suites: [doubleSuite, manySuite],
79
- };