zod 4.5.4 → 4.6.1
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.
- package/compile.cjs +19 -0
- package/index.cjs +19 -0
- package/locales/index.cjs +19 -0
- package/mini/index.cjs +19 -0
- package/package.json +8 -7
- package/src/v3/helpers/errorUtil.ts +1 -1
- package/src/v4/classic/checks.ts +0 -1
- package/src/v4/classic/external.ts +2 -0
- package/src/v4/classic/from-json-schema.ts +248 -25
- package/src/v4/classic/schemas.ts +255 -164
- package/src/v4/classic/tests/assignability.test.ts +59 -9
- package/src/v4/classic/tests/bigint.test.ts +6 -0
- package/src/v4/classic/tests/continuability.test.ts +2 -2
- package/src/v4/classic/tests/cyclic-data.test.ts +274 -0
- package/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
- package/src/v4/classic/tests/enum.test.ts +9 -0
- package/src/v4/classic/tests/error.test.ts +130 -1
- package/src/v4/classic/tests/firstparty.test.ts +4 -0
- package/src/v4/classic/tests/from-json-schema.test.ts +157 -0
- package/src/v4/classic/tests/iban.test.ts +81 -0
- package/src/v4/classic/tests/instance-footprint.test.ts +18 -2
- package/src/v4/classic/tests/instanceof.test.ts +27 -7
- package/src/v4/classic/tests/issue-schema.test.ts +88 -56
- package/src/v4/classic/tests/object.test.ts +56 -0
- package/src/v4/classic/tests/optin-ladder.test.ts +3 -2
- package/src/v4/classic/tests/properties.test.ts +225 -0
- package/src/v4/classic/tests/recursive-types.test.ts +46 -1
- package/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/src/v4/classic/tests/string.test.ts +25 -0
- package/src/v4/classic/tests/template-literal.test.ts +33 -1
- package/src/v4/classic/tests/to-json-schema.test.ts +147 -3
- package/src/v4/classic/tests/validate.test.ts +569 -0
- package/src/v4/core/api.ts +30 -6
- package/src/v4/core/checks.ts +1 -101
- package/src/v4/core/compile.ts +194 -82
- package/src/v4/core/doc.ts +6 -2
- package/src/v4/core/errors.ts +3 -6
- package/src/v4/core/json-schema-generator.ts +2 -2
- package/src/v4/core/json-schema-processors.ts +226 -68
- package/src/v4/core/memoizer.ts +78 -28
- package/src/v4/core/parse.ts +37 -16
- package/src/v4/core/regexes.ts +10 -4
- package/src/v4/core/schemas.ts +350 -113
- package/src/v4/core/tests/cached.test.ts +54 -0
- package/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/src/v4/core/tests/compile.test.ts +222 -2
- package/src/v4/core/tests/email-regex.test.ts +140 -0
- package/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/src/v4/core/to-json-schema.ts +10 -8
- package/src/v4/core/util.ts +222 -147
- package/src/v4/core/versions.ts +2 -2
- package/src/v4/core/visit.ts +11 -0
- package/src/v4/locales/ar.ts +1 -0
- package/src/v4/locales/az.ts +1 -0
- package/src/v4/locales/be.ts +1 -0
- package/src/v4/locales/bg.ts +1 -0
- package/src/v4/locales/bn.ts +1 -0
- package/src/v4/locales/ca.ts +1 -0
- package/src/v4/locales/ckb.ts +1 -0
- package/src/v4/locales/cs.ts +1 -0
- package/src/v4/locales/da.ts +1 -0
- package/src/v4/locales/de.ts +1 -0
- package/src/v4/locales/el.ts +1 -0
- package/src/v4/locales/en.ts +1 -0
- package/src/v4/locales/eo.ts +1 -0
- package/src/v4/locales/es.ts +1 -0
- package/src/v4/locales/fa.ts +1 -0
- package/src/v4/locales/fi.ts +1 -0
- package/src/v4/locales/fr-CA.ts +1 -0
- package/src/v4/locales/fr.ts +1 -0
- package/src/v4/locales/gu.ts +1 -0
- package/src/v4/locales/he.ts +1 -0
- package/src/v4/locales/hi.ts +1 -0
- package/src/v4/locales/hr.ts +1 -0
- package/src/v4/locales/hu.ts +1 -0
- package/src/v4/locales/hy.ts +1 -0
- package/src/v4/locales/id.ts +1 -0
- package/src/v4/locales/index.ts +1 -0
- package/src/v4/locales/is.ts +1 -0
- package/src/v4/locales/it.ts +1 -0
- package/src/v4/locales/ja.ts +1 -0
- package/src/v4/locales/ka.ts +1 -0
- package/src/v4/locales/km.ts +1 -0
- package/src/v4/locales/kn.ts +1 -0
- package/src/v4/locales/ko.ts +1 -0
- package/src/v4/locales/lt.ts +1 -0
- package/src/v4/locales/mk.ts +1 -0
- package/src/v4/locales/ms.ts +1 -0
- package/src/v4/locales/ne.ts +1 -0
- package/src/v4/locales/nl.ts +1 -0
- package/src/v4/locales/nn.ts +1 -0
- package/src/v4/locales/no.ts +1 -0
- package/src/v4/locales/ota.ts +1 -0
- package/src/v4/locales/pl.ts +1 -0
- package/src/v4/locales/ps.ts +1 -0
- package/src/v4/locales/pt-BR.ts +1 -0
- package/src/v4/locales/pt.ts +1 -0
- package/src/v4/locales/ro.ts +1 -0
- package/src/v4/locales/ru.ts +1 -0
- package/src/v4/locales/sk.ts +1 -0
- package/src/v4/locales/sl.ts +1 -0
- package/src/v4/locales/sv.ts +1 -0
- package/src/v4/locales/ta.ts +1 -0
- package/src/v4/locales/tg.ts +134 -0
- package/src/v4/locales/th.ts +1 -0
- package/src/v4/locales/tk.ts +1 -0
- package/src/v4/locales/tr.ts +1 -0
- package/src/v4/locales/uk.ts +1 -0
- package/src/v4/locales/ur.ts +1 -0
- package/src/v4/locales/uz.ts +1 -0
- package/src/v4/locales/vi.ts +1 -0
- package/src/v4/locales/yo.ts +1 -0
- package/src/v4/locales/zh-CN.ts +1 -0
- package/src/v4/locales/zh-TW.ts +1 -0
- package/src/v4/mini/checks.ts +0 -1
- package/src/v4/mini/external.ts +2 -0
- package/src/v4/mini/schemas.ts +38 -2
- package/src/v4/mini/tests/checks.test.ts +1 -1
- package/src/v4/mini/tests/computed.test.ts +11 -17
- package/src/v4/mini/tests/index.test.ts +8 -0
- package/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/src/v4/mini/tests/string.test.ts +16 -0
- package/v3/ZodError.cjs +19 -0
- package/v3/errors.cjs +19 -0
- package/v3/external.cjs +19 -0
- package/v3/helpers/enumUtil.cjs +19 -0
- package/v3/helpers/errorUtil.cjs +20 -1
- package/v3/helpers/errorUtil.js +1 -1
- package/v3/helpers/parseUtil.cjs +19 -0
- package/v3/helpers/partialUtil.cjs +19 -0
- package/v3/helpers/typeAliases.cjs +19 -0
- package/v3/helpers/util.cjs +19 -0
- package/v3/index.cjs +19 -0
- package/v3/standard-schema.cjs +19 -0
- package/v3/types.cjs +19 -0
- package/v4/classic/checks.cjs +20 -2
- package/v4/classic/checks.d.cts +1 -1
- package/v4/classic/checks.d.ts +1 -1
- package/v4/classic/checks.js +1 -1
- package/v4/classic/coerce.cjs +19 -0
- package/v4/classic/compat.cjs +19 -0
- package/v4/classic/deep-partial.cjs +19 -0
- package/v4/classic/errors.cjs +19 -0
- package/v4/classic/external.cjs +22 -1
- package/v4/classic/external.d.cts +1 -1
- package/v4/classic/external.d.ts +1 -1
- package/v4/classic/external.js +1 -1
- package/v4/classic/from-json-schema.cjs +264 -24
- package/v4/classic/from-json-schema.js +245 -24
- package/v4/classic/in-out.cjs +19 -0
- package/v4/classic/index.cjs +19 -0
- package/v4/classic/iso.cjs +19 -0
- package/v4/classic/parse.cjs +19 -0
- package/v4/classic/schemas.cjs +100 -31
- package/v4/classic/schemas.d.cts +17 -1
- package/v4/classic/schemas.d.ts +17 -1
- package/v4/classic/schemas.js +77 -29
- package/v4/core/api.cjs +37 -2
- package/v4/core/api.d.cts +6 -4
- package/v4/core/api.d.ts +6 -4
- package/v4/core/api.js +17 -2
- package/v4/core/checks.cjs +19 -96
- package/v4/core/checks.d.cts +1 -1
- package/v4/core/checks.d.ts +1 -1
- package/v4/core/checks.js +0 -96
- package/v4/core/compile.cjs +165 -66
- package/v4/core/compile.d.cts +18 -4
- package/v4/core/compile.d.ts +18 -4
- package/v4/core/compile.js +146 -67
- package/v4/core/core.cjs +19 -0
- package/v4/core/doc.cjs +26 -2
- package/v4/core/doc.js +7 -2
- package/v4/core/errors.cjs +21 -5
- package/v4/core/errors.js +2 -5
- package/v4/core/index.cjs +19 -0
- package/v4/core/json-schema-generator.cjs +20 -1
- package/v4/core/json-schema-generator.js +2 -2
- package/v4/core/json-schema-processors.cjs +215 -63
- package/v4/core/json-schema-processors.d.cts +17 -0
- package/v4/core/json-schema-processors.d.ts +17 -0
- package/v4/core/json-schema-processors.js +195 -64
- package/v4/core/json-schema.cjs +19 -0
- package/v4/core/memoizer.cjs +114 -23
- package/v4/core/memoizer.js +72 -23
- package/v4/core/parse.cjs +56 -16
- package/v4/core/parse.js +37 -16
- package/v4/core/regexes.cjs +29 -6
- package/v4/core/regexes.d.cts +2 -0
- package/v4/core/regexes.d.ts +2 -0
- package/v4/core/regexes.js +8 -4
- package/v4/core/registries.cjs +19 -0
- package/v4/core/schemas.cjs +322 -95
- package/v4/core/schemas.d.cts +42 -7
- package/v4/core/schemas.d.ts +42 -7
- package/v4/core/schemas.js +301 -94
- package/v4/core/standard-schema.cjs +19 -0
- package/v4/core/to-json-schema.cjs +29 -7
- package/v4/core/to-json-schema.d.cts +7 -3
- package/v4/core/to-json-schema.d.ts +7 -3
- package/v4/core/to-json-schema.js +8 -7
- package/v4/core/util.cjs +181 -143
- package/v4/core/util.d.cts +25 -4
- package/v4/core/util.d.ts +25 -4
- package/v4/core/util.js +160 -143
- package/v4/core/versions.cjs +21 -2
- package/v4/core/versions.d.cts +1 -1
- package/v4/core/versions.d.ts +1 -1
- package/v4/core/versions.js +2 -2
- package/v4/core/visit.cjs +31 -0
- package/v4/core/visit.js +12 -0
- package/v4/index.cjs +19 -0
- package/v4/locales/ar.cjs +1 -0
- package/v4/locales/ar.js +1 -0
- package/v4/locales/az.cjs +1 -0
- package/v4/locales/az.js +1 -0
- package/v4/locales/be.cjs +1 -0
- package/v4/locales/be.js +1 -0
- package/v4/locales/bg.cjs +1 -0
- package/v4/locales/bg.js +1 -0
- package/v4/locales/bn.cjs +1 -0
- package/v4/locales/bn.js +1 -0
- package/v4/locales/ca.cjs +1 -0
- package/v4/locales/ca.js +1 -0
- package/v4/locales/ckb.cjs +1 -0
- package/v4/locales/ckb.js +1 -0
- package/v4/locales/cs.cjs +1 -0
- package/v4/locales/cs.js +1 -0
- package/v4/locales/da.cjs +1 -0
- package/v4/locales/da.js +1 -0
- package/v4/locales/de.cjs +1 -0
- package/v4/locales/de.js +1 -0
- package/v4/locales/el.cjs +1 -0
- package/v4/locales/el.js +1 -0
- package/v4/locales/en.cjs +1 -0
- package/v4/locales/en.js +1 -0
- package/v4/locales/eo.cjs +1 -0
- package/v4/locales/eo.js +1 -0
- package/v4/locales/es.cjs +1 -0
- package/v4/locales/es.js +1 -0
- package/v4/locales/fa.cjs +1 -0
- package/v4/locales/fa.js +1 -0
- package/v4/locales/fi.cjs +1 -0
- package/v4/locales/fi.js +1 -0
- package/v4/locales/fr-CA.cjs +1 -0
- package/v4/locales/fr-CA.js +1 -0
- package/v4/locales/fr.cjs +1 -0
- package/v4/locales/fr.js +1 -0
- package/v4/locales/gu.cjs +1 -0
- package/v4/locales/gu.js +1 -0
- package/v4/locales/he.cjs +1 -0
- package/v4/locales/he.js +1 -0
- package/v4/locales/hi.cjs +1 -0
- package/v4/locales/hi.js +1 -0
- package/v4/locales/hr.cjs +1 -0
- package/v4/locales/hr.js +1 -0
- package/v4/locales/hu.cjs +1 -0
- package/v4/locales/hu.js +1 -0
- package/v4/locales/hy.cjs +1 -0
- package/v4/locales/hy.js +1 -0
- package/v4/locales/id.cjs +1 -0
- package/v4/locales/id.js +1 -0
- package/v4/locales/index.cjs +22 -1
- package/v4/locales/index.d.cts +1 -0
- package/v4/locales/index.d.ts +1 -0
- package/v4/locales/index.js +1 -0
- package/v4/locales/is.cjs +1 -0
- package/v4/locales/is.js +1 -0
- package/v4/locales/it.cjs +1 -0
- package/v4/locales/it.js +1 -0
- package/v4/locales/ja.cjs +1 -0
- package/v4/locales/ja.js +1 -0
- package/v4/locales/ka.cjs +1 -0
- package/v4/locales/ka.js +1 -0
- package/v4/locales/km.cjs +1 -0
- package/v4/locales/km.js +1 -0
- package/v4/locales/kn.cjs +1 -0
- package/v4/locales/kn.js +1 -0
- package/v4/locales/ko.cjs +1 -0
- package/v4/locales/ko.js +1 -0
- package/v4/locales/lt.cjs +1 -0
- package/v4/locales/lt.js +1 -0
- package/v4/locales/mk.cjs +1 -0
- package/v4/locales/mk.js +1 -0
- package/v4/locales/ms.cjs +1 -0
- package/v4/locales/ms.js +1 -0
- package/v4/locales/ne.cjs +1 -0
- package/v4/locales/ne.js +1 -0
- package/v4/locales/nl.cjs +1 -0
- package/v4/locales/nl.js +1 -0
- package/v4/locales/nn.cjs +1 -0
- package/v4/locales/nn.js +1 -0
- package/v4/locales/no.cjs +1 -0
- package/v4/locales/no.js +1 -0
- package/v4/locales/ota.cjs +1 -0
- package/v4/locales/ota.js +1 -0
- package/v4/locales/pl.cjs +1 -0
- package/v4/locales/pl.js +1 -0
- package/v4/locales/ps.cjs +1 -0
- package/v4/locales/ps.js +1 -0
- package/v4/locales/pt-BR.cjs +1 -0
- package/v4/locales/pt-BR.js +1 -0
- package/v4/locales/pt.cjs +1 -0
- package/v4/locales/pt.js +1 -0
- package/v4/locales/ro.cjs +1 -0
- package/v4/locales/ro.js +1 -0
- package/v4/locales/ru.cjs +1 -0
- package/v4/locales/ru.js +1 -0
- package/v4/locales/sk.cjs +1 -0
- package/v4/locales/sk.js +1 -0
- package/v4/locales/sl.cjs +1 -0
- package/v4/locales/sl.js +1 -0
- package/v4/locales/sv.cjs +1 -0
- package/v4/locales/sv.js +1 -0
- package/v4/locales/ta.cjs +1 -0
- package/v4/locales/ta.js +1 -0
- package/v4/locales/tg.cjs +143 -0
- package/v4/locales/tg.d.cts +5 -0
- package/v4/locales/tg.d.ts +4 -0
- package/v4/locales/tg.js +116 -0
- package/v4/locales/th.cjs +1 -0
- package/v4/locales/th.js +1 -0
- package/v4/locales/tk.cjs +1 -0
- package/v4/locales/tk.js +1 -0
- package/v4/locales/tr.cjs +1 -0
- package/v4/locales/tr.js +1 -0
- package/v4/locales/uk.cjs +1 -0
- package/v4/locales/uk.js +1 -0
- package/v4/locales/ur.cjs +1 -0
- package/v4/locales/ur.js +1 -0
- package/v4/locales/uz.cjs +1 -0
- package/v4/locales/uz.js +1 -0
- package/v4/locales/vi.cjs +1 -0
- package/v4/locales/vi.js +1 -0
- package/v4/locales/yo.cjs +1 -0
- package/v4/locales/yo.js +1 -0
- package/v4/locales/zh-CN.cjs +1 -0
- package/v4/locales/zh-CN.js +1 -0
- package/v4/locales/zh-TW.cjs +1 -0
- package/v4/locales/zh-TW.js +1 -0
- package/v4/mini/checks.cjs +20 -2
- package/v4/mini/checks.d.cts +1 -1
- package/v4/mini/checks.d.ts +1 -1
- package/v4/mini/checks.js +1 -1
- package/v4/mini/coerce.cjs +19 -0
- package/v4/mini/deep-partial.cjs +19 -0
- package/v4/mini/external.cjs +22 -1
- package/v4/mini/external.d.cts +1 -1
- package/v4/mini/external.d.ts +1 -1
- package/v4/mini/external.js +1 -1
- package/v4/mini/in-out.cjs +19 -0
- package/v4/mini/index.cjs +19 -0
- package/v4/mini/iso.cjs +19 -0
- package/v4/mini/parse.cjs +19 -0
- package/v4/mini/schemas.cjs +42 -4
- package/v4/mini/schemas.d.cts +8 -0
- package/v4/mini/schemas.d.ts +8 -0
- package/v4/mini/schemas.js +19 -2
- package/v4-mini/index.cjs +19 -0
package/src/v4/locales/fr-CA.ts
CHANGED
package/src/v4/locales/fr.ts
CHANGED
package/src/v4/locales/gu.ts
CHANGED
package/src/v4/locales/he.ts
CHANGED
|
@@ -88,6 +88,7 @@ const error: () => errors.$ZodErrorMap = () => {
|
|
|
88
88
|
json_string: { label: "מחרוזת JSON", gender: "f" },
|
|
89
89
|
e164: { label: "מספר E.164", gender: "m" },
|
|
90
90
|
credit_card: { label: "מספר כרטיס אשראי", gender: "m" },
|
|
91
|
+
iban: { label: "IBAN", gender: "m" },
|
|
91
92
|
jwt: { label: "JWT", gender: "m" },
|
|
92
93
|
template_literal: { label: "קלט", gender: "m" },
|
|
93
94
|
ends_with: { label: "קלט", gender: "m" },
|
package/src/v4/locales/hi.ts
CHANGED
package/src/v4/locales/hr.ts
CHANGED
package/src/v4/locales/hu.ts
CHANGED
package/src/v4/locales/hy.ts
CHANGED
package/src/v4/locales/id.ts
CHANGED
package/src/v4/locales/index.ts
CHANGED
|
@@ -49,6 +49,7 @@ export { default as sk } from "./sk.js";
|
|
|
49
49
|
export { default as sl } from "./sl.js";
|
|
50
50
|
export { default as sv } from "./sv.js";
|
|
51
51
|
export { default as ta } from "./ta.js";
|
|
52
|
+
export { default as tg } from "./tg.js";
|
|
52
53
|
export { default as th } from "./th.js";
|
|
53
54
|
export { default as tk } from "./tk.js";
|
|
54
55
|
export { default as tr } from "./tr.js";
|
package/src/v4/locales/is.ts
CHANGED
package/src/v4/locales/it.ts
CHANGED
package/src/v4/locales/ja.ts
CHANGED
package/src/v4/locales/ka.ts
CHANGED
package/src/v4/locales/km.ts
CHANGED
package/src/v4/locales/kn.ts
CHANGED
package/src/v4/locales/ko.ts
CHANGED
package/src/v4/locales/lt.ts
CHANGED
package/src/v4/locales/mk.ts
CHANGED
package/src/v4/locales/ms.ts
CHANGED
package/src/v4/locales/ne.ts
CHANGED
package/src/v4/locales/nl.ts
CHANGED
package/src/v4/locales/nn.ts
CHANGED
package/src/v4/locales/no.ts
CHANGED
package/src/v4/locales/ota.ts
CHANGED
package/src/v4/locales/pl.ts
CHANGED
package/src/v4/locales/ps.ts
CHANGED
package/src/v4/locales/pt-BR.ts
CHANGED
package/src/v4/locales/pt.ts
CHANGED
package/src/v4/locales/ro.ts
CHANGED
package/src/v4/locales/ru.ts
CHANGED
package/src/v4/locales/sk.ts
CHANGED
package/src/v4/locales/sl.ts
CHANGED
package/src/v4/locales/sv.ts
CHANGED
package/src/v4/locales/ta.ts
CHANGED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { $ZodStringFormats } from "../core/checks.js";
|
|
2
|
+
import type * as errors from "../core/errors.js";
|
|
3
|
+
import * as util from "../core/util.js";
|
|
4
|
+
|
|
5
|
+
const error: () => errors.$ZodErrorMap = () => {
|
|
6
|
+
// singular units after numerals in Tajik
|
|
7
|
+
const Sizable: Record<string, { unit: string; verb: string }> = {
|
|
8
|
+
string: { unit: "аломат", verb: "дошта бошад" },
|
|
9
|
+
file: { unit: "байт", verb: "дошта бошад" },
|
|
10
|
+
array: { unit: "унсур", verb: "дошта бошад" },
|
|
11
|
+
set: { unit: "унсур", verb: "дошта бошад" },
|
|
12
|
+
map: { unit: "сабт", verb: "дошта бошад" },
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
function getSizing(origin: string): { unit: string; verb: string } | null {
|
|
16
|
+
return Sizable[origin] ?? null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const FormatDictionary: {
|
|
20
|
+
[k in $ZodStringFormats | (string & {})]?: string;
|
|
21
|
+
} = {
|
|
22
|
+
regex: "вуруд",
|
|
23
|
+
email: "суроғаи email",
|
|
24
|
+
url: "URL",
|
|
25
|
+
emoji: "эмоҷи",
|
|
26
|
+
uuid: "UUID",
|
|
27
|
+
uuidv4: "UUIDv4",
|
|
28
|
+
uuidv6: "UUIDv6",
|
|
29
|
+
nanoid: "nanoid",
|
|
30
|
+
guid: "GUID",
|
|
31
|
+
cuid: "cuid",
|
|
32
|
+
cuid2: "cuid2",
|
|
33
|
+
ulid: "ULID",
|
|
34
|
+
xid: "XID",
|
|
35
|
+
ksuid: "KSUID",
|
|
36
|
+
datetime: "санаву вақти ISO",
|
|
37
|
+
date: "санаи ISO",
|
|
38
|
+
time: "вақти ISO",
|
|
39
|
+
duration: "давомнокии ISO",
|
|
40
|
+
ipv4: "суроғаи IPv4",
|
|
41
|
+
ipv6: "суроғаи IPv6",
|
|
42
|
+
mac: "суроғаи MAC",
|
|
43
|
+
cidrv4: "маҳдудаи IPv4",
|
|
44
|
+
cidrv6: "маҳдудаи IPv6",
|
|
45
|
+
base64: "сатри дар формати base64",
|
|
46
|
+
base64url: "сатри дар формати base64url",
|
|
47
|
+
json_string: "сатри JSON",
|
|
48
|
+
e164: "рақами E.164",
|
|
49
|
+
credit_card: "рақами корти кредитӣ",
|
|
50
|
+
iban: "IBAN",
|
|
51
|
+
jwt: "JWT",
|
|
52
|
+
template_literal: "вуруд",
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const TypeDictionary: {
|
|
56
|
+
[k in errors.$ZodInvalidTypeExpected | (string & {})]?: string;
|
|
57
|
+
} = {
|
|
58
|
+
nan: "NaN",
|
|
59
|
+
number: "рақам",
|
|
60
|
+
string: "сатр",
|
|
61
|
+
array: "массив",
|
|
62
|
+
object: "объект",
|
|
63
|
+
date: "сана",
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
return (issue) => {
|
|
67
|
+
switch (issue.code) {
|
|
68
|
+
case "invalid_type": {
|
|
69
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
70
|
+
const receivedType = util.parsedType(issue.input);
|
|
71
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
72
|
+
return `Вуруди нодуруст: ${expected} интизор мерафт, ${received} гирифта шуд`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
case "invalid_value":
|
|
76
|
+
if (issue.values.length === 1)
|
|
77
|
+
return `Вуруди нодуруст: ${util.stringifyPrimitive(issue.values[0])} интизор мерафт`;
|
|
78
|
+
return `Интихоби нодуруст: яке аз ${util.joinValues(issue.values, "|")} интизор мерафт`;
|
|
79
|
+
|
|
80
|
+
case "too_big": {
|
|
81
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
82
|
+
const sizing = getSizing(issue.origin);
|
|
83
|
+
if (sizing)
|
|
84
|
+
return `Хеле калон: ${issue.origin ?? "қимат"} бояд ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
|
|
85
|
+
return `Хеле калон: ${issue.origin ?? "қимат"} бояд ${adj}${issue.maximum.toString()} бошад`;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
case "too_small": {
|
|
89
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
90
|
+
const sizing = getSizing(issue.origin);
|
|
91
|
+
if (sizing)
|
|
92
|
+
return `Хеле хурд: ${issue.origin} бояд ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
|
|
93
|
+
return `Хеле хурд: ${issue.origin} бояд ${adj}${issue.minimum.toString()} бошад`;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
case "invalid_format": {
|
|
97
|
+
const _issue = issue as errors.$ZodStringFormatIssues;
|
|
98
|
+
if (_issue.format === "starts_with") return `Сатри нодуруст: бояд бо "${_issue.prefix}" оғоз шавад`;
|
|
99
|
+
if (_issue.format === "ends_with") return `Сатри нодуруст: бояд бо "${_issue.suffix}" анҷом ёбад`;
|
|
100
|
+
if (_issue.format === "includes") return `Сатри нодуруст: бояд "${_issue.includes}"-ро дар бар гирад`;
|
|
101
|
+
if (_issue.format === "regex") return `Сатри нодуруст: бояд ба намунаи ${_issue.pattern} мувофиқат кунад`;
|
|
102
|
+
return `${FormatDictionary[_issue.format] ?? issue.format}-и нодуруст`;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
case "not_multiple_of":
|
|
106
|
+
return `Рақами нодуруст: бояд ба ${issue.divisor} бе бақия тақсим шавад`;
|
|
107
|
+
|
|
108
|
+
case "unrecognized_keys":
|
|
109
|
+
return `Калид${issue.keys.length > 1 ? "ҳои" : "и"} номаълум: ${util.joinValues(issue.keys, ", ")}`;
|
|
110
|
+
|
|
111
|
+
case "invalid_key":
|
|
112
|
+
return `Калиди нодуруст дар ${issue.origin}`;
|
|
113
|
+
|
|
114
|
+
case "invalid_union":
|
|
115
|
+
if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {
|
|
116
|
+
const opts = issue.options.map((o) => `'${o}'`).join(" | ");
|
|
117
|
+
return `Қимати нодурусти дискриминатор: ${opts} интизор мерафт`;
|
|
118
|
+
}
|
|
119
|
+
return "Вуруди нодуруст";
|
|
120
|
+
|
|
121
|
+
case "invalid_element":
|
|
122
|
+
return `Қимати нодуруст дар ${issue.origin}`;
|
|
123
|
+
|
|
124
|
+
default:
|
|
125
|
+
return `Вуруди нодуруст`;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export default function (): { localeError: errors.$ZodErrorMap } {
|
|
131
|
+
return {
|
|
132
|
+
localeError: error(),
|
|
133
|
+
};
|
|
134
|
+
}
|
package/src/v4/locales/th.ts
CHANGED
package/src/v4/locales/tk.ts
CHANGED
package/src/v4/locales/tr.ts
CHANGED
package/src/v4/locales/uk.ts
CHANGED
package/src/v4/locales/ur.ts
CHANGED
package/src/v4/locales/uz.ts
CHANGED
package/src/v4/locales/vi.ts
CHANGED
package/src/v4/locales/yo.ts
CHANGED
package/src/v4/locales/zh-CN.ts
CHANGED
package/src/v4/locales/zh-TW.ts
CHANGED
package/src/v4/mini/checks.ts
CHANGED
package/src/v4/mini/external.ts
CHANGED
package/src/v4/mini/schemas.ts
CHANGED
|
@@ -509,6 +509,21 @@ export function creditCard(params?: string | core.$ZodCreditCardParams): ZodMini
|
|
|
509
509
|
return core._creditCard(ZodMiniCreditCard, params);
|
|
510
510
|
}
|
|
511
511
|
|
|
512
|
+
// ZodMiniIBAN
|
|
513
|
+
export interface ZodMiniIBAN extends _ZodMiniString<core.$ZodIBANInternals> {}
|
|
514
|
+
export const ZodMiniIBAN: core.$constructor<ZodMiniIBAN> = /*@__PURE__*/ core.$constructor(
|
|
515
|
+
"ZodMiniIBAN",
|
|
516
|
+
(inst, def) => {
|
|
517
|
+
core.$ZodIBAN.init(inst, def);
|
|
518
|
+
ZodMiniStringFormat.init(inst, def);
|
|
519
|
+
}
|
|
520
|
+
);
|
|
521
|
+
|
|
522
|
+
// @__NO_SIDE_EFFECTS__
|
|
523
|
+
export function iban(params?: string | core.$ZodIBANParams): ZodMiniIBAN {
|
|
524
|
+
return core._iban(ZodMiniIBAN, params);
|
|
525
|
+
}
|
|
526
|
+
|
|
512
527
|
// ZodMiniJWT
|
|
513
528
|
export interface ZodMiniJWT extends _ZodMiniString<core.$ZodJWTInternals> {
|
|
514
529
|
// _zod: core.$ZodJWTInternals;
|
|
@@ -1094,7 +1109,8 @@ export function catchall<T extends ZodMiniObject, U extends SomeType>(
|
|
|
1094
1109
|
inst: T,
|
|
1095
1110
|
catchall: U
|
|
1096
1111
|
): ZodMiniObject<T["shape"], core.$catchall<U>> {
|
|
1097
|
-
|
|
1112
|
+
// `mergeDefs` rather than a spread: spreading reads `shape`, and resolving it can mint a whole fresh subtree
|
|
1113
|
+
return inst.clone(util.mergeDefs(inst._zod.def, { catchall: catchall as any })) as any;
|
|
1098
1114
|
}
|
|
1099
1115
|
|
|
1100
1116
|
// ZodMiniUnion
|
|
@@ -1362,7 +1378,8 @@ export const ZodMiniEnum: core.$constructor<ZodMiniEnum> = /*@__PURE__*/ core.$c
|
|
|
1362
1378
|
core.$ZodEnum.init(inst, def);
|
|
1363
1379
|
ZodMiniType.init(inst, def);
|
|
1364
1380
|
|
|
1365
|
-
|
|
1381
|
+
// reuse the parsed value set so a numeric TS enum's reverse-mapping keys stay out
|
|
1382
|
+
inst.options = [...inst._zod.values] as util.EnumValue[];
|
|
1366
1383
|
}
|
|
1367
1384
|
);
|
|
1368
1385
|
|
|
@@ -1849,6 +1866,25 @@ export const ZodMiniCustom: core.$constructor<ZodMiniCustom> = /*@__PURE__*/ cor
|
|
|
1849
1866
|
}
|
|
1850
1867
|
);
|
|
1851
1868
|
|
|
1869
|
+
// ZodMiniProperties
|
|
1870
|
+
export interface ZodMiniProperties<Shape extends core.$ZodShape = core.$ZodShape>
|
|
1871
|
+
extends _ZodMiniType<core.$ZodPropertiesInternals<Shape>>,
|
|
1872
|
+
core.$ZodProperties<Shape> {}
|
|
1873
|
+
export const ZodMiniProperties: core.$constructor<ZodMiniProperties> = /*@__PURE__*/ core.$constructor(
|
|
1874
|
+
"ZodMiniProperties",
|
|
1875
|
+
(inst, def) => {
|
|
1876
|
+
core.$ZodProperties.init(inst, def);
|
|
1877
|
+
ZodMiniType.init(inst, def);
|
|
1878
|
+
}
|
|
1879
|
+
);
|
|
1880
|
+
|
|
1881
|
+
export function properties<Shape extends core.$ZodShape>(
|
|
1882
|
+
shape: Shape,
|
|
1883
|
+
params?: string | core.$ZodPropertiesParams
|
|
1884
|
+
): ZodMiniProperties<Shape> {
|
|
1885
|
+
return core._properties(ZodMiniProperties, shape, params) as any;
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1852
1888
|
// custom checks
|
|
1853
1889
|
// @__NO_SIDE_EFFECTS__
|
|
1854
1890
|
export function check<O = unknown>(fn: core.CheckFn<O>, params?: string | core.$ZodCustomParams): core.$ZodCheck<O> {
|
|
@@ -141,7 +141,7 @@ test("z.overwrite", () => {
|
|
|
141
141
|
// property
|
|
142
142
|
|
|
143
143
|
test("z.properties", () => {
|
|
144
|
-
const a = z.instanceof(URL).check(...z.properties({ protocol: z.literal("https:"
|
|
144
|
+
const a = z.instanceof(URL).check(...z.properties({ protocol: z.literal("https:"), hostname: z.string() }));
|
|
145
145
|
expect(z.safeParse(a, new URL("https://example.com")).success).toEqual(true);
|
|
146
146
|
expect(z.safeParse(a, new URL("http://example.com")).error!.issues.map((i) => i.path)).toEqual([["protocol"]]);
|
|
147
147
|
});
|