zod 4.0.9 → 4.0.11
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/package.json +4 -4
- package/src/v4/classic/checks.ts +1 -0
- package/src/v4/classic/schemas.ts +12 -28
- package/src/v4/classic/tests/datetime.test.ts +6 -0
- package/src/v4/classic/tests/discriminated-unions.test.ts +1 -0
- package/src/v4/classic/tests/file.test.ts +5 -2
- package/src/v4/classic/tests/number.test.ts +23 -0
- package/src/v4/classic/tests/recursive-types.test.ts +39 -0
- package/src/v4/classic/tests/string.test.ts +38 -0
- package/src/v4/classic/tests/tuple.test.ts +2 -2
- package/src/v4/core/api.ts +51 -7
- package/src/v4/core/checks.ts +2 -0
- package/src/v4/core/errors.ts +27 -23
- package/src/v4/core/regexes.ts +7 -4
- package/src/v4/core/schemas.ts +44 -6
- package/src/v4/core/util.ts +11 -1
- package/src/v4/core/versions.ts +1 -1
- package/src/v4/locales/index.ts +1 -0
- package/src/v4/locales/yo.ts +131 -0
- package/src/v4/mini/schemas.ts +11 -0
- package/v3/locales/en.cjs +1 -0
- package/v3/locales/en.d.cts +1 -1
- package/v4/classic/checks.d.cts +1 -1
- package/v4/classic/checks.d.ts +1 -1
- package/v4/classic/schemas.cjs +5 -20
- package/v4/classic/schemas.d.cts +5 -7
- package/v4/classic/schemas.d.ts +5 -7
- package/v4/classic/schemas.js +4 -20
- package/v4/core/api.cjs +33 -7
- package/v4/core/api.d.cts +12 -0
- package/v4/core/api.d.ts +12 -0
- package/v4/core/api.js +31 -7
- package/v4/core/checks.cjs +2 -0
- package/v4/core/checks.js +2 -0
- package/v4/core/errors.d.cts +18 -16
- package/v4/core/errors.d.ts +18 -16
- package/v4/core/regexes.cjs +6 -5
- package/v4/core/regexes.d.cts +1 -0
- package/v4/core/regexes.d.ts +1 -0
- package/v4/core/regexes.js +5 -4
- package/v4/core/schemas.cjs +9 -3
- package/v4/core/schemas.d.cts +5 -3
- package/v4/core/schemas.d.ts +5 -3
- package/v4/core/schemas.js +9 -3
- package/v4/core/util.cjs +9 -1
- package/v4/core/util.js +9 -1
- package/v4/core/versions.cjs +1 -1
- package/v4/core/versions.js +1 -1
- package/v4/locales/ar.cjs +1 -0
- package/v4/locales/ar.d.cts +2 -1
- package/v4/locales/az.cjs +1 -0
- package/v4/locales/az.d.cts +2 -1
- package/v4/locales/be.cjs +1 -0
- package/v4/locales/be.d.cts +2 -1
- package/v4/locales/ca.cjs +1 -0
- package/v4/locales/ca.d.cts +2 -1
- package/v4/locales/cs.cjs +1 -0
- package/v4/locales/cs.d.cts +2 -1
- package/v4/locales/da.cjs +1 -0
- package/v4/locales/da.d.cts +2 -1
- package/v4/locales/de.cjs +1 -0
- package/v4/locales/de.d.cts +2 -1
- package/v4/locales/es.cjs +1 -0
- package/v4/locales/es.d.cts +2 -1
- package/v4/locales/fa.cjs +1 -0
- package/v4/locales/fa.d.cts +2 -1
- package/v4/locales/fi.cjs +1 -0
- package/v4/locales/fi.d.cts +2 -1
- package/v4/locales/fr-CA.cjs +1 -0
- package/v4/locales/fr-CA.d.cts +2 -1
- package/v4/locales/fr.cjs +1 -0
- package/v4/locales/fr.d.cts +2 -1
- package/v4/locales/he.cjs +1 -0
- package/v4/locales/he.d.cts +2 -1
- package/v4/locales/hu.cjs +1 -0
- package/v4/locales/hu.d.cts +2 -1
- package/v4/locales/id.cjs +1 -0
- package/v4/locales/id.d.cts +2 -1
- package/v4/locales/index.cjs +3 -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/it.cjs +1 -0
- package/v4/locales/it.d.cts +2 -1
- package/v4/locales/ja.cjs +1 -0
- package/v4/locales/ja.d.cts +2 -1
- package/v4/locales/kh.cjs +1 -0
- package/v4/locales/kh.d.cts +2 -1
- package/v4/locales/ko.cjs +1 -0
- package/v4/locales/ko.d.cts +2 -1
- package/v4/locales/mk.cjs +1 -0
- package/v4/locales/mk.d.cts +2 -1
- package/v4/locales/ms.cjs +1 -0
- package/v4/locales/ms.d.cts +2 -1
- package/v4/locales/nl.cjs +1 -0
- package/v4/locales/nl.d.cts +2 -1
- package/v4/locales/no.cjs +1 -0
- package/v4/locales/no.d.cts +2 -1
- package/v4/locales/ota.cjs +1 -0
- package/v4/locales/ota.d.cts +2 -1
- package/v4/locales/pl.cjs +1 -0
- package/v4/locales/pl.d.cts +2 -1
- package/v4/locales/ps.cjs +1 -0
- package/v4/locales/ps.d.cts +2 -1
- package/v4/locales/pt.cjs +1 -0
- package/v4/locales/pt.d.cts +2 -1
- package/v4/locales/ru.cjs +1 -0
- package/v4/locales/ru.d.cts +2 -1
- package/v4/locales/sl.cjs +1 -0
- package/v4/locales/sl.d.cts +2 -1
- package/v4/locales/sv.cjs +1 -0
- package/v4/locales/sv.d.cts +2 -1
- package/v4/locales/ta.cjs +1 -0
- package/v4/locales/ta.d.cts +2 -1
- package/v4/locales/th.cjs +1 -0
- package/v4/locales/th.d.cts +2 -1
- package/v4/locales/ua.cjs +1 -0
- package/v4/locales/ua.d.cts +2 -1
- package/v4/locales/ur.cjs +1 -0
- package/v4/locales/ur.d.cts +2 -1
- package/v4/locales/vi.cjs +1 -0
- package/v4/locales/vi.d.cts +2 -1
- package/v4/locales/yo.cjs +142 -0
- package/v4/locales/yo.d.cts +5 -0
- package/v4/locales/yo.d.ts +4 -0
- package/v4/locales/yo.js +115 -0
- package/v4/locales/zh-CN.cjs +1 -0
- package/v4/locales/zh-CN.d.cts +2 -1
- package/v4/locales/zh-TW.cjs +1 -0
- package/v4/locales/zh-TW.d.cts +2 -1
- package/v4/mini/schemas.cjs +9 -0
- package/v4/mini/schemas.d.cts +2 -0
- package/v4/mini/schemas.d.ts +2 -0
- package/v4/mini/schemas.js +7 -0
package/v4/core/schemas.js
CHANGED
|
@@ -861,7 +861,12 @@ export const $ZodUnion = /*@__PURE__*/ core.$constructor("$ZodUnion", (inst, def
|
|
|
861
861
|
}
|
|
862
862
|
return undefined;
|
|
863
863
|
});
|
|
864
|
+
const single = def.options.length === 1;
|
|
865
|
+
const first = def.options[0]._zod.run;
|
|
864
866
|
inst._zod.parse = (payload, ctx) => {
|
|
867
|
+
if (single) {
|
|
868
|
+
return first(payload, ctx);
|
|
869
|
+
}
|
|
865
870
|
let async = false;
|
|
866
871
|
const results = [];
|
|
867
872
|
for (const option of def.options) {
|
|
@@ -946,6 +951,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
|
|
|
946
951
|
code: "invalid_union",
|
|
947
952
|
errors: [],
|
|
948
953
|
note: "No matching discriminator",
|
|
954
|
+
discriminator: def.discriminator,
|
|
949
955
|
input,
|
|
950
956
|
path: [def.discriminator],
|
|
951
957
|
inst,
|
|
@@ -1052,10 +1058,10 @@ export const $ZodTuple = /*@__PURE__*/ core.$constructor("$ZodTuple", (inst, def
|
|
|
1052
1058
|
const tooSmall = input.length < optStart - 1;
|
|
1053
1059
|
if (tooBig || tooSmall) {
|
|
1054
1060
|
payload.issues.push({
|
|
1061
|
+
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1055
1062
|
input,
|
|
1056
1063
|
inst,
|
|
1057
1064
|
origin: "array",
|
|
1058
|
-
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1059
1065
|
});
|
|
1060
1066
|
return payload;
|
|
1061
1067
|
}
|
|
@@ -1167,8 +1173,8 @@ export const $ZodRecord = /*@__PURE__*/ core.$constructor("$ZodRecord", (inst, d
|
|
|
1167
1173
|
}
|
|
1168
1174
|
if (keyResult.issues.length) {
|
|
1169
1175
|
payload.issues.push({
|
|
1170
|
-
origin: "record",
|
|
1171
1176
|
code: "invalid_key",
|
|
1177
|
+
origin: "record",
|
|
1172
1178
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
|
1173
1179
|
input: key,
|
|
1174
1180
|
path: [key],
|
|
@@ -1239,8 +1245,8 @@ function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
|
|
|
1239
1245
|
}
|
|
1240
1246
|
else {
|
|
1241
1247
|
final.issues.push({
|
|
1242
|
-
origin: "map",
|
|
1243
1248
|
code: "invalid_key",
|
|
1249
|
+
origin: "map",
|
|
1244
1250
|
input,
|
|
1245
1251
|
inst,
|
|
1246
1252
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
package/v4/core/util.cjs
CHANGED
|
@@ -94,7 +94,14 @@ function cleanRegex(source) {
|
|
|
94
94
|
}
|
|
95
95
|
function floatSafeRemainder(val, step) {
|
|
96
96
|
const valDecCount = (val.toString().split(".")[1] || "").length;
|
|
97
|
-
const
|
|
97
|
+
const stepString = step.toString();
|
|
98
|
+
let stepDecCount = (stepString.split(".")[1] || "").length;
|
|
99
|
+
if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
|
|
100
|
+
const match = stepString.match(/\d?e-(\d?)/);
|
|
101
|
+
if (match?.[1]) {
|
|
102
|
+
stepDecCount = Number.parseInt(match[1]);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
98
105
|
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
|
|
99
106
|
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
|
|
100
107
|
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
|
|
@@ -483,6 +490,7 @@ function required(Class, schema, mask) {
|
|
|
483
490
|
});
|
|
484
491
|
return clone(schema, def);
|
|
485
492
|
}
|
|
493
|
+
// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom
|
|
486
494
|
function aborted(x, startIndex = 0) {
|
|
487
495
|
for (let i = startIndex; i < x.issues.length; i++) {
|
|
488
496
|
if (x.issues[i]?.continue !== true) {
|
package/v4/core/util.js
CHANGED
|
@@ -48,7 +48,14 @@ export function cleanRegex(source) {
|
|
|
48
48
|
}
|
|
49
49
|
export function floatSafeRemainder(val, step) {
|
|
50
50
|
const valDecCount = (val.toString().split(".")[1] || "").length;
|
|
51
|
-
const
|
|
51
|
+
const stepString = step.toString();
|
|
52
|
+
let stepDecCount = (stepString.split(".")[1] || "").length;
|
|
53
|
+
if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
|
|
54
|
+
const match = stepString.match(/\d?e-(\d?)/);
|
|
55
|
+
if (match?.[1]) {
|
|
56
|
+
stepDecCount = Number.parseInt(match[1]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
52
59
|
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
|
|
53
60
|
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
|
|
54
61
|
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
|
|
@@ -436,6 +443,7 @@ export function required(Class, schema, mask) {
|
|
|
436
443
|
});
|
|
437
444
|
return clone(schema, def);
|
|
438
445
|
}
|
|
446
|
+
// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom
|
|
439
447
|
export function aborted(x, startIndex = 0) {
|
|
440
448
|
for (let i = startIndex; i < x.issues.length; i++) {
|
|
441
449
|
if (x.issues[i]?.continue !== true) {
|
package/v4/core/versions.cjs
CHANGED
package/v4/core/versions.js
CHANGED
package/v4/locales/ar.cjs
CHANGED
package/v4/locales/ar.d.cts
CHANGED
package/v4/locales/az.cjs
CHANGED
package/v4/locales/az.d.cts
CHANGED
package/v4/locales/be.cjs
CHANGED
package/v4/locales/be.d.cts
CHANGED
package/v4/locales/ca.cjs
CHANGED
package/v4/locales/ca.d.cts
CHANGED
package/v4/locales/cs.cjs
CHANGED
package/v4/locales/cs.d.cts
CHANGED
package/v4/locales/da.cjs
CHANGED
package/v4/locales/da.d.cts
CHANGED
package/v4/locales/de.cjs
CHANGED
package/v4/locales/de.d.cts
CHANGED
package/v4/locales/es.cjs
CHANGED
package/v4/locales/es.d.cts
CHANGED
package/v4/locales/fa.cjs
CHANGED
package/v4/locales/fa.d.cts
CHANGED
package/v4/locales/fi.cjs
CHANGED
package/v4/locales/fi.d.cts
CHANGED
package/v4/locales/fr-CA.cjs
CHANGED
package/v4/locales/fr-CA.d.cts
CHANGED
package/v4/locales/fr.cjs
CHANGED
package/v4/locales/fr.d.cts
CHANGED
package/v4/locales/he.cjs
CHANGED
package/v4/locales/he.d.cts
CHANGED
package/v4/locales/hu.cjs
CHANGED
package/v4/locales/hu.d.cts
CHANGED
package/v4/locales/id.cjs
CHANGED
package/v4/locales/id.d.cts
CHANGED
package/v4/locales/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.zhTW = exports.zhCN = exports.vi = exports.ur = exports.ua = exports.tr = exports.th = exports.ta = exports.sv = exports.sl = exports.ru = exports.pt = exports.pl = exports.ps = exports.ota = exports.no = exports.nl = exports.ms = exports.mk = exports.ko = exports.kh = exports.ja = exports.it = exports.is = exports.id = exports.hu = exports.he = exports.frCA = exports.fr = exports.fi = exports.fa = exports.es = exports.eo = exports.en = exports.de = exports.da = exports.cs = exports.ca = exports.be = exports.az = exports.ar = void 0;
|
|
6
|
+
exports.yo = exports.zhTW = exports.zhCN = exports.vi = exports.ur = exports.ua = exports.tr = exports.th = exports.ta = exports.sv = exports.sl = exports.ru = exports.pt = exports.pl = exports.ps = exports.ota = exports.no = exports.nl = exports.ms = exports.mk = exports.ko = exports.kh = exports.ja = exports.it = exports.is = exports.id = exports.hu = exports.he = exports.frCA = exports.fr = exports.fi = exports.fa = exports.es = exports.eo = exports.en = exports.de = exports.da = exports.cs = exports.ca = exports.be = exports.az = exports.ar = void 0;
|
|
7
7
|
var ar_js_1 = require("./ar.cjs");
|
|
8
8
|
Object.defineProperty(exports, "ar", { enumerable: true, get: function () { return __importDefault(ar_js_1).default; } });
|
|
9
9
|
var az_js_1 = require("./az.cjs");
|
|
@@ -86,3 +86,5 @@ var zh_CN_js_1 = require("./zh-CN.cjs");
|
|
|
86
86
|
Object.defineProperty(exports, "zhCN", { enumerable: true, get: function () { return __importDefault(zh_CN_js_1).default; } });
|
|
87
87
|
var zh_TW_js_1 = require("./zh-TW.cjs");
|
|
88
88
|
Object.defineProperty(exports, "zhTW", { enumerable: true, get: function () { return __importDefault(zh_TW_js_1).default; } });
|
|
89
|
+
var yo_js_1 = require("./yo.cjs");
|
|
90
|
+
Object.defineProperty(exports, "yo", { enumerable: true, get: function () { return __importDefault(yo_js_1).default; } });
|
package/v4/locales/index.d.cts
CHANGED
package/v4/locales/index.d.ts
CHANGED
package/v4/locales/index.js
CHANGED
package/v4/locales/it.cjs
CHANGED
package/v4/locales/it.d.cts
CHANGED
package/v4/locales/ja.cjs
CHANGED
package/v4/locales/ja.d.cts
CHANGED
package/v4/locales/kh.cjs
CHANGED
package/v4/locales/kh.d.cts
CHANGED
package/v4/locales/ko.cjs
CHANGED
package/v4/locales/ko.d.cts
CHANGED
package/v4/locales/mk.cjs
CHANGED
package/v4/locales/mk.d.cts
CHANGED
package/v4/locales/ms.cjs
CHANGED
package/v4/locales/ms.d.cts
CHANGED
package/v4/locales/nl.cjs
CHANGED
package/v4/locales/nl.d.cts
CHANGED
package/v4/locales/no.cjs
CHANGED
package/v4/locales/no.d.cts
CHANGED
package/v4/locales/ota.cjs
CHANGED
package/v4/locales/ota.d.cts
CHANGED
package/v4/locales/pl.cjs
CHANGED
package/v4/locales/pl.d.cts
CHANGED
package/v4/locales/ps.cjs
CHANGED
package/v4/locales/ps.d.cts
CHANGED
package/v4/locales/pt.cjs
CHANGED
package/v4/locales/pt.d.cts
CHANGED
package/v4/locales/ru.cjs
CHANGED
package/v4/locales/ru.d.cts
CHANGED
package/v4/locales/sl.cjs
CHANGED
package/v4/locales/sl.d.cts
CHANGED
package/v4/locales/sv.cjs
CHANGED
package/v4/locales/sv.d.cts
CHANGED
package/v4/locales/ta.cjs
CHANGED
package/v4/locales/ta.d.cts
CHANGED
package/v4/locales/th.cjs
CHANGED
package/v4/locales/th.d.cts
CHANGED
package/v4/locales/ua.cjs
CHANGED
package/v4/locales/ua.d.cts
CHANGED