lkd-web-kit 0.4.3 → 0.4.6
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/form/FormButtonSubmit.cjs +6 -2
- package/dist/form/FormButtonSubmit.js +6 -2
- package/dist/hooks/useZodConfig.cjs +21 -0
- package/dist/hooks/useZodConfig.js +17 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.cjs +38 -33
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +38 -33
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.cjs +1 -1
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +1 -1
- package/dist/node_modules/zod/v4/classic/coerce.cjs +28 -0
- package/dist/node_modules/zod/v4/classic/coerce.js +20 -0
- package/dist/node_modules/zod/v4/classic/compat.cjs +37 -0
- package/dist/node_modules/zod/v4/classic/compat.js +30 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs +49 -0
- package/dist/node_modules/zod/v4/classic/errors.js +44 -0
- package/dist/node_modules/zod/v4/classic/external.cjs +231 -0
- package/dist/node_modules/zod/v4/classic/external.js +28 -0
- package/dist/node_modules/zod/v4/classic/index.cjs +10 -0
- package/dist/node_modules/zod/v4/classic/index.js +5 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs +46 -0
- package/dist/node_modules/zod/v4/classic/iso.js +35 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs +16 -0
- package/dist/node_modules/zod/v4/classic/parse.js +9 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs +1155 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +1006 -0
- package/dist/node_modules/zod/v4/core/api.cjs +1016 -0
- package/dist/node_modules/zod/v4/core/api.js +903 -0
- package/dist/node_modules/zod/v4/core/checks.cjs +587 -0
- package/dist/node_modules/zod/v4/core/checks.js +562 -0
- package/dist/node_modules/zod/v4/core/core.cjs +72 -0
- package/dist/node_modules/zod/v4/core/core.js +63 -0
- package/dist/node_modules/zod/v4/core/doc.cjs +41 -0
- package/dist/node_modules/zod/v4/core/doc.js +37 -0
- package/dist/node_modules/zod/v4/core/errors.cjs +204 -0
- package/dist/node_modules/zod/v4/core/errors.js +194 -0
- package/dist/node_modules/zod/v4/core/function.cjs +81 -0
- package/dist/node_modules/zod/v4/core/function.js +76 -0
- package/dist/node_modules/zod/v4/core/index.cjs +261 -0
- package/dist/node_modules/zod/v4/core/index.js +20 -0
- package/dist/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/dist/node_modules/zod/v4/core/json-schema.js +1 -0
- package/dist/node_modules/zod/v4/core/parse.cjs +71 -0
- package/dist/node_modules/zod/v4/core/parse.js +60 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs +139 -0
- package/dist/node_modules/zod/v4/core/regexes.js +95 -0
- package/dist/node_modules/zod/v4/core/registries.cjs +52 -0
- package/dist/node_modules/zod/v4/core/registries.js +44 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs +1793 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1720 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs +823 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +818 -0
- package/dist/node_modules/zod/v4/core/util.cjs +543 -0
- package/dist/node_modules/zod/v4/core/util.js +491 -0
- package/dist/node_modules/zod/v4/core/versions.cjs +11 -0
- package/dist/node_modules/zod/v4/core/versions.js +7 -0
- package/dist/node_modules/zod/v4/index.cjs +10 -0
- package/dist/node_modules/zod/v4/index.js +5 -0
- package/dist/node_modules/zod/v4/locales/ar.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/ar.js +119 -0
- package/dist/node_modules/zod/v4/locales/az.cjs +120 -0
- package/dist/node_modules/zod/v4/locales/az.js +118 -0
- package/dist/node_modules/zod/v4/locales/be.cjs +169 -0
- package/dist/node_modules/zod/v4/locales/be.js +167 -0
- package/dist/node_modules/zod/v4/locales/ca.cjs +123 -0
- package/dist/node_modules/zod/v4/locales/ca.js +121 -0
- package/dist/node_modules/zod/v4/locales/cs.cjs +140 -0
- package/dist/node_modules/zod/v4/locales/cs.js +138 -0
- package/dist/node_modules/zod/v4/locales/de.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/de.js +119 -0
- package/dist/node_modules/zod/v4/locales/en.cjs +125 -0
- package/dist/node_modules/zod/v4/locales/en.js +120 -0
- package/dist/node_modules/zod/v4/locales/eo.cjs +124 -0
- package/dist/node_modules/zod/v4/locales/eo.js +119 -0
- package/dist/node_modules/zod/v4/locales/es.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/es.js +120 -0
- package/dist/node_modules/zod/v4/locales/fa.cjs +127 -0
- package/dist/node_modules/zod/v4/locales/fa.js +125 -0
- package/dist/node_modules/zod/v4/locales/fi.cjs +127 -0
- package/dist/node_modules/zod/v4/locales/fi.js +125 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.js +120 -0
- package/dist/node_modules/zod/v4/locales/fr.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/fr.js +119 -0
- package/dist/node_modules/zod/v4/locales/he.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/he.js +120 -0
- package/dist/node_modules/zod/v4/locales/hu.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/hu.js +120 -0
- package/dist/node_modules/zod/v4/locales/id.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/id.js +119 -0
- package/dist/node_modules/zod/v4/locales/index.cjs +85 -0
- package/dist/node_modules/zod/v4/locales/index.js +39 -0
- package/dist/node_modules/zod/v4/locales/it.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/it.js +120 -0
- package/dist/node_modules/zod/v4/locales/ja.cjs +120 -0
- package/dist/node_modules/zod/v4/locales/ja.js +118 -0
- package/dist/node_modules/zod/v4/locales/kh.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/kh.js +120 -0
- package/dist/node_modules/zod/v4/locales/ko.cjs +126 -0
- package/dist/node_modules/zod/v4/locales/ko.js +124 -0
- package/dist/node_modules/zod/v4/locales/mk.cjs +123 -0
- package/dist/node_modules/zod/v4/locales/mk.js +121 -0
- package/dist/node_modules/zod/v4/locales/ms.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/ms.js +119 -0
- package/dist/node_modules/zod/v4/locales/nl.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/nl.js +120 -0
- package/dist/node_modules/zod/v4/locales/no.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/no.js +119 -0
- package/dist/node_modules/zod/v4/locales/ota.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/ota.js +120 -0
- package/dist/node_modules/zod/v4/locales/pl.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/pl.js +120 -0
- package/dist/node_modules/zod/v4/locales/ps.cjs +127 -0
- package/dist/node_modules/zod/v4/locales/ps.js +125 -0
- package/dist/node_modules/zod/v4/locales/pt.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/pt.js +119 -0
- package/dist/node_modules/zod/v4/locales/ru.cjs +169 -0
- package/dist/node_modules/zod/v4/locales/ru.js +167 -0
- package/dist/node_modules/zod/v4/locales/sl.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/sl.js +120 -0
- package/dist/node_modules/zod/v4/locales/sv.cjs +123 -0
- package/dist/node_modules/zod/v4/locales/sv.js +121 -0
- package/dist/node_modules/zod/v4/locales/ta.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/ta.js +120 -0
- package/dist/node_modules/zod/v4/locales/th.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/th.js +120 -0
- package/dist/node_modules/zod/v4/locales/tr.cjs +123 -0
- package/dist/node_modules/zod/v4/locales/tr.js +118 -0
- package/dist/node_modules/zod/v4/locales/ua.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/ua.js +120 -0
- package/dist/node_modules/zod/v4/locales/ur.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/ur.js +120 -0
- package/dist/node_modules/zod/v4/locales/vi.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/vi.js +119 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.cjs +121 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.js +119 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.cjs +122 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.js +120 -0
- package/package.json +1 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { joinValues, stringifyPrimitive } from '../core/util.js';
|
|
2
|
+
|
|
3
|
+
const error = () => {
|
|
4
|
+
const Sizable = {
|
|
5
|
+
string: { unit: "caratteri", verb: "avere" },
|
|
6
|
+
file: { unit: "byte", verb: "avere" },
|
|
7
|
+
array: { unit: "elementi", verb: "avere" },
|
|
8
|
+
set: { unit: "elementi", verb: "avere" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const parsedType = (data) => {
|
|
14
|
+
const t = typeof data;
|
|
15
|
+
switch (t) {
|
|
16
|
+
case "number": {
|
|
17
|
+
return Number.isNaN(data) ? "NaN" : "numero";
|
|
18
|
+
}
|
|
19
|
+
case "object": {
|
|
20
|
+
if (Array.isArray(data)) {
|
|
21
|
+
return "vettore";
|
|
22
|
+
}
|
|
23
|
+
if (data === null) {
|
|
24
|
+
return "null";
|
|
25
|
+
}
|
|
26
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
27
|
+
return data.constructor.name;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return t;
|
|
32
|
+
};
|
|
33
|
+
const Nouns = {
|
|
34
|
+
regex: "input",
|
|
35
|
+
email: "indirizzo email",
|
|
36
|
+
url: "URL",
|
|
37
|
+
emoji: "emoji",
|
|
38
|
+
uuid: "UUID",
|
|
39
|
+
uuidv4: "UUIDv4",
|
|
40
|
+
uuidv6: "UUIDv6",
|
|
41
|
+
nanoid: "nanoid",
|
|
42
|
+
guid: "GUID",
|
|
43
|
+
cuid: "cuid",
|
|
44
|
+
cuid2: "cuid2",
|
|
45
|
+
ulid: "ULID",
|
|
46
|
+
xid: "XID",
|
|
47
|
+
ksuid: "KSUID",
|
|
48
|
+
datetime: "data e ora ISO",
|
|
49
|
+
date: "data ISO",
|
|
50
|
+
time: "ora ISO",
|
|
51
|
+
duration: "durata ISO",
|
|
52
|
+
ipv4: "indirizzo IPv4",
|
|
53
|
+
ipv6: "indirizzo IPv6",
|
|
54
|
+
cidrv4: "intervallo IPv4",
|
|
55
|
+
cidrv6: "intervallo IPv6",
|
|
56
|
+
base64: "stringa codificata in base64",
|
|
57
|
+
base64url: "URL codificata in base64",
|
|
58
|
+
json_string: "stringa JSON",
|
|
59
|
+
e164: "numero E.164",
|
|
60
|
+
jwt: "JWT",
|
|
61
|
+
template_literal: "input",
|
|
62
|
+
};
|
|
63
|
+
return (issue) => {
|
|
64
|
+
switch (issue.code) {
|
|
65
|
+
case "invalid_type":
|
|
66
|
+
return `Input non valido: atteso ${issue.expected}, ricevuto ${parsedType(issue.input)}`;
|
|
67
|
+
// return `Input non valido: atteso ${issue.expected}, ricevuto ${util.getParsedType(issue.input)}`;
|
|
68
|
+
case "invalid_value":
|
|
69
|
+
if (issue.values.length === 1)
|
|
70
|
+
return `Input non valido: atteso ${stringifyPrimitive(issue.values[0])}`;
|
|
71
|
+
return `Opzione non valida: atteso uno tra ${joinValues(issue.values, "|")}`;
|
|
72
|
+
case "too_big": {
|
|
73
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
74
|
+
const sizing = getSizing(issue.origin);
|
|
75
|
+
if (sizing)
|
|
76
|
+
return `Troppo grande: ${issue.origin ?? "valore"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementi"}`;
|
|
77
|
+
return `Troppo grande: ${issue.origin ?? "valore"} deve essere ${adj}${issue.maximum.toString()}`;
|
|
78
|
+
}
|
|
79
|
+
case "too_small": {
|
|
80
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
81
|
+
const sizing = getSizing(issue.origin);
|
|
82
|
+
if (sizing) {
|
|
83
|
+
return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
84
|
+
}
|
|
85
|
+
return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;
|
|
86
|
+
}
|
|
87
|
+
case "invalid_format": {
|
|
88
|
+
const _issue = issue;
|
|
89
|
+
if (_issue.format === "starts_with")
|
|
90
|
+
return `Stringa non valida: deve iniziare con "${_issue.prefix}"`;
|
|
91
|
+
if (_issue.format === "ends_with")
|
|
92
|
+
return `Stringa non valida: deve terminare con "${_issue.suffix}"`;
|
|
93
|
+
if (_issue.format === "includes")
|
|
94
|
+
return `Stringa non valida: deve includere "${_issue.includes}"`;
|
|
95
|
+
if (_issue.format === "regex")
|
|
96
|
+
return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
|
|
97
|
+
return `Invalid ${Nouns[_issue.format] ?? issue.format}`;
|
|
98
|
+
}
|
|
99
|
+
case "not_multiple_of":
|
|
100
|
+
return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;
|
|
101
|
+
case "unrecognized_keys":
|
|
102
|
+
return `Chiav${issue.keys.length > 1 ? "i" : "e"} non riconosciut${issue.keys.length > 1 ? "e" : "a"}: ${joinValues(issue.keys, ", ")}`;
|
|
103
|
+
case "invalid_key":
|
|
104
|
+
return `Chiave non valida in ${issue.origin}`;
|
|
105
|
+
case "invalid_union":
|
|
106
|
+
return "Input non valido";
|
|
107
|
+
case "invalid_element":
|
|
108
|
+
return `Valore non valido in ${issue.origin}`;
|
|
109
|
+
default:
|
|
110
|
+
return `Input non valido`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
function it () {
|
|
115
|
+
return {
|
|
116
|
+
localeError: error(),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { it as default };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const util = require('../core/util.cjs');
|
|
4
|
+
|
|
5
|
+
const error = () => {
|
|
6
|
+
const Sizable = {
|
|
7
|
+
string: { unit: "文字", verb: "である" },
|
|
8
|
+
file: { unit: "バイト", verb: "である" },
|
|
9
|
+
array: { unit: "要素", verb: "である" },
|
|
10
|
+
set: { unit: "要素", verb: "である" },
|
|
11
|
+
};
|
|
12
|
+
function getSizing(origin) {
|
|
13
|
+
return Sizable[origin] ?? null;
|
|
14
|
+
}
|
|
15
|
+
const parsedType = (data) => {
|
|
16
|
+
const t = typeof data;
|
|
17
|
+
switch (t) {
|
|
18
|
+
case "number": {
|
|
19
|
+
return Number.isNaN(data) ? "NaN" : "数値";
|
|
20
|
+
}
|
|
21
|
+
case "object": {
|
|
22
|
+
if (Array.isArray(data)) {
|
|
23
|
+
return "配列";
|
|
24
|
+
}
|
|
25
|
+
if (data === null) {
|
|
26
|
+
return "null";
|
|
27
|
+
}
|
|
28
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
29
|
+
return data.constructor.name;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return t;
|
|
34
|
+
};
|
|
35
|
+
const Nouns = {
|
|
36
|
+
regex: "入力値",
|
|
37
|
+
email: "メールアドレス",
|
|
38
|
+
url: "URL",
|
|
39
|
+
emoji: "絵文字",
|
|
40
|
+
uuid: "UUID",
|
|
41
|
+
uuidv4: "UUIDv4",
|
|
42
|
+
uuidv6: "UUIDv6",
|
|
43
|
+
nanoid: "nanoid",
|
|
44
|
+
guid: "GUID",
|
|
45
|
+
cuid: "cuid",
|
|
46
|
+
cuid2: "cuid2",
|
|
47
|
+
ulid: "ULID",
|
|
48
|
+
xid: "XID",
|
|
49
|
+
ksuid: "KSUID",
|
|
50
|
+
datetime: "ISO日時",
|
|
51
|
+
date: "ISO日付",
|
|
52
|
+
time: "ISO時刻",
|
|
53
|
+
duration: "ISO期間",
|
|
54
|
+
ipv4: "IPv4アドレス",
|
|
55
|
+
ipv6: "IPv6アドレス",
|
|
56
|
+
cidrv4: "IPv4範囲",
|
|
57
|
+
cidrv6: "IPv6範囲",
|
|
58
|
+
base64: "base64エンコード文字列",
|
|
59
|
+
base64url: "base64urlエンコード文字列",
|
|
60
|
+
json_string: "JSON文字列",
|
|
61
|
+
e164: "E.164番号",
|
|
62
|
+
jwt: "JWT",
|
|
63
|
+
template_literal: "入力値",
|
|
64
|
+
};
|
|
65
|
+
return (issue) => {
|
|
66
|
+
switch (issue.code) {
|
|
67
|
+
case "invalid_type":
|
|
68
|
+
return `無効な入力: ${issue.expected}が期待されましたが、${parsedType(issue.input)}が入力されました`;
|
|
69
|
+
case "invalid_value":
|
|
70
|
+
if (issue.values.length === 1)
|
|
71
|
+
return `無効な入力: ${util.stringifyPrimitive(issue.values[0])}が期待されました`;
|
|
72
|
+
return `無効な選択: ${util.joinValues(issue.values, "、")}のいずれかである必要があります`;
|
|
73
|
+
case "too_big": {
|
|
74
|
+
const adj = issue.inclusive ? "以下である" : "より小さい";
|
|
75
|
+
const sizing = getSizing(issue.origin);
|
|
76
|
+
if (sizing)
|
|
77
|
+
return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${sizing.unit ?? "要素"}${adj}必要があります`;
|
|
78
|
+
return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${adj}必要があります`;
|
|
79
|
+
}
|
|
80
|
+
case "too_small": {
|
|
81
|
+
const adj = issue.inclusive ? "以上である" : "より大きい";
|
|
82
|
+
const sizing = getSizing(issue.origin);
|
|
83
|
+
if (sizing)
|
|
84
|
+
return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${sizing.unit}${adj}必要があります`;
|
|
85
|
+
return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${adj}必要があります`;
|
|
86
|
+
}
|
|
87
|
+
case "invalid_format": {
|
|
88
|
+
const _issue = issue;
|
|
89
|
+
if (_issue.format === "starts_with")
|
|
90
|
+
return `無効な文字列: "${_issue.prefix}"で始まる必要があります`;
|
|
91
|
+
if (_issue.format === "ends_with")
|
|
92
|
+
return `無効な文字列: "${_issue.suffix}"で終わる必要があります`;
|
|
93
|
+
if (_issue.format === "includes")
|
|
94
|
+
return `無効な文字列: "${_issue.includes}"を含む必要があります`;
|
|
95
|
+
if (_issue.format === "regex")
|
|
96
|
+
return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;
|
|
97
|
+
return `無効な${Nouns[_issue.format] ?? issue.format}`;
|
|
98
|
+
}
|
|
99
|
+
case "not_multiple_of":
|
|
100
|
+
return `無効な数値: ${issue.divisor}の倍数である必要があります`;
|
|
101
|
+
case "unrecognized_keys":
|
|
102
|
+
return `認識されていないキー${issue.keys.length > 1 ? "群" : ""}: ${util.joinValues(issue.keys, "、")}`;
|
|
103
|
+
case "invalid_key":
|
|
104
|
+
return `${issue.origin}内の無効なキー`;
|
|
105
|
+
case "invalid_union":
|
|
106
|
+
return "無効な入力";
|
|
107
|
+
case "invalid_element":
|
|
108
|
+
return `${issue.origin}内の無効な値`;
|
|
109
|
+
default:
|
|
110
|
+
return `無効な入力`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
function ja () {
|
|
115
|
+
return {
|
|
116
|
+
localeError: error(),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
module.exports = ja;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { joinValues, stringifyPrimitive } from '../core/util.js';
|
|
2
|
+
|
|
3
|
+
const error = () => {
|
|
4
|
+
const Sizable = {
|
|
5
|
+
string: { unit: "文字", verb: "である" },
|
|
6
|
+
file: { unit: "バイト", verb: "である" },
|
|
7
|
+
array: { unit: "要素", verb: "である" },
|
|
8
|
+
set: { unit: "要素", verb: "である" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const parsedType = (data) => {
|
|
14
|
+
const t = typeof data;
|
|
15
|
+
switch (t) {
|
|
16
|
+
case "number": {
|
|
17
|
+
return Number.isNaN(data) ? "NaN" : "数値";
|
|
18
|
+
}
|
|
19
|
+
case "object": {
|
|
20
|
+
if (Array.isArray(data)) {
|
|
21
|
+
return "配列";
|
|
22
|
+
}
|
|
23
|
+
if (data === null) {
|
|
24
|
+
return "null";
|
|
25
|
+
}
|
|
26
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
27
|
+
return data.constructor.name;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return t;
|
|
32
|
+
};
|
|
33
|
+
const Nouns = {
|
|
34
|
+
regex: "入力値",
|
|
35
|
+
email: "メールアドレス",
|
|
36
|
+
url: "URL",
|
|
37
|
+
emoji: "絵文字",
|
|
38
|
+
uuid: "UUID",
|
|
39
|
+
uuidv4: "UUIDv4",
|
|
40
|
+
uuidv6: "UUIDv6",
|
|
41
|
+
nanoid: "nanoid",
|
|
42
|
+
guid: "GUID",
|
|
43
|
+
cuid: "cuid",
|
|
44
|
+
cuid2: "cuid2",
|
|
45
|
+
ulid: "ULID",
|
|
46
|
+
xid: "XID",
|
|
47
|
+
ksuid: "KSUID",
|
|
48
|
+
datetime: "ISO日時",
|
|
49
|
+
date: "ISO日付",
|
|
50
|
+
time: "ISO時刻",
|
|
51
|
+
duration: "ISO期間",
|
|
52
|
+
ipv4: "IPv4アドレス",
|
|
53
|
+
ipv6: "IPv6アドレス",
|
|
54
|
+
cidrv4: "IPv4範囲",
|
|
55
|
+
cidrv6: "IPv6範囲",
|
|
56
|
+
base64: "base64エンコード文字列",
|
|
57
|
+
base64url: "base64urlエンコード文字列",
|
|
58
|
+
json_string: "JSON文字列",
|
|
59
|
+
e164: "E.164番号",
|
|
60
|
+
jwt: "JWT",
|
|
61
|
+
template_literal: "入力値",
|
|
62
|
+
};
|
|
63
|
+
return (issue) => {
|
|
64
|
+
switch (issue.code) {
|
|
65
|
+
case "invalid_type":
|
|
66
|
+
return `無効な入力: ${issue.expected}が期待されましたが、${parsedType(issue.input)}が入力されました`;
|
|
67
|
+
case "invalid_value":
|
|
68
|
+
if (issue.values.length === 1)
|
|
69
|
+
return `無効な入力: ${stringifyPrimitive(issue.values[0])}が期待されました`;
|
|
70
|
+
return `無効な選択: ${joinValues(issue.values, "、")}のいずれかである必要があります`;
|
|
71
|
+
case "too_big": {
|
|
72
|
+
const adj = issue.inclusive ? "以下である" : "より小さい";
|
|
73
|
+
const sizing = getSizing(issue.origin);
|
|
74
|
+
if (sizing)
|
|
75
|
+
return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${sizing.unit ?? "要素"}${adj}必要があります`;
|
|
76
|
+
return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${adj}必要があります`;
|
|
77
|
+
}
|
|
78
|
+
case "too_small": {
|
|
79
|
+
const adj = issue.inclusive ? "以上である" : "より大きい";
|
|
80
|
+
const sizing = getSizing(issue.origin);
|
|
81
|
+
if (sizing)
|
|
82
|
+
return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${sizing.unit}${adj}必要があります`;
|
|
83
|
+
return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${adj}必要があります`;
|
|
84
|
+
}
|
|
85
|
+
case "invalid_format": {
|
|
86
|
+
const _issue = issue;
|
|
87
|
+
if (_issue.format === "starts_with")
|
|
88
|
+
return `無効な文字列: "${_issue.prefix}"で始まる必要があります`;
|
|
89
|
+
if (_issue.format === "ends_with")
|
|
90
|
+
return `無効な文字列: "${_issue.suffix}"で終わる必要があります`;
|
|
91
|
+
if (_issue.format === "includes")
|
|
92
|
+
return `無効な文字列: "${_issue.includes}"を含む必要があります`;
|
|
93
|
+
if (_issue.format === "regex")
|
|
94
|
+
return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;
|
|
95
|
+
return `無効な${Nouns[_issue.format] ?? issue.format}`;
|
|
96
|
+
}
|
|
97
|
+
case "not_multiple_of":
|
|
98
|
+
return `無効な数値: ${issue.divisor}の倍数である必要があります`;
|
|
99
|
+
case "unrecognized_keys":
|
|
100
|
+
return `認識されていないキー${issue.keys.length > 1 ? "群" : ""}: ${joinValues(issue.keys, "、")}`;
|
|
101
|
+
case "invalid_key":
|
|
102
|
+
return `${issue.origin}内の無効なキー`;
|
|
103
|
+
case "invalid_union":
|
|
104
|
+
return "無効な入力";
|
|
105
|
+
case "invalid_element":
|
|
106
|
+
return `${issue.origin}内の無効な値`;
|
|
107
|
+
default:
|
|
108
|
+
return `無効な入力`;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
function ja () {
|
|
113
|
+
return {
|
|
114
|
+
localeError: error(),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export { ja as default };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const util = require('../core/util.cjs');
|
|
4
|
+
|
|
5
|
+
const error = () => {
|
|
6
|
+
const Sizable = {
|
|
7
|
+
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
|
|
8
|
+
file: { unit: "បៃ", verb: "គួរមាន" },
|
|
9
|
+
array: { unit: "ធាតុ", verb: "គួរមាន" },
|
|
10
|
+
set: { unit: "ធាតុ", verb: "គួរមាន" },
|
|
11
|
+
};
|
|
12
|
+
function getSizing(origin) {
|
|
13
|
+
return Sizable[origin] ?? null;
|
|
14
|
+
}
|
|
15
|
+
const parsedType = (data) => {
|
|
16
|
+
const t = typeof data;
|
|
17
|
+
switch (t) {
|
|
18
|
+
case "number": {
|
|
19
|
+
return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
|
|
20
|
+
}
|
|
21
|
+
case "object": {
|
|
22
|
+
if (Array.isArray(data)) {
|
|
23
|
+
return "អារេ (Array)";
|
|
24
|
+
}
|
|
25
|
+
if (data === null) {
|
|
26
|
+
return "គ្មានតម្លៃ (null)";
|
|
27
|
+
}
|
|
28
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
29
|
+
return data.constructor.name;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return t;
|
|
34
|
+
};
|
|
35
|
+
const Nouns = {
|
|
36
|
+
regex: "ទិន្នន័យបញ្ចូល",
|
|
37
|
+
email: "អាសយដ្ឋានអ៊ីមែល",
|
|
38
|
+
url: "URL",
|
|
39
|
+
emoji: "សញ្ញាអារម្មណ៍",
|
|
40
|
+
uuid: "UUID",
|
|
41
|
+
uuidv4: "UUIDv4",
|
|
42
|
+
uuidv6: "UUIDv6",
|
|
43
|
+
nanoid: "nanoid",
|
|
44
|
+
guid: "GUID",
|
|
45
|
+
cuid: "cuid",
|
|
46
|
+
cuid2: "cuid2",
|
|
47
|
+
ulid: "ULID",
|
|
48
|
+
xid: "XID",
|
|
49
|
+
ksuid: "KSUID",
|
|
50
|
+
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
|
|
51
|
+
date: "កាលបរិច្ឆេទ ISO",
|
|
52
|
+
time: "ម៉ោង ISO",
|
|
53
|
+
duration: "រយៈពេល ISO",
|
|
54
|
+
ipv4: "អាសយដ្ឋាន IPv4",
|
|
55
|
+
ipv6: "អាសយដ្ឋាន IPv6",
|
|
56
|
+
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
|
|
57
|
+
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
|
|
58
|
+
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
|
|
59
|
+
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
|
|
60
|
+
json_string: "ខ្សែអក្សរ JSON",
|
|
61
|
+
e164: "លេខ E.164",
|
|
62
|
+
jwt: "JWT",
|
|
63
|
+
template_literal: "ទិន្នន័យបញ្ចូល",
|
|
64
|
+
};
|
|
65
|
+
return (issue) => {
|
|
66
|
+
switch (issue.code) {
|
|
67
|
+
case "invalid_type":
|
|
68
|
+
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
|
|
69
|
+
case "invalid_value":
|
|
70
|
+
if (issue.values.length === 1)
|
|
71
|
+
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
|
|
72
|
+
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
|
|
73
|
+
case "too_big": {
|
|
74
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
75
|
+
const sizing = getSizing(issue.origin);
|
|
76
|
+
if (sizing)
|
|
77
|
+
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
|
|
78
|
+
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
|
|
79
|
+
}
|
|
80
|
+
case "too_small": {
|
|
81
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
82
|
+
const sizing = getSizing(issue.origin);
|
|
83
|
+
if (sizing) {
|
|
84
|
+
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
85
|
+
}
|
|
86
|
+
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
|
|
87
|
+
}
|
|
88
|
+
case "invalid_format": {
|
|
89
|
+
const _issue = issue;
|
|
90
|
+
if (_issue.format === "starts_with") {
|
|
91
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
|
|
92
|
+
}
|
|
93
|
+
if (_issue.format === "ends_with")
|
|
94
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
|
|
95
|
+
if (_issue.format === "includes")
|
|
96
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
|
|
97
|
+
if (_issue.format === "regex")
|
|
98
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
|
|
99
|
+
return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
|
|
100
|
+
}
|
|
101
|
+
case "not_multiple_of":
|
|
102
|
+
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
|
|
103
|
+
case "unrecognized_keys":
|
|
104
|
+
return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
|
|
105
|
+
case "invalid_key":
|
|
106
|
+
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
|
107
|
+
case "invalid_union":
|
|
108
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
|
109
|
+
case "invalid_element":
|
|
110
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
|
111
|
+
default:
|
|
112
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
function kh () {
|
|
117
|
+
return {
|
|
118
|
+
localeError: error(),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
module.exports = kh;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { joinValues, stringifyPrimitive } from '../core/util.js';
|
|
2
|
+
|
|
3
|
+
const error = () => {
|
|
4
|
+
const Sizable = {
|
|
5
|
+
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
|
|
6
|
+
file: { unit: "បៃ", verb: "គួរមាន" },
|
|
7
|
+
array: { unit: "ធាតុ", verb: "គួរមាន" },
|
|
8
|
+
set: { unit: "ធាតុ", verb: "គួរមាន" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const parsedType = (data) => {
|
|
14
|
+
const t = typeof data;
|
|
15
|
+
switch (t) {
|
|
16
|
+
case "number": {
|
|
17
|
+
return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
|
|
18
|
+
}
|
|
19
|
+
case "object": {
|
|
20
|
+
if (Array.isArray(data)) {
|
|
21
|
+
return "អារេ (Array)";
|
|
22
|
+
}
|
|
23
|
+
if (data === null) {
|
|
24
|
+
return "គ្មានតម្លៃ (null)";
|
|
25
|
+
}
|
|
26
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
27
|
+
return data.constructor.name;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return t;
|
|
32
|
+
};
|
|
33
|
+
const Nouns = {
|
|
34
|
+
regex: "ទិន្នន័យបញ្ចូល",
|
|
35
|
+
email: "អាសយដ្ឋានអ៊ីមែល",
|
|
36
|
+
url: "URL",
|
|
37
|
+
emoji: "សញ្ញាអារម្មណ៍",
|
|
38
|
+
uuid: "UUID",
|
|
39
|
+
uuidv4: "UUIDv4",
|
|
40
|
+
uuidv6: "UUIDv6",
|
|
41
|
+
nanoid: "nanoid",
|
|
42
|
+
guid: "GUID",
|
|
43
|
+
cuid: "cuid",
|
|
44
|
+
cuid2: "cuid2",
|
|
45
|
+
ulid: "ULID",
|
|
46
|
+
xid: "XID",
|
|
47
|
+
ksuid: "KSUID",
|
|
48
|
+
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
|
|
49
|
+
date: "កាលបរិច្ឆេទ ISO",
|
|
50
|
+
time: "ម៉ោង ISO",
|
|
51
|
+
duration: "រយៈពេល ISO",
|
|
52
|
+
ipv4: "អាសយដ្ឋាន IPv4",
|
|
53
|
+
ipv6: "អាសយដ្ឋាន IPv6",
|
|
54
|
+
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
|
|
55
|
+
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
|
|
56
|
+
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
|
|
57
|
+
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
|
|
58
|
+
json_string: "ខ្សែអក្សរ JSON",
|
|
59
|
+
e164: "លេខ E.164",
|
|
60
|
+
jwt: "JWT",
|
|
61
|
+
template_literal: "ទិន្នន័យបញ្ចូល",
|
|
62
|
+
};
|
|
63
|
+
return (issue) => {
|
|
64
|
+
switch (issue.code) {
|
|
65
|
+
case "invalid_type":
|
|
66
|
+
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
|
|
67
|
+
case "invalid_value":
|
|
68
|
+
if (issue.values.length === 1)
|
|
69
|
+
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${stringifyPrimitive(issue.values[0])}`;
|
|
70
|
+
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${joinValues(issue.values, "|")}`;
|
|
71
|
+
case "too_big": {
|
|
72
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
73
|
+
const sizing = getSizing(issue.origin);
|
|
74
|
+
if (sizing)
|
|
75
|
+
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
|
|
76
|
+
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
|
|
77
|
+
}
|
|
78
|
+
case "too_small": {
|
|
79
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
80
|
+
const sizing = getSizing(issue.origin);
|
|
81
|
+
if (sizing) {
|
|
82
|
+
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
83
|
+
}
|
|
84
|
+
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
|
|
85
|
+
}
|
|
86
|
+
case "invalid_format": {
|
|
87
|
+
const _issue = issue;
|
|
88
|
+
if (_issue.format === "starts_with") {
|
|
89
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
|
|
90
|
+
}
|
|
91
|
+
if (_issue.format === "ends_with")
|
|
92
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
|
|
93
|
+
if (_issue.format === "includes")
|
|
94
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
|
|
95
|
+
if (_issue.format === "regex")
|
|
96
|
+
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
|
|
97
|
+
return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
|
|
98
|
+
}
|
|
99
|
+
case "not_multiple_of":
|
|
100
|
+
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
|
|
101
|
+
case "unrecognized_keys":
|
|
102
|
+
return `រកឃើញសោមិនស្គាល់៖ ${joinValues(issue.keys, ", ")}`;
|
|
103
|
+
case "invalid_key":
|
|
104
|
+
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
|
105
|
+
case "invalid_union":
|
|
106
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
|
107
|
+
case "invalid_element":
|
|
108
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
|
109
|
+
default:
|
|
110
|
+
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
function kh () {
|
|
115
|
+
return {
|
|
116
|
+
localeError: error(),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { kh as default };
|