zod 4.5.3 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/compile.cjs +19 -0
  2. package/index.cjs +19 -0
  3. package/locales/index.cjs +19 -0
  4. package/mini/index.cjs +19 -0
  5. package/package.json +8 -7
  6. package/src/v3/helpers/errorUtil.ts +1 -1
  7. package/src/v4/classic/checks.ts +0 -1
  8. package/src/v4/classic/external.ts +2 -0
  9. package/src/v4/classic/from-json-schema.ts +248 -25
  10. package/src/v4/classic/schemas.ts +255 -164
  11. package/src/v4/classic/tests/assignability.test.ts +59 -9
  12. package/src/v4/classic/tests/bigint.test.ts +6 -0
  13. package/src/v4/classic/tests/continuability.test.ts +2 -2
  14. package/src/v4/classic/tests/cyclic-data.test.ts +316 -0
  15. package/src/v4/classic/tests/default.test.ts +46 -0
  16. package/src/v4/classic/tests/enum.test.ts +9 -0
  17. package/src/v4/classic/tests/error.test.ts +130 -1
  18. package/src/v4/classic/tests/firstparty.test.ts +4 -0
  19. package/src/v4/classic/tests/from-json-schema.test.ts +157 -0
  20. package/src/v4/classic/tests/iban.test.ts +81 -0
  21. package/src/v4/classic/tests/instance-footprint.test.ts +18 -2
  22. package/src/v4/classic/tests/instanceof.test.ts +27 -7
  23. package/src/v4/classic/tests/issue-schema.test.ts +88 -56
  24. package/src/v4/classic/tests/object.test.ts +56 -0
  25. package/src/v4/classic/tests/optin-ladder.test.ts +3 -2
  26. package/src/v4/classic/tests/properties.test.ts +225 -0
  27. package/src/v4/classic/tests/recursive-types.test.ts +1 -1
  28. package/src/v4/classic/tests/standard-schema.test.ts +19 -0
  29. package/src/v4/classic/tests/string.test.ts +25 -0
  30. package/src/v4/classic/tests/template-literal.test.ts +33 -1
  31. package/src/v4/classic/tests/to-json-schema.test.ts +147 -3
  32. package/src/v4/classic/tests/validate.test.ts +569 -0
  33. package/src/v4/core/api.ts +30 -6
  34. package/src/v4/core/checks.ts +1 -101
  35. package/src/v4/core/compile.ts +193 -81
  36. package/src/v4/core/doc.ts +6 -2
  37. package/src/v4/core/errors.ts +3 -6
  38. package/src/v4/core/json-schema-generator.ts +2 -2
  39. package/src/v4/core/json-schema-processors.ts +226 -68
  40. package/src/v4/core/memoizer.ts +162 -36
  41. package/src/v4/core/parse.ts +37 -16
  42. package/src/v4/core/regexes.ts +10 -4
  43. package/src/v4/core/schemas.ts +314 -83
  44. package/src/v4/core/tests/cached.test.ts +54 -0
  45. package/src/v4/core/tests/compile-generative.test.ts +445 -0
  46. package/src/v4/core/tests/compile.test.ts +222 -2
  47. package/src/v4/core/tests/email-regex.test.ts +140 -0
  48. package/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  49. package/src/v4/core/to-json-schema.ts +10 -8
  50. package/src/v4/core/util.ts +222 -147
  51. package/src/v4/core/versions.ts +2 -2
  52. package/src/v4/core/visit.ts +11 -0
  53. package/src/v4/locales/ar.ts +1 -0
  54. package/src/v4/locales/az.ts +1 -0
  55. package/src/v4/locales/be.ts +1 -0
  56. package/src/v4/locales/bg.ts +1 -0
  57. package/src/v4/locales/bn.ts +1 -0
  58. package/src/v4/locales/ca.ts +1 -0
  59. package/src/v4/locales/ckb.ts +1 -0
  60. package/src/v4/locales/cs.ts +1 -0
  61. package/src/v4/locales/da.ts +1 -0
  62. package/src/v4/locales/de.ts +1 -0
  63. package/src/v4/locales/el.ts +1 -0
  64. package/src/v4/locales/en.ts +1 -0
  65. package/src/v4/locales/eo.ts +1 -0
  66. package/src/v4/locales/es.ts +1 -0
  67. package/src/v4/locales/fa.ts +1 -0
  68. package/src/v4/locales/fi.ts +1 -0
  69. package/src/v4/locales/fr-CA.ts +1 -0
  70. package/src/v4/locales/fr.ts +1 -0
  71. package/src/v4/locales/gu.ts +1 -0
  72. package/src/v4/locales/he.ts +1 -0
  73. package/src/v4/locales/hi.ts +1 -0
  74. package/src/v4/locales/hr.ts +1 -0
  75. package/src/v4/locales/hu.ts +1 -0
  76. package/src/v4/locales/hy.ts +1 -0
  77. package/src/v4/locales/id.ts +1 -0
  78. package/src/v4/locales/is.ts +1 -0
  79. package/src/v4/locales/it.ts +1 -0
  80. package/src/v4/locales/ja.ts +1 -0
  81. package/src/v4/locales/ka.ts +1 -0
  82. package/src/v4/locales/km.ts +1 -0
  83. package/src/v4/locales/kn.ts +1 -0
  84. package/src/v4/locales/ko.ts +1 -0
  85. package/src/v4/locales/lt.ts +1 -0
  86. package/src/v4/locales/mk.ts +1 -0
  87. package/src/v4/locales/ms.ts +1 -0
  88. package/src/v4/locales/ne.ts +1 -0
  89. package/src/v4/locales/nl.ts +1 -0
  90. package/src/v4/locales/nn.ts +1 -0
  91. package/src/v4/locales/no.ts +1 -0
  92. package/src/v4/locales/ota.ts +1 -0
  93. package/src/v4/locales/pl.ts +1 -0
  94. package/src/v4/locales/ps.ts +1 -0
  95. package/src/v4/locales/pt-BR.ts +1 -0
  96. package/src/v4/locales/pt.ts +1 -0
  97. package/src/v4/locales/ro.ts +1 -0
  98. package/src/v4/locales/ru.ts +1 -0
  99. package/src/v4/locales/sk.ts +1 -0
  100. package/src/v4/locales/sl.ts +1 -0
  101. package/src/v4/locales/sv.ts +1 -0
  102. package/src/v4/locales/ta.ts +1 -0
  103. package/src/v4/locales/th.ts +1 -0
  104. package/src/v4/locales/tk.ts +1 -0
  105. package/src/v4/locales/tr.ts +1 -0
  106. package/src/v4/locales/uk.ts +1 -0
  107. package/src/v4/locales/ur.ts +1 -0
  108. package/src/v4/locales/uz.ts +1 -0
  109. package/src/v4/locales/vi.ts +1 -0
  110. package/src/v4/locales/yo.ts +1 -0
  111. package/src/v4/locales/zh-CN.ts +1 -0
  112. package/src/v4/locales/zh-TW.ts +1 -0
  113. package/src/v4/mini/checks.ts +0 -1
  114. package/src/v4/mini/external.ts +2 -0
  115. package/src/v4/mini/schemas.ts +38 -2
  116. package/src/v4/mini/tests/checks.test.ts +1 -1
  117. package/src/v4/mini/tests/computed.test.ts +11 -17
  118. package/src/v4/mini/tests/index.test.ts +8 -0
  119. package/src/v4/mini/tests/string.test.ts +16 -0
  120. package/v3/ZodError.cjs +19 -0
  121. package/v3/errors.cjs +19 -0
  122. package/v3/external.cjs +19 -0
  123. package/v3/helpers/enumUtil.cjs +19 -0
  124. package/v3/helpers/errorUtil.cjs +20 -1
  125. package/v3/helpers/errorUtil.js +1 -1
  126. package/v3/helpers/parseUtil.cjs +19 -0
  127. package/v3/helpers/partialUtil.cjs +19 -0
  128. package/v3/helpers/typeAliases.cjs +19 -0
  129. package/v3/helpers/util.cjs +19 -0
  130. package/v3/index.cjs +19 -0
  131. package/v3/standard-schema.cjs +19 -0
  132. package/v3/types.cjs +19 -0
  133. package/v4/classic/checks.cjs +20 -2
  134. package/v4/classic/checks.d.cts +1 -1
  135. package/v4/classic/checks.d.ts +1 -1
  136. package/v4/classic/checks.js +1 -1
  137. package/v4/classic/coerce.cjs +19 -0
  138. package/v4/classic/compat.cjs +19 -0
  139. package/v4/classic/deep-partial.cjs +19 -0
  140. package/v4/classic/errors.cjs +19 -0
  141. package/v4/classic/external.cjs +22 -1
  142. package/v4/classic/external.d.cts +1 -1
  143. package/v4/classic/external.d.ts +1 -1
  144. package/v4/classic/external.js +1 -1
  145. package/v4/classic/from-json-schema.cjs +264 -24
  146. package/v4/classic/from-json-schema.js +245 -24
  147. package/v4/classic/in-out.cjs +19 -0
  148. package/v4/classic/index.cjs +19 -0
  149. package/v4/classic/iso.cjs +19 -0
  150. package/v4/classic/parse.cjs +19 -0
  151. package/v4/classic/schemas.cjs +100 -31
  152. package/v4/classic/schemas.d.cts +17 -1
  153. package/v4/classic/schemas.d.ts +17 -1
  154. package/v4/classic/schemas.js +77 -29
  155. package/v4/core/api.cjs +37 -2
  156. package/v4/core/api.d.cts +6 -4
  157. package/v4/core/api.d.ts +6 -4
  158. package/v4/core/api.js +17 -2
  159. package/v4/core/checks.cjs +19 -96
  160. package/v4/core/checks.d.cts +1 -1
  161. package/v4/core/checks.d.ts +1 -1
  162. package/v4/core/checks.js +0 -96
  163. package/v4/core/compile.cjs +164 -65
  164. package/v4/core/compile.d.cts +18 -4
  165. package/v4/core/compile.d.ts +18 -4
  166. package/v4/core/compile.js +145 -66
  167. package/v4/core/core.cjs +19 -0
  168. package/v4/core/doc.cjs +26 -2
  169. package/v4/core/doc.js +7 -2
  170. package/v4/core/errors.cjs +21 -5
  171. package/v4/core/errors.js +2 -5
  172. package/v4/core/index.cjs +19 -0
  173. package/v4/core/json-schema-generator.cjs +20 -1
  174. package/v4/core/json-schema-generator.js +2 -2
  175. package/v4/core/json-schema-processors.cjs +215 -63
  176. package/v4/core/json-schema-processors.d.cts +17 -0
  177. package/v4/core/json-schema-processors.d.ts +17 -0
  178. package/v4/core/json-schema-processors.js +195 -64
  179. package/v4/core/json-schema.cjs +19 -0
  180. package/v4/core/memoizer.cjs +204 -36
  181. package/v4/core/memoizer.js +162 -36
  182. package/v4/core/parse.cjs +56 -16
  183. package/v4/core/parse.js +37 -16
  184. package/v4/core/regexes.cjs +29 -6
  185. package/v4/core/regexes.d.cts +2 -0
  186. package/v4/core/regexes.d.ts +2 -0
  187. package/v4/core/regexes.js +8 -4
  188. package/v4/core/registries.cjs +19 -0
  189. package/v4/core/schemas.cjs +285 -66
  190. package/v4/core/schemas.d.cts +34 -3
  191. package/v4/core/schemas.d.ts +34 -3
  192. package/v4/core/schemas.js +264 -65
  193. package/v4/core/standard-schema.cjs +19 -0
  194. package/v4/core/to-json-schema.cjs +29 -7
  195. package/v4/core/to-json-schema.d.cts +7 -3
  196. package/v4/core/to-json-schema.d.ts +7 -3
  197. package/v4/core/to-json-schema.js +8 -7
  198. package/v4/core/util.cjs +181 -143
  199. package/v4/core/util.d.cts +25 -4
  200. package/v4/core/util.d.ts +25 -4
  201. package/v4/core/util.js +160 -143
  202. package/v4/core/versions.cjs +21 -2
  203. package/v4/core/versions.d.cts +1 -1
  204. package/v4/core/versions.d.ts +1 -1
  205. package/v4/core/versions.js +2 -2
  206. package/v4/core/visit.cjs +31 -0
  207. package/v4/core/visit.js +12 -0
  208. package/v4/index.cjs +19 -0
  209. package/v4/locales/ar.cjs +1 -0
  210. package/v4/locales/ar.js +1 -0
  211. package/v4/locales/az.cjs +1 -0
  212. package/v4/locales/az.js +1 -0
  213. package/v4/locales/be.cjs +1 -0
  214. package/v4/locales/be.js +1 -0
  215. package/v4/locales/bg.cjs +1 -0
  216. package/v4/locales/bg.js +1 -0
  217. package/v4/locales/bn.cjs +1 -0
  218. package/v4/locales/bn.js +1 -0
  219. package/v4/locales/ca.cjs +1 -0
  220. package/v4/locales/ca.js +1 -0
  221. package/v4/locales/ckb.cjs +1 -0
  222. package/v4/locales/ckb.js +1 -0
  223. package/v4/locales/cs.cjs +1 -0
  224. package/v4/locales/cs.js +1 -0
  225. package/v4/locales/da.cjs +1 -0
  226. package/v4/locales/da.js +1 -0
  227. package/v4/locales/de.cjs +1 -0
  228. package/v4/locales/de.js +1 -0
  229. package/v4/locales/el.cjs +1 -0
  230. package/v4/locales/el.js +1 -0
  231. package/v4/locales/en.cjs +1 -0
  232. package/v4/locales/en.js +1 -0
  233. package/v4/locales/eo.cjs +1 -0
  234. package/v4/locales/eo.js +1 -0
  235. package/v4/locales/es.cjs +1 -0
  236. package/v4/locales/es.js +1 -0
  237. package/v4/locales/fa.cjs +1 -0
  238. package/v4/locales/fa.js +1 -0
  239. package/v4/locales/fi.cjs +1 -0
  240. package/v4/locales/fi.js +1 -0
  241. package/v4/locales/fr-CA.cjs +1 -0
  242. package/v4/locales/fr-CA.js +1 -0
  243. package/v4/locales/fr.cjs +1 -0
  244. package/v4/locales/fr.js +1 -0
  245. package/v4/locales/gu.cjs +1 -0
  246. package/v4/locales/gu.js +1 -0
  247. package/v4/locales/he.cjs +1 -0
  248. package/v4/locales/he.js +1 -0
  249. package/v4/locales/hi.cjs +1 -0
  250. package/v4/locales/hi.js +1 -0
  251. package/v4/locales/hr.cjs +1 -0
  252. package/v4/locales/hr.js +1 -0
  253. package/v4/locales/hu.cjs +1 -0
  254. package/v4/locales/hu.js +1 -0
  255. package/v4/locales/hy.cjs +1 -0
  256. package/v4/locales/hy.js +1 -0
  257. package/v4/locales/id.cjs +1 -0
  258. package/v4/locales/id.js +1 -0
  259. package/v4/locales/index.cjs +19 -0
  260. package/v4/locales/is.cjs +1 -0
  261. package/v4/locales/is.js +1 -0
  262. package/v4/locales/it.cjs +1 -0
  263. package/v4/locales/it.js +1 -0
  264. package/v4/locales/ja.cjs +1 -0
  265. package/v4/locales/ja.js +1 -0
  266. package/v4/locales/ka.cjs +1 -0
  267. package/v4/locales/ka.js +1 -0
  268. package/v4/locales/km.cjs +1 -0
  269. package/v4/locales/km.js +1 -0
  270. package/v4/locales/kn.cjs +1 -0
  271. package/v4/locales/kn.js +1 -0
  272. package/v4/locales/ko.cjs +1 -0
  273. package/v4/locales/ko.js +1 -0
  274. package/v4/locales/lt.cjs +1 -0
  275. package/v4/locales/lt.js +1 -0
  276. package/v4/locales/mk.cjs +1 -0
  277. package/v4/locales/mk.js +1 -0
  278. package/v4/locales/ms.cjs +1 -0
  279. package/v4/locales/ms.js +1 -0
  280. package/v4/locales/ne.cjs +1 -0
  281. package/v4/locales/ne.js +1 -0
  282. package/v4/locales/nl.cjs +1 -0
  283. package/v4/locales/nl.js +1 -0
  284. package/v4/locales/nn.cjs +1 -0
  285. package/v4/locales/nn.js +1 -0
  286. package/v4/locales/no.cjs +1 -0
  287. package/v4/locales/no.js +1 -0
  288. package/v4/locales/ota.cjs +1 -0
  289. package/v4/locales/ota.js +1 -0
  290. package/v4/locales/pl.cjs +1 -0
  291. package/v4/locales/pl.js +1 -0
  292. package/v4/locales/ps.cjs +1 -0
  293. package/v4/locales/ps.js +1 -0
  294. package/v4/locales/pt-BR.cjs +1 -0
  295. package/v4/locales/pt-BR.js +1 -0
  296. package/v4/locales/pt.cjs +1 -0
  297. package/v4/locales/pt.js +1 -0
  298. package/v4/locales/ro.cjs +1 -0
  299. package/v4/locales/ro.js +1 -0
  300. package/v4/locales/ru.cjs +1 -0
  301. package/v4/locales/ru.js +1 -0
  302. package/v4/locales/sk.cjs +1 -0
  303. package/v4/locales/sk.js +1 -0
  304. package/v4/locales/sl.cjs +1 -0
  305. package/v4/locales/sl.js +1 -0
  306. package/v4/locales/sv.cjs +1 -0
  307. package/v4/locales/sv.js +1 -0
  308. package/v4/locales/ta.cjs +1 -0
  309. package/v4/locales/ta.js +1 -0
  310. package/v4/locales/th.cjs +1 -0
  311. package/v4/locales/th.js +1 -0
  312. package/v4/locales/tk.cjs +1 -0
  313. package/v4/locales/tk.js +1 -0
  314. package/v4/locales/tr.cjs +1 -0
  315. package/v4/locales/tr.js +1 -0
  316. package/v4/locales/uk.cjs +1 -0
  317. package/v4/locales/uk.js +1 -0
  318. package/v4/locales/ur.cjs +1 -0
  319. package/v4/locales/ur.js +1 -0
  320. package/v4/locales/uz.cjs +1 -0
  321. package/v4/locales/uz.js +1 -0
  322. package/v4/locales/vi.cjs +1 -0
  323. package/v4/locales/vi.js +1 -0
  324. package/v4/locales/yo.cjs +1 -0
  325. package/v4/locales/yo.js +1 -0
  326. package/v4/locales/zh-CN.cjs +1 -0
  327. package/v4/locales/zh-CN.js +1 -0
  328. package/v4/locales/zh-TW.cjs +1 -0
  329. package/v4/locales/zh-TW.js +1 -0
  330. package/v4/mini/checks.cjs +20 -2
  331. package/v4/mini/checks.d.cts +1 -1
  332. package/v4/mini/checks.d.ts +1 -1
  333. package/v4/mini/checks.js +1 -1
  334. package/v4/mini/coerce.cjs +19 -0
  335. package/v4/mini/deep-partial.cjs +19 -0
  336. package/v4/mini/external.cjs +22 -1
  337. package/v4/mini/external.d.cts +1 -1
  338. package/v4/mini/external.d.ts +1 -1
  339. package/v4/mini/external.js +1 -1
  340. package/v4/mini/in-out.cjs +19 -0
  341. package/v4/mini/index.cjs +19 -0
  342. package/v4/mini/iso.cjs +19 -0
  343. package/v4/mini/parse.cjs +19 -0
  344. package/v4/mini/schemas.cjs +42 -4
  345. package/v4/mini/schemas.d.cts +8 -0
  346. package/v4/mini/schemas.d.ts +8 -0
  347. package/v4/mini/schemas.js +19 -2
  348. package/v4-mini/index.cjs +19 -0
