zod 3.25.0 → 3.25.3

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 (385) hide show
  1. package/dist/commonjs/index.d.ts +3 -0
  2. package/dist/commonjs/index.js +22 -0
  3. package/dist/commonjs/package.json +3 -0
  4. package/dist/commonjs/v3/ZodError.d.ts +164 -0
  5. package/dist/commonjs/v3/ZodError.js +137 -0
  6. package/dist/commonjs/v3/benchmarks/datetime.d.ts +5 -0
  7. package/dist/commonjs/v3/benchmarks/datetime.js +54 -0
  8. package/dist/commonjs/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  9. package/dist/commonjs/v3/benchmarks/discriminatedUnion.js +79 -0
  10. package/dist/commonjs/v3/benchmarks/index.d.ts +1 -0
  11. package/dist/commonjs/v3/benchmarks/index.js +59 -0
  12. package/dist/commonjs/v3/benchmarks/ipv4.d.ts +5 -0
  13. package/dist/commonjs/v3/benchmarks/ipv4.js +54 -0
  14. package/dist/commonjs/v3/benchmarks/object.d.ts +5 -0
  15. package/dist/commonjs/v3/benchmarks/object.js +70 -0
  16. package/dist/commonjs/v3/benchmarks/primitives.d.ts +5 -0
  17. package/dist/commonjs/v3/benchmarks/primitives.js +159 -0
  18. package/dist/commonjs/v3/benchmarks/realworld.d.ts +5 -0
  19. package/dist/commonjs/v3/benchmarks/realworld.js +56 -0
  20. package/dist/commonjs/v3/benchmarks/string.d.ts +5 -0
  21. package/dist/commonjs/v3/benchmarks/string.js +55 -0
  22. package/dist/commonjs/v3/benchmarks/union.d.ts +5 -0
  23. package/dist/commonjs/v3/benchmarks/union.js +79 -0
  24. package/dist/commonjs/v3/errors.d.ts +5 -0
  25. package/dist/commonjs/v3/errors.js +17 -0
  26. package/dist/commonjs/v3/external.d.ts +6 -0
  27. package/dist/commonjs/v3/external.js +22 -0
  28. package/dist/commonjs/v3/helpers/enumUtil.d.ts +8 -0
  29. package/dist/commonjs/v3/helpers/enumUtil.js +2 -0
  30. package/dist/commonjs/v3/helpers/errorUtil.d.ts +9 -0
  31. package/dist/commonjs/v3/helpers/errorUtil.js +9 -0
  32. package/dist/commonjs/v3/helpers/parseUtil.d.ts +78 -0
  33. package/dist/commonjs/v3/helpers/parseUtil.js +124 -0
  34. package/dist/commonjs/v3/helpers/partialUtil.d.ts +8 -0
  35. package/dist/commonjs/v3/helpers/partialUtil.js +2 -0
  36. package/dist/commonjs/v3/helpers/typeAliases.d.ts +2 -0
  37. package/dist/commonjs/v3/helpers/typeAliases.js +2 -0
  38. package/dist/commonjs/v3/helpers/util.d.ts +85 -0
  39. package/dist/commonjs/v3/helpers/util.js +137 -0
  40. package/dist/commonjs/v3/index.d.ts +4 -0
  41. package/dist/commonjs/v3/index.js +43 -0
  42. package/dist/commonjs/v3/locales/en.d.ts +3 -0
  43. package/dist/commonjs/v3/locales/en.js +109 -0
  44. package/dist/commonjs/v3/standard-schema.d.ts +102 -0
  45. package/dist/commonjs/v3/standard-schema.js +2 -0
  46. package/dist/commonjs/v3/tests/Mocker.d.ts +17 -0
  47. package/dist/commonjs/v3/tests/Mocker.js +57 -0
  48. package/dist/commonjs/v3/tests/language-server.source.d.ts +70 -0
  49. package/dist/commonjs/v3/tests/language-server.source.js +81 -0
  50. package/dist/commonjs/v3/types.d.ts +1031 -0
  51. package/dist/commonjs/v3/types.js +3795 -0
  52. package/dist/commonjs/v4/classic/checks.d.ts +1 -0
  53. package/dist/commonjs/v4/classic/checks.js +32 -0
  54. package/dist/commonjs/v4/classic/coerce.d.ts +17 -0
  55. package/dist/commonjs/v4/classic/coerce.js +57 -0
  56. package/dist/commonjs/v4/classic/compat.d.ts +48 -0
  57. package/dist/commonjs/v4/classic/compat.js +73 -0
  58. package/dist/commonjs/v4/classic/errors.d.ts +30 -0
  59. package/dist/commonjs/v4/classic/errors.js +76 -0
  60. package/dist/commonjs/v4/classic/external.d.ts +8 -0
  61. package/dist/commonjs/v4/classic/external.js +68 -0
  62. package/dist/commonjs/v4/classic/index.d.ts +4 -0
  63. package/dist/commonjs/v4/classic/index.js +43 -0
  64. package/dist/commonjs/v4/classic/iso.d.ts +22 -0
  65. package/dist/commonjs/v4/classic/iso.js +70 -0
  66. package/dist/commonjs/v4/classic/parse.d.ts +23 -0
  67. package/dist/commonjs/v4/classic/parse.js +42 -0
  68. package/dist/commonjs/v4/classic/schemas.d.ts +653 -0
  69. package/dist/commonjs/v4/classic/schemas.js +1123 -0
  70. package/dist/commonjs/v4/core/api.d.ts +273 -0
  71. package/dist/commonjs/v4/core/api.js +1004 -0
  72. package/dist/commonjs/v4/core/checks.d.ts +277 -0
  73. package/dist/commonjs/v4/core/checks.js +571 -0
  74. package/dist/commonjs/v4/core/config.d.ts +9 -0
  75. package/dist/commonjs/v4/core/config.js +10 -0
  76. package/dist/commonjs/v4/core/core.d.ts +43 -0
  77. package/dist/commonjs/v4/core/core.js +59 -0
  78. package/dist/commonjs/v4/core/doc.d.ts +14 -0
  79. package/dist/commonjs/v4/core/doc.js +40 -0
  80. package/dist/commonjs/v4/core/errors.d.ts +204 -0
  81. package/dist/commonjs/v4/core/errors.js +203 -0
  82. package/dist/commonjs/v4/core/function.d.ts +35 -0
  83. package/dist/commonjs/v4/core/function.js +107 -0
  84. package/dist/commonjs/v4/core/index.d.ts +15 -0
  85. package/dist/commonjs/v4/core/index.js +54 -0
  86. package/dist/commonjs/v4/core/json-schema.d.ts +100 -0
  87. package/dist/commonjs/v4/core/json-schema.js +2 -0
  88. package/dist/commonjs/v4/core/parse.d.ts +25 -0
  89. package/dist/commonjs/v4/core/parse.js +97 -0
  90. package/dist/commonjs/v4/core/regexes.d.ts +62 -0
  91. package/dist/commonjs/v4/core/regexes.js +101 -0
  92. package/dist/commonjs/v4/core/registries.d.ts +32 -0
  93. package/dist/commonjs/v4/core/registries.js +47 -0
  94. package/dist/commonjs/v4/core/schemas.d.ts +975 -0
  95. package/dist/commonjs/v4/core/schemas.js +1781 -0
  96. package/dist/commonjs/v4/core/standard-schema.d.ts +55 -0
  97. package/dist/commonjs/v4/core/standard-schema.js +2 -0
  98. package/dist/commonjs/v4/core/to-json-schema.d.ts +84 -0
  99. package/dist/commonjs/v4/core/to-json-schema.js +670 -0
  100. package/dist/commonjs/v4/core/util.d.ts +186 -0
  101. package/dist/commonjs/v4/core/util.js +515 -0
  102. package/dist/commonjs/v4/core/versions.d.ts +5 -0
  103. package/dist/commonjs/v4/core/versions.js +8 -0
  104. package/dist/commonjs/v4/core/zsf.d.ts +91 -0
  105. package/dist/commonjs/v4/core/zsf.js +172 -0
  106. package/dist/commonjs/v4/index.d.ts +3 -0
  107. package/dist/commonjs/v4/index.js +22 -0
  108. package/dist/commonjs/v4/locales/ar.d.ts +7 -0
  109. package/dist/commonjs/v4/locales/ar.js +153 -0
  110. package/dist/commonjs/v4/locales/az.d.ts +7 -0
  111. package/dist/commonjs/v4/locales/az.js +152 -0
  112. package/dist/commonjs/v4/locales/be.d.ts +7 -0
  113. package/dist/commonjs/v4/locales/be.js +201 -0
  114. package/dist/commonjs/v4/locales/ca.d.ts +7 -0
  115. package/dist/commonjs/v4/locales/ca.js +155 -0
  116. package/dist/commonjs/v4/locales/cs.d.ts +7 -0
  117. package/dist/commonjs/v4/locales/cs.js +172 -0
  118. package/dist/commonjs/v4/locales/de.d.ts +7 -0
  119. package/dist/commonjs/v4/locales/de.js +153 -0
  120. package/dist/commonjs/v4/locales/en.d.ts +7 -0
  121. package/dist/commonjs/v4/locales/en.js +155 -0
  122. package/dist/commonjs/v4/locales/es.d.ts +7 -0
  123. package/dist/commonjs/v4/locales/es.js +154 -0
  124. package/dist/commonjs/v4/locales/fa.d.ts +7 -0
  125. package/dist/commonjs/v4/locales/fa.js +159 -0
  126. package/dist/commonjs/v4/locales/fi.d.ts +7 -0
  127. package/dist/commonjs/v4/locales/fi.js +159 -0
  128. package/dist/commonjs/v4/locales/fr.d.ts +7 -0
  129. package/dist/commonjs/v4/locales/fr.js +153 -0
  130. package/dist/commonjs/v4/locales/frCA.d.ts +7 -0
  131. package/dist/commonjs/v4/locales/frCA.js +154 -0
  132. package/dist/commonjs/v4/locales/he.d.ts +7 -0
  133. package/dist/commonjs/v4/locales/he.js +154 -0
  134. package/dist/commonjs/v4/locales/hu.d.ts +7 -0
  135. package/dist/commonjs/v4/locales/hu.js +154 -0
  136. package/dist/commonjs/v4/locales/id.d.ts +7 -0
  137. package/dist/commonjs/v4/locales/id.js +153 -0
  138. package/dist/commonjs/v4/locales/index.d.ts +34 -0
  139. package/dist/commonjs/v4/locales/index.js +74 -0
  140. package/dist/commonjs/v4/locales/it.d.ts +7 -0
  141. package/dist/commonjs/v4/locales/it.js +154 -0
  142. package/dist/commonjs/v4/locales/ja.d.ts +7 -0
  143. package/dist/commonjs/v4/locales/ja.js +152 -0
  144. package/dist/commonjs/v4/locales/ko.d.ts +7 -0
  145. package/dist/commonjs/v4/locales/ko.js +158 -0
  146. package/dist/commonjs/v4/locales/mk.d.ts +7 -0
  147. package/dist/commonjs/v4/locales/mk.js +155 -0
  148. package/dist/commonjs/v4/locales/ms.d.ts +7 -0
  149. package/dist/commonjs/v4/locales/ms.js +153 -0
  150. package/dist/commonjs/v4/locales/no.d.ts +7 -0
  151. package/dist/commonjs/v4/locales/no.js +153 -0
  152. package/dist/commonjs/v4/locales/ota.d.ts +7 -0
  153. package/dist/commonjs/v4/locales/ota.js +154 -0
  154. package/dist/commonjs/v4/locales/pl.d.ts +7 -0
  155. package/dist/commonjs/v4/locales/pl.js +154 -0
  156. package/dist/commonjs/v4/locales/pt.d.ts +7 -0
  157. package/dist/commonjs/v4/locales/pt.js +153 -0
  158. package/dist/commonjs/v4/locales/ru.d.ts +7 -0
  159. package/dist/commonjs/v4/locales/ru.js +201 -0
  160. package/dist/commonjs/v4/locales/sl.d.ts +7 -0
  161. package/dist/commonjs/v4/locales/sl.js +154 -0
  162. package/dist/commonjs/v4/locales/ta.d.ts +7 -0
  163. package/dist/commonjs/v4/locales/ta.js +154 -0
  164. package/dist/commonjs/v4/locales/th.d.ts +7 -0
  165. package/dist/commonjs/v4/locales/th.js +154 -0
  166. package/dist/commonjs/v4/locales/tr.d.ts +7 -0
  167. package/dist/commonjs/v4/locales/tr.js +152 -0
  168. package/dist/commonjs/v4/locales/ua.d.ts +7 -0
  169. package/dist/commonjs/v4/locales/ua.js +154 -0
  170. package/dist/commonjs/v4/locales/ur.d.ts +7 -0
  171. package/dist/commonjs/v4/locales/ur.js +154 -0
  172. package/dist/commonjs/v4/locales/vi.d.ts +7 -0
  173. package/dist/commonjs/v4/locales/vi.js +153 -0
  174. package/dist/commonjs/v4/locales/zh-CN.d.ts +7 -0
  175. package/dist/commonjs/v4/locales/zh-CN.js +153 -0
  176. package/dist/commonjs/v4/locales/zh-tw.d.ts +7 -0
  177. package/dist/commonjs/v4/locales/zh-tw.js +154 -0
  178. package/dist/commonjs/v4/mini/checks.d.ts +1 -0
  179. package/dist/commonjs/v4/mini/checks.js +34 -0
  180. package/dist/commonjs/v4/mini/coerce.d.ts +7 -0
  181. package/dist/commonjs/v4/mini/coerce.js +57 -0
  182. package/dist/commonjs/v4/mini/external.d.ts +7 -0
  183. package/dist/commonjs/v4/mini/external.js +61 -0
  184. package/dist/commonjs/v4/mini/index.d.ts +3 -0
  185. package/dist/commonjs/v4/mini/index.js +42 -0
  186. package/dist/commonjs/v4/mini/iso.d.ts +22 -0
  187. package/dist/commonjs/v4/mini/iso.js +70 -0
  188. package/dist/commonjs/v4/mini/parse.d.ts +1 -0
  189. package/dist/commonjs/v4/mini/parse.js +8 -0
  190. package/dist/commonjs/v4/mini/schemas.d.ts +405 -0
  191. package/dist/commonjs/v4/mini/schemas.js +852 -0
  192. package/dist/esm/index.d.ts +3 -0
  193. package/dist/esm/index.js +3 -0
  194. package/dist/esm/package.json +3 -0
  195. package/dist/esm/v3/ZodError.d.ts +164 -0
  196. package/dist/esm/v3/ZodError.js +132 -0
  197. package/dist/esm/v3/benchmarks/datetime.d.ts +5 -0
  198. package/dist/esm/v3/benchmarks/datetime.js +49 -0
  199. package/dist/esm/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  200. package/dist/esm/v3/benchmarks/discriminatedUnion.js +74 -0
  201. package/dist/esm/v3/benchmarks/index.d.ts +1 -0
  202. package/dist/esm/v3/benchmarks/index.js +54 -0
  203. package/dist/esm/v3/benchmarks/ipv4.d.ts +5 -0
  204. package/dist/esm/v3/benchmarks/ipv4.js +49 -0
  205. package/dist/esm/v3/benchmarks/object.d.ts +5 -0
  206. package/dist/esm/v3/benchmarks/object.js +65 -0
  207. package/dist/esm/v3/benchmarks/primitives.d.ts +5 -0
  208. package/dist/esm/v3/benchmarks/primitives.js +154 -0
  209. package/dist/esm/v3/benchmarks/realworld.d.ts +5 -0
  210. package/dist/esm/v3/benchmarks/realworld.js +51 -0
  211. package/dist/esm/v3/benchmarks/string.d.ts +5 -0
  212. package/dist/esm/v3/benchmarks/string.js +50 -0
  213. package/dist/esm/v3/benchmarks/union.d.ts +5 -0
  214. package/dist/esm/v3/benchmarks/union.js +74 -0
  215. package/dist/esm/v3/errors.d.ts +5 -0
  216. package/dist/esm/v3/errors.js +9 -0
  217. package/dist/esm/v3/external.d.ts +6 -0
  218. package/dist/esm/v3/external.js +6 -0
  219. package/dist/esm/v3/helpers/enumUtil.d.ts +8 -0
  220. package/dist/esm/v3/helpers/enumUtil.js +1 -0
  221. package/dist/esm/v3/helpers/errorUtil.d.ts +9 -0
  222. package/dist/esm/v3/helpers/errorUtil.js +6 -0
  223. package/dist/esm/v3/helpers/parseUtil.d.ts +78 -0
  224. package/dist/esm/v3/helpers/parseUtil.js +109 -0
  225. package/dist/esm/v3/helpers/partialUtil.d.ts +8 -0
  226. package/dist/esm/v3/helpers/partialUtil.js +1 -0
  227. package/dist/esm/v3/helpers/typeAliases.d.ts +2 -0
  228. package/dist/esm/v3/helpers/typeAliases.js +1 -0
  229. package/dist/esm/v3/helpers/util.d.ts +85 -0
  230. package/dist/esm/v3/helpers/util.js +133 -0
  231. package/dist/esm/v3/index.d.ts +4 -0
  232. package/dist/esm/v3/index.js +4 -0
  233. package/dist/esm/v3/locales/en.d.ts +3 -0
  234. package/dist/esm/v3/locales/en.js +107 -0
  235. package/dist/esm/v3/standard-schema.d.ts +102 -0
  236. package/dist/esm/v3/standard-schema.js +1 -0
  237. package/dist/esm/v3/tests/Mocker.d.ts +17 -0
  238. package/dist/esm/v3/tests/Mocker.js +53 -0
  239. package/dist/esm/v3/tests/language-server.source.d.ts +70 -0
  240. package/dist/esm/v3/tests/language-server.source.js +45 -0
  241. package/dist/esm/v3/types.d.ts +1031 -0
  242. package/dist/esm/v3/types.js +3713 -0
  243. package/dist/esm/v4/classic/checks.d.ts +1 -0
  244. package/dist/esm/v4/classic/checks.js +1 -0
  245. package/dist/esm/v4/classic/coerce.d.ts +17 -0
  246. package/dist/esm/v4/classic/coerce.js +17 -0
  247. package/dist/esm/v4/classic/compat.d.ts +48 -0
  248. package/dist/esm/v4/classic/compat.js +33 -0
  249. package/dist/esm/v4/classic/errors.d.ts +30 -0
  250. package/dist/esm/v4/classic/errors.js +40 -0
  251. package/dist/esm/v4/classic/external.d.ts +8 -0
  252. package/dist/esm/v4/classic/external.js +11 -0
  253. package/dist/esm/v4/classic/index.d.ts +4 -0
  254. package/dist/esm/v4/classic/index.js +4 -0
  255. package/dist/esm/v4/classic/iso.d.ts +22 -0
  256. package/dist/esm/v4/classic/iso.js +30 -0
  257. package/dist/esm/v4/classic/parse.d.ts +23 -0
  258. package/dist/esm/v4/classic/parse.js +6 -0
  259. package/dist/esm/v4/classic/schemas.d.ts +653 -0
  260. package/dist/esm/v4/classic/schemas.js +1012 -0
  261. package/dist/esm/v4/core/api.d.ts +273 -0
  262. package/dist/esm/v4/core/api.js +867 -0
  263. package/dist/esm/v4/core/checks.d.ts +277 -0
  264. package/dist/esm/v4/core/checks.js +535 -0
  265. package/dist/esm/v4/core/config.d.ts +9 -0
  266. package/dist/esm/v4/core/config.js +6 -0
  267. package/dist/esm/v4/core/core.d.ts +43 -0
  268. package/dist/esm/v4/core/core.js +53 -0
  269. package/dist/esm/v4/core/doc.d.ts +14 -0
  270. package/dist/esm/v4/core/doc.js +36 -0
  271. package/dist/esm/v4/core/errors.d.ts +204 -0
  272. package/dist/esm/v4/core/errors.js +195 -0
  273. package/dist/esm/v4/core/function.d.ts +35 -0
  274. package/dist/esm/v4/core/function.js +70 -0
  275. package/dist/esm/v4/core/index.d.ts +15 -0
  276. package/dist/esm/v4/core/index.js +15 -0
  277. package/dist/esm/v4/core/json-schema.d.ts +100 -0
  278. package/dist/esm/v4/core/json-schema.js +1 -0
  279. package/dist/esm/v4/core/parse.d.ts +25 -0
  280. package/dist/esm/v4/core/parse.js +57 -0
  281. package/dist/esm/v4/core/regexes.d.ts +62 -0
  282. package/dist/esm/v4/core/regexes.js +93 -0
  283. package/dist/esm/v4/core/registries.d.ts +32 -0
  284. package/dist/esm/v4/core/registries.js +42 -0
  285. package/dist/esm/v4/core/schemas.d.ts +975 -0
  286. package/dist/esm/v4/core/schemas.js +1740 -0
  287. package/dist/esm/v4/core/standard-schema.d.ts +55 -0
  288. package/dist/esm/v4/core/standard-schema.js +1 -0
  289. package/dist/esm/v4/core/to-json-schema.d.ts +84 -0
  290. package/dist/esm/v4/core/to-json-schema.js +665 -0
  291. package/dist/esm/v4/core/util.d.ts +186 -0
  292. package/dist/esm/v4/core/util.js +469 -0
  293. package/dist/esm/v4/core/versions.d.ts +5 -0
  294. package/dist/esm/v4/core/versions.js +5 -0
  295. package/dist/esm/v4/core/zsf.d.ts +91 -0
  296. package/dist/esm/v4/core/zsf.js +171 -0
  297. package/dist/esm/v4/index.d.ts +3 -0
  298. package/dist/esm/v4/index.js +3 -0
  299. package/dist/esm/v4/locales/ar.d.ts +7 -0
  300. package/dist/esm/v4/locales/ar.js +115 -0
  301. package/dist/esm/v4/locales/az.d.ts +7 -0
  302. package/dist/esm/v4/locales/az.js +114 -0
  303. package/dist/esm/v4/locales/be.d.ts +7 -0
  304. package/dist/esm/v4/locales/be.js +163 -0
  305. package/dist/esm/v4/locales/ca.d.ts +7 -0
  306. package/dist/esm/v4/locales/ca.js +117 -0
  307. package/dist/esm/v4/locales/cs.d.ts +7 -0
  308. package/dist/esm/v4/locales/cs.js +134 -0
  309. package/dist/esm/v4/locales/de.d.ts +7 -0
  310. package/dist/esm/v4/locales/de.js +115 -0
  311. package/dist/esm/v4/locales/en.d.ts +7 -0
  312. package/dist/esm/v4/locales/en.js +117 -0
  313. package/dist/esm/v4/locales/es.d.ts +7 -0
  314. package/dist/esm/v4/locales/es.js +116 -0
  315. package/dist/esm/v4/locales/fa.d.ts +7 -0
  316. package/dist/esm/v4/locales/fa.js +121 -0
  317. package/dist/esm/v4/locales/fi.d.ts +7 -0
  318. package/dist/esm/v4/locales/fi.js +121 -0
  319. package/dist/esm/v4/locales/fr.d.ts +7 -0
  320. package/dist/esm/v4/locales/fr.js +115 -0
  321. package/dist/esm/v4/locales/frCA.d.ts +7 -0
  322. package/dist/esm/v4/locales/frCA.js +116 -0
  323. package/dist/esm/v4/locales/he.d.ts +7 -0
  324. package/dist/esm/v4/locales/he.js +116 -0
  325. package/dist/esm/v4/locales/hu.d.ts +7 -0
  326. package/dist/esm/v4/locales/hu.js +116 -0
  327. package/dist/esm/v4/locales/id.d.ts +7 -0
  328. package/dist/esm/v4/locales/id.js +115 -0
  329. package/dist/esm/v4/locales/index.d.ts +34 -0
  330. package/dist/esm/v4/locales/index.js +34 -0
  331. package/dist/esm/v4/locales/it.d.ts +7 -0
  332. package/dist/esm/v4/locales/it.js +116 -0
  333. package/dist/esm/v4/locales/ja.d.ts +7 -0
  334. package/dist/esm/v4/locales/ja.js +114 -0
  335. package/dist/esm/v4/locales/ko.d.ts +7 -0
  336. package/dist/esm/v4/locales/ko.js +120 -0
  337. package/dist/esm/v4/locales/mk.d.ts +7 -0
  338. package/dist/esm/v4/locales/mk.js +117 -0
  339. package/dist/esm/v4/locales/ms.d.ts +7 -0
  340. package/dist/esm/v4/locales/ms.js +115 -0
  341. package/dist/esm/v4/locales/no.d.ts +7 -0
  342. package/dist/esm/v4/locales/no.js +115 -0
  343. package/dist/esm/v4/locales/ota.d.ts +7 -0
  344. package/dist/esm/v4/locales/ota.js +116 -0
  345. package/dist/esm/v4/locales/pl.d.ts +7 -0
  346. package/dist/esm/v4/locales/pl.js +116 -0
  347. package/dist/esm/v4/locales/pt.d.ts +7 -0
  348. package/dist/esm/v4/locales/pt.js +115 -0
  349. package/dist/esm/v4/locales/ru.d.ts +7 -0
  350. package/dist/esm/v4/locales/ru.js +163 -0
  351. package/dist/esm/v4/locales/sl.d.ts +7 -0
  352. package/dist/esm/v4/locales/sl.js +116 -0
  353. package/dist/esm/v4/locales/ta.d.ts +7 -0
  354. package/dist/esm/v4/locales/ta.js +116 -0
  355. package/dist/esm/v4/locales/th.d.ts +7 -0
  356. package/dist/esm/v4/locales/th.js +116 -0
  357. package/dist/esm/v4/locales/tr.d.ts +7 -0
  358. package/dist/esm/v4/locales/tr.js +114 -0
  359. package/dist/esm/v4/locales/ua.d.ts +7 -0
  360. package/dist/esm/v4/locales/ua.js +116 -0
  361. package/dist/esm/v4/locales/ur.d.ts +7 -0
  362. package/dist/esm/v4/locales/ur.js +116 -0
  363. package/dist/esm/v4/locales/vi.d.ts +7 -0
  364. package/dist/esm/v4/locales/vi.js +115 -0
  365. package/dist/esm/v4/locales/zh-CN.d.ts +7 -0
  366. package/dist/esm/v4/locales/zh-CN.js +115 -0
  367. package/dist/esm/v4/locales/zh-tw.d.ts +7 -0
  368. package/dist/esm/v4/locales/zh-tw.js +116 -0
  369. package/dist/esm/v4/mini/checks.d.ts +1 -0
  370. package/dist/esm/v4/mini/checks.js +1 -0
  371. package/dist/esm/v4/mini/coerce.d.ts +7 -0
  372. package/dist/esm/v4/mini/coerce.js +17 -0
  373. package/dist/esm/v4/mini/external.d.ts +7 -0
  374. package/dist/esm/v4/mini/external.js +7 -0
  375. package/dist/esm/v4/mini/index.d.ts +3 -0
  376. package/dist/esm/v4/mini/index.js +3 -0
  377. package/dist/esm/v4/mini/iso.d.ts +22 -0
  378. package/dist/esm/v4/mini/iso.js +30 -0
  379. package/dist/esm/v4/mini/parse.d.ts +1 -0
  380. package/dist/esm/v4/mini/parse.js +1 -0
  381. package/dist/esm/v4/mini/schemas.d.ts +405 -0
  382. package/dist/esm/v4/mini/schemas.js +738 -0
  383. package/package.json +1 -1
  384. package/src/v4/core/schemas.ts +0 -2
  385. package/src/v4/core/to-json-schema.ts +1 -1
