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,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mocker = void 0;
4
- function getRandomInt(max) {
5
- return Math.floor(Math.random() * Math.floor(max));
6
- }
7
- const testSymbol = Symbol("test");
8
- class Mocker {
9
- constructor() {
10
- this.pick = (...args) => {
11
- return args[getRandomInt(args.length)];
12
- };
13
- }
14
- get string() {
15
- return Math.random().toString(36).substring(7);
16
- }
17
- get number() {
18
- return Math.random() * 100;
19
- }
20
- get bigint() {
21
- return BigInt(Math.floor(Math.random() * 10000));
22
- }
23
- get boolean() {
24
- return Math.random() < 0.5;
25
- }
26
- get date() {
27
- return new Date(Math.floor(Date.now() * Math.random()));
28
- }
29
- get symbol() {
30
- return testSymbol;
31
- }
32
- get null() {
33
- return null;
34
- }
35
- get undefined() {
36
- return undefined;
37
- }
38
- get stringOptional() {
39
- return this.pick(this.string, this.undefined);
40
- }
41
- get stringNullable() {
42
- return this.pick(this.string, this.null);
43
- }
44
- get numberOptional() {
45
- return this.pick(this.number, this.undefined);
46
- }
47
- get numberNullable() {
48
- return this.pick(this.number, this.null);
49
- }
50
- get booleanOptional() {
51
- return this.pick(this.boolean, this.undefined);
52
- }
53
- get booleanNullable() {
54
- return this.pick(this.boolean, this.null);
55
- }
56
- }
57
- exports.Mocker = Mocker;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalConfig = void 0;
4
- exports.config = config;
5
- exports.globalConfig = {};
6
- function config(config) {
7
- if (config)
8
- Object.assign(exports.globalConfig, config);
9
- return exports.globalConfig;
10
- }
@@ -1,172 +0,0 @@
1
- "use strict";
2
- ///////////////////////////////////////////////////
3
- //////////////// TYPES ///////////////////
4
- ///////////////////////////////////////////////////
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /////////////////////////////////////////////////
7
- //////////////// CHECKS ////////////////
8
- /////////////////////////////////////////////////
9
- // export interface $ZSFCheckRegex {
10
- // check: "regex";
11
- // pattern: string;
12
- // }
13
- // export interface $ZSFCheckEmail {
14
- // check: "email";
15
- // }
16
- // export interface $ZSFCheckURL {
17
- // check: "url";
18
- // }
19
- // export interface $ZSFCheckEmoji {
20
- // check: "emoji";
21
- // }
22
- // export interface $ZSFCheckUUID {
23
- // check: "uuid";
24
- // }
25
- // export interface $ZSFCheckUUIDv4 {
26
- // check: "uuidv4";
27
- // }
28
- // export interface $ZSFCheckUUIDv6 {
29
- // check: "uuidv6";
30
- // }
31
- // export interface $ZSFCheckNanoid {
32
- // check: "nanoid";
33
- // }
34
- // export interface $ZSFCheckGUID {
35
- // check: "guid";
36
- // }
37
- // export interface $ZSFCheckCUID {
38
- // check: "cuid";
39
- // }
40
- // export interface $ZSFCheckCUID2 {
41
- // check: "cuid2";
42
- // }
43
- // export interface $ZSFCheckULID {
44
- // check: "ulid";
45
- // }
46
- // export interface $ZSFCheckXID {
47
- // check: "xid";
48
- // }
49
- // export interface $ZSFCheckKSUID {
50
- // check: "ksuid";
51
- // }
52
- // export interface $ZSFCheckISODateTime {
53
- // check: "datetime";
54
- // precision?: number;
55
- // local?: boolean;
56
- // }
57
- // export interface $ZSFCheckISODate {
58
- // check: "date";
59
- // }
60
- // export interface $ZSFCheckISOTime {
61
- // check: "time";
62
- // precision?: number;
63
- // local?: boolean;
64
- // }
65
- // export interface $ZSFCheckDuration {
66
- // check: "duration";
67
- // }
68
- // export interface $ZSFCheckIP {
69
- // check: "ip";
70
- // }
71
- // export interface $ZSFCheckIPv4 {
72
- // check: "ipv4";
73
- // }
74
- // export interface $ZSFCheckIPv6 {
75
- // check: "ipv6";
76
- // }
77
- // export interface $ZSFCheckBase64 {
78
- // check: "base64";
79
- // }
80
- // export interface $ZSFCheckJWT {
81
- // check: "jwt";
82
- // }
83
- // export interface $ZSFCheckJSONString {
84
- // check: "json_string";
85
- // }
86
- // export interface $ZSFCheckPrefix {
87
- // check: "prefix";
88
- // prefix: string;
89
- // }
90
- // export interface $ZSFCheckSuffix {
91
- // check: "suffix";
92
- // suffix: string;
93
- // }
94
- // export interface $ZSFCheckIncludes {
95
- // check: "includes";
96
- // includes: string;
97
- // }
98
- // export interface $ZSFCheckMinSize {
99
- // check: "min_size";
100
- // minimum: number;
101
- // }
102
- // export interface $ZSFCheckMaxSize {
103
- // check: "max_size";
104
- // maximum: number;
105
- // }
106
- // export interface $ZSFCheckSizeEquals {
107
- // check: "size_equals";
108
- // size: number;
109
- // }
110
- // export interface $ZSFCheckLessThan {
111
- // check: "less_than";
112
- // maximum: number | bigint | Date;
113
- // }
114
- // export interface $ZSFCheckLessThanOrEqual {
115
- // check: "less_than_or_equal";
116
- // maximum: number | bigint | Date;
117
- // }
118
- // export interface $ZSFCheckGreaterThan {
119
- // check: "greater_than";
120
- // minimum: number | bigint | Date;
121
- // }
122
- // export interface $ZSFCheckGreaterThanOrEqual {
123
- // check: "greater_than_or_equal";
124
- // minimum: number | bigint | Date;
125
- // }
126
- // export interface $ZSFCheckEquals {
127
- // check: "equals";
128
- // value: number | bigint | Date;
129
- // }
130
- // export interface $ZSFCheckMultipleOf {
131
- // check: "multiple_of";
132
- // multipleOf: number;
133
- // }
134
- // export type $ZSFStringFormatChecks =
135
- // | $ZSFCheckRegex
136
- // | $ZSFCheckEmail
137
- // | $ZSFCheckURL
138
- // | $ZSFCheckEmoji
139
- // | $ZSFCheckUUID
140
- // | $ZSFCheckUUIDv4
141
- // | $ZSFCheckUUIDv6
142
- // | $ZSFCheckNanoid
143
- // | $ZSFCheckGUID
144
- // | $ZSFCheckCUID
145
- // | $ZSFCheckCUID2
146
- // | $ZSFCheckULID
147
- // | $ZSFCheckXID
148
- // | $ZSFCheckKSUID
149
- // | $ZSFCheckISODateTime
150
- // | $ZSFCheckISODate
151
- // | $ZSFCheckISOTime
152
- // | $ZSFCheckDuration
153
- // | $ZSFCheckIP
154
- // | $ZSFCheckIPv4
155
- // | $ZSFCheckIPv6
156
- // | $ZSFCheckBase64
157
- // | $ZSFCheckJWT
158
- // | $ZSFCheckJSONString
159
- // | $ZSFCheckPrefix
160
- // | $ZSFCheckSuffix
161
- // | $ZSFCheckIncludes;
162
- // export type $ZSFCheck =
163
- // | $ZSFStringFormatChecks
164
- // | $ZSFCheckMinSize
165
- // | $ZSFCheckMaxSize
166
- // | $ZSFCheckSizeEquals
167
- // | $ZSFCheckLessThan
168
- // | $ZSFCheckLessThanOrEqual
169
- // | $ZSFCheckGreaterThan
170
- // | $ZSFCheckGreaterThanOrEqual
171
- // | $ZSFCheckEquals
172
- // | $ZSFCheckMultipleOf;
package/dist/esm/index.js DELETED
@@ -1,3 +0,0 @@
1
- import z3 from "./v3/index.js";
2
- export * from "./v3/index.js";
3
- export default z3;
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,49 +0,0 @@
1
- import Benchmark from "benchmark";
2
- const datetimeValidationSuite = new Benchmark.Suite("datetime");
3
- const DATA = "2021-01-01";
4
- const MONTHS_31 = new Set([1, 3, 5, 7, 8, 10, 12]);
5
- const MONTHS_30 = new Set([4, 6, 9, 11]);
6
- const simpleDatetimeRegex = /^(\d{4})-(\d{2})-(\d{2})$/;
7
- 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))$/;
8
- 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])))$/;
9
- datetimeValidationSuite
10
- .add("new Date()", () => {
11
- return !Number.isNaN(new Date(DATA).getTime());
12
- })
13
- .add("regex (no validation)", () => {
14
- return simpleDatetimeRegex.test(DATA);
15
- })
16
- .add("regex (no leap year)", () => {
17
- return datetimeRegexNoLeapYearValidation.test(DATA);
18
- })
19
- .add("regex (w/ leap year)", () => {
20
- return datetimeRegexWithLeapYearValidation.test(DATA);
21
- })
22
- .add("capture groups + code", () => {
23
- const match = DATA.match(simpleDatetimeRegex);
24
- if (!match)
25
- return false;
26
- // Extract year, month, and day from the capture groups
27
- const year = Number.parseInt(match[1], 10);
28
- const month = Number.parseInt(match[2], 10); // month is 0-indexed in JavaScript Date, so subtract 1
29
- const day = Number.parseInt(match[3], 10);
30
- if (month === 2) {
31
- if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
32
- return day <= 29;
33
- }
34
- return day <= 28;
35
- }
36
- if (MONTHS_30.has(month)) {
37
- return day <= 30;
38
- }
39
- if (MONTHS_31.has(month)) {
40
- return day <= 31;
41
- }
42
- return false;
43
- })
44
- .on("cycle", (e) => {
45
- console.log(`${datetimeValidationSuite.name}: ${e.target}`);
46
- });
47
- export default {
48
- suites: [datetimeValidationSuite],
49
- };
@@ -1,74 +0,0 @@
1
- import Benchmark from "benchmark";
2
- import { z } from "zod/v3";
3
- const doubleSuite = new Benchmark.Suite("z.discriminatedUnion: double");
4
- const manySuite = new Benchmark.Suite("z.discriminatedUnion: many");
5
- const aSchema = z.object({
6
- type: z.literal("a"),
7
- });
8
- const objA = {
9
- type: "a",
10
- };
11
- const bSchema = z.object({
12
- type: z.literal("b"),
13
- });
14
- const objB = {
15
- type: "b",
16
- };
17
- const cSchema = z.object({
18
- type: z.literal("c"),
19
- });
20
- const objC = {
21
- type: "c",
22
- };
23
- const dSchema = z.object({
24
- type: z.literal("d"),
25
- });
26
- const double = z.discriminatedUnion("type", [aSchema, bSchema]);
27
- const many = z.discriminatedUnion("type", [aSchema, bSchema, cSchema, dSchema]);
28
- doubleSuite
29
- .add("valid: a", () => {
30
- double.parse(objA);
31
- })
32
- .add("valid: b", () => {
33
- double.parse(objB);
34
- })
35
- .add("invalid: null", () => {
36
- try {
37
- double.parse(null);
38
- }
39
- catch (_err) { }
40
- })
41
- .add("invalid: wrong shape", () => {
42
- try {
43
- double.parse(objC);
44
- }
45
- catch (_err) { }
46
- })
47
- .on("cycle", (e) => {
48
- console.log(`${doubleSuite.name}: ${e.target}`);
49
- });
50
- manySuite
51
- .add("valid: a", () => {
52
- many.parse(objA);
53
- })
54
- .add("valid: c", () => {
55
- many.parse(objC);
56
- })
57
- .add("invalid: null", () => {
58
- try {
59
- many.parse(null);
60
- }
61
- catch (_err) { }
62
- })
63
- .add("invalid: wrong shape", () => {
64
- try {
65
- many.parse({ type: "unknown" });
66
- }
67
- catch (_err) { }
68
- })
69
- .on("cycle", (e) => {
70
- console.log(`${manySuite.name}: ${e.target}`);
71
- });
72
- export default {
73
- suites: [doubleSuite, manySuite],
74
- };
@@ -1,54 +0,0 @@
1
- import datetimeBenchmarks from "./datetime.js";
2
- import discriminatedUnionBenchmarks from "./discriminatedUnion.js";
3
- import ipv4Benchmarks from "./ipv4.js";
4
- import objectBenchmarks from "./object.js";
5
- import primitiveBenchmarks from "./primitives.js";
6
- import realworld from "./realworld.js";
7
- import stringBenchmarks from "./string.js";
8
- import unionBenchmarks from "./union.js";
9
- const argv = process.argv.slice(2);
10
- let suites = [];
11
- if (!argv.length) {
12
- suites = [
13
- ...realworld.suites,
14
- ...primitiveBenchmarks.suites,
15
- ...stringBenchmarks.suites,
16
- ...objectBenchmarks.suites,
17
- ...unionBenchmarks.suites,
18
- ...discriminatedUnionBenchmarks.suites,
19
- ];
20
- }
21
- else {
22
- if (argv.includes("--realworld")) {
23
- suites.push(...realworld.suites);
24
- }
25
- if (argv.includes("--primitives")) {
26
- suites.push(...primitiveBenchmarks.suites);
27
- }
28
- if (argv.includes("--string")) {
29
- suites.push(...stringBenchmarks.suites);
30
- }
31
- if (argv.includes("--object")) {
32
- suites.push(...objectBenchmarks.suites);
33
- }
34
- if (argv.includes("--union")) {
35
- suites.push(...unionBenchmarks.suites);
36
- }
37
- if (argv.includes("--discriminatedUnion")) {
38
- suites.push(...datetimeBenchmarks.suites);
39
- }
40
- if (argv.includes("--datetime")) {
41
- suites.push(...datetimeBenchmarks.suites);
42
- }
43
- if (argv.includes("--ipv4")) {
44
- suites.push(...ipv4Benchmarks.suites);
45
- }
46
- }
47
- for (const suite of suites) {
48
- suite.run({});
49
- }
50
- // exit on Ctrl-C
51
- process.on("SIGINT", function () {
52
- console.log("Exiting...");
53
- process.exit();
54
- });
@@ -1,49 +0,0 @@
1
- import Benchmark from "benchmark";
2
- const suite = new Benchmark.Suite("ipv4");
3
- const DATA = "127.0.0.1";
4
- 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}))$/;
5
- 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)$/;
6
- 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)$/;
7
- 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}$/;
8
- 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)$/;
9
- const ipv4RegexF = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
10
- const ipv4RegexG = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/;
11
- const ipv4RegexH = /^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$/;
12
- 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])$/;
13
- suite
14
- .add("A", () => {
15
- return ipv4RegexA.test(DATA);
16
- })
17
- .add("B", () => {
18
- return ipv4RegexB.test(DATA);
19
- })
20
- .add("C", () => {
21
- return ipv4RegexC.test(DATA);
22
- })
23
- .add("D", () => {
24
- return ipv4RegexD.test(DATA);
25
- })
26
- .add("E", () => {
27
- return ipv4RegexE.test(DATA);
28
- })
29
- .add("F", () => {
30
- return ipv4RegexF.test(DATA);
31
- })
32
- .add("G", () => {
33
- return ipv4RegexG.test(DATA);
34
- })
35
- .add("H", () => {
36
- return ipv4RegexH.test(DATA);
37
- })
38
- .add("I", () => {
39
- return ipv4RegexI.test(DATA);
40
- })
41
- .on("cycle", (e) => {
42
- console.log(`${suite.name}: ${e.target}`);
43
- });
44
- export default {
45
- suites: [suite],
46
- };
47
- if (require.main === module) {
48
- suite.run();
49
- }
@@ -1,65 +0,0 @@
1
- import Benchmark from "benchmark";
2
- import { z } from "zod/v3";
3
- const emptySuite = new Benchmark.Suite("z.object: empty");
4
- const shortSuite = new Benchmark.Suite("z.object: short");
5
- const longSuite = new Benchmark.Suite("z.object: long");
6
- const empty = z.object({});
7
- const short = z.object({
8
- string: z.string(),
9
- });
10
- const long = z.object({
11
- string: z.string(),
12
- number: z.number(),
13
- boolean: z.boolean(),
14
- });
15
- emptySuite
16
- .add("valid", () => {
17
- empty.parse({});
18
- })
19
- .add("valid: extra keys", () => {
20
- empty.parse({ string: "string" });
21
- })
22
- .add("invalid: null", () => {
23
- try {
24
- empty.parse(null);
25
- }
26
- catch (_err) { }
27
- })
28
- .on("cycle", (e) => {
29
- console.log(`${emptySuite.name}: ${e.target}`);
30
- });
31
- shortSuite
32
- .add("valid", () => {
33
- short.parse({ string: "string" });
34
- })
35
- .add("valid: extra keys", () => {
36
- short.parse({ string: "string", number: 42 });
37
- })
38
- .add("invalid: null", () => {
39
- try {
40
- short.parse(null);
41
- }
42
- catch (_err) { }
43
- })
44
- .on("cycle", (e) => {
45
- console.log(`${shortSuite.name}: ${e.target}`);
46
- });
47
- longSuite
48
- .add("valid", () => {
49
- long.parse({ string: "string", number: 42, boolean: true });
50
- })
51
- .add("valid: extra keys", () => {
52
- long.parse({ string: "string", number: 42, boolean: true, list: [] });
53
- })
54
- .add("invalid: null", () => {
55
- try {
56
- long.parse(null);
57
- }
58
- catch (_err) { }
59
- })
60
- .on("cycle", (e) => {
61
- console.log(`${longSuite.name}: ${e.target}`);
62
- });
63
- export default {
64
- suites: [emptySuite, shortSuite, longSuite],
65
- };
@@ -1,154 +0,0 @@
1
- import Benchmark from "benchmark";
2
- import { z } from "zod/v3";
3
- import { Mocker } from "../tests/Mocker.js";
4
- const val = new Mocker();
5
- const enumSuite = new Benchmark.Suite("z.enum");
6
- const enumSchema = z.enum(["a", "b", "c"]);
7
- enumSuite
8
- .add("valid", () => {
9
- enumSchema.parse("a");
10
- })
11
- .add("invalid", () => {
12
- try {
13
- enumSchema.parse("x");
14
- }
15
- catch (_e) { }
16
- })
17
- .on("cycle", (e) => {
18
- console.log(`z.enum: ${e.target}`);
19
- });
20
- const longEnumSuite = new Benchmark.Suite("long z.enum");
21
- const longEnumSchema = z.enum([
22
- "one",
23
- "two",
24
- "three",
25
- "four",
26
- "five",
27
- "six",
28
- "seven",
29
- "eight",
30
- "nine",
31
- "ten",
32
- "eleven",
33
- "twelve",
34
- "thirteen",
35
- "fourteen",
36
- "fifteen",
37
- "sixteen",
38
- "seventeen",
39
- ]);
40
- longEnumSuite
41
- .add("valid", () => {
42
- longEnumSchema.parse("five");
43
- })
44
- .add("invalid", () => {
45
- try {
46
- longEnumSchema.parse("invalid");
47
- }
48
- catch (_e) { }
49
- })
50
- .on("cycle", (e) => {
51
- console.log(`long z.enum: ${e.target}`);
52
- });
53
- const undefinedSuite = new Benchmark.Suite("z.undefined");
54
- const undefinedSchema = z.undefined();
55
- undefinedSuite
56
- .add("valid", () => {
57
- undefinedSchema.parse(undefined);
58
- })
59
- .add("invalid", () => {
60
- try {
61
- undefinedSchema.parse(1);
62
- }
63
- catch (_e) { }
64
- })
65
- .on("cycle", (e) => {
66
- console.log(`z.undefined: ${e.target}`);
67
- });
68
- const literalSuite = new Benchmark.Suite("z.literal");
69
- const short = "short";
70
- const bad = "bad";
71
- const literalSchema = z.literal("short");
72
- literalSuite
73
- .add("valid", () => {
74
- literalSchema.parse(short);
75
- })
76
- .add("invalid", () => {
77
- try {
78
- literalSchema.parse(bad);
79
- }
80
- catch (_e) { }
81
- })
82
- .on("cycle", (e) => {
83
- console.log(`z.literal: ${e.target}`);
84
- });
85
- const numberSuite = new Benchmark.Suite("z.number");
86
- const numberSchema = z.number().int();
87
- numberSuite
88
- .add("valid", () => {
89
- numberSchema.parse(1);
90
- })
91
- .add("invalid type", () => {
92
- try {
93
- numberSchema.parse("bad");
94
- }
95
- catch (_e) { }
96
- })
97
- .add("invalid number", () => {
98
- try {
99
- numberSchema.parse(0.5);
100
- }
101
- catch (_e) { }
102
- })
103
- .on("cycle", (e) => {
104
- console.log(`z.number: ${e.target}`);
105
- });
106
- const dateSuite = new Benchmark.Suite("z.date");
107
- const plainDate = z.date();
108
- const minMaxDate = z.date().min(new Date("2021-01-01")).max(new Date("2030-01-01"));
109
- dateSuite
110
- .add("valid", () => {
111
- plainDate.parse(new Date());
112
- })
113
- .add("invalid", () => {
114
- try {
115
- plainDate.parse(1);
116
- }
117
- catch (_e) { }
118
- })
119
- .add("valid min and max", () => {
120
- minMaxDate.parse(new Date("2023-01-01"));
121
- })
122
- .add("invalid min", () => {
123
- try {
124
- minMaxDate.parse(new Date("2019-01-01"));
125
- }
126
- catch (_e) { }
127
- })
128
- .add("invalid max", () => {
129
- try {
130
- minMaxDate.parse(new Date("2031-01-01"));
131
- }
132
- catch (_e) { }
133
- })
134
- .on("cycle", (e) => {
135
- console.log(`z.date: ${e.target}`);
136
- });
137
- const symbolSuite = new Benchmark.Suite("z.symbol");
138
- const symbolSchema = z.symbol();
139
- symbolSuite
140
- .add("valid", () => {
141
- symbolSchema.parse(val.symbol);
142
- })
143
- .add("invalid", () => {
144
- try {
145
- symbolSchema.parse(1);
146
- }
147
- catch (_e) { }
148
- })
149
- .on("cycle", (e) => {
150
- console.log(`z.symbol: ${e.target}`);
151
- });
152
- export default {
153
- suites: [enumSuite, longEnumSuite, undefinedSuite, literalSuite, numberSuite, dateSuite, symbolSuite],
154
- };