package/v4/core/api.cjs CHANGED
@@ -49,6 +49,7 @@ exports._base64 = _base64;
49
49
  exports._base64url = _base64url;
50
50
  exports._e164 = _e164;
51
51
  exports._creditCard = _creditCard;
52
+ exports._iban = _iban;
52
53
  exports._jwt = _jwt;
53
54
  exports._isoDateTime = _isoDateTime;
54
55
  exports._isoDate = _isoDate;
@@ -404,6 +405,16 @@ function _creditCard(Class, params) {
404
405
  });
405
406
  }
406
407
  // @__NO_SIDE_EFFECTS__
408
+ function _iban(Class, params) {
409
+ return new Class({
410
+ type: "string",
411
+ format: "iban",
412
+ check: "string_format",
413
+ abort: false,
414
+ ...util.normalizeParams(params),
415
+ });
416
+ }
417
+ // @__NO_SIDE_EFFECTS__
407
418
  function _jwt(Class, params) {
408
419
  return new Class({
409
420
  type: "string",
@@ -820,8 +831,13 @@ function _property(property, schema, params) {
820
831
  });
821
832
  }
822
833
  // @__NO_SIDE_EFFECTS__
823
- function _properties(shape) {
824
- return Object.entries(shape).map(([property, schema]) => new checks.$ZodCheckProperty({ check: "property", property, schema }));
834
+ function _properties(Class, shape, params) {
835
+ return new Class({
836
+ type: "properties",
837
+ check: "properties",
838
+ shape,
839
+ ...util.normalizeParams(params),
840
+ });
825
841
  }
826
842
  // @__NO_SIDE_EFFECTS__
827
843
  function _mime(types, params) {
@@ -1244,3 +1260,22 @@ function _stringFormat(Class, format, fnOrRegex, _params = {}) {
1244
1260
  const inst = new Class(def);
1245
1261
  return inst;
1246
1262
  }
1263
+
1264
+ // seal-cjs-exports
1265
+ (function () {
1266
+ var keys = Object.getOwnPropertyNames(exports);
1267
+ for (var i = 0; i < keys.length; i++) {
1268
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
1269
+ if (!desc || !desc.get || !desc.configurable) continue;
1270
+ var value;
1271
+ try {
1272
+ value = desc.get();
1273
+ } catch (e) {
1274
+ continue;
1275
+ }
1276
+ // a circular require may not have settled this one yet, so leave it live
1277
+ if (value === undefined) continue;
1278
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
1279
+ }
1280
+ Object.freeze(exports);
1281
+ })();
package/v4/core/api.d.cts CHANGED
@@ -106,6 +106,9 @@ export declare function _e164<T extends schemas.$ZodE164>(Class: util.SchemaClas
106
106
  export type $ZodCreditCardParams = StringFormatParams<schemas.$ZodCreditCard, "pattern" | "when">;
107
107
  export type $ZodCheckCreditCardParams = CheckStringFormatParams<schemas.$ZodCreditCard, "pattern" | "when">;
108
108
  export declare function _creditCard<T extends schemas.$ZodCreditCard>(Class: util.SchemaClass<T>, params?: string | $ZodCreditCardParams | $ZodCheckCreditCardParams): T;
109
+ export type $ZodIBANParams = StringFormatParams<schemas.$ZodIBAN, "pattern" | "when">;
110
+ export type $ZodCheckIBANParams = CheckStringFormatParams<schemas.$ZodIBAN, "pattern" | "when">;
111
+ export declare function _iban<T extends schemas.$ZodIBAN>(Class: util.SchemaClass<T>, params?: string | $ZodIBANParams | $ZodCheckIBANParams): T;
109
112
  export type $ZodJWTParams = StringFormatParams<schemas.$ZodJWT, "pattern" | "when">;
110
113
  export type $ZodCheckJWTParams = CheckStringFormatParams<schemas.$ZodJWT, "pattern" | "when">;
111
114
  export declare function _jwt<T extends schemas.$ZodJWT>(Class: util.SchemaClass<T>, params?: string | $ZodJWTParams | $ZodCheckJWTParams): T;
@@ -211,11 +214,10 @@ export type $ZodCheckEndsWithParams = CheckParams<checks.$ZodCheckEndsWith, "suf
211
214
  export declare function _endsWith(suffix: string, params?: string | $ZodCheckEndsWithParams): checks.$ZodCheckEndsWith;
212
215
  export type $ZodCheckPropertyParams = CheckParams<checks.$ZodCheckProperty, "property" | "schema" | "when">;
213
216
  export declare function _property<K extends string, T extends schemas.$ZodType>(property: K, schema: T, params?: string | $ZodCheckPropertyParams): checks.$ZodCheckProperty<{
214
- [k in K]: core.output<T>;
217
+ [k in K]: util.Widen<core.input<T>>;
215
218
  }>;
216
- export declare function _properties<Shape extends schemas.$ZodShape>(shape: Shape): checks.$ZodCheckProperty<{
217
- -readonly [k in keyof Shape]: core.output<Shape[k]>;
218
- }>[];
219
+ export type $ZodPropertiesParams = CheckTypeParams<schemas.$ZodProperties, "shape" | "when">;
220
+ export declare function _properties<Shape extends schemas.$ZodShape>(Class: util.SchemaClass<schemas.$ZodProperties>, shape: Shape, params?: string | $ZodPropertiesParams): schemas.$ZodProperties<Shape>;
219
221
  export type $ZodCheckMimeTypeParams = CheckParams<checks.$ZodCheckMimeType, "mime" | "when">;
220
222
  export declare function _mime(types: util.MimeTypes[], params?: string | $ZodCheckMimeTypeParams): checks.$ZodCheckMimeType;
221
223
  export declare function _overwrite<T>(tx: (input: T) => T): checks.$ZodCheckOverwrite<T>;
package/v4/core/api.d.ts CHANGED
@@ -106,6 +106,9 @@ export declare function _e164<T extends schemas.$ZodE164>(Class: util.SchemaClas
106
106
  export type $ZodCreditCardParams = StringFormatParams<schemas.$ZodCreditCard, "pattern" | "when">;
107
107
  export type $ZodCheckCreditCardParams = CheckStringFormatParams<schemas.$ZodCreditCard, "pattern" | "when">;
108
108
  export declare function _creditCard<T extends schemas.$ZodCreditCard>(Class: util.SchemaClass<T>, params?: string | $ZodCreditCardParams | $ZodCheckCreditCardParams): T;
109
+ export type $ZodIBANParams = StringFormatParams<schemas.$ZodIBAN, "pattern" | "when">;
110
+ export type $ZodCheckIBANParams = CheckStringFormatParams<schemas.$ZodIBAN, "pattern" | "when">;
111
+ export declare function _iban<T extends schemas.$ZodIBAN>(Class: util.SchemaClass<T>, params?: string | $ZodIBANParams | $ZodCheckIBANParams): T;
109
112
  export type $ZodJWTParams = StringFormatParams<schemas.$ZodJWT, "pattern" | "when">;
110
113
  export type $ZodCheckJWTParams = CheckStringFormatParams<schemas.$ZodJWT, "pattern" | "when">;
111
114
  export declare function _jwt<T extends schemas.$ZodJWT>(Class: util.SchemaClass<T>, params?: string | $ZodJWTParams | $ZodCheckJWTParams): T;
@@ -211,11 +214,10 @@ export type $ZodCheckEndsWithParams = CheckParams<checks.$ZodCheckEndsWith, "suf
211
214
  export declare function _endsWith(suffix: string, params?: string | $ZodCheckEndsWithParams): checks.$ZodCheckEndsWith;
212
215
  export type $ZodCheckPropertyParams = CheckParams<checks.$ZodCheckProperty, "property" | "schema" | "when">;
213
216
  export declare function _property<K extends string, T extends schemas.$ZodType>(property: K, schema: T, params?: string | $ZodCheckPropertyParams): checks.$ZodCheckProperty<{
214
- [k in K]: core.output<T>;
217
+ [k in K]: util.Widen<core.input<T>>;
215
218
  }>;
216
- export declare function _properties<Shape extends schemas.$ZodShape>(shape: Shape): checks.$ZodCheckProperty<{
217
- -readonly [k in keyof Shape]: core.output<Shape[k]>;
218
- }>[];
219
+ export type $ZodPropertiesParams = CheckTypeParams<schemas.$ZodProperties, "shape" | "when">;
220
+ export declare function _properties<Shape extends schemas.$ZodShape>(Class: util.SchemaClass<schemas.$ZodProperties>, shape: Shape, params?: string | $ZodPropertiesParams): schemas.$ZodProperties<Shape>;
219
221
  export type $ZodCheckMimeTypeParams = CheckParams<checks.$ZodCheckMimeType, "mime" | "when">;
220
222
  export declare function _mime(types: util.MimeTypes[], params?: string | $ZodCheckMimeTypeParams): checks.$ZodCheckMimeType;
221
223
  export declare function _overwrite<T>(tx: (input: T) => T): checks.$ZodCheckOverwrite<T>;
package/v4/core/api.js CHANGED
@@ -256,6 +256,16 @@ export function _creditCard(Class, params) {
256
256
  });
257
257
  }
258
258
  // @__NO_SIDE_EFFECTS__
259
+ export function _iban(Class, params) {
260
+ return new Class({
261
+ type: "string",
262
+ format: "iban",
263
+ check: "string_format",
264
+ abort: false,
265
+ ...util.normalizeParams(params),
266
+ });
267
+ }
268
+ // @__NO_SIDE_EFFECTS__
259
269
  export function _jwt(Class, params) {
260
270
  return new Class({
261
271
  type: "string",
@@ -678,8 +688,13 @@ export function _property(property, schema, params) {
678
688
  });
679
689
  }
680
690
  // @__NO_SIDE_EFFECTS__
681
- export function _properties(shape) {
682
- return Object.entries(shape).map(([property, schema]) => new checks.$ZodCheckProperty({ check: "property", property, schema }));
691
+ export function _properties(Class, shape, params) {
692
+ return new Class({
693
+ type: "properties",
694
+ check: "properties",
695
+ shape,
696
+ ...util.normalizeParams(params),
697
+ });
683
698
  }
684
699
  // @__NO_SIDE_EFFECTS__
685
700
  export function _mime(types, params) {
@@ -52,16 +52,6 @@ const numericOriginMap = {
52
52
  exports.$ZodCheckLessThan = core.$constructor("$ZodCheckLessThan", (inst, def) => {
53
53
  exports.$ZodCheck.init(inst, def);
54
54
  const origin = numericOriginMap[typeof def.value];
55
- inst._zod.onattach.push((inst) => {
56
- const bag = inst._zod.bag;
57
- const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
58
- if (def.value < curr) {
59
- if (def.inclusive)
60
- bag.maximum = def.value;
61
- else
62
- bag.exclusiveMaximum = def.value;
63
- }
64
- });
65
55
  inst._zod.check = (payload) => {
66
56
  if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
67
57
  return;
@@ -80,16 +70,6 @@ exports.$ZodCheckLessThan = core.$constructor("$ZodCheckLessThan", (inst, def) =
80
70
  exports.$ZodCheckGreaterThan = core.$constructor("$ZodCheckGreaterThan", (inst, def) => {
81
71
  exports.$ZodCheck.init(inst, def);
82
72
  const origin = numericOriginMap[typeof def.value];
83
- inst._zod.onattach.push((inst) => {
84
- const bag = inst._zod.bag;
85
- const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
86
- if (def.value > curr) {
87
- if (def.inclusive)
88
- bag.minimum = def.value;
89
- else
90
- bag.exclusiveMinimum = def.value;
91
- }
92
- });
93
73
  inst._zod.check = (payload) => {
94
74
  if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
95
75
  return;
@@ -108,10 +88,6 @@ exports.$ZodCheckGreaterThan = core.$constructor("$ZodCheckGreaterThan", (inst,
108
88
  exports.$ZodCheckMultipleOf =
109
89
  /*@__PURE__*/ core.$constructor("$ZodCheckMultipleOf", (inst, def) => {
110
90
  exports.$ZodCheck.init(inst, def);
111
- inst._zod.onattach.push((inst) => {
112
- var _a;
113
- (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);
114
- });
115
91
  inst._zod.check = (payload) => {
116
92
  if (typeof payload.value !== typeof def.value)
117
93
  throw new Error("Cannot mix number and bigint in multiple_of check.");
@@ -137,14 +113,6 @@ exports.$ZodCheckNumberFormat = core.$constructor("$ZodCheckNumberFormat", (inst
137
113
  const isInt = def.format?.includes("int");
138
114
  const origin = isInt ? "int" : "number";
139
115
  const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];
140
- inst._zod.onattach.push((inst) => {
141
- const bag = inst._zod.bag;
142
- bag.format = def.format;
143
- bag.minimum = minimum;
144
- bag.maximum = maximum;
145
- if (isInt)
146
- bag.pattern = regexes.integer;
147
- });
148
116
  inst._zod.check = (payload) => {
149
117
  const input = payload.value;
150
118
  if (isInt) {
@@ -233,12 +201,6 @@ exports.$ZodCheckNumberFormat = core.$constructor("$ZodCheckNumberFormat", (inst
233
201
  exports.$ZodCheckBigIntFormat = core.$constructor("$ZodCheckBigIntFormat", (inst, def) => {
234
202
  exports.$ZodCheck.init(inst, def); // no format checks
235
203
  const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];
236
- inst._zod.onattach.push((inst) => {
237
- const bag = inst._zod.bag;
238
- bag.format = def.format;
239
- bag.minimum = minimum;
240
- bag.maximum = maximum;
241
- });
242
204
  inst._zod.check = (payload) => {
243
205
  const input = payload.value;
244
206
  if (input < minimum) {
@@ -269,11 +231,6 @@ exports.$ZodCheckMaxSize = core.$constructor("$ZodCheckMaxSize", (inst, def) =>
269
231
  var _a;
270
232
  exports.$ZodCheck.init(inst, def);
271
233
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
272
- inst._zod.onattach.push((inst) => {
273
- const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
274
- if (def.maximum < curr)
275
- inst._zod.bag.maximum = def.maximum;
276
- });
277
234
  inst._zod.check = (payload) => {
278
235
  const input = payload.value;
279
236
  const size = input.size;
@@ -294,11 +251,6 @@ exports.$ZodCheckMinSize = core.$constructor("$ZodCheckMinSize", (inst, def) =>
294
251
  var _a;
295
252
  exports.$ZodCheck.init(inst, def);
296
253
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
297
- inst._zod.onattach.push((inst) => {
298
- const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
299
- if (def.minimum > curr)
300
- inst._zod.bag.minimum = def.minimum;
301
- });
302
254
  inst._zod.check = (payload) => {
303
255
  const input = payload.value;
304
256
  const size = input.size;
@@ -319,12 +271,6 @@ exports.$ZodCheckSizeEquals = core.$constructor("$ZodCheckSizeEquals", (inst, de
319
271
  var _a;
320
272
  exports.$ZodCheck.init(inst, def);
321
273
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
322
- inst._zod.onattach.push((inst) => {
323
- const bag = inst._zod.bag;
324
- bag.minimum = def.size;
325
- bag.maximum = def.size;
326
- bag.size = def.size;
327
- });
328
274
  inst._zod.check = (payload) => {
329
275
  const input = payload.value;
330
276
  const size = input.size;
@@ -346,11 +292,6 @@ exports.$ZodCheckMaxLength = core.$constructor("$ZodCheckMaxLength", (inst, def)
346
292
  var _a;
347
293
  exports.$ZodCheck.init(inst, def);
348
294
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
349
- inst._zod.onattach.push((inst) => {
350
- const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
351
- if (def.maximum < curr)
352
- inst._zod.bag.maximum = def.maximum;
353
- });
354
295
  inst._zod.check = (payload) => {
355
296
  const input = payload.value;
356
297
  const units = input.length;
@@ -374,11 +315,6 @@ exports.$ZodCheckMinLength = core.$constructor("$ZodCheckMinLength", (inst, def)
374
315
  var _a;
375
316
  exports.$ZodCheck.init(inst, def);
376
317
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
377
- inst._zod.onattach.push((inst) => {
378
- const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
379
- if (def.minimum > curr)
380
- inst._zod.bag.minimum = def.minimum;
381
- });
382
318
  inst._zod.check = (payload) => {
383
319
  const input = payload.value;
384
320
  const units = input.length;
@@ -404,12 +340,6 @@ exports.$ZodCheckLengthEquals = core.$constructor("$ZodCheckLengthEquals", (inst
404
340
  var _a;
405
341
  exports.$ZodCheck.init(inst, def);
406
342
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
407
- inst._zod.onattach.push((inst) => {
408
- const bag = inst._zod.bag;
409
- bag.minimum = def.length;
410
- bag.maximum = def.length;
411
- bag.length = def.length;
412
- });
413
343
  inst._zod.check = (payload) => {
414
344
  const input = payload.value;
415
345
  const units = input.length;
@@ -435,14 +365,6 @@ exports.$ZodCheckLengthEquals = core.$constructor("$ZodCheckLengthEquals", (inst
435
365
  exports.$ZodCheckStringFormat = core.$constructor("$ZodCheckStringFormat", (inst, def) => {
436
366
  var _a, _b;
437
367
  exports.$ZodCheck.init(inst, def);
438
- inst._zod.onattach.push((inst) => {
439
- const bag = inst._zod.bag;
440
- bag.format = def.format;
441
- if (def.pattern) {
442
- bag.patterns ?? (bag.patterns = new Set());
443
- bag.patterns.add(def.pattern);
444
- }
445
- });
446
368
  if (def.pattern)
447
369
  (_a = inst._zod).check ?? (_a.check = (payload) => {
448
370
  def.pattern.lastIndex = 0;
@@ -494,11 +416,6 @@ exports.$ZodCheckIncludes = core.$constructor("$ZodCheckIncludes", (inst, def) =
494
416
  // (`{N,}`), not exactly `position` chars (`{N}`).
495
417
  const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position},}${escapedRegex}` : escapedRegex);
496
418
  def.pattern = pattern;
497
- inst._zod.onattach.push((inst) => {
498
- const bag = inst._zod.bag;
499
- bag.patterns ?? (bag.patterns = new Set());
500
- bag.patterns.add(pattern);
501
- });
502
419
  inst._zod.check = (payload) => {
503
420
  if (payload.value.includes(def.includes, def.position))
504
421
  return;
@@ -517,11 +434,6 @@ exports.$ZodCheckStartsWith = core.$constructor("$ZodCheckStartsWith", (inst, de
517
434
  exports.$ZodCheck.init(inst, def);
518
435
  const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);
519
436
  def.pattern ?? (def.pattern = pattern);
520
- inst._zod.onattach.push((inst) => {
521
- const bag = inst._zod.bag;
522
- bag.patterns ?? (bag.patterns = new Set());
523
- bag.patterns.add(pattern);
524
- });
525
437
  inst._zod.check = (payload) => {
526
438
  if (payload.value.startsWith(def.prefix))
527
439
  return;
@@ -540,11 +452,6 @@ exports.$ZodCheckEndsWith = core.$constructor("$ZodCheckEndsWith", (inst, def) =
540
452
  exports.$ZodCheck.init(inst, def);
541
453
  const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);
542
454
  def.pattern ?? (def.pattern = pattern);
543
- inst._zod.onattach.push((inst) => {
544
- const bag = inst._zod.bag;
545
- bag.patterns ?? (bag.patterns = new Set());
546
- bag.patterns.add(pattern);
547
- });
548
455
  inst._zod.check = (payload) => {
549
456
  if (payload.value.endsWith(def.suffix))
550
457
  return;
@@ -584,9 +491,6 @@ exports.$ZodCheckProperty = core.$constructor("$ZodCheckProperty", (inst, def) =
584
491
  exports.$ZodCheckMimeType = core.$constructor("$ZodCheckMimeType", (inst, def) => {
585
492
  exports.$ZodCheck.init(inst, def);
586
493
  const mimeSet = new Set(def.mime);
587
- inst._zod.onattach.push((inst) => {
588
- inst._zod.bag.mime = def.mime;
589
- });
590
494
  inst._zod.check = (payload) => {
591
495
  if (mimeSet.has(payload.value.type))
592
496
  return;
@@ -605,3 +509,22 @@ exports.$ZodCheckOverwrite = core.$constructor("$ZodCheckOverwrite", (inst, def)
605
509
  payload.value = def.tx(payload.value);
606
510
  };
607
511
  });
512
+
513
+ // seal-cjs-exports
514
+ (function () {
515
+ var keys = Object.getOwnPropertyNames(exports);
516
+ for (var i = 0; i < keys.length; i++) {
517
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
518
+ if (!desc || !desc.get || !desc.configurable) continue;
519
+ var value;
520
+ try {
521
+ value = desc.get();
522
+ } catch (e) {
523
+ continue;
524
+ }
525
+ // a circular require may not have settled this one yet, so leave it live
526
+ if (value === undefined) continue;
527
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
528
+ }
529
+ Object.freeze(exports);
530
+ })();
@@ -157,7 +157,7 @@ export interface $ZodCheckLengthEquals<T extends util.HasLength = util.HasLength
157
157
  _zod: $ZodCheckLengthEqualsInternals<T>;
158
158
  }
159
159
  export declare const $ZodCheckLengthEquals: core.$constructor<$ZodCheckLengthEquals>;
160
- export type $ZodStringFormats = "email" | "url" | "emoji" | "uuid" | "guid" | "nanoid" | "cuid" | "cuid2" | "ulid" | "xid" | "ksuid" | "datetime" | "date" | "time" | "duration" | "ipv4" | "ipv6" | "cidrv4" | "cidrv6" | "base64" | "base64url" | "json_string" | "e164" | "credit_card" | "lowercase" | "uppercase" | "regex" | "jwt" | "starts_with" | "ends_with" | "includes";
160
+ export type $ZodStringFormats = "email" | "url" | "emoji" | "uuid" | "guid" | "nanoid" | "cuid" | "cuid2" | "ulid" | "xid" | "ksuid" | "datetime" | "date" | "time" | "duration" | "ipv4" | "ipv6" | "cidrv4" | "cidrv6" | "base64" | "base64url" | "json_string" | "e164" | "credit_card" | "iban" | "lowercase" | "uppercase" | "regex" | "jwt" | "starts_with" | "ends_with" | "includes";
161
161
  export interface $ZodCheckStringFormatDef<Format extends string = string> extends $ZodCheckDef {
162
162
  check: "string_format";
163
163
  format: Format;
@@ -157,7 +157,7 @@ export interface $ZodCheckLengthEquals<T extends util.HasLength = util.HasLength
157
157
  _zod: $ZodCheckLengthEqualsInternals<T>;
158
158
  }
159
159
  export declare const $ZodCheckLengthEquals: core.$constructor<$ZodCheckLengthEquals>;
160
- export type $ZodStringFormats = "email" | "url" | "emoji" | "uuid" | "guid" | "nanoid" | "cuid" | "cuid2" | "ulid" | "xid" | "ksuid" | "datetime" | "date" | "time" | "duration" | "ipv4" | "ipv6" | "cidrv4" | "cidrv6" | "base64" | "base64url" | "json_string" | "e164" | "credit_card" | "lowercase" | "uppercase" | "regex" | "jwt" | "starts_with" | "ends_with" | "includes";
160
+ export type $ZodStringFormats = "email" | "url" | "emoji" | "uuid" | "guid" | "nanoid" | "cuid" | "cuid2" | "ulid" | "xid" | "ksuid" | "datetime" | "date" | "time" | "duration" | "ipv4" | "ipv6" | "cidrv4" | "cidrv6" | "base64" | "base64url" | "json_string" | "e164" | "credit_card" | "iban" | "lowercase" | "uppercase" | "regex" | "jwt" | "starts_with" | "ends_with" | "includes";
161
161
  export interface $ZodCheckStringFormatDef<Format extends string = string> extends $ZodCheckDef {
162
162
  check: "string_format";
163
163
  format: Format;
package/v4/core/checks.js CHANGED
@@ -26,16 +26,6 @@ const numericOriginMap = {
26
26
  export const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor("$ZodCheckLessThan", (inst, def) => {
27
27
  $ZodCheck.init(inst, def);
28
28
  const origin = numericOriginMap[typeof def.value];
29
- inst._zod.onattach.push((inst) => {
30
- const bag = inst._zod.bag;
31
- const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
32
- if (def.value < curr) {
33
- if (def.inclusive)
34
- bag.maximum = def.value;
35
- else
36
- bag.exclusiveMaximum = def.value;
37
- }
38
- });
39
29
  inst._zod.check = (payload) => {
40
30
  if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
41
31
  return;
@@ -54,16 +44,6 @@ export const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor("$ZodCheckLessT
54
44
  export const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor("$ZodCheckGreaterThan", (inst, def) => {
55
45
  $ZodCheck.init(inst, def);
56
46
  const origin = numericOriginMap[typeof def.value];
57
- inst._zod.onattach.push((inst) => {
58
- const bag = inst._zod.bag;
59
- const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
60
- if (def.value > curr) {
61
- if (def.inclusive)
62
- bag.minimum = def.value;
63
- else
64
- bag.exclusiveMinimum = def.value;
65
- }
66
- });
67
47
  inst._zod.check = (payload) => {
68
48
  if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
69
49
  return;
@@ -82,10 +62,6 @@ export const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor("$ZodCheckGr
82
62
  export const $ZodCheckMultipleOf =
83
63
  /*@__PURE__*/ core.$constructor("$ZodCheckMultipleOf", (inst, def) => {
84
64
  $ZodCheck.init(inst, def);
85
- inst._zod.onattach.push((inst) => {
86
- var _a;
87
- (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);
88
- });
89
65
  inst._zod.check = (payload) => {
90
66
  if (typeof payload.value !== typeof def.value)
91
67
  throw new Error("Cannot mix number and bigint in multiple_of check.");
@@ -111,14 +87,6 @@ export const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor("$ZodCheckN
111
87
  const isInt = def.format?.includes("int");
112
88
  const origin = isInt ? "int" : "number";
113
89
  const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];
114
- inst._zod.onattach.push((inst) => {
115
- const bag = inst._zod.bag;
116
- bag.format = def.format;
117
- bag.minimum = minimum;
118
- bag.maximum = maximum;
119
- if (isInt)
120
- bag.pattern = regexes.integer;
121
- });
122
90
  inst._zod.check = (payload) => {
123
91
  const input = payload.value;
124
92
  if (isInt) {
@@ -207,12 +175,6 @@ export const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor("$ZodCheckN
207
175
  export const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor("$ZodCheckBigIntFormat", (inst, def) => {
208
176
  $ZodCheck.init(inst, def); // no format checks
209
177
  const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];
210
- inst._zod.onattach.push((inst) => {
211
- const bag = inst._zod.bag;
212
- bag.format = def.format;
213
- bag.minimum = minimum;
214
- bag.maximum = maximum;
215
- });
216
178
  inst._zod.check = (payload) => {
217
179
  const input = payload.value;
218
180
  if (input < minimum) {
@@ -243,11 +205,6 @@ export const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor("$ZodCheckMaxSiz
243
205
  var _a;
244
206
  $ZodCheck.init(inst, def);
245
207
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
246
- inst._zod.onattach.push((inst) => {
247
- const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
248
- if (def.maximum < curr)
249
- inst._zod.bag.maximum = def.maximum;
250
- });
251
208
  inst._zod.check = (payload) => {
252
209
  const input = payload.value;
253
210
  const size = input.size;
@@ -268,11 +225,6 @@ export const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor("$ZodCheckMinSiz
268
225
  var _a;
269
226
  $ZodCheck.init(inst, def);
270
227
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
271
- inst._zod.onattach.push((inst) => {
272
- const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
273
- if (def.minimum > curr)
274
- inst._zod.bag.minimum = def.minimum;
275
- });
276
228
  inst._zod.check = (payload) => {
277
229
  const input = payload.value;
278
230
  const size = input.size;
@@ -293,12 +245,6 @@ export const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor("$ZodCheckSiz
293
245
  var _a;
294
246
  $ZodCheck.init(inst, def);
295
247
  (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);
296
- inst._zod.onattach.push((inst) => {
297
- const bag = inst._zod.bag;
298
- bag.minimum = def.size;
299
- bag.maximum = def.size;
300
- bag.size = def.size;
301
- });
302
248
  inst._zod.check = (payload) => {
303
249
  const input = payload.value;
304
250
  const size = input.size;
@@ -320,11 +266,6 @@ export const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor("$ZodCheckMaxL
320
266
  var _a;
321
267
  $ZodCheck.init(inst, def);
322
268
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
323
- inst._zod.onattach.push((inst) => {
324
- const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
325
- if (def.maximum < curr)
326
- inst._zod.bag.maximum = def.maximum;
327
- });
328
269
  inst._zod.check = (payload) => {
329
270
  const input = payload.value;
330
271
  const units = input.length;
@@ -348,11 +289,6 @@ export const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor("$ZodCheckMinL
348
289
  var _a;
349
290
  $ZodCheck.init(inst, def);
350
291
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
351
- inst._zod.onattach.push((inst) => {
352
- const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
353
- if (def.minimum > curr)
354
- inst._zod.bag.minimum = def.minimum;
355
- });
356
292
  inst._zod.check = (payload) => {
357
293
  const input = payload.value;
358
294
  const units = input.length;
@@ -378,12 +314,6 @@ export const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor("$ZodCheckL
378
314
  var _a;
379
315
  $ZodCheck.init(inst, def);
380
316
  (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);
381
- inst._zod.onattach.push((inst) => {
382
- const bag = inst._zod.bag;
383
- bag.minimum = def.length;
384
- bag.maximum = def.length;
385
- bag.length = def.length;
386
- });
387
317
  inst._zod.check = (payload) => {
388
318
  const input = payload.value;
389
319
  const units = input.length;
@@ -409,14 +339,6 @@ export const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor("$ZodCheckL
409
339
  export const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor("$ZodCheckStringFormat", (inst, def) => {
410
340
  var _a, _b;
411
341
  $ZodCheck.init(inst, def);
412
- inst._zod.onattach.push((inst) => {
413
- const bag = inst._zod.bag;
414
- bag.format = def.format;
415
- if (def.pattern) {
416
- bag.patterns ?? (bag.patterns = new Set());
417
- bag.patterns.add(def.pattern);
418
- }
419
- });
420
342
  if (def.pattern)
421
343
  (_a = inst._zod).check ?? (_a.check = (payload) => {
422
344
  def.pattern.lastIndex = 0;
@@ -468,11 +390,6 @@ export const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor("$ZodCheckInclu
468
390
  // (`{N,}`), not exactly `position` chars (`{N}`).
469
391
  const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position},}${escapedRegex}` : escapedRegex);
470
392
  def.pattern = pattern;
471
- inst._zod.onattach.push((inst) => {
472
- const bag = inst._zod.bag;
473
- bag.patterns ?? (bag.patterns = new Set());
474
- bag.patterns.add(pattern);
475
- });
476
393
  inst._zod.check = (payload) => {
477
394
  if (payload.value.includes(def.includes, def.position))
478
395
  return;
@@ -491,11 +408,6 @@ export const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor("$ZodCheckSta
491
408
  $ZodCheck.init(inst, def);
492
409
  const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);
493
410
  def.pattern ?? (def.pattern = pattern);
494
- inst._zod.onattach.push((inst) => {
495
- const bag = inst._zod.bag;
496
- bag.patterns ?? (bag.patterns = new Set());
497
- bag.patterns.add(pattern);
498
- });
499
411
  inst._zod.check = (payload) => {
500
412
  if (payload.value.startsWith(def.prefix))
501
413
  return;
@@ -514,11 +426,6 @@ export const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor("$ZodCheckEndsW
514
426
  $ZodCheck.init(inst, def);
515
427
  const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);
516
428
  def.pattern ?? (def.pattern = pattern);
517
- inst._zod.onattach.push((inst) => {
518
- const bag = inst._zod.bag;
519
- bag.patterns ?? (bag.patterns = new Set());
520
- bag.patterns.add(pattern);
521
- });
522
429
  inst._zod.check = (payload) => {
523
430
  if (payload.value.endsWith(def.suffix))
524
431
  return;
@@ -558,9 +465,6 @@ export const $ZodCheckProperty = /*@__PURE__*/ core.$constructor("$ZodCheckPrope
558
465
  export const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor("$ZodCheckMimeType", (inst, def) => {
559
466
  $ZodCheck.init(inst, def);
560
467
  const mimeSet = new Set(def.mime);
561
- inst._zod.onattach.push((inst) => {
562
- inst._zod.bag.mime = def.mime;
563
- });
564
468
  inst._zod.check = (payload) => {
565
469
  if (mimeSet.has(payload.value.type))
566
470
  return;