flavor-code 1.3.22 → 1.4.0-beta.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/README.md +437 -434
- package/README.zh-CN.md +434 -431
- package/dist/{app-MWGRT3BJ.js → app-C5ZQUOKJ.js} +37 -63
- package/dist/astgraph/grammars.mjs +68 -68
- package/dist/astgraph/vendor/tree-sitter.js +3980 -3980
- package/dist/astgraph/vendor/zod/LICENSE +21 -21
- package/dist/astgraph/vendor/zod/index.js +4 -4
- package/dist/astgraph/vendor/zod/locales/index.js +1 -1
- package/dist/astgraph/vendor/zod/locales/package.json +7 -7
- package/dist/astgraph/vendor/zod/package.json +135 -135
- package/dist/astgraph/vendor/zod/v4/classic/checks.js +1 -1
- package/dist/astgraph/vendor/zod/v4/classic/coerce.js +17 -17
- package/dist/astgraph/vendor/zod/v4/classic/compat.js +31 -31
- package/dist/astgraph/vendor/zod/v4/classic/errors.js +48 -48
- package/dist/astgraph/vendor/zod/v4/classic/external.js +20 -20
- package/dist/astgraph/vendor/zod/v4/classic/from-json-schema.js +599 -599
- package/dist/astgraph/vendor/zod/v4/classic/index.js +4 -4
- package/dist/astgraph/vendor/zod/v4/classic/iso.js +30 -30
- package/dist/astgraph/vendor/zod/v4/classic/package.json +7 -7
- package/dist/astgraph/vendor/zod/v4/classic/parse.js +15 -15
- package/dist/astgraph/vendor/zod/v4/classic/schemas.js +1395 -1395
- package/dist/astgraph/vendor/zod/v4/core/api.js +1087 -1087
- package/dist/astgraph/vendor/zod/v4/core/checks.js +575 -575
- package/dist/astgraph/vendor/zod/v4/core/core.js +78 -78
- package/dist/astgraph/vendor/zod/v4/core/doc.js +35 -35
- package/dist/astgraph/vendor/zod/v4/core/errors.js +185 -185
- package/dist/astgraph/vendor/zod/v4/core/index.js +16 -16
- package/dist/astgraph/vendor/zod/v4/core/json-schema-generator.js +95 -95
- package/dist/astgraph/vendor/zod/v4/core/json-schema-processors.js +601 -601
- package/dist/astgraph/vendor/zod/v4/core/json-schema.js +1 -1
- package/dist/astgraph/vendor/zod/v4/core/package.json +7 -7
- package/dist/astgraph/vendor/zod/v4/core/parse.js +93 -93
- package/dist/astgraph/vendor/zod/v4/core/regexes.js +139 -139
- package/dist/astgraph/vendor/zod/v4/core/registries.js +51 -51
- package/dist/astgraph/vendor/zod/v4/core/schemas.js +2239 -2239
- package/dist/astgraph/vendor/zod/v4/core/standard-schema.js +1 -1
- package/dist/astgraph/vendor/zod/v4/core/to-json-schema.js +448 -448
- package/dist/astgraph/vendor/zod/v4/core/util.js +674 -674
- package/dist/astgraph/vendor/zod/v4/core/versions.js +5 -5
- package/dist/astgraph/vendor/zod/v4/index.js +3 -3
- package/dist/astgraph/vendor/zod/v4/locales/ar.js +106 -106
- package/dist/astgraph/vendor/zod/v4/locales/az.js +105 -105
- package/dist/astgraph/vendor/zod/v4/locales/be.js +156 -156
- package/dist/astgraph/vendor/zod/v4/locales/bg.js +120 -120
- package/dist/astgraph/vendor/zod/v4/locales/ca.js +107 -107
- package/dist/astgraph/vendor/zod/v4/locales/cs.js +111 -111
- package/dist/astgraph/vendor/zod/v4/locales/da.js +115 -115
- package/dist/astgraph/vendor/zod/v4/locales/de.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/el.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/en.js +113 -113
- package/dist/astgraph/vendor/zod/v4/locales/eo.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/es.js +132 -132
- package/dist/astgraph/vendor/zod/v4/locales/fa.js +114 -114
- package/dist/astgraph/vendor/zod/v4/locales/fi.js +112 -112
- package/dist/astgraph/vendor/zod/v4/locales/fr-CA.js +107 -107
- package/dist/astgraph/vendor/zod/v4/locales/fr.js +125 -125
- package/dist/astgraph/vendor/zod/v4/locales/he.js +214 -214
- package/dist/astgraph/vendor/zod/v4/locales/hr.js +122 -122
- package/dist/astgraph/vendor/zod/v4/locales/hu.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/hy.js +147 -147
- package/dist/astgraph/vendor/zod/v4/locales/id.js +106 -106
- package/dist/astgraph/vendor/zod/v4/locales/index.js +52 -52
- package/dist/astgraph/vendor/zod/v4/locales/is.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/it.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/ja.js +107 -107
- package/dist/astgraph/vendor/zod/v4/locales/ka.js +112 -112
- package/dist/astgraph/vendor/zod/v4/locales/kh.js +5 -5
- package/dist/astgraph/vendor/zod/v4/locales/km.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/ko.js +111 -111
- package/dist/astgraph/vendor/zod/v4/locales/lt.js +203 -203
- package/dist/astgraph/vendor/zod/v4/locales/mk.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/ms.js +107 -107
- package/dist/astgraph/vendor/zod/v4/locales/nl.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/no.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/ota.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/package.json +7 -7
- package/dist/astgraph/vendor/zod/v4/locales/pl.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/ps.js +114 -114
- package/dist/astgraph/vendor/zod/v4/locales/pt.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/ro.js +119 -119
- package/dist/astgraph/vendor/zod/v4/locales/ru.js +156 -156
- package/dist/astgraph/vendor/zod/v4/locales/sl.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/sv.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/ta.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/th.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/tr.js +105 -105
- package/dist/astgraph/vendor/zod/v4/locales/ua.js +5 -5
- package/dist/astgraph/vendor/zod/v4/locales/uk.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/ur.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/uz.js +110 -110
- package/dist/astgraph/vendor/zod/v4/locales/vi.js +108 -108
- package/dist/astgraph/vendor/zod/v4/locales/yo.js +107 -107
- package/dist/astgraph/vendor/zod/v4/locales/zh-CN.js +109 -109
- package/dist/astgraph/vendor/zod/v4/locales/zh-TW.js +107 -107
- package/dist/astgraph/vendor/zod/v4/mini/checks.js +1 -1
- package/dist/astgraph/vendor/zod/v4/mini/coerce.js +22 -22
- package/dist/astgraph/vendor/zod/v4/mini/external.js +14 -14
- package/dist/astgraph/vendor/zod/v4/mini/index.js +3 -3
- package/dist/astgraph/vendor/zod/v4/mini/iso.js +34 -34
- package/dist/astgraph/vendor/zod/v4/mini/package.json +7 -7
- package/dist/astgraph/vendor/zod/v4/mini/parse.js +1 -1
- package/dist/astgraph/vendor/zod/v4/mini/schemas.js +961 -961
- package/dist/astgraph/vendor/zod/v4/package.json +7 -7
- package/dist/{chunk-7OICVL2M.js → chunk-2BF7CVWZ.js} +0 -42
- package/dist/{chunk-RQTYHUMK.js → chunk-3WCDZ6ZL.js} +15 -0
- package/dist/{chunk-Z62P4LL7.js → chunk-6MNOZ2TX.js} +8962 -8422
- package/dist/{chunk-VEUSROUQ.js → chunk-FOTMP4ZS.js} +1 -1
- package/dist/{chunk-SUSLIHXO.js → chunk-ODRWR4KK.js} +1 -1
- package/dist/{chunk-RPFWB45Y.js → chunk-URUVFECH.js} +1 -1
- package/dist/{claude-ink-6CEG2XZZ.js → claude-ink-LP32NSX5.js} +2 -3
- package/dist/cli-main.js +27 -11
- package/dist/config/load.d.ts +2 -0
- package/dist/desktop/main.js +1092 -541
- package/dist/desktop-renderer/assets/index-Bk6FYhyh.css +1 -0
- package/dist/desktop-renderer/assets/{index-D75ozXnZ.js → index-CqRIr-hz.js} +3 -3
- package/dist/desktop-renderer/assets/{interactive-terminal-CTFo4fK9.js → interactive-terminal-C4o7MNPO.js} +1 -1
- package/dist/desktop-renderer/index.html +2 -2
- package/dist/doctor.d.ts +38 -0
- package/dist/execution/docker.d.ts +5 -1
- package/dist/execution/types.d.ts +11 -0
- package/dist/jobs/registry.d.ts +1 -0
- package/dist/{load-4FWNXE6F.js → load-V2UIYYQI.js} +1 -1
- package/dist/sdk/index.js +4 -4
- package/dist/tools/shell.d.ts +17 -12
- package/dist/tools/types.d.ts +1 -0
- package/dist/ui/commands.d.ts +1 -1
- package/dist/ui/session.d.ts +1 -0
- package/dist/update/check.d.ts +20 -0
- package/dist/utils/semver.d.ts +3 -0
- package/dist/utils/spawn-executable.d.ts +2 -0
- package/package.json +1 -1
- package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +5848 -5848
- package/dist/chunk-OTYFL4AG.js +0 -16
- package/dist/desktop-renderer/assets/index-ZZsUx916.css +0 -1
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "karaktrojn", verb: "havi" },
|
|
5
|
-
file: { unit: "bajtojn", verb: "havi" },
|
|
6
|
-
array: { unit: "elementojn", verb: "havi" },
|
|
7
|
-
set: { unit: "elementojn", verb: "havi" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "enigo",
|
|
14
|
-
email: "retadreso",
|
|
15
|
-
url: "URL",
|
|
16
|
-
emoji: "emoĝio",
|
|
17
|
-
uuid: "UUID",
|
|
18
|
-
uuidv4: "UUIDv4",
|
|
19
|
-
uuidv6: "UUIDv6",
|
|
20
|
-
nanoid: "nanoid",
|
|
21
|
-
guid: "GUID",
|
|
22
|
-
cuid: "cuid",
|
|
23
|
-
cuid2: "cuid2",
|
|
24
|
-
ulid: "ULID",
|
|
25
|
-
xid: "XID",
|
|
26
|
-
ksuid: "KSUID",
|
|
27
|
-
datetime: "ISO-datotempo",
|
|
28
|
-
date: "ISO-dato",
|
|
29
|
-
time: "ISO-tempo",
|
|
30
|
-
duration: "ISO-daŭro",
|
|
31
|
-
ipv4: "IPv4-adreso",
|
|
32
|
-
ipv6: "IPv6-adreso",
|
|
33
|
-
cidrv4: "IPv4-rango",
|
|
34
|
-
cidrv6: "IPv6-rango",
|
|
35
|
-
base64: "64-ume kodita karaktraro",
|
|
36
|
-
base64url: "URL-64-ume kodita karaktraro",
|
|
37
|
-
json_string: "JSON-karaktraro",
|
|
38
|
-
e164: "E.164-nombro",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "enigo",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "nombro",
|
|
45
|
-
array: "tabelo",
|
|
46
|
-
null: "senvalora",
|
|
47
|
-
};
|
|
48
|
-
return (issue) => {
|
|
49
|
-
switch (issue.code) {
|
|
50
|
-
case "invalid_type": {
|
|
51
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
52
|
-
const receivedType = util.parsedType(issue.input);
|
|
53
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
54
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
55
|
-
return `Nevalida enigo: atendiĝis instanceof ${issue.expected}, riceviĝis ${received}`;
|
|
56
|
-
}
|
|
57
|
-
return `Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`;
|
|
58
|
-
}
|
|
59
|
-
case "invalid_value":
|
|
60
|
-
if (issue.values.length === 1)
|
|
61
|
-
return `Nevalida enigo: atendiĝis ${util.stringifyPrimitive(issue.values[0])}`;
|
|
62
|
-
return `Nevalida opcio: atendiĝis unu el ${util.joinValues(issue.values, "|")}`;
|
|
63
|
-
case "too_big": {
|
|
64
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
65
|
-
const sizing = getSizing(issue.origin);
|
|
66
|
-
if (sizing)
|
|
67
|
-
return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
|
|
68
|
-
return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()}`;
|
|
69
|
-
}
|
|
70
|
-
case "too_small": {
|
|
71
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
72
|
-
const sizing = getSizing(issue.origin);
|
|
73
|
-
if (sizing) {
|
|
74
|
-
return `Tro malgranda: atendiĝis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
75
|
-
}
|
|
76
|
-
return `Tro malgranda: atendiĝis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;
|
|
77
|
-
}
|
|
78
|
-
case "invalid_format": {
|
|
79
|
-
const _issue = issue;
|
|
80
|
-
if (_issue.format === "starts_with")
|
|
81
|
-
return `Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;
|
|
82
|
-
if (_issue.format === "ends_with")
|
|
83
|
-
return `Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;
|
|
84
|
-
if (_issue.format === "includes")
|
|
85
|
-
return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
|
|
86
|
-
if (_issue.format === "regex")
|
|
87
|
-
return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
|
|
88
|
-
return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
89
|
-
}
|
|
90
|
-
case "not_multiple_of":
|
|
91
|
-
return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;
|
|
92
|
-
case "unrecognized_keys":
|
|
93
|
-
return `Nekonata${issue.keys.length > 1 ? "j" : ""} ŝlosilo${issue.keys.length > 1 ? "j" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
94
|
-
case "invalid_key":
|
|
95
|
-
return `Nevalida ŝlosilo en ${issue.origin}`;
|
|
96
|
-
case "invalid_union":
|
|
97
|
-
return "Nevalida enigo";
|
|
98
|
-
case "invalid_element":
|
|
99
|
-
return `Nevalida valoro en ${issue.origin}`;
|
|
100
|
-
default:
|
|
101
|
-
return `Nevalida enigo`;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
export default function () {
|
|
106
|
-
return {
|
|
107
|
-
localeError: error(),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "karaktrojn", verb: "havi" },
|
|
5
|
+
file: { unit: "bajtojn", verb: "havi" },
|
|
6
|
+
array: { unit: "elementojn", verb: "havi" },
|
|
7
|
+
set: { unit: "elementojn", verb: "havi" },
|
|
8
|
+
};
|
|
9
|
+
function getSizing(origin) {
|
|
10
|
+
return Sizable[origin] ?? null;
|
|
11
|
+
}
|
|
12
|
+
const FormatDictionary = {
|
|
13
|
+
regex: "enigo",
|
|
14
|
+
email: "retadreso",
|
|
15
|
+
url: "URL",
|
|
16
|
+
emoji: "emoĝio",
|
|
17
|
+
uuid: "UUID",
|
|
18
|
+
uuidv4: "UUIDv4",
|
|
19
|
+
uuidv6: "UUIDv6",
|
|
20
|
+
nanoid: "nanoid",
|
|
21
|
+
guid: "GUID",
|
|
22
|
+
cuid: "cuid",
|
|
23
|
+
cuid2: "cuid2",
|
|
24
|
+
ulid: "ULID",
|
|
25
|
+
xid: "XID",
|
|
26
|
+
ksuid: "KSUID",
|
|
27
|
+
datetime: "ISO-datotempo",
|
|
28
|
+
date: "ISO-dato",
|
|
29
|
+
time: "ISO-tempo",
|
|
30
|
+
duration: "ISO-daŭro",
|
|
31
|
+
ipv4: "IPv4-adreso",
|
|
32
|
+
ipv6: "IPv6-adreso",
|
|
33
|
+
cidrv4: "IPv4-rango",
|
|
34
|
+
cidrv6: "IPv6-rango",
|
|
35
|
+
base64: "64-ume kodita karaktraro",
|
|
36
|
+
base64url: "URL-64-ume kodita karaktraro",
|
|
37
|
+
json_string: "JSON-karaktraro",
|
|
38
|
+
e164: "E.164-nombro",
|
|
39
|
+
jwt: "JWT",
|
|
40
|
+
template_literal: "enigo",
|
|
41
|
+
};
|
|
42
|
+
const TypeDictionary = {
|
|
43
|
+
nan: "NaN",
|
|
44
|
+
number: "nombro",
|
|
45
|
+
array: "tabelo",
|
|
46
|
+
null: "senvalora",
|
|
47
|
+
};
|
|
48
|
+
return (issue) => {
|
|
49
|
+
switch (issue.code) {
|
|
50
|
+
case "invalid_type": {
|
|
51
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
52
|
+
const receivedType = util.parsedType(issue.input);
|
|
53
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
54
|
+
if (/^[A-Z]/.test(issue.expected)) {
|
|
55
|
+
return `Nevalida enigo: atendiĝis instanceof ${issue.expected}, riceviĝis ${received}`;
|
|
56
|
+
}
|
|
57
|
+
return `Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`;
|
|
58
|
+
}
|
|
59
|
+
case "invalid_value":
|
|
60
|
+
if (issue.values.length === 1)
|
|
61
|
+
return `Nevalida enigo: atendiĝis ${util.stringifyPrimitive(issue.values[0])}`;
|
|
62
|
+
return `Nevalida opcio: atendiĝis unu el ${util.joinValues(issue.values, "|")}`;
|
|
63
|
+
case "too_big": {
|
|
64
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
65
|
+
const sizing = getSizing(issue.origin);
|
|
66
|
+
if (sizing)
|
|
67
|
+
return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
|
|
68
|
+
return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()}`;
|
|
69
|
+
}
|
|
70
|
+
case "too_small": {
|
|
71
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
72
|
+
const sizing = getSizing(issue.origin);
|
|
73
|
+
if (sizing) {
|
|
74
|
+
return `Tro malgranda: atendiĝis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
75
|
+
}
|
|
76
|
+
return `Tro malgranda: atendiĝis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;
|
|
77
|
+
}
|
|
78
|
+
case "invalid_format": {
|
|
79
|
+
const _issue = issue;
|
|
80
|
+
if (_issue.format === "starts_with")
|
|
81
|
+
return `Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;
|
|
82
|
+
if (_issue.format === "ends_with")
|
|
83
|
+
return `Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;
|
|
84
|
+
if (_issue.format === "includes")
|
|
85
|
+
return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
|
|
86
|
+
if (_issue.format === "regex")
|
|
87
|
+
return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
|
|
88
|
+
return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
89
|
+
}
|
|
90
|
+
case "not_multiple_of":
|
|
91
|
+
return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;
|
|
92
|
+
case "unrecognized_keys":
|
|
93
|
+
return `Nekonata${issue.keys.length > 1 ? "j" : ""} ŝlosilo${issue.keys.length > 1 ? "j" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
94
|
+
case "invalid_key":
|
|
95
|
+
return `Nevalida ŝlosilo en ${issue.origin}`;
|
|
96
|
+
case "invalid_union":
|
|
97
|
+
return "Nevalida enigo";
|
|
98
|
+
case "invalid_element":
|
|
99
|
+
return `Nevalida valoro en ${issue.origin}`;
|
|
100
|
+
default:
|
|
101
|
+
return `Nevalida enigo`;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
export default function () {
|
|
106
|
+
return {
|
|
107
|
+
localeError: error(),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "caracteres", verb: "tener" },
|
|
5
|
-
file: { unit: "bytes", verb: "tener" },
|
|
6
|
-
array: { unit: "elementos", verb: "tener" },
|
|
7
|
-
set: { unit: "elementos", verb: "tener" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "entrada",
|
|
14
|
-
email: "dirección de correo electrónico",
|
|
15
|
-
url: "URL",
|
|
16
|
-
emoji: "emoji",
|
|
17
|
-
uuid: "UUID",
|
|
18
|
-
uuidv4: "UUIDv4",
|
|
19
|
-
uuidv6: "UUIDv6",
|
|
20
|
-
nanoid: "nanoid",
|
|
21
|
-
guid: "GUID",
|
|
22
|
-
cuid: "cuid",
|
|
23
|
-
cuid2: "cuid2",
|
|
24
|
-
ulid: "ULID",
|
|
25
|
-
xid: "XID",
|
|
26
|
-
ksuid: "KSUID",
|
|
27
|
-
datetime: "fecha y hora ISO",
|
|
28
|
-
date: "fecha ISO",
|
|
29
|
-
time: "hora ISO",
|
|
30
|
-
duration: "duración ISO",
|
|
31
|
-
ipv4: "dirección IPv4",
|
|
32
|
-
ipv6: "dirección IPv6",
|
|
33
|
-
cidrv4: "rango IPv4",
|
|
34
|
-
cidrv6: "rango IPv6",
|
|
35
|
-
base64: "cadena codificada en base64",
|
|
36
|
-
base64url: "URL codificada en base64",
|
|
37
|
-
json_string: "cadena JSON",
|
|
38
|
-
e164: "número E.164",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "entrada",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
string: "texto",
|
|
45
|
-
number: "número",
|
|
46
|
-
boolean: "booleano",
|
|
47
|
-
array: "arreglo",
|
|
48
|
-
object: "objeto",
|
|
49
|
-
set: "conjunto",
|
|
50
|
-
file: "archivo",
|
|
51
|
-
date: "fecha",
|
|
52
|
-
bigint: "número grande",
|
|
53
|
-
symbol: "símbolo",
|
|
54
|
-
undefined: "indefinido",
|
|
55
|
-
null: "nulo",
|
|
56
|
-
function: "función",
|
|
57
|
-
map: "mapa",
|
|
58
|
-
record: "registro",
|
|
59
|
-
tuple: "tupla",
|
|
60
|
-
enum: "enumeración",
|
|
61
|
-
union: "unión",
|
|
62
|
-
literal: "literal",
|
|
63
|
-
promise: "promesa",
|
|
64
|
-
void: "vacío",
|
|
65
|
-
never: "nunca",
|
|
66
|
-
unknown: "desconocido",
|
|
67
|
-
any: "cualquiera",
|
|
68
|
-
};
|
|
69
|
-
return (issue) => {
|
|
70
|
-
switch (issue.code) {
|
|
71
|
-
case "invalid_type": {
|
|
72
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
73
|
-
const receivedType = util.parsedType(issue.input);
|
|
74
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
75
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
76
|
-
return `Entrada inválida: se esperaba instanceof ${issue.expected}, recibido ${received}`;
|
|
77
|
-
}
|
|
78
|
-
return `Entrada inválida: se esperaba ${expected}, recibido ${received}`;
|
|
79
|
-
}
|
|
80
|
-
case "invalid_value":
|
|
81
|
-
if (issue.values.length === 1)
|
|
82
|
-
return `Entrada inválida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;
|
|
83
|
-
return `Opción inválida: se esperaba una de ${util.joinValues(issue.values, "|")}`;
|
|
84
|
-
case "too_big": {
|
|
85
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
86
|
-
const sizing = getSizing(issue.origin);
|
|
87
|
-
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
88
|
-
if (sizing)
|
|
89
|
-
return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
|
90
|
-
return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
|
91
|
-
}
|
|
92
|
-
case "too_small": {
|
|
93
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
94
|
-
const sizing = getSizing(issue.origin);
|
|
95
|
-
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
96
|
-
if (sizing) {
|
|
97
|
-
return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
98
|
-
}
|
|
99
|
-
return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
|
|
100
|
-
}
|
|
101
|
-
case "invalid_format": {
|
|
102
|
-
const _issue = issue;
|
|
103
|
-
if (_issue.format === "starts_with")
|
|
104
|
-
return `Cadena inválida: debe comenzar con "${_issue.prefix}"`;
|
|
105
|
-
if (_issue.format === "ends_with")
|
|
106
|
-
return `Cadena inválida: debe terminar en "${_issue.suffix}"`;
|
|
107
|
-
if (_issue.format === "includes")
|
|
108
|
-
return `Cadena inválida: debe incluir "${_issue.includes}"`;
|
|
109
|
-
if (_issue.format === "regex")
|
|
110
|
-
return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;
|
|
111
|
-
return `Inválido ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
112
|
-
}
|
|
113
|
-
case "not_multiple_of":
|
|
114
|
-
return `Número inválido: debe ser múltiplo de ${issue.divisor}`;
|
|
115
|
-
case "unrecognized_keys":
|
|
116
|
-
return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
117
|
-
case "invalid_key":
|
|
118
|
-
return `Llave inválida en ${TypeDictionary[issue.origin] ?? issue.origin}`;
|
|
119
|
-
case "invalid_union":
|
|
120
|
-
return "Entrada inválida";
|
|
121
|
-
case "invalid_element":
|
|
122
|
-
return `Valor inválido en ${TypeDictionary[issue.origin] ?? issue.origin}`;
|
|
123
|
-
default:
|
|
124
|
-
return `Entrada inválida`;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
export default function () {
|
|
129
|
-
return {
|
|
130
|
-
localeError: error(),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "caracteres", verb: "tener" },
|
|
5
|
+
file: { unit: "bytes", verb: "tener" },
|
|
6
|
+
array: { unit: "elementos", verb: "tener" },
|
|
7
|
+
set: { unit: "elementos", verb: "tener" },
|
|
8
|
+
};
|
|
9
|
+
function getSizing(origin) {
|
|
10
|
+
return Sizable[origin] ?? null;
|
|
11
|
+
}
|
|
12
|
+
const FormatDictionary = {
|
|
13
|
+
regex: "entrada",
|
|
14
|
+
email: "dirección de correo electrónico",
|
|
15
|
+
url: "URL",
|
|
16
|
+
emoji: "emoji",
|
|
17
|
+
uuid: "UUID",
|
|
18
|
+
uuidv4: "UUIDv4",
|
|
19
|
+
uuidv6: "UUIDv6",
|
|
20
|
+
nanoid: "nanoid",
|
|
21
|
+
guid: "GUID",
|
|
22
|
+
cuid: "cuid",
|
|
23
|
+
cuid2: "cuid2",
|
|
24
|
+
ulid: "ULID",
|
|
25
|
+
xid: "XID",
|
|
26
|
+
ksuid: "KSUID",
|
|
27
|
+
datetime: "fecha y hora ISO",
|
|
28
|
+
date: "fecha ISO",
|
|
29
|
+
time: "hora ISO",
|
|
30
|
+
duration: "duración ISO",
|
|
31
|
+
ipv4: "dirección IPv4",
|
|
32
|
+
ipv6: "dirección IPv6",
|
|
33
|
+
cidrv4: "rango IPv4",
|
|
34
|
+
cidrv6: "rango IPv6",
|
|
35
|
+
base64: "cadena codificada en base64",
|
|
36
|
+
base64url: "URL codificada en base64",
|
|
37
|
+
json_string: "cadena JSON",
|
|
38
|
+
e164: "número E.164",
|
|
39
|
+
jwt: "JWT",
|
|
40
|
+
template_literal: "entrada",
|
|
41
|
+
};
|
|
42
|
+
const TypeDictionary = {
|
|
43
|
+
nan: "NaN",
|
|
44
|
+
string: "texto",
|
|
45
|
+
number: "número",
|
|
46
|
+
boolean: "booleano",
|
|
47
|
+
array: "arreglo",
|
|
48
|
+
object: "objeto",
|
|
49
|
+
set: "conjunto",
|
|
50
|
+
file: "archivo",
|
|
51
|
+
date: "fecha",
|
|
52
|
+
bigint: "número grande",
|
|
53
|
+
symbol: "símbolo",
|
|
54
|
+
undefined: "indefinido",
|
|
55
|
+
null: "nulo",
|
|
56
|
+
function: "función",
|
|
57
|
+
map: "mapa",
|
|
58
|
+
record: "registro",
|
|
59
|
+
tuple: "tupla",
|
|
60
|
+
enum: "enumeración",
|
|
61
|
+
union: "unión",
|
|
62
|
+
literal: "literal",
|
|
63
|
+
promise: "promesa",
|
|
64
|
+
void: "vacío",
|
|
65
|
+
never: "nunca",
|
|
66
|
+
unknown: "desconocido",
|
|
67
|
+
any: "cualquiera",
|
|
68
|
+
};
|
|
69
|
+
return (issue) => {
|
|
70
|
+
switch (issue.code) {
|
|
71
|
+
case "invalid_type": {
|
|
72
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
73
|
+
const receivedType = util.parsedType(issue.input);
|
|
74
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
75
|
+
if (/^[A-Z]/.test(issue.expected)) {
|
|
76
|
+
return `Entrada inválida: se esperaba instanceof ${issue.expected}, recibido ${received}`;
|
|
77
|
+
}
|
|
78
|
+
return `Entrada inválida: se esperaba ${expected}, recibido ${received}`;
|
|
79
|
+
}
|
|
80
|
+
case "invalid_value":
|
|
81
|
+
if (issue.values.length === 1)
|
|
82
|
+
return `Entrada inválida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;
|
|
83
|
+
return `Opción inválida: se esperaba una de ${util.joinValues(issue.values, "|")}`;
|
|
84
|
+
case "too_big": {
|
|
85
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
86
|
+
const sizing = getSizing(issue.origin);
|
|
87
|
+
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
88
|
+
if (sizing)
|
|
89
|
+
return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
|
90
|
+
return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
|
91
|
+
}
|
|
92
|
+
case "too_small": {
|
|
93
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
94
|
+
const sizing = getSizing(issue.origin);
|
|
95
|
+
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
96
|
+
if (sizing) {
|
|
97
|
+
return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
98
|
+
}
|
|
99
|
+
return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
|
|
100
|
+
}
|
|
101
|
+
case "invalid_format": {
|
|
102
|
+
const _issue = issue;
|
|
103
|
+
if (_issue.format === "starts_with")
|
|
104
|
+
return `Cadena inválida: debe comenzar con "${_issue.prefix}"`;
|
|
105
|
+
if (_issue.format === "ends_with")
|
|
106
|
+
return `Cadena inválida: debe terminar en "${_issue.suffix}"`;
|
|
107
|
+
if (_issue.format === "includes")
|
|
108
|
+
return `Cadena inválida: debe incluir "${_issue.includes}"`;
|
|
109
|
+
if (_issue.format === "regex")
|
|
110
|
+
return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;
|
|
111
|
+
return `Inválido ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
112
|
+
}
|
|
113
|
+
case "not_multiple_of":
|
|
114
|
+
return `Número inválido: debe ser múltiplo de ${issue.divisor}`;
|
|
115
|
+
case "unrecognized_keys":
|
|
116
|
+
return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
117
|
+
case "invalid_key":
|
|
118
|
+
return `Llave inválida en ${TypeDictionary[issue.origin] ?? issue.origin}`;
|
|
119
|
+
case "invalid_union":
|
|
120
|
+
return "Entrada inválida";
|
|
121
|
+
case "invalid_element":
|
|
122
|
+
return `Valor inválido en ${TypeDictionary[issue.origin] ?? issue.origin}`;
|
|
123
|
+
default:
|
|
124
|
+
return `Entrada inválida`;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
export default function () {
|
|
129
|
+
return {
|
|
130
|
+
localeError: error(),
|
|
131
|
+
};
|
|
132
|
+
}
|