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,115 +1,115 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "tegn", verb: "havde" },
|
|
5
|
-
file: { unit: "bytes", verb: "havde" },
|
|
6
|
-
array: { unit: "elementer", verb: "indeholdt" },
|
|
7
|
-
set: { unit: "elementer", verb: "indeholdt" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "input",
|
|
14
|
-
email: "e-mailadresse",
|
|
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: "ISO dato- og klokkeslæt",
|
|
28
|
-
date: "ISO-dato",
|
|
29
|
-
time: "ISO-klokkeslæt",
|
|
30
|
-
duration: "ISO-varighed",
|
|
31
|
-
ipv4: "IPv4-område",
|
|
32
|
-
ipv6: "IPv6-område",
|
|
33
|
-
cidrv4: "IPv4-spektrum",
|
|
34
|
-
cidrv6: "IPv6-spektrum",
|
|
35
|
-
base64: "base64-kodet streng",
|
|
36
|
-
base64url: "base64url-kodet streng",
|
|
37
|
-
json_string: "JSON-streng",
|
|
38
|
-
e164: "E.164-nummer",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "input",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
string: "streng",
|
|
45
|
-
number: "tal",
|
|
46
|
-
boolean: "boolean",
|
|
47
|
-
array: "liste",
|
|
48
|
-
object: "objekt",
|
|
49
|
-
set: "sæt",
|
|
50
|
-
file: "fil",
|
|
51
|
-
};
|
|
52
|
-
return (issue) => {
|
|
53
|
-
switch (issue.code) {
|
|
54
|
-
case "invalid_type": {
|
|
55
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
56
|
-
const receivedType = util.parsedType(issue.input);
|
|
57
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
58
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
59
|
-
return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;
|
|
60
|
-
}
|
|
61
|
-
return `Ugyldigt input: forventede ${expected}, fik ${received}`;
|
|
62
|
-
}
|
|
63
|
-
case "invalid_value":
|
|
64
|
-
if (issue.values.length === 1)
|
|
65
|
-
return `Ugyldig værdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;
|
|
66
|
-
return `Ugyldigt valg: forventede en af følgende ${util.joinValues(issue.values, "|")}`;
|
|
67
|
-
case "too_big": {
|
|
68
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
69
|
-
const sizing = getSizing(issue.origin);
|
|
70
|
-
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
71
|
-
if (sizing)
|
|
72
|
-
return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
|
|
73
|
-
return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue.maximum.toString()}`;
|
|
74
|
-
}
|
|
75
|
-
case "too_small": {
|
|
76
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
77
|
-
const sizing = getSizing(issue.origin);
|
|
78
|
-
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
79
|
-
if (sizing) {
|
|
80
|
-
return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
81
|
-
}
|
|
82
|
-
return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;
|
|
83
|
-
}
|
|
84
|
-
case "invalid_format": {
|
|
85
|
-
const _issue = issue;
|
|
86
|
-
if (_issue.format === "starts_with")
|
|
87
|
-
return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
|
|
88
|
-
if (_issue.format === "ends_with")
|
|
89
|
-
return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
|
|
90
|
-
if (_issue.format === "includes")
|
|
91
|
-
return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
|
|
92
|
-
if (_issue.format === "regex")
|
|
93
|
-
return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;
|
|
94
|
-
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
95
|
-
}
|
|
96
|
-
case "not_multiple_of":
|
|
97
|
-
return `Ugyldigt tal: skal være deleligt med ${issue.divisor}`;
|
|
98
|
-
case "unrecognized_keys":
|
|
99
|
-
return `${issue.keys.length > 1 ? "Ukendte nøgler" : "Ukendt nøgle"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
100
|
-
case "invalid_key":
|
|
101
|
-
return `Ugyldig nøgle i ${issue.origin}`;
|
|
102
|
-
case "invalid_union":
|
|
103
|
-
return "Ugyldigt input: matcher ingen af de tilladte typer";
|
|
104
|
-
case "invalid_element":
|
|
105
|
-
return `Ugyldig værdi i ${issue.origin}`;
|
|
106
|
-
default:
|
|
107
|
-
return `Ugyldigt input`;
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
export default function () {
|
|
112
|
-
return {
|
|
113
|
-
localeError: error(),
|
|
114
|
-
};
|
|
115
|
-
}
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "tegn", verb: "havde" },
|
|
5
|
+
file: { unit: "bytes", verb: "havde" },
|
|
6
|
+
array: { unit: "elementer", verb: "indeholdt" },
|
|
7
|
+
set: { unit: "elementer", verb: "indeholdt" },
|
|
8
|
+
};
|
|
9
|
+
function getSizing(origin) {
|
|
10
|
+
return Sizable[origin] ?? null;
|
|
11
|
+
}
|
|
12
|
+
const FormatDictionary = {
|
|
13
|
+
regex: "input",
|
|
14
|
+
email: "e-mailadresse",
|
|
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: "ISO dato- og klokkeslæt",
|
|
28
|
+
date: "ISO-dato",
|
|
29
|
+
time: "ISO-klokkeslæt",
|
|
30
|
+
duration: "ISO-varighed",
|
|
31
|
+
ipv4: "IPv4-område",
|
|
32
|
+
ipv6: "IPv6-område",
|
|
33
|
+
cidrv4: "IPv4-spektrum",
|
|
34
|
+
cidrv6: "IPv6-spektrum",
|
|
35
|
+
base64: "base64-kodet streng",
|
|
36
|
+
base64url: "base64url-kodet streng",
|
|
37
|
+
json_string: "JSON-streng",
|
|
38
|
+
e164: "E.164-nummer",
|
|
39
|
+
jwt: "JWT",
|
|
40
|
+
template_literal: "input",
|
|
41
|
+
};
|
|
42
|
+
const TypeDictionary = {
|
|
43
|
+
nan: "NaN",
|
|
44
|
+
string: "streng",
|
|
45
|
+
number: "tal",
|
|
46
|
+
boolean: "boolean",
|
|
47
|
+
array: "liste",
|
|
48
|
+
object: "objekt",
|
|
49
|
+
set: "sæt",
|
|
50
|
+
file: "fil",
|
|
51
|
+
};
|
|
52
|
+
return (issue) => {
|
|
53
|
+
switch (issue.code) {
|
|
54
|
+
case "invalid_type": {
|
|
55
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
56
|
+
const receivedType = util.parsedType(issue.input);
|
|
57
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
58
|
+
if (/^[A-Z]/.test(issue.expected)) {
|
|
59
|
+
return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;
|
|
60
|
+
}
|
|
61
|
+
return `Ugyldigt input: forventede ${expected}, fik ${received}`;
|
|
62
|
+
}
|
|
63
|
+
case "invalid_value":
|
|
64
|
+
if (issue.values.length === 1)
|
|
65
|
+
return `Ugyldig værdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;
|
|
66
|
+
return `Ugyldigt valg: forventede en af følgende ${util.joinValues(issue.values, "|")}`;
|
|
67
|
+
case "too_big": {
|
|
68
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
69
|
+
const sizing = getSizing(issue.origin);
|
|
70
|
+
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
71
|
+
if (sizing)
|
|
72
|
+
return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
|
|
73
|
+
return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue.maximum.toString()}`;
|
|
74
|
+
}
|
|
75
|
+
case "too_small": {
|
|
76
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
77
|
+
const sizing = getSizing(issue.origin);
|
|
78
|
+
const origin = TypeDictionary[issue.origin] ?? issue.origin;
|
|
79
|
+
if (sizing) {
|
|
80
|
+
return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
81
|
+
}
|
|
82
|
+
return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;
|
|
83
|
+
}
|
|
84
|
+
case "invalid_format": {
|
|
85
|
+
const _issue = issue;
|
|
86
|
+
if (_issue.format === "starts_with")
|
|
87
|
+
return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
|
|
88
|
+
if (_issue.format === "ends_with")
|
|
89
|
+
return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
|
|
90
|
+
if (_issue.format === "includes")
|
|
91
|
+
return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
|
|
92
|
+
if (_issue.format === "regex")
|
|
93
|
+
return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;
|
|
94
|
+
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
95
|
+
}
|
|
96
|
+
case "not_multiple_of":
|
|
97
|
+
return `Ugyldigt tal: skal være deleligt med ${issue.divisor}`;
|
|
98
|
+
case "unrecognized_keys":
|
|
99
|
+
return `${issue.keys.length > 1 ? "Ukendte nøgler" : "Ukendt nøgle"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
100
|
+
case "invalid_key":
|
|
101
|
+
return `Ugyldig nøgle i ${issue.origin}`;
|
|
102
|
+
case "invalid_union":
|
|
103
|
+
return "Ugyldigt input: matcher ingen af de tilladte typer";
|
|
104
|
+
case "invalid_element":
|
|
105
|
+
return `Ugyldig værdi i ${issue.origin}`;
|
|
106
|
+
default:
|
|
107
|
+
return `Ugyldigt input`;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
export default function () {
|
|
112
|
+
return {
|
|
113
|
+
localeError: error(),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "Zeichen", verb: "zu haben" },
|
|
5
|
-
file: { unit: "Bytes", verb: "zu haben" },
|
|
6
|
-
array: { unit: "Elemente", verb: "zu haben" },
|
|
7
|
-
set: { unit: "Elemente", verb: "zu haben" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "Eingabe",
|
|
14
|
-
email: "E-Mail-Adresse",
|
|
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: "ISO-Datum und -Uhrzeit",
|
|
28
|
-
date: "ISO-Datum",
|
|
29
|
-
time: "ISO-Uhrzeit",
|
|
30
|
-
duration: "ISO-Dauer",
|
|
31
|
-
ipv4: "IPv4-Adresse",
|
|
32
|
-
ipv6: "IPv6-Adresse",
|
|
33
|
-
cidrv4: "IPv4-Bereich",
|
|
34
|
-
cidrv6: "IPv6-Bereich",
|
|
35
|
-
base64: "Base64-codierter String",
|
|
36
|
-
base64url: "Base64-URL-codierter String",
|
|
37
|
-
json_string: "JSON-String",
|
|
38
|
-
e164: "E.164-Nummer",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "Eingabe",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "Zahl",
|
|
45
|
-
array: "Array",
|
|
46
|
-
};
|
|
47
|
-
return (issue) => {
|
|
48
|
-
switch (issue.code) {
|
|
49
|
-
case "invalid_type": {
|
|
50
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
51
|
-
const receivedType = util.parsedType(issue.input);
|
|
52
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
53
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
54
|
-
return `Ungültige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;
|
|
55
|
-
}
|
|
56
|
-
return `Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`;
|
|
57
|
-
}
|
|
58
|
-
case "invalid_value":
|
|
59
|
-
if (issue.values.length === 1)
|
|
60
|
-
return `Ungültige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;
|
|
61
|
-
return `Ungültige Option: erwartet eine von ${util.joinValues(issue.values, "|")}`;
|
|
62
|
-
case "too_big": {
|
|
63
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
64
|
-
const sizing = getSizing(issue.origin);
|
|
65
|
-
if (sizing)
|
|
66
|
-
return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
|
|
67
|
-
return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ist`;
|
|
68
|
-
}
|
|
69
|
-
case "too_small": {
|
|
70
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
71
|
-
const sizing = getSizing(issue.origin);
|
|
72
|
-
if (sizing) {
|
|
73
|
-
return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;
|
|
74
|
-
}
|
|
75
|
-
return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;
|
|
76
|
-
}
|
|
77
|
-
case "invalid_format": {
|
|
78
|
-
const _issue = issue;
|
|
79
|
-
if (_issue.format === "starts_with")
|
|
80
|
-
return `Ungültiger String: muss mit "${_issue.prefix}" beginnen`;
|
|
81
|
-
if (_issue.format === "ends_with")
|
|
82
|
-
return `Ungültiger String: muss mit "${_issue.suffix}" enden`;
|
|
83
|
-
if (_issue.format === "includes")
|
|
84
|
-
return `Ungültiger String: muss "${_issue.includes}" enthalten`;
|
|
85
|
-
if (_issue.format === "regex")
|
|
86
|
-
return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;
|
|
87
|
-
return `Ungültig: ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
88
|
-
}
|
|
89
|
-
case "not_multiple_of":
|
|
90
|
-
return `Ungültige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;
|
|
91
|
-
case "unrecognized_keys":
|
|
92
|
-
return `${issue.keys.length > 1 ? "Unbekannte Schlüssel" : "Unbekannter Schlüssel"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
93
|
-
case "invalid_key":
|
|
94
|
-
return `Ungültiger Schlüssel in ${issue.origin}`;
|
|
95
|
-
case "invalid_union":
|
|
96
|
-
return "Ungültige Eingabe";
|
|
97
|
-
case "invalid_element":
|
|
98
|
-
return `Ungültiger Wert in ${issue.origin}`;
|
|
99
|
-
default:
|
|
100
|
-
return `Ungültige Eingabe`;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
export default function () {
|
|
105
|
-
return {
|
|
106
|
-
localeError: error(),
|
|
107
|
-
};
|
|
108
|
-
}
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "Zeichen", verb: "zu haben" },
|
|
5
|
+
file: { unit: "Bytes", verb: "zu haben" },
|
|
6
|
+
array: { unit: "Elemente", verb: "zu haben" },
|
|
7
|
+
set: { unit: "Elemente", verb: "zu haben" },
|
|
8
|
+
};
|
|
9
|
+
function getSizing(origin) {
|
|
10
|
+
return Sizable[origin] ?? null;
|
|
11
|
+
}
|
|
12
|
+
const FormatDictionary = {
|
|
13
|
+
regex: "Eingabe",
|
|
14
|
+
email: "E-Mail-Adresse",
|
|
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: "ISO-Datum und -Uhrzeit",
|
|
28
|
+
date: "ISO-Datum",
|
|
29
|
+
time: "ISO-Uhrzeit",
|
|
30
|
+
duration: "ISO-Dauer",
|
|
31
|
+
ipv4: "IPv4-Adresse",
|
|
32
|
+
ipv6: "IPv6-Adresse",
|
|
33
|
+
cidrv4: "IPv4-Bereich",
|
|
34
|
+
cidrv6: "IPv6-Bereich",
|
|
35
|
+
base64: "Base64-codierter String",
|
|
36
|
+
base64url: "Base64-URL-codierter String",
|
|
37
|
+
json_string: "JSON-String",
|
|
38
|
+
e164: "E.164-Nummer",
|
|
39
|
+
jwt: "JWT",
|
|
40
|
+
template_literal: "Eingabe",
|
|
41
|
+
};
|
|
42
|
+
const TypeDictionary = {
|
|
43
|
+
nan: "NaN",
|
|
44
|
+
number: "Zahl",
|
|
45
|
+
array: "Array",
|
|
46
|
+
};
|
|
47
|
+
return (issue) => {
|
|
48
|
+
switch (issue.code) {
|
|
49
|
+
case "invalid_type": {
|
|
50
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
51
|
+
const receivedType = util.parsedType(issue.input);
|
|
52
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
53
|
+
if (/^[A-Z]/.test(issue.expected)) {
|
|
54
|
+
return `Ungültige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;
|
|
55
|
+
}
|
|
56
|
+
return `Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`;
|
|
57
|
+
}
|
|
58
|
+
case "invalid_value":
|
|
59
|
+
if (issue.values.length === 1)
|
|
60
|
+
return `Ungültige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;
|
|
61
|
+
return `Ungültige Option: erwartet eine von ${util.joinValues(issue.values, "|")}`;
|
|
62
|
+
case "too_big": {
|
|
63
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
64
|
+
const sizing = getSizing(issue.origin);
|
|
65
|
+
if (sizing)
|
|
66
|
+
return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
|
|
67
|
+
return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ist`;
|
|
68
|
+
}
|
|
69
|
+
case "too_small": {
|
|
70
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
71
|
+
const sizing = getSizing(issue.origin);
|
|
72
|
+
if (sizing) {
|
|
73
|
+
return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;
|
|
74
|
+
}
|
|
75
|
+
return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;
|
|
76
|
+
}
|
|
77
|
+
case "invalid_format": {
|
|
78
|
+
const _issue = issue;
|
|
79
|
+
if (_issue.format === "starts_with")
|
|
80
|
+
return `Ungültiger String: muss mit "${_issue.prefix}" beginnen`;
|
|
81
|
+
if (_issue.format === "ends_with")
|
|
82
|
+
return `Ungültiger String: muss mit "${_issue.suffix}" enden`;
|
|
83
|
+
if (_issue.format === "includes")
|
|
84
|
+
return `Ungültiger String: muss "${_issue.includes}" enthalten`;
|
|
85
|
+
if (_issue.format === "regex")
|
|
86
|
+
return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;
|
|
87
|
+
return `Ungültig: ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
88
|
+
}
|
|
89
|
+
case "not_multiple_of":
|
|
90
|
+
return `Ungültige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;
|
|
91
|
+
case "unrecognized_keys":
|
|
92
|
+
return `${issue.keys.length > 1 ? "Unbekannte Schlüssel" : "Unbekannter Schlüssel"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
93
|
+
case "invalid_key":
|
|
94
|
+
return `Ungültiger Schlüssel in ${issue.origin}`;
|
|
95
|
+
case "invalid_union":
|
|
96
|
+
return "Ungültige Eingabe";
|
|
97
|
+
case "invalid_element":
|
|
98
|
+
return `Ungültiger Wert in ${issue.origin}`;
|
|
99
|
+
default:
|
|
100
|
+
return `Ungültige Eingabe`;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
export default function () {
|
|
105
|
+
return {
|
|
106
|
+
localeError: error(),
|
|
107
|
+
};
|
|
108
|
+
}
|