flavor-code 1.4.0-beta.1 → 1.4.0-beta.3
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/dist/agent/loop.d.ts +3 -0
- package/dist/{app-C5ZQUOKJ.js → app-H7RYDMD3.js} +6 -6
- package/dist/{chunk-FOTMP4ZS.js → chunk-3BHKW5A7.js} +1 -1
- package/dist/{chunk-ODRWR4KK.js → chunk-IQAZ42TM.js} +1 -1
- package/dist/{chunk-URUVFECH.js → chunk-KBHWS7M6.js} +4 -4
- package/dist/{chunk-6MNOZ2TX.js → chunk-NIKCPCJG.js} +559 -377
- package/dist/{chunk-3WCDZ6ZL.js → chunk-ZJCAQXA7.js} +2 -1
- package/dist/{claude-ink-LP32NSX5.js → claude-ink-ECZ6QF3P.js} +2 -2
- package/dist/cli-main.js +7 -7
- package/dist/desktop/main.js +626 -443
- package/dist/desktop-renderer/assets/{index-CqRIr-hz.js → index-CYd5JkTR.js} +2 -2
- package/dist/desktop-renderer/assets/{interactive-terminal-C4o7MNPO.js → interactive-terminal-j52Ty3QO.js} +1 -1
- package/dist/desktop-renderer/index.html +1 -1
- package/dist/git/service.d.ts +3 -3
- package/dist/git/tools.d.ts +1 -1
- package/dist/harness/local.d.ts +2 -0
- package/dist/init/project.d.ts +0 -6
- package/dist/jobs/registry.d.ts +1 -1
- package/dist/{load-V2UIYYQI.js → load-SLSL3IWR.js} +1 -1
- package/dist/sdk/index.js +4 -4
- package/dist/tools/lsp.d.ts +13 -10
- package/dist/tools/runtime.d.ts +2 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/types.d.ts +1 -1
- package/dist/utils/abort.d.ts +4 -0
- package/dist/utils/execFileNoThrow.d.ts +1 -0
- package/dist/utils/process-tree.d.ts +2 -0
- package/package.json +2 -2
- package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +7 -7
- package/dist/astgraph/db.mjs +0 -237
- package/dist/astgraph/extract.mjs +0 -239
- package/dist/astgraph/flavor-plugin.json +0 -25
- package/dist/astgraph/grammars.mjs +0 -68
- package/dist/astgraph/index.js +0 -301
- package/dist/astgraph/indexer.mjs +0 -175
- package/dist/astgraph/query.mjs +0 -165
- package/dist/astgraph/resolve.mjs +0 -93
- package/dist/astgraph/vendor/tree-sitter-javascript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-tsx.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-typescript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter.js +0 -3980
- package/dist/astgraph/vendor/tree-sitter.wasm +0 -0
- package/dist/astgraph/vendor/zod/LICENSE +0 -21
- package/dist/astgraph/vendor/zod/index.js +0 -4
- package/dist/astgraph/vendor/zod/locales/index.js +0 -1
- package/dist/astgraph/vendor/zod/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/package.json +0 -135
- package/dist/astgraph/vendor/zod/v4/classic/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/classic/coerce.js +0 -17
- package/dist/astgraph/vendor/zod/v4/classic/compat.js +0 -31
- package/dist/astgraph/vendor/zod/v4/classic/errors.js +0 -48
- package/dist/astgraph/vendor/zod/v4/classic/external.js +0 -20
- package/dist/astgraph/vendor/zod/v4/classic/from-json-schema.js +0 -599
- package/dist/astgraph/vendor/zod/v4/classic/index.js +0 -4
- package/dist/astgraph/vendor/zod/v4/classic/iso.js +0 -30
- package/dist/astgraph/vendor/zod/v4/classic/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/classic/parse.js +0 -15
- package/dist/astgraph/vendor/zod/v4/classic/schemas.js +0 -1395
- package/dist/astgraph/vendor/zod/v4/core/api.js +0 -1087
- package/dist/astgraph/vendor/zod/v4/core/checks.js +0 -575
- package/dist/astgraph/vendor/zod/v4/core/core.js +0 -78
- package/dist/astgraph/vendor/zod/v4/core/doc.js +0 -35
- package/dist/astgraph/vendor/zod/v4/core/errors.js +0 -185
- package/dist/astgraph/vendor/zod/v4/core/index.js +0 -16
- package/dist/astgraph/vendor/zod/v4/core/json-schema-generator.js +0 -95
- package/dist/astgraph/vendor/zod/v4/core/json-schema-processors.js +0 -601
- package/dist/astgraph/vendor/zod/v4/core/json-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/core/parse.js +0 -93
- package/dist/astgraph/vendor/zod/v4/core/regexes.js +0 -139
- package/dist/astgraph/vendor/zod/v4/core/registries.js +0 -51
- package/dist/astgraph/vendor/zod/v4/core/schemas.js +0 -2239
- package/dist/astgraph/vendor/zod/v4/core/standard-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/to-json-schema.js +0 -448
- package/dist/astgraph/vendor/zod/v4/core/util.js +0 -674
- package/dist/astgraph/vendor/zod/v4/core/versions.js +0 -5
- package/dist/astgraph/vendor/zod/v4/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/locales/ar.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/az.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/be.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/bg.js +0 -120
- package/dist/astgraph/vendor/zod/v4/locales/ca.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/cs.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/da.js +0 -115
- package/dist/astgraph/vendor/zod/v4/locales/de.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/el.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/en.js +0 -113
- package/dist/astgraph/vendor/zod/v4/locales/eo.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/es.js +0 -132
- package/dist/astgraph/vendor/zod/v4/locales/fa.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/fi.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/fr-CA.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/fr.js +0 -125
- package/dist/astgraph/vendor/zod/v4/locales/he.js +0 -214
- package/dist/astgraph/vendor/zod/v4/locales/hr.js +0 -122
- package/dist/astgraph/vendor/zod/v4/locales/hu.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/hy.js +0 -147
- package/dist/astgraph/vendor/zod/v4/locales/id.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/index.js +0 -52
- package/dist/astgraph/vendor/zod/v4/locales/is.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/it.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ja.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/ka.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/kh.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/km.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ko.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/lt.js +0 -203
- package/dist/astgraph/vendor/zod/v4/locales/mk.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ms.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/nl.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/no.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ota.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/locales/pl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ps.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/pt.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ro.js +0 -119
- package/dist/astgraph/vendor/zod/v4/locales/ru.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/sl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/sv.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ta.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/th.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/tr.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/ua.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/uk.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ur.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/uz.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/vi.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/yo.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/zh-CN.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/zh-TW.js +0 -107
- package/dist/astgraph/vendor/zod/v4/mini/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/coerce.js +0 -22
- package/dist/astgraph/vendor/zod/v4/mini/external.js +0 -14
- package/dist/astgraph/vendor/zod/v4/mini/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/mini/iso.js +0 -34
- package/dist/astgraph/vendor/zod/v4/mini/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/mini/parse.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/schemas.js +0 -961
- package/dist/astgraph/vendor/zod/v4/package.json +0 -7
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "ตัวอักษร", verb: "ควรมี" },
|
|
5
|
-
file: { unit: "ไบต์", verb: "ควรมี" },
|
|
6
|
-
array: { unit: "รายการ", verb: "ควรมี" },
|
|
7
|
-
set: { unit: "รายการ", verb: "ควรมี" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "ข้อมูลที่ป้อน",
|
|
14
|
-
email: "ที่อยู่อีเมล",
|
|
15
|
-
url: "URL",
|
|
16
|
-
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",
|
|
28
|
-
date: "วันที่แบบ ISO",
|
|
29
|
-
time: "เวลาแบบ ISO",
|
|
30
|
-
duration: "ช่วงเวลาแบบ ISO",
|
|
31
|
-
ipv4: "ที่อยู่ IPv4",
|
|
32
|
-
ipv6: "ที่อยู่ IPv6",
|
|
33
|
-
cidrv4: "ช่วง IP แบบ IPv4",
|
|
34
|
-
cidrv6: "ช่วง IP แบบ IPv6",
|
|
35
|
-
base64: "ข้อความแบบ Base64",
|
|
36
|
-
base64url: "ข้อความแบบ Base64 สำหรับ URL",
|
|
37
|
-
json_string: "ข้อความแบบ JSON",
|
|
38
|
-
e164: "เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",
|
|
39
|
-
jwt: "โทเคน JWT",
|
|
40
|
-
template_literal: "ข้อมูลที่ป้อน",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "ตัวเลข",
|
|
45
|
-
array: "อาร์เรย์ (Array)",
|
|
46
|
-
null: "ไม่มีค่า (null)",
|
|
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 `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${issue.expected} แต่ได้รับ ${received}`;
|
|
56
|
-
}
|
|
57
|
-
return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${expected} แต่ได้รับ ${received}`;
|
|
58
|
-
}
|
|
59
|
-
case "invalid_value":
|
|
60
|
-
if (issue.values.length === 1)
|
|
61
|
-
return `ค่าไม่ถูกต้อง: ควรเป็น ${util.stringifyPrimitive(issue.values[0])}`;
|
|
62
|
-
return `ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${util.joinValues(issue.values, "|")}`;
|
|
63
|
-
case "too_big": {
|
|
64
|
-
const adj = issue.inclusive ? "ไม่เกิน" : "น้อยกว่า";
|
|
65
|
-
const sizing = getSizing(issue.origin);
|
|
66
|
-
if (sizing)
|
|
67
|
-
return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${adj} ${issue.maximum.toString()} ${sizing.unit ?? "รายการ"}`;
|
|
68
|
-
return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${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 `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
75
|
-
}
|
|
76
|
-
return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()}`;
|
|
77
|
-
}
|
|
78
|
-
case "invalid_format": {
|
|
79
|
-
const _issue = issue;
|
|
80
|
-
if (_issue.format === "starts_with") {
|
|
81
|
-
return `รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${_issue.prefix}"`;
|
|
82
|
-
}
|
|
83
|
-
if (_issue.format === "ends_with")
|
|
84
|
-
return `รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${_issue.suffix}"`;
|
|
85
|
-
if (_issue.format === "includes")
|
|
86
|
-
return `รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${_issue.includes}" อยู่ในข้อความ`;
|
|
87
|
-
if (_issue.format === "regex")
|
|
88
|
-
return `รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;
|
|
89
|
-
return `รูปแบบไม่ถูกต้อง: ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
90
|
-
}
|
|
91
|
-
case "not_multiple_of":
|
|
92
|
-
return `ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue.divisor} ได้ลงตัว`;
|
|
93
|
-
case "unrecognized_keys":
|
|
94
|
-
return `พบคีย์ที่ไม่รู้จัก: ${util.joinValues(issue.keys, ", ")}`;
|
|
95
|
-
case "invalid_key":
|
|
96
|
-
return `คีย์ไม่ถูกต้องใน ${issue.origin}`;
|
|
97
|
-
case "invalid_union":
|
|
98
|
-
return "ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";
|
|
99
|
-
case "invalid_element":
|
|
100
|
-
return `ข้อมูลไม่ถูกต้องใน ${issue.origin}`;
|
|
101
|
-
default:
|
|
102
|
-
return `ข้อมูลไม่ถูกต้อง`;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
export default function () {
|
|
107
|
-
return {
|
|
108
|
-
localeError: error(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "karakter", verb: "olmalı" },
|
|
5
|
-
file: { unit: "bayt", verb: "olmalı" },
|
|
6
|
-
array: { unit: "öğe", verb: "olmalı" },
|
|
7
|
-
set: { unit: "öğe", verb: "olmalı" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "girdi",
|
|
14
|
-
email: "e-posta adresi",
|
|
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 tarih ve saat",
|
|
28
|
-
date: "ISO tarih",
|
|
29
|
-
time: "ISO saat",
|
|
30
|
-
duration: "ISO süre",
|
|
31
|
-
ipv4: "IPv4 adresi",
|
|
32
|
-
ipv6: "IPv6 adresi",
|
|
33
|
-
cidrv4: "IPv4 aralığı",
|
|
34
|
-
cidrv6: "IPv6 aralığı",
|
|
35
|
-
base64: "base64 ile şifrelenmiş metin",
|
|
36
|
-
base64url: "base64url ile şifrelenmiş metin",
|
|
37
|
-
json_string: "JSON dizesi",
|
|
38
|
-
e164: "E.164 sayısı",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "Şablon dizesi",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
};
|
|
45
|
-
return (issue) => {
|
|
46
|
-
switch (issue.code) {
|
|
47
|
-
case "invalid_type": {
|
|
48
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
49
|
-
const receivedType = util.parsedType(issue.input);
|
|
50
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
51
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
52
|
-
return `Geçersiz değer: beklenen instanceof ${issue.expected}, alınan ${received}`;
|
|
53
|
-
}
|
|
54
|
-
return `Geçersiz değer: beklenen ${expected}, alınan ${received}`;
|
|
55
|
-
}
|
|
56
|
-
case "invalid_value":
|
|
57
|
-
if (issue.values.length === 1)
|
|
58
|
-
return `Geçersiz değer: beklenen ${util.stringifyPrimitive(issue.values[0])}`;
|
|
59
|
-
return `Geçersiz seçenek: aşağıdakilerden biri olmalı: ${util.joinValues(issue.values, "|")}`;
|
|
60
|
-
case "too_big": {
|
|
61
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
62
|
-
const sizing = getSizing(issue.origin);
|
|
63
|
-
if (sizing)
|
|
64
|
-
return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "öğe"}`;
|
|
65
|
-
return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()}`;
|
|
66
|
-
}
|
|
67
|
-
case "too_small": {
|
|
68
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
69
|
-
const sizing = getSizing(issue.origin);
|
|
70
|
-
if (sizing)
|
|
71
|
-
return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
72
|
-
return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;
|
|
73
|
-
}
|
|
74
|
-
case "invalid_format": {
|
|
75
|
-
const _issue = issue;
|
|
76
|
-
if (_issue.format === "starts_with")
|
|
77
|
-
return `Geçersiz metin: "${_issue.prefix}" ile başlamalı`;
|
|
78
|
-
if (_issue.format === "ends_with")
|
|
79
|
-
return `Geçersiz metin: "${_issue.suffix}" ile bitmeli`;
|
|
80
|
-
if (_issue.format === "includes")
|
|
81
|
-
return `Geçersiz metin: "${_issue.includes}" içermeli`;
|
|
82
|
-
if (_issue.format === "regex")
|
|
83
|
-
return `Geçersiz metin: ${_issue.pattern} desenine uymalı`;
|
|
84
|
-
return `Geçersiz ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
85
|
-
}
|
|
86
|
-
case "not_multiple_of":
|
|
87
|
-
return `Geçersiz sayı: ${issue.divisor} ile tam bölünebilmeli`;
|
|
88
|
-
case "unrecognized_keys":
|
|
89
|
-
return `Tanınmayan anahtar${issue.keys.length > 1 ? "lar" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
90
|
-
case "invalid_key":
|
|
91
|
-
return `${issue.origin} içinde geçersiz anahtar`;
|
|
92
|
-
case "invalid_union":
|
|
93
|
-
return "Geçersiz değer";
|
|
94
|
-
case "invalid_element":
|
|
95
|
-
return `${issue.origin} içinde geçersiz değer`;
|
|
96
|
-
default:
|
|
97
|
-
return `Geçersiz değer`;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
export default function () {
|
|
102
|
-
return {
|
|
103
|
-
localeError: error(),
|
|
104
|
-
};
|
|
105
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "символів", verb: "матиме" },
|
|
5
|
-
file: { unit: "байтів", verb: "матиме" },
|
|
6
|
-
array: { unit: "елементів", verb: "матиме" },
|
|
7
|
-
set: { unit: "елементів", verb: "матиме" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "вхідні дані",
|
|
14
|
-
email: "адреса електронної пошти",
|
|
15
|
-
url: "URL",
|
|
16
|
-
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",
|
|
28
|
-
date: "дата ISO",
|
|
29
|
-
time: "час ISO",
|
|
30
|
-
duration: "тривалість ISO",
|
|
31
|
-
ipv4: "адреса IPv4",
|
|
32
|
-
ipv6: "адреса IPv6",
|
|
33
|
-
cidrv4: "діапазон IPv4",
|
|
34
|
-
cidrv6: "діапазон IPv6",
|
|
35
|
-
base64: "рядок у кодуванні base64",
|
|
36
|
-
base64url: "рядок у кодуванні base64url",
|
|
37
|
-
json_string: "рядок JSON",
|
|
38
|
-
e164: "номер E.164",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "вхідні дані",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "число",
|
|
45
|
-
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 `Неправильні вхідні дані: очікується instanceof ${issue.expected}, отримано ${received}`;
|
|
55
|
-
}
|
|
56
|
-
return `Неправильні вхідні дані: очікується ${expected}, отримано ${received}`;
|
|
57
|
-
}
|
|
58
|
-
case "invalid_value":
|
|
59
|
-
if (issue.values.length === 1)
|
|
60
|
-
return `Неправильні вхідні дані: очікується ${util.stringifyPrimitive(issue.values[0])}`;
|
|
61
|
-
return `Неправильна опція: очікується одне з ${util.joinValues(issue.values, "|")}`;
|
|
62
|
-
case "too_big": {
|
|
63
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
64
|
-
const sizing = getSizing(issue.origin);
|
|
65
|
-
if (sizing)
|
|
66
|
-
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
|
|
67
|
-
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
|
|
68
|
-
}
|
|
69
|
-
case "too_small": {
|
|
70
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
71
|
-
const sizing = getSizing(issue.origin);
|
|
72
|
-
if (sizing) {
|
|
73
|
-
return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
74
|
-
}
|
|
75
|
-
return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
|
|
76
|
-
}
|
|
77
|
-
case "invalid_format": {
|
|
78
|
-
const _issue = issue;
|
|
79
|
-
if (_issue.format === "starts_with")
|
|
80
|
-
return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
|
|
81
|
-
if (_issue.format === "ends_with")
|
|
82
|
-
return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
|
|
83
|
-
if (_issue.format === "includes")
|
|
84
|
-
return `Неправильний рядок: повинен містити "${_issue.includes}"`;
|
|
85
|
-
if (_issue.format === "regex")
|
|
86
|
-
return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
|
|
87
|
-
return `Неправильний ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
88
|
-
}
|
|
89
|
-
case "not_multiple_of":
|
|
90
|
-
return `Неправильне число: повинно бути кратним ${issue.divisor}`;
|
|
91
|
-
case "unrecognized_keys":
|
|
92
|
-
return `Нерозпізнаний ключ${issue.keys.length > 1 ? "і" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
93
|
-
case "invalid_key":
|
|
94
|
-
return `Неправильний ключ у ${issue.origin}`;
|
|
95
|
-
case "invalid_union":
|
|
96
|
-
return "Неправильні вхідні дані";
|
|
97
|
-
case "invalid_element":
|
|
98
|
-
return `Неправильне значення у ${issue.origin}`;
|
|
99
|
-
default:
|
|
100
|
-
return `Неправильні вхідні дані`;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
export default function () {
|
|
105
|
-
return {
|
|
106
|
-
localeError: error(),
|
|
107
|
-
};
|
|
108
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "حروف", verb: "ہونا" },
|
|
5
|
-
file: { unit: "بائٹس", verb: "ہونا" },
|
|
6
|
-
array: { unit: "آئٹمز", verb: "ہونا" },
|
|
7
|
-
set: { unit: "آئٹمز", verb: "ہونا" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "ان پٹ",
|
|
14
|
-
email: "ای میل ایڈریس",
|
|
15
|
-
url: "یو آر ایل",
|
|
16
|
-
emoji: "ایموجی",
|
|
17
|
-
uuid: "یو یو آئی ڈی",
|
|
18
|
-
uuidv4: "یو یو آئی ڈی وی 4",
|
|
19
|
-
uuidv6: "یو یو آئی ڈی وی 6",
|
|
20
|
-
nanoid: "نینو آئی ڈی",
|
|
21
|
-
guid: "جی یو آئی ڈی",
|
|
22
|
-
cuid: "سی یو آئی ڈی",
|
|
23
|
-
cuid2: "سی یو آئی ڈی 2",
|
|
24
|
-
ulid: "یو ایل آئی ڈی",
|
|
25
|
-
xid: "ایکس آئی ڈی",
|
|
26
|
-
ksuid: "کے ایس یو آئی ڈی",
|
|
27
|
-
datetime: "آئی ایس او ڈیٹ ٹائم",
|
|
28
|
-
date: "آئی ایس او تاریخ",
|
|
29
|
-
time: "آئی ایس او وقت",
|
|
30
|
-
duration: "آئی ایس او مدت",
|
|
31
|
-
ipv4: "آئی پی وی 4 ایڈریس",
|
|
32
|
-
ipv6: "آئی پی وی 6 ایڈریس",
|
|
33
|
-
cidrv4: "آئی پی وی 4 رینج",
|
|
34
|
-
cidrv6: "آئی پی وی 6 رینج",
|
|
35
|
-
base64: "بیس 64 ان کوڈڈ سٹرنگ",
|
|
36
|
-
base64url: "بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",
|
|
37
|
-
json_string: "جے ایس او این سٹرنگ",
|
|
38
|
-
e164: "ای 164 نمبر",
|
|
39
|
-
jwt: "جے ڈبلیو ٹی",
|
|
40
|
-
template_literal: "ان پٹ",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "نمبر",
|
|
45
|
-
array: "آرے",
|
|
46
|
-
null: "نل",
|
|
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 `غلط ان پٹ: instanceof ${issue.expected} متوقع تھا، ${received} موصول ہوا`;
|
|
56
|
-
}
|
|
57
|
-
return `غلط ان پٹ: ${expected} متوقع تھا، ${received} موصول ہوا`;
|
|
58
|
-
}
|
|
59
|
-
case "invalid_value":
|
|
60
|
-
if (issue.values.length === 1)
|
|
61
|
-
return `غلط ان پٹ: ${util.stringifyPrimitive(issue.values[0])} متوقع تھا`;
|
|
62
|
-
return `غلط آپشن: ${util.joinValues(issue.values, "|")} میں سے ایک متوقع تھا`;
|
|
63
|
-
case "too_big": {
|
|
64
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
65
|
-
const sizing = getSizing(issue.origin);
|
|
66
|
-
if (sizing)
|
|
67
|
-
return `بہت بڑا: ${issue.origin ?? "ویلیو"} کے ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عناصر"} ہونے متوقع تھے`;
|
|
68
|
-
return `بہت بڑا: ${issue.origin ?? "ویلیو"} کا ${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 `بہت چھوٹا: ${issue.origin} کے ${adj}${issue.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;
|
|
75
|
-
}
|
|
76
|
-
return `بہت چھوٹا: ${issue.origin} کا ${adj}${issue.minimum.toString()} ہونا متوقع تھا`;
|
|
77
|
-
}
|
|
78
|
-
case "invalid_format": {
|
|
79
|
-
const _issue = issue;
|
|
80
|
-
if (_issue.format === "starts_with") {
|
|
81
|
-
return `غلط سٹرنگ: "${_issue.prefix}" سے شروع ہونا چاہیے`;
|
|
82
|
-
}
|
|
83
|
-
if (_issue.format === "ends_with")
|
|
84
|
-
return `غلط سٹرنگ: "${_issue.suffix}" پر ختم ہونا چاہیے`;
|
|
85
|
-
if (_issue.format === "includes")
|
|
86
|
-
return `غلط سٹرنگ: "${_issue.includes}" شامل ہونا چاہیے`;
|
|
87
|
-
if (_issue.format === "regex")
|
|
88
|
-
return `غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;
|
|
89
|
-
return `غلط ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
90
|
-
}
|
|
91
|
-
case "not_multiple_of":
|
|
92
|
-
return `غلط نمبر: ${issue.divisor} کا مضاعف ہونا چاہیے`;
|
|
93
|
-
case "unrecognized_keys":
|
|
94
|
-
return `غیر تسلیم شدہ کی${issue.keys.length > 1 ? "ز" : ""}: ${util.joinValues(issue.keys, "، ")}`;
|
|
95
|
-
case "invalid_key":
|
|
96
|
-
return `${issue.origin} میں غلط کی`;
|
|
97
|
-
case "invalid_union":
|
|
98
|
-
return "غلط ان پٹ";
|
|
99
|
-
case "invalid_element":
|
|
100
|
-
return `${issue.origin} میں غلط ویلیو`;
|
|
101
|
-
default:
|
|
102
|
-
return `غلط ان پٹ`;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
export default function () {
|
|
107
|
-
return {
|
|
108
|
-
localeError: error(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "belgi", verb: "bo‘lishi kerak" },
|
|
5
|
-
file: { unit: "bayt", verb: "bo‘lishi kerak" },
|
|
6
|
-
array: { unit: "element", verb: "bo‘lishi kerak" },
|
|
7
|
-
set: { unit: "element", verb: "bo‘lishi kerak" },
|
|
8
|
-
map: { unit: "yozuv", verb: "bo‘lishi kerak" },
|
|
9
|
-
};
|
|
10
|
-
function getSizing(origin) {
|
|
11
|
-
return Sizable[origin] ?? null;
|
|
12
|
-
}
|
|
13
|
-
const FormatDictionary = {
|
|
14
|
-
regex: "kirish",
|
|
15
|
-
email: "elektron pochta manzili",
|
|
16
|
-
url: "URL",
|
|
17
|
-
emoji: "emoji",
|
|
18
|
-
uuid: "UUID",
|
|
19
|
-
uuidv4: "UUIDv4",
|
|
20
|
-
uuidv6: "UUIDv6",
|
|
21
|
-
nanoid: "nanoid",
|
|
22
|
-
guid: "GUID",
|
|
23
|
-
cuid: "cuid",
|
|
24
|
-
cuid2: "cuid2",
|
|
25
|
-
ulid: "ULID",
|
|
26
|
-
xid: "XID",
|
|
27
|
-
ksuid: "KSUID",
|
|
28
|
-
datetime: "ISO sana va vaqti",
|
|
29
|
-
date: "ISO sana",
|
|
30
|
-
time: "ISO vaqt",
|
|
31
|
-
duration: "ISO davomiylik",
|
|
32
|
-
ipv4: "IPv4 manzil",
|
|
33
|
-
ipv6: "IPv6 manzil",
|
|
34
|
-
mac: "MAC manzil",
|
|
35
|
-
cidrv4: "IPv4 diapazon",
|
|
36
|
-
cidrv6: "IPv6 diapazon",
|
|
37
|
-
base64: "base64 kodlangan satr",
|
|
38
|
-
base64url: "base64url kodlangan satr",
|
|
39
|
-
json_string: "JSON satr",
|
|
40
|
-
e164: "E.164 raqam",
|
|
41
|
-
jwt: "JWT",
|
|
42
|
-
template_literal: "kirish",
|
|
43
|
-
};
|
|
44
|
-
const TypeDictionary = {
|
|
45
|
-
nan: "NaN",
|
|
46
|
-
number: "raqam",
|
|
47
|
-
array: "massiv",
|
|
48
|
-
};
|
|
49
|
-
return (issue) => {
|
|
50
|
-
switch (issue.code) {
|
|
51
|
-
case "invalid_type": {
|
|
52
|
-
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
53
|
-
const receivedType = util.parsedType(issue.input);
|
|
54
|
-
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
55
|
-
if (/^[A-Z]/.test(issue.expected)) {
|
|
56
|
-
return `Noto‘g‘ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;
|
|
57
|
-
}
|
|
58
|
-
return `Noto‘g‘ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;
|
|
59
|
-
}
|
|
60
|
-
case "invalid_value":
|
|
61
|
-
if (issue.values.length === 1)
|
|
62
|
-
return `Noto‘g‘ri kirish: kutilgan ${util.stringifyPrimitive(issue.values[0])}`;
|
|
63
|
-
return `Noto‘g‘ri variant: quyidagilardan biri kutilgan ${util.joinValues(issue.values, "|")}`;
|
|
64
|
-
case "too_big": {
|
|
65
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
66
|
-
const sizing = getSizing(issue.origin);
|
|
67
|
-
if (sizing)
|
|
68
|
-
return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
|
|
69
|
-
return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()}`;
|
|
70
|
-
}
|
|
71
|
-
case "too_small": {
|
|
72
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
73
|
-
const sizing = getSizing(issue.origin);
|
|
74
|
-
if (sizing) {
|
|
75
|
-
return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
|
|
76
|
-
}
|
|
77
|
-
return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;
|
|
78
|
-
}
|
|
79
|
-
case "invalid_format": {
|
|
80
|
-
const _issue = issue;
|
|
81
|
-
if (_issue.format === "starts_with")
|
|
82
|
-
return `Noto‘g‘ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
|
|
83
|
-
if (_issue.format === "ends_with")
|
|
84
|
-
return `Noto‘g‘ri satr: "${_issue.suffix}" bilan tugashi kerak`;
|
|
85
|
-
if (_issue.format === "includes")
|
|
86
|
-
return `Noto‘g‘ri satr: "${_issue.includes}" ni o‘z ichiga olishi kerak`;
|
|
87
|
-
if (_issue.format === "regex")
|
|
88
|
-
return `Noto‘g‘ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;
|
|
89
|
-
return `Noto‘g‘ri ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
90
|
-
}
|
|
91
|
-
case "not_multiple_of":
|
|
92
|
-
return `Noto‘g‘ri raqam: ${issue.divisor} ning karralisi bo‘lishi kerak`;
|
|
93
|
-
case "unrecognized_keys":
|
|
94
|
-
return `Noma’lum kalit${issue.keys.length > 1 ? "lar" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
95
|
-
case "invalid_key":
|
|
96
|
-
return `${issue.origin} dagi kalit noto‘g‘ri`;
|
|
97
|
-
case "invalid_union":
|
|
98
|
-
return "Noto‘g‘ri kirish";
|
|
99
|
-
case "invalid_element":
|
|
100
|
-
return `${issue.origin} da noto‘g‘ri qiymat`;
|
|
101
|
-
default:
|
|
102
|
-
return `Noto‘g‘ri kirish`;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
export default function () {
|
|
107
|
-
return {
|
|
108
|
-
localeError: error(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import * as util from "../core/util.js";
|
|
2
|
-
const error = () => {
|
|
3
|
-
const Sizable = {
|
|
4
|
-
string: { unit: "ký tự", verb: "có" },
|
|
5
|
-
file: { unit: "byte", verb: "có" },
|
|
6
|
-
array: { unit: "phần tử", verb: "có" },
|
|
7
|
-
set: { unit: "phần tử", verb: "có" },
|
|
8
|
-
};
|
|
9
|
-
function getSizing(origin) {
|
|
10
|
-
return Sizable[origin] ?? null;
|
|
11
|
-
}
|
|
12
|
-
const FormatDictionary = {
|
|
13
|
-
regex: "đầu vào",
|
|
14
|
-
email: "địa chỉ email",
|
|
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: "ngày giờ ISO",
|
|
28
|
-
date: "ngày ISO",
|
|
29
|
-
time: "giờ ISO",
|
|
30
|
-
duration: "khoảng thời gian ISO",
|
|
31
|
-
ipv4: "địa chỉ IPv4",
|
|
32
|
-
ipv6: "địa chỉ IPv6",
|
|
33
|
-
cidrv4: "dải IPv4",
|
|
34
|
-
cidrv6: "dải IPv6",
|
|
35
|
-
base64: "chuỗi mã hóa base64",
|
|
36
|
-
base64url: "chuỗi mã hóa base64url",
|
|
37
|
-
json_string: "chuỗi JSON",
|
|
38
|
-
e164: "số E.164",
|
|
39
|
-
jwt: "JWT",
|
|
40
|
-
template_literal: "đầu vào",
|
|
41
|
-
};
|
|
42
|
-
const TypeDictionary = {
|
|
43
|
-
nan: "NaN",
|
|
44
|
-
number: "số",
|
|
45
|
-
array: "mảng",
|
|
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 `Đầu vào không hợp lệ: mong đợi instanceof ${issue.expected}, nhận được ${received}`;
|
|
55
|
-
}
|
|
56
|
-
return `Đầu vào không hợp lệ: mong đợi ${expected}, nhận được ${received}`;
|
|
57
|
-
}
|
|
58
|
-
case "invalid_value":
|
|
59
|
-
if (issue.values.length === 1)
|
|
60
|
-
return `Đầu vào không hợp lệ: mong đợi ${util.stringifyPrimitive(issue.values[0])}`;
|
|
61
|
-
return `Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${util.joinValues(issue.values, "|")}`;
|
|
62
|
-
case "too_big": {
|
|
63
|
-
const adj = issue.inclusive ? "<=" : "<";
|
|
64
|
-
const sizing = getSizing(issue.origin);
|
|
65
|
-
if (sizing)
|
|
66
|
-
return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "phần tử"}`;
|
|
67
|
-
return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${adj}${issue.maximum.toString()}`;
|
|
68
|
-
}
|
|
69
|
-
case "too_small": {
|
|
70
|
-
const adj = issue.inclusive ? ">=" : ">";
|
|
71
|
-
const sizing = getSizing(issue.origin);
|
|
72
|
-
if (sizing) {
|
|
73
|
-
return `Quá nhỏ: mong đợi ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
74
|
-
}
|
|
75
|
-
return `Quá nhỏ: mong đợi ${issue.origin} ${adj}${issue.minimum.toString()}`;
|
|
76
|
-
}
|
|
77
|
-
case "invalid_format": {
|
|
78
|
-
const _issue = issue;
|
|
79
|
-
if (_issue.format === "starts_with")
|
|
80
|
-
return `Chuỗi không hợp lệ: phải bắt đầu bằng "${_issue.prefix}"`;
|
|
81
|
-
if (_issue.format === "ends_with")
|
|
82
|
-
return `Chuỗi không hợp lệ: phải kết thúc bằng "${_issue.suffix}"`;
|
|
83
|
-
if (_issue.format === "includes")
|
|
84
|
-
return `Chuỗi không hợp lệ: phải bao gồm "${_issue.includes}"`;
|
|
85
|
-
if (_issue.format === "regex")
|
|
86
|
-
return `Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;
|
|
87
|
-
return `${FormatDictionary[_issue.format] ?? issue.format} không hợp lệ`;
|
|
88
|
-
}
|
|
89
|
-
case "not_multiple_of":
|
|
90
|
-
return `Số không hợp lệ: phải là bội số của ${issue.divisor}`;
|
|
91
|
-
case "unrecognized_keys":
|
|
92
|
-
return `Khóa không được nhận dạng: ${util.joinValues(issue.keys, ", ")}`;
|
|
93
|
-
case "invalid_key":
|
|
94
|
-
return `Khóa không hợp lệ trong ${issue.origin}`;
|
|
95
|
-
case "invalid_union":
|
|
96
|
-
return "Đầu vào không hợp lệ";
|
|
97
|
-
case "invalid_element":
|
|
98
|
-
return `Giá trị không hợp lệ trong ${issue.origin}`;
|
|
99
|
-
default:
|
|
100
|
-
return `Đầu vào không hợp lệ`;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
export default function () {
|
|
105
|
-
return {
|
|
106
|
-
localeError: error(),
|
|
107
|
-
};
|
|
108
|
-
}
|