@@ -0,0 +1,100 @@
1
+ export type Schema = ObjectSchema | ArraySchema | StringSchema | NumberSchema | IntegerSchema | BooleanSchema | NullSchema;
2
+ export interface BaseSchema {
3
+ type?: string | undefined;
4
+ $id?: string | undefined;
5
+ id?: string | undefined;
6
+ $schema?: string | undefined;
7
+ $ref?: string | undefined;
8
+ $anchor?: string | undefined;
9
+ $defs?: {
10
+ [key: string]: BaseSchema;
11
+ } | undefined;
12
+ definitions?: {
13
+ [key: string]: BaseSchema;
14
+ } | undefined;
15
+ $comment?: string | undefined;
16
+ title?: string | undefined;
17
+ description?: string | undefined;
18
+ default?: unknown | undefined;
19
+ examples?: unknown[] | undefined;
20
+ readOnly?: boolean | undefined;
21
+ writeOnly?: boolean | undefined;
22
+ deprecated?: boolean | undefined;
23
+ allOf?: BaseSchema[] | undefined;
24
+ anyOf?: BaseSchema[] | undefined;
25
+ oneOf?: BaseSchema[] | undefined;
26
+ not?: BaseSchema | undefined;
27
+ if?: BaseSchema | undefined;
28
+ then?: BaseSchema | undefined;
29
+ else?: BaseSchema | undefined;
30
+ enum?: Array<string | number | boolean | null> | undefined;
31
+ const?: string | number | boolean | null | undefined;
32
+ [k: string]: unknown;
33
+ /** A special key used as an intermediate representation of extends-style relationships. Omitted as a $ref with additional properties. */
34
+ _prefault?: unknown | undefined;
35
+ }
36
+ export interface ObjectSchema extends BaseSchema {
37
+ type: "object";
38
+ properties?: {
39
+ [key: string]: BaseSchema;
40
+ } | undefined;
41
+ patternProperties?: {
42
+ [key: string]: BaseSchema;
43
+ } | undefined;
44
+ additionalProperties?: BaseSchema | boolean | undefined;
45
+ required?: string[] | undefined;
46
+ dependentRequired?: {
47
+ [key: string]: string[];
48
+ } | undefined;
49
+ propertyNames?: BaseSchema | undefined;
50
+ minProperties?: number | undefined;
51
+ maxProperties?: number | undefined;
52
+ unevaluatedProperties?: BaseSchema | boolean | undefined;
53
+ dependentSchemas?: {
54
+ [key: string]: BaseSchema;
55
+ } | undefined;
56
+ }
57
+ export interface ArraySchema extends BaseSchema {
58
+ type: "array";
59
+ items?: BaseSchema | BaseSchema[] | undefined;
60
+ prefixItems?: BaseSchema[] | undefined;
61
+ additionalItems?: BaseSchema | boolean;
62
+ contains?: BaseSchema | undefined;
63
+ minItems?: number | undefined;
64
+ maxItems?: number | undefined;
65
+ minContains?: number | undefined;
66
+ maxContains?: number | undefined;
67
+ uniqueItems?: boolean | undefined;
68
+ unevaluatedItems?: BaseSchema | boolean | undefined;
69
+ }
70
+ export interface StringSchema extends BaseSchema {
71
+ type: "string";
72
+ minLength?: number | undefined;
73
+ maxLength?: number | undefined;
74
+ pattern?: string | undefined;
75
+ format?: string | undefined;
76
+ contentEncoding?: string | undefined;
77
+ contentMediaType?: string | undefined;
78
+ }
79
+ export interface NumberSchema extends BaseSchema {
80
+ type: "number";
81
+ minimum?: number | undefined;
82
+ maximum?: number | undefined;
83
+ exclusiveMinimum?: number | undefined;
84
+ exclusiveMaximum?: number | undefined;
85
+ multipleOf?: number | undefined;
86
+ }
87
+ export interface IntegerSchema extends BaseSchema {
88
+ type: "integer";
89
+ minimum?: number | undefined;
90
+ maximum?: number | undefined;
91
+ exclusiveMinimum?: number | undefined;
92
+ exclusiveMaximum?: number | undefined;
93
+ multipleOf?: number | undefined;
94
+ }
95
+ export interface BooleanSchema extends BaseSchema {
96
+ type: "boolean";
97
+ }
98
+ export interface NullSchema extends BaseSchema {
99
+ type: "null";
100
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ import * as core from "./core.js";
2
+ import * as errors from "./errors.js";
3
+ import type * as schemas from "./schemas.js";
4
+ import * as util from "./util.js";
5
+ export type $ZodErrorClass = {
6
+ new (issues: errors.$ZodIssue[]): errors.$ZodError;
7
+ };
8
+ export type $Parse = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>, _params?: {
9
+ callee?: util.AnyFunc;
10
+ Err?: $ZodErrorClass;
11
+ }) => core.output<T>;
12
+ export declare const _parse: (_Err: $ZodErrorClass) => $Parse;
13
+ export declare const parse: $Parse;
14
+ export type $ParseAsync = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>, _params?: {
15
+ callee?: util.AnyFunc;
16
+ Err?: $ZodErrorClass;
17
+ }) => Promise<core.output<T>>;
18
+ export declare const _parseAsync: (_Err: $ZodErrorClass) => $ParseAsync;
19
+ export declare const parseAsync: $ParseAsync;
20
+ export type $SafeParse = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => util.SafeParseResult<core.output<T>>;
21
+ export declare const _safeParse: (_Err: $ZodErrorClass) => $SafeParse;
22
+ export declare const safeParse: $SafeParse;
23
+ export type $SafeParseAsync = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.output<T>>>;
24
+ export declare const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync;
25
+ export declare const safeParseAsync: $SafeParseAsync;
@@ -0,0 +1,97 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.safeParseAsync = exports._safeParseAsync = exports.safeParse = exports._safeParse = exports.parseAsync = exports._parseAsync = exports.parse = exports._parse = void 0;
37
+ const core = __importStar(require("./core.js"));
38
+ const errors = __importStar(require("./errors.js"));
39
+ const util = __importStar(require("./util.js"));
40
+ const _parse = (_Err) => (schema, value, _ctx, _params) => {
41
+ const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
42
+ const result = schema._zod.run({ value, issues: [] }, ctx);
43
+ if (result instanceof Promise) {
44
+ throw new core.$ZodAsyncError();
45
+ }
46
+ if (result.issues.length) {
47
+ const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));
48
+ Error.captureStackTrace(e, _params?.callee);
49
+ throw e;
50
+ }
51
+ return result.value;
52
+ };
53
+ exports._parse = _parse;
54
+ exports.parse = (0, exports._parse)(errors.$ZodRealError);
55
+ const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
56
+ const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
57
+ let result = schema._zod.run({ value, issues: [] }, ctx);
58
+ if (result instanceof Promise)
59
+ result = await result;
60
+ if (result.issues.length) {
61
+ const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));
62
+ Error.captureStackTrace(e, params?.callee);
63
+ throw e;
64
+ }
65
+ return result.value;
66
+ };
67
+ exports._parseAsync = _parseAsync;
68
+ exports.parseAsync = (0, exports._parseAsync)(errors.$ZodRealError);
69
+ const _safeParse = (_Err) => (schema, value, _ctx) => {
70
+ const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
71
+ const result = schema._zod.run({ value, issues: [] }, ctx);
72
+ if (result instanceof Promise) {
73
+ throw new core.$ZodAsyncError();
74
+ }
75
+ return result.issues.length
76
+ ? {
77
+ success: false,
78
+ error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),
79
+ }
80
+ : { success: true, data: result.value };
81
+ };
82
+ exports._safeParse = _safeParse;
83
+ exports.safeParse = (0, exports._safeParse)(errors.$ZodError);
84
+ const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
85
+ const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
86
+ let result = schema._zod.run({ value, issues: [] }, ctx);
87
+ if (result instanceof Promise)
88
+ result = await result;
89
+ return result.issues.length
90
+ ? {
91
+ success: false,
92
+ error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),
93
+ }
94
+ : { success: true, data: result.value };
95
+ };
96
+ exports._safeParseAsync = _safeParseAsync;
97
+ exports.safeParseAsync = (0, exports._safeParseAsync)(errors.$ZodError);
@@ -0,0 +1,62 @@
1
+ export declare const cuid: RegExp;
2
+ export declare const cuid2: RegExp;
3
+ export declare const ulid: RegExp;
4
+ export declare const xid: RegExp;
5
+ export declare const ksuid: RegExp;
6
+ export declare const nanoid: RegExp;
7
+ /** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */
8
+ export declare const duration: RegExp;
9
+ /** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */
10
+ export declare const extendedDuration: RegExp;
11
+ /** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
12
+ export declare const guid: RegExp;
13
+ /** Returns a regex for validating an RFC 4122 UUID.
14
+ *
15
+ * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
16
+ export declare const uuid: (version?: number | undefined) => RegExp;
17
+ export declare const uuid4: RegExp;
18
+ export declare const uuid6: RegExp;
19
+ export declare const uuid7: RegExp;
20
+ /** Practical email validation */
21
+ export declare const email: RegExp;
22
+ /** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */
23
+ export declare const html5Email: RegExp;
24
+ /** The classic emailregex.com regex for RFC 5322-compliant emails */
25
+ export declare const rfc5322Email: RegExp;
26
+ /** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
27
+ export declare const unicodeEmail: RegExp;
28
+ export declare const browserEmail: RegExp;
29
+ export declare const _emoji = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";
30
+ export declare function emoji(): RegExp;
31
+ export declare const ipv4: RegExp;
32
+ export declare const ipv6: RegExp;
33
+ export declare const cidrv4: RegExp;
34
+ export declare const cidrv6: RegExp;
35
+ export declare const ip: RegExp;
36
+ export declare const base64: RegExp;
37
+ export declare const base64url: RegExp;
38
+ export declare const hostname: RegExp;
39
+ export declare const e164: RegExp;
40
+ export declare const date: RegExp;
41
+ export declare function time(args: {
42
+ precision?: number | null;
43
+ }): RegExp;
44
+ export declare function datetime(args: {
45
+ precision?: number | null;
46
+ offset?: boolean;
47
+ local?: boolean;
48
+ }): RegExp;
49
+ export declare const string: (params?: {
50
+ minimum?: number | undefined;
51
+ maximum?: number | undefined;
52
+ }) => RegExp;
53
+ export declare const bigint: RegExp;
54
+ export declare const integer: RegExp;
55
+ export declare const number: RegExp;
56
+ export declare const boolean: RegExp;
57
+ declare const _null: RegExp;
58
+ export { _null as null };
59
+ declare const _undefined: RegExp;
60
+ export { _undefined as undefined };
61
+ export declare const lowercase: RegExp;
62
+ export declare const uppercase: RegExp;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uppercase = exports.lowercase = exports.undefined = exports.null = exports.boolean = exports.number = exports.integer = exports.bigint = exports.string = exports.date = exports.e164 = exports.hostname = exports.base64url = exports.base64 = exports.ip = exports.cidrv6 = exports.cidrv4 = exports.ipv6 = exports.ipv4 = exports._emoji = exports.browserEmail = exports.unicodeEmail = exports.rfc5322Email = exports.html5Email = exports.email = exports.uuid7 = exports.uuid6 = exports.uuid4 = exports.uuid = exports.guid = exports.extendedDuration = exports.duration = exports.nanoid = exports.ksuid = exports.xid = exports.ulid = exports.cuid2 = exports.cuid = void 0;
4
+ exports.emoji = emoji;
5
+ exports.time = time;
6
+ exports.datetime = datetime;
7
+ exports.cuid = /^[cC][^\s-]{8,}$/;
8
+ exports.cuid2 = /^[0-9a-z]+$/;
9
+ exports.ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
10
+ exports.xid = /^[0-9a-vA-V]{20}$/;
11
+ exports.ksuid = /^[A-Za-z0-9]{27}$/;
12
+ exports.nanoid = /^[a-zA-Z0-9_-]{21}$/;
13
+ /** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */
14
+ exports.duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
15
+ /** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */
16
+ exports.extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
17
+ /** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
18
+ exports.guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
19
+ /** Returns a regex for validating an RFC 4122 UUID.
20
+ *
21
+ * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
22
+ const uuid = (version) => {
23
+ if (!version)
24
+ return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;
25
+ return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
26
+ };
27
+ exports.uuid = uuid;
28
+ exports.uuid4 = (0, exports.uuid)(4);
29
+ exports.uuid6 = (0, exports.uuid)(6);
30
+ exports.uuid7 = (0, exports.uuid)(7);
31
+ /** Practical email validation */
32
+ exports.email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
33
+ /** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */
34
+ exports.html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
35
+ /** The classic emailregex.com regex for RFC 5322-compliant emails */
36
+ exports.rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
37
+ /** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
38
+ exports.unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
39
+ exports.browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
40
+ // from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
41
+ exports._emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
42
+ function emoji() {
43
+ return new RegExp(exports._emoji, "u");
44
+ }
45
+ exports.ipv4 = /^(?:(?: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])$/;
46
+ exports.ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;
47
+ exports.cidrv4 = /^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/;
48
+ exports.cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
49
+ exports.ip = new RegExp(`(${exports.ipv4.source})|(${exports.ipv6.source})`);
50
+ // https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
51
+ exports.base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
52
+ exports.base64url = /^[A-Za-z0-9_-]*$/;
53
+ // based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
54
+ // export const hostname: RegExp =
55
+ // /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/;
56
+ exports.hostname = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
57
+ // https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
58
+ exports.e164 = /^\+(?:[0-9]){6,14}[0-9]$/;
59
+ const dateSource = `((\\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])))`;
60
+ exports.date = new RegExp(`^${dateSource}$`);
61
+ function timeSource(args) {
62
+ // let regex = `\\d{2}:\\d{2}:\\d{2}`;
63
+ let regex = `([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;
64
+ if (args.precision) {
65
+ regex = `${regex}\\.\\d{${args.precision}}`;
66
+ }
67
+ else if (args.precision == null) {
68
+ regex = `${regex}(\\.\\d+)?`;
69
+ }
70
+ return regex;
71
+ }
72
+ function time(args) {
73
+ return new RegExp(`^${timeSource(args)}$`);
74
+ }
75
+ // Adapted from https://stackoverflow.com/a/3143231
76
+ function datetime(args) {
77
+ let regex = `${dateSource}T${timeSource(args)}`;
78
+ const opts = [];
79
+ opts.push(args.local ? `Z?` : `Z`);
80
+ if (args.offset)
81
+ opts.push(`([+-]\\d{2}:?\\d{2})`);
82
+ regex = `${regex}(${opts.join("|")})`;
83
+ return new RegExp(`^${regex}$`);
84
+ }
85
+ const string = (params) => {
86
+ const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
87
+ return new RegExp(`^${regex}$`);
88
+ };
89
+ exports.string = string;
90
+ exports.bigint = /^\d+n?$/;
91
+ exports.integer = /^\d+$/;
92
+ exports.number = /^-?\d+(?:\.\d+)?/i;
93
+ exports.boolean = /true|false/i;
94
+ const _null = /null/i;
95
+ exports.null = _null;
96
+ const _undefined = /undefined/i;
97
+ exports.undefined = _undefined;
98
+ // regex for string with no uppercase letters
99
+ exports.lowercase = /^[^A-Z]*$/;
100
+ // regex for string with no lowercase letters
101
+ exports.uppercase = /^[^a-z]*$/;
@@ -0,0 +1,32 @@
1
+ import type * as core from "./core.js";
2
+ import type { $ZodType } from "./schemas.js";
3
+ export declare const $output: unique symbol;
4
+ export type $output = typeof $output;
5
+ export declare const $input: unique symbol;
6
+ export type $input = typeof $input;
7
+ export type $replace<Meta, S extends $ZodType> = Meta extends $output ? core.output<S> : Meta extends $input ? core.input<S> : Meta extends (infer M)[] ? $replace<M, S>[] : Meta extends object ? {
8
+ [K in keyof Meta]: $replace<Meta[K], S>;
9
+ } : Meta;
10
+ type MetadataType = Record<string, unknown> | undefined;
11
+ export declare class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema extends $ZodType = $ZodType> {
12
+ _meta: Meta;
13
+ _schema: Schema;
14
+ _map: WeakMap<Schema, $replace<Meta, Schema>>;
15
+ _idmap: Map<string, Schema>;
16
+ add<S extends Schema>(schema: S, ..._meta: undefined extends Meta ? [$replace<Meta, S>?] : [$replace<Meta, S>]): this;
17
+ remove(schema: Schema): this;
18
+ get<S extends Schema>(schema: S): $replace<Meta, S> | undefined;
19
+ has(schema: Schema): boolean;
20
+ }
21
+ export interface JSONSchemaMeta {
22
+ id?: string | undefined;
23
+ title?: string | undefined;
24
+ description?: string | undefined;
25
+ examples?: $output[] | undefined;
26
+ [k: string]: unknown;
27
+ }
28
+ export interface GlobalMeta extends JSONSchemaMeta {
29
+ }
30
+ export declare function registry<T extends MetadataType = MetadataType, S extends $ZodType = $ZodType>(): $ZodRegistry<T, S>;
31
+ export declare const globalRegistry: $ZodRegistry<GlobalMeta>;
32
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalRegistry = exports.$ZodRegistry = exports.$input = exports.$output = void 0;
4
+ exports.registry = registry;
5
+ exports.$output = Symbol("ZodOutput");
6
+ exports.$input = Symbol("ZodInput");
7
+ class $ZodRegistry {
8
+ constructor() {
9
+ this._map = new WeakMap();
10
+ this._idmap = new Map();
11
+ }
12
+ add(schema, ..._meta) {
13
+ const meta = _meta[0];
14
+ this._map.set(schema, meta);
15
+ if (meta && typeof meta === "object" && "id" in meta) {
16
+ if (this._idmap.has(meta.id)) {
17
+ throw new Error(`ID ${meta.id} already exists in the registry`);
18
+ }
19
+ this._idmap.set(meta.id, schema);
20
+ }
21
+ return this;
22
+ }
23
+ remove(schema) {
24
+ this._map.delete(schema);
25
+ return this;
26
+ }
27
+ get(schema) {
28
+ // return this._map.get(schema) as any;
29
+ // inherit metadata
30
+ const p = schema._zod.parent;
31
+ if (p) {
32
+ const pm = { ...(this.get(p) ?? {}) };
33
+ delete pm.id; // do not inherit id
34
+ return { ...pm, ...this._map.get(schema) };
35
+ }
36
+ return this._map.get(schema);
37
+ }
38
+ has(schema) {
39
+ return this._map.has(schema);
40
+ }
41
+ }
42
+ exports.$ZodRegistry = $ZodRegistry;
43
+ // registries
44
+ function registry() {
45
+ return new $ZodRegistry();
46
+ }
47
+ exports.globalRegistry = registry();