@joe-broadhead/messaging 0.0.0-stage → 0.7.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/CHANGELOG.md +220 -0
- package/LICENSE +21 -0
- package/NOTICE +12 -0
- package/README.md +36 -2
- package/dist/bin/messaging-mcp.js +26524 -0
- package/dist/bin/messaging-relay.js +19768 -0
- package/dist/bin/messaging.js +15465 -0
- package/dist/bin/messagingd.js +29449 -0
- package/dist/lib/core-testing.js +1 -0
- package/dist/lib/core.js +1 -0
- package/dist/lib/ipc-testing.js +1 -0
- package/dist/lib/ipc.js +1 -0
- package/dist/lib/modules/core/address.js +42 -0
- package/dist/lib/modules/core/agent/operations.js +595 -0
- package/dist/lib/modules/core/agent/present.js +244 -0
- package/dist/lib/modules/core/agent/text.js +79 -0
- package/dist/lib/modules/core/agent-tools.js +477 -0
- package/dist/lib/modules/core/b64u.js +20 -0
- package/dist/lib/modules/core/cards.js +55 -0
- package/dist/lib/modules/core/check.js +20 -0
- package/dist/lib/modules/core/consent.js +199 -0
- package/dist/lib/modules/core/contact-card.js +74 -0
- package/dist/lib/modules/core/conversation/context.js +80 -0
- package/dist/lib/modules/core/conversation/event.js +100 -0
- package/dist/lib/modules/core/conversation/ids.js +38 -0
- package/dist/lib/modules/core/conversation/link.js +35 -0
- package/dist/lib/modules/core/conversation/log.js +766 -0
- package/dist/lib/modules/core/conversation/ratchet.js +243 -0
- package/dist/lib/modules/core/conversation/seal.js +198 -0
- package/dist/lib/modules/core/delegation.js +174 -0
- package/dist/lib/modules/core/directory/device-log.js +258 -0
- package/dist/lib/modules/core/directory/epoch.js +103 -0
- package/dist/lib/modules/core/directory/handle.js +29 -0
- package/dist/lib/modules/core/directory/jelly-device.js +204 -0
- package/dist/lib/modules/core/directory/jelly-issuer.js +12 -0
- package/dist/lib/modules/core/directory/jelly-token.js +305 -0
- package/dist/lib/modules/core/directory/keys-statement.js +43 -0
- package/dist/lib/modules/core/directory/link.js +81 -0
- package/dist/lib/modules/core/directory/merkle-log.js +250 -0
- package/dist/lib/modules/core/directory/person-view.js +197 -0
- package/dist/lib/modules/core/directory/person.js +40 -0
- package/dist/lib/modules/core/directory/realm.js +59 -0
- package/dist/lib/modules/core/directory/smt.js +266 -0
- package/dist/lib/modules/core/envelope.js +320 -0
- package/dist/lib/modules/core/hash.js +5 -0
- package/dist/lib/modules/core/head.js +27 -0
- package/dist/lib/modules/core/identity.js +71 -0
- package/dist/lib/modules/core/index.js +53 -0
- package/dist/lib/modules/core/jcs.js +96 -0
- package/dist/lib/modules/core/jelly-host-double.js +35 -0
- package/dist/lib/modules/core/jelly-host.js +211 -0
- package/dist/lib/modules/core/keys.js +79 -0
- package/dist/lib/modules/core/peer-text.js +563 -0
- package/dist/lib/modules/core/realm.js +1 -0
- package/dist/lib/modules/core/roster.js +454 -0
- package/dist/lib/modules/core/schema/a2a.js +85 -0
- package/dist/lib/modules/core/schema/common.js +310 -0
- package/dist/lib/modules/core/schema/consent.js +120 -0
- package/dist/lib/modules/core/schema/conversation.js +292 -0
- package/dist/lib/modules/core/schema/delegation.js +58 -0
- package/dist/lib/modules/core/schema/directory-frames.js +270 -0
- package/dist/lib/modules/core/schema/directory.js +169 -0
- package/dist/lib/modules/core/schema/envelope.js +211 -0
- package/dist/lib/modules/core/schema/errors.js +104 -0
- package/dist/lib/modules/core/schema/index.js +16 -0
- package/dist/lib/modules/core/schema/ipc/consent.js +181 -0
- package/dist/lib/modules/core/schema/ipc/device.js +276 -0
- package/dist/lib/modules/core/schema/ipc/jelly.js +189 -0
- package/dist/lib/modules/core/schema/ipc/shapes.js +185 -0
- package/dist/lib/modules/core/schema/ipc/surfaces.js +223 -0
- package/dist/lib/modules/core/schema/ipc.js +451 -0
- package/dist/lib/modules/core/schema/jelly.js +122 -0
- package/dist/lib/modules/core/schema/realm.js +27 -0
- package/dist/lib/modules/core/schema/relay.js +112 -0
- package/dist/lib/modules/core/schema/roster.js +126 -0
- package/dist/lib/modules/core/sign.js +43 -0
- package/dist/lib/modules/core/task.js +37 -0
- package/dist/lib/modules/core/testing.js +21 -0
- package/dist/lib/modules/core/ulid.js +36 -0
- package/dist/lib/modules/core/version.js +6 -0
- package/dist/lib/modules/core/wire.js +255 -0
- package/dist/lib/modules/ipc/client.js +289 -0
- package/dist/lib/modules/ipc/framing.js +33 -0
- package/dist/lib/modules/ipc/index.js +6 -0
- package/dist/lib/modules/ipc/paths.js +102 -0
- package/dist/lib/modules/ipc/pipes.js +65 -0
- package/dist/lib/modules/ipc/rpc.js +8 -0
- package/dist/lib/modules/ipc/server.js +317 -0
- package/dist/lib/modules/ipc/testing.js +145 -0
- package/dist/lib/modules/ipc/trust.js +166 -0
- package/dist/lib/modules/ipc/windows-acl.js +275 -0
- package/dist/lib/modules/vendor/zod/index.js +7 -0
- package/dist/lib/modules/vendor/zod/v4/classic/checks.js +1 -0
- package/dist/lib/modules/vendor/zod/v4/classic/coerce.js +17 -0
- package/dist/lib/modules/vendor/zod/v4/classic/compat.js +31 -0
- package/dist/lib/modules/vendor/zod/v4/classic/deep-partial.js +13 -0
- package/dist/lib/modules/vendor/zod/v4/classic/errors.js +57 -0
- package/dist/lib/modules/vendor/zod/v4/classic/external.js +17 -0
- package/dist/lib/modules/vendor/zod/v4/classic/from-json-schema.js +881 -0
- package/dist/lib/modules/vendor/zod/v4/classic/in-out.js +36 -0
- package/dist/lib/modules/vendor/zod/v4/classic/iso.js +15 -0
- package/dist/lib/modules/vendor/zod/v4/classic/parse.js +16 -0
- package/dist/lib/modules/vendor/zod/v4/classic/schemas.js +1535 -0
- package/dist/lib/modules/vendor/zod/v4/core/api.js +1107 -0
- package/dist/lib/modules/vendor/zod/v4/core/checks.js +516 -0
- package/dist/lib/modules/vendor/zod/v4/core/compile.js +1866 -0
- package/dist/lib/modules/vendor/zod/v4/core/core.js +141 -0
- package/dist/lib/modules/vendor/zod/v4/core/doc.js +38 -0
- package/dist/lib/modules/vendor/zod/v4/core/errors.js +267 -0
- package/dist/lib/modules/vendor/zod/v4/core/index.js +19 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema-generator.js +99 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema-processors.js +843 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema.js +1 -0
- package/dist/lib/modules/vendor/zod/v4/core/memoizer.js +311 -0
- package/dist/lib/modules/vendor/zod/v4/core/parse.js +175 -0
- package/dist/lib/modules/vendor/zod/v4/core/regexes.js +156 -0
- package/dist/lib/modules/vendor/zod/v4/core/registries.js +51 -0
- package/dist/lib/modules/vendor/zod/v4/core/schemas.js +2636 -0
- package/dist/lib/modules/vendor/zod/v4/core/to-json-schema.js +651 -0
- package/dist/lib/modules/vendor/zod/v4/core/util.js +873 -0
- package/dist/lib/modules/vendor/zod/v4/core/versions.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/core/visit.js +169 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ar.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/az.js +110 -0
- package/dist/lib/modules/vendor/zod/v4/locales/be.js +168 -0
- package/dist/lib/modules/vendor/zod/v4/locales/bg.js +125 -0
- package/dist/lib/modules/vendor/zod/v4/locales/bn.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ca.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ckb.js +133 -0
- package/dist/lib/modules/vendor/zod/v4/locales/cs.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/da.js +120 -0
- package/dist/lib/modules/vendor/zod/v4/locales/de.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/el.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/en.js +125 -0
- package/dist/lib/modules/vendor/zod/v4/locales/eo.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/es.js +136 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fa.js +119 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fi.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fr-CA.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fr.js +129 -0
- package/dist/lib/modules/vendor/zod/v4/locales/gu.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/he.js +221 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hi.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hr.js +126 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hu.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hy.js +158 -0
- package/dist/lib/modules/vendor/zod/v4/locales/id.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/index.js +63 -0
- package/dist/lib/modules/vendor/zod/v4/locales/is.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/it.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ja.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ka.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/kh.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/locales/km.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/kn.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ko.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/lt.js +207 -0
- package/dist/lib/modules/vendor/zod/v4/locales/mk.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ms.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ne.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/nl.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/nn.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/no.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ota.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pl.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ps.js +119 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pt-BR.js +143 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pt.js +142 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ro.js +122 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ru.js +168 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sk.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sl.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sv.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ta.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tg.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/th.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tk.js +107 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tr.js +110 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ua.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/locales/uk.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ur.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/uz.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/vi.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/yo.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/zh-CN.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/zh-TW.js +112 -0
- package/dist/lib/testing-jelly-id.js +1219 -0
- package/dist/lib/zod.js +1 -0
- package/dist/spec/messaging-v1.md +3744 -0
- package/dist/third-party-notices.md +239 -0
- package/dist/third-party.json +88 -0
- package/dist/types/core/address.d.ts +16 -0
- package/dist/types/core/agent/operations.d.ts +129 -0
- package/dist/types/core/agent/present.d.ts +57 -0
- package/dist/types/core/agent/text.d.ts +62 -0
- package/dist/types/core/agent-tools.d.ts +966 -0
- package/dist/types/core/b64u.d.ts +6 -0
- package/dist/types/core/cards.d.ts +21 -0
- package/dist/types/core/check.d.ts +10 -0
- package/dist/types/core/consent.d.ts +132 -0
- package/dist/types/core/contact-card.d.ts +34 -0
- package/dist/types/core/conversation/context.d.ts +56 -0
- package/dist/types/core/conversation/event.d.ts +36 -0
- package/dist/types/core/conversation/ids.d.ts +18 -0
- package/dist/types/core/conversation/link.d.ts +16 -0
- package/dist/types/core/conversation/log.d.ts +142 -0
- package/dist/types/core/conversation/ratchet.d.ts +95 -0
- package/dist/types/core/conversation/seal.d.ts +47 -0
- package/dist/types/core/delegation.d.ts +71 -0
- package/dist/types/core/directory/device-log.d.ts +119 -0
- package/dist/types/core/directory/epoch.d.ts +53 -0
- package/dist/types/core/directory/handle.d.ts +11 -0
- package/dist/types/core/directory/jelly-device.d.ts +88 -0
- package/dist/types/core/directory/jelly-issuer.d.ts +8 -0
- package/dist/types/core/directory/jelly-token.d.ts +116 -0
- package/dist/types/core/directory/keys-statement.d.ts +22 -0
- package/dist/types/core/directory/link.d.ts +36 -0
- package/dist/types/core/directory/merkle-log.d.ts +40 -0
- package/dist/types/core/directory/person-view.d.ts +90 -0
- package/dist/types/core/directory/person.d.ts +8 -0
- package/dist/types/core/directory/realm.d.ts +23 -0
- package/dist/types/core/directory/smt.d.ts +52 -0
- package/dist/types/core/envelope.d.ts +68 -0
- package/dist/types/core/hash.d.ts +2 -0
- package/dist/types/core/head.d.ts +34 -0
- package/dist/types/core/identity.d.ts +35 -0
- package/dist/types/core/index.d.ts +45 -0
- package/dist/types/core/jcs.d.ts +12 -0
- package/dist/types/core/jelly-host-double.d.ts +21 -0
- package/dist/types/core/jelly-host.d.ts +86 -0
- package/dist/types/core/keys.d.ts +16 -0
- package/dist/types/core/peer-text.d.ts +87 -0
- package/dist/types/core/realm.d.ts +36 -0
- package/dist/types/core/roster.d.ts +146 -0
- package/dist/types/core/schema/a2a.d.ts +251 -0
- package/dist/types/core/schema/common.d.ts +328 -0
- package/dist/types/core/schema/consent.d.ts +140 -0
- package/dist/types/core/schema/conversation.d.ts +1657 -0
- package/dist/types/core/schema/delegation.d.ts +58 -0
- package/dist/types/core/schema/directory-frames.d.ts +1301 -0
- package/dist/types/core/schema/directory.d.ts +375 -0
- package/dist/types/core/schema/envelope.d.ts +756 -0
- package/dist/types/core/schema/errors.d.ts +142 -0
- package/dist/types/core/schema/index.d.ts +16 -0
- package/dist/types/core/schema/ipc/consent.d.ts +555 -0
- package/dist/types/core/schema/ipc/device.d.ts +735 -0
- package/dist/types/core/schema/ipc/jelly.d.ts +501 -0
- package/dist/types/core/schema/ipc/shapes.d.ts +414 -0
- package/dist/types/core/schema/ipc/surfaces.d.ts +680 -0
- package/dist/types/core/schema/ipc.d.ts +3146 -0
- package/dist/types/core/schema/jelly.d.ts +160 -0
- package/dist/types/core/schema/realm.d.ts +38 -0
- package/dist/types/core/schema/relay.d.ts +1134 -0
- package/dist/types/core/schema/roster.d.ts +347 -0
- package/dist/types/core/sign.d.ts +13 -0
- package/dist/types/core/task.d.ts +6 -0
- package/dist/types/core/testing.d.ts +19 -0
- package/dist/types/core/ulid.d.ts +5 -0
- package/dist/types/core/version.d.ts +6 -0
- package/dist/types/core/wire.d.ts +14 -0
- package/dist/types/ipc/client.d.ts +85 -0
- package/dist/types/ipc/framing.d.ts +12 -0
- package/dist/types/ipc/index.d.ts +6 -0
- package/dist/types/ipc/paths.d.ts +39 -0
- package/dist/types/ipc/pipes.d.ts +16 -0
- package/dist/types/ipc/rpc.d.ts +13 -0
- package/dist/types/ipc/server.d.ts +94 -0
- package/dist/types/ipc/testing.d.ts +89 -0
- package/dist/types/ipc/trust.d.ts +49 -0
- package/dist/types/ipc/windows-acl.d.ts +56 -0
- package/dist/types/testing/jelly-id.d.ts +518 -0
- package/dist/types/zod.d.ts +1 -0
- package/package.json +77 -4
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "teikn", verb: "å ha" },
|
|
5
|
+
file: { unit: "bytes", verb: "å ha" },
|
|
6
|
+
array: { unit: "element", verb: "å innehalde" },
|
|
7
|
+
set: { unit: "element", verb: "å innehalde" },
|
|
8
|
+
map: { unit: "element", verb: "å innehalde" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const FormatDictionary = {
|
|
14
|
+
regex: "input",
|
|
15
|
+
email: "e-postadresse",
|
|
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 dato- og klokkeslett",
|
|
29
|
+
date: "ISO-dato",
|
|
30
|
+
time: "ISO-klokkeslett",
|
|
31
|
+
duration: "ISO-varigheit",
|
|
32
|
+
ipv4: "IPv4-adresse",
|
|
33
|
+
ipv6: "IPv6-adresse",
|
|
34
|
+
mac: "MAC-adresse",
|
|
35
|
+
cidrv4: "IPv4-spekter",
|
|
36
|
+
cidrv6: "IPv6-spekter",
|
|
37
|
+
base64: "base64-enkoda streng",
|
|
38
|
+
base64url: "base64url-enkoda streng",
|
|
39
|
+
json_string: "JSON-streng",
|
|
40
|
+
e164: "E.164-nummer",
|
|
41
|
+
credit_card: "kredittkortnummer",
|
|
42
|
+
currency_code: "valutakode",
|
|
43
|
+
iban: "IBAN",
|
|
44
|
+
jwt: "JWT",
|
|
45
|
+
template_literal: "input",
|
|
46
|
+
};
|
|
47
|
+
const TypeDictionary = {
|
|
48
|
+
nan: "NaN",
|
|
49
|
+
number: "tal",
|
|
50
|
+
array: "liste",
|
|
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 `Ugyldig input: forventa instanceof ${issue.expected}, fekk ${received}`;
|
|
60
|
+
}
|
|
61
|
+
return `Ugyldig input: forventa ${expected}, fekk ${received}`;
|
|
62
|
+
}
|
|
63
|
+
case "invalid_value":
|
|
64
|
+
if (issue.values.length === 1)
|
|
65
|
+
return `Ugyldig verdi: forventa ${util.stringifyPrimitive(issue.values[0])}`;
|
|
66
|
+
return `Ugyldig val: forventa eitt av ${util.joinValues(issue.values, "|")}`;
|
|
67
|
+
case "too_big": {
|
|
68
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
69
|
+
const sizing = getSizing(issue.origin);
|
|
70
|
+
if (sizing)
|
|
71
|
+
return `For stor(t): forventa ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
|
|
72
|
+
return `For stor(t): forventa ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()}`;
|
|
73
|
+
}
|
|
74
|
+
case "too_small": {
|
|
75
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
76
|
+
const sizing = getSizing(issue.origin);
|
|
77
|
+
if (sizing) {
|
|
78
|
+
return `For lite(n): forventa ${issue.origin} til å ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
79
|
+
}
|
|
80
|
+
return `For lite(n): forventa ${issue.origin} til å ha ${adj}${issue.minimum.toString()}`;
|
|
81
|
+
}
|
|
82
|
+
case "invalid_format": {
|
|
83
|
+
const _issue = issue;
|
|
84
|
+
if (_issue.format === "starts_with")
|
|
85
|
+
return `Ugyldig streng: må starte med "${_issue.prefix}"`;
|
|
86
|
+
if (_issue.format === "ends_with")
|
|
87
|
+
return `Ugyldig streng: må slutte med "${_issue.suffix}"`;
|
|
88
|
+
if (_issue.format === "includes")
|
|
89
|
+
return `Ugyldig streng: må innehalde "${_issue.includes}"`;
|
|
90
|
+
if (_issue.format === "regex")
|
|
91
|
+
return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;
|
|
92
|
+
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
93
|
+
}
|
|
94
|
+
case "not_multiple_of":
|
|
95
|
+
return `Ugyldig tal: må vere eit multiplum av ${issue.divisor}`;
|
|
96
|
+
case "unrecognized_keys":
|
|
97
|
+
return `${issue.keys.length > 1 ? "Ukjende nøklar" : "Ukjend nøkkel"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
98
|
+
case "invalid_key":
|
|
99
|
+
return `Ugyldig nøkkel i ${issue.origin}`;
|
|
100
|
+
case "invalid_union":
|
|
101
|
+
return "Ugyldig input";
|
|
102
|
+
case "invalid_element":
|
|
103
|
+
return `Ugyldig verdi i ${issue.origin}`;
|
|
104
|
+
default:
|
|
105
|
+
return `Ugyldig input`;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export default function () {
|
|
110
|
+
return {
|
|
111
|
+
localeError: error(),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "tegn", verb: "å ha" },
|
|
5
|
+
file: { unit: "bytes", verb: "å ha" },
|
|
6
|
+
array: { unit: "elementer", verb: "å inneholde" },
|
|
7
|
+
set: { unit: "elementer", verb: "å inneholde" },
|
|
8
|
+
map: { unit: "elementer", verb: "å inneholde" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const FormatDictionary = {
|
|
14
|
+
regex: "input",
|
|
15
|
+
email: "e-postadresse",
|
|
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 dato- og klokkeslett",
|
|
29
|
+
date: "ISO-dato",
|
|
30
|
+
time: "ISO-klokkeslett",
|
|
31
|
+
duration: "ISO-varighet",
|
|
32
|
+
ipv4: "IPv4-adresse",
|
|
33
|
+
ipv6: "IPv6-adresse",
|
|
34
|
+
mac: "MAC-adresse",
|
|
35
|
+
cidrv4: "IPv4-spekter",
|
|
36
|
+
cidrv6: "IPv6-spekter",
|
|
37
|
+
base64: "base64-enkodet streng",
|
|
38
|
+
base64url: "base64url-enkodet streng",
|
|
39
|
+
json_string: "JSON-streng",
|
|
40
|
+
e164: "E.164-nummer",
|
|
41
|
+
credit_card: "kredittkortnummer",
|
|
42
|
+
currency_code: "valutakode",
|
|
43
|
+
iban: "IBAN",
|
|
44
|
+
jwt: "JWT",
|
|
45
|
+
template_literal: "input",
|
|
46
|
+
};
|
|
47
|
+
const TypeDictionary = {
|
|
48
|
+
nan: "NaN",
|
|
49
|
+
number: "tall",
|
|
50
|
+
array: "liste",
|
|
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 `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;
|
|
60
|
+
}
|
|
61
|
+
return `Ugyldig input: forventet ${expected}, fikk ${received}`;
|
|
62
|
+
}
|
|
63
|
+
case "invalid_value":
|
|
64
|
+
if (issue.values.length === 1)
|
|
65
|
+
return `Ugyldig verdi: forventet ${util.stringifyPrimitive(issue.values[0])}`;
|
|
66
|
+
return `Ugyldig valg: forventet en av ${util.joinValues(issue.values, "|")}`;
|
|
67
|
+
case "too_big": {
|
|
68
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
69
|
+
const sizing = getSizing(issue.origin);
|
|
70
|
+
if (sizing)
|
|
71
|
+
return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
|
|
72
|
+
return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()}`;
|
|
73
|
+
}
|
|
74
|
+
case "too_small": {
|
|
75
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
76
|
+
const sizing = getSizing(issue.origin);
|
|
77
|
+
if (sizing) {
|
|
78
|
+
return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
79
|
+
}
|
|
80
|
+
return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()}`;
|
|
81
|
+
}
|
|
82
|
+
case "invalid_format": {
|
|
83
|
+
const _issue = issue;
|
|
84
|
+
if (_issue.format === "starts_with")
|
|
85
|
+
return `Ugyldig streng: må starte med "${_issue.prefix}"`;
|
|
86
|
+
if (_issue.format === "ends_with")
|
|
87
|
+
return `Ugyldig streng: må ende med "${_issue.suffix}"`;
|
|
88
|
+
if (_issue.format === "includes")
|
|
89
|
+
return `Ugyldig streng: må inneholde "${_issue.includes}"`;
|
|
90
|
+
if (_issue.format === "regex")
|
|
91
|
+
return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;
|
|
92
|
+
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
93
|
+
}
|
|
94
|
+
case "not_multiple_of":
|
|
95
|
+
return `Ugyldig tall: må være et multiplum av ${issue.divisor}`;
|
|
96
|
+
case "unrecognized_keys":
|
|
97
|
+
return `${issue.keys.length > 1 ? "Ukjente nøkler" : "Ukjent nøkkel"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
98
|
+
case "invalid_key":
|
|
99
|
+
return `Ugyldig nøkkel i ${issue.origin}`;
|
|
100
|
+
case "invalid_union":
|
|
101
|
+
return "Ugyldig input";
|
|
102
|
+
case "invalid_element":
|
|
103
|
+
return `Ugyldig verdi i ${issue.origin}`;
|
|
104
|
+
default:
|
|
105
|
+
return `Ugyldig input`;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export default function () {
|
|
110
|
+
return {
|
|
111
|
+
localeError: error(),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "harf", verb: "olmalıdır" },
|
|
5
|
+
file: { unit: "bayt", verb: "olmalıdır" },
|
|
6
|
+
array: { unit: "unsur", verb: "olmalıdır" },
|
|
7
|
+
set: { unit: "unsur", verb: "olmalıdır" },
|
|
8
|
+
map: { unit: "unsur", verb: "olmalıdır" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const FormatDictionary = {
|
|
14
|
+
regex: "giren",
|
|
15
|
+
email: "epostagâh",
|
|
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 hengâmı",
|
|
29
|
+
date: "ISO tarihi",
|
|
30
|
+
time: "ISO zamanı",
|
|
31
|
+
duration: "ISO müddeti",
|
|
32
|
+
ipv4: "IPv4 nişânı",
|
|
33
|
+
ipv6: "IPv6 nişânı",
|
|
34
|
+
mac: "MAC nişânı",
|
|
35
|
+
cidrv4: "IPv4 menzili",
|
|
36
|
+
cidrv6: "IPv6 menzili",
|
|
37
|
+
base64: "base64-şifreli metin",
|
|
38
|
+
base64url: "base64url-şifreli metin",
|
|
39
|
+
json_string: "JSON metin",
|
|
40
|
+
e164: "E.164 sayısı",
|
|
41
|
+
credit_card: "i'tibâr kartı numarası",
|
|
42
|
+
currency_code: "para birimi kodu",
|
|
43
|
+
iban: "IBAN",
|
|
44
|
+
jwt: "JWT",
|
|
45
|
+
template_literal: "giren",
|
|
46
|
+
};
|
|
47
|
+
const TypeDictionary = {
|
|
48
|
+
nan: "NaN",
|
|
49
|
+
number: "numara",
|
|
50
|
+
array: "saf",
|
|
51
|
+
null: "gayb",
|
|
52
|
+
};
|
|
53
|
+
return (issue) => {
|
|
54
|
+
switch (issue.code) {
|
|
55
|
+
case "invalid_type": {
|
|
56
|
+
const expected = TypeDictionary[issue.expected] ?? issue.expected;
|
|
57
|
+
const receivedType = util.parsedType(issue.input);
|
|
58
|
+
const received = TypeDictionary[receivedType] ?? receivedType;
|
|
59
|
+
if (/^[A-Z]/.test(issue.expected)) {
|
|
60
|
+
return `Fâsit giren: umulan instanceof ${issue.expected}, alınan ${received}`;
|
|
61
|
+
}
|
|
62
|
+
return `Fâsit giren: umulan ${expected}, alınan ${received}`;
|
|
63
|
+
}
|
|
64
|
+
case "invalid_value":
|
|
65
|
+
if (issue.values.length === 1)
|
|
66
|
+
return `Fâsit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;
|
|
67
|
+
return `Fâsit tercih: mûteberler ${util.joinValues(issue.values, "|")}`;
|
|
68
|
+
case "too_big": {
|
|
69
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
70
|
+
const sizing = getSizing(issue.origin);
|
|
71
|
+
if (sizing)
|
|
72
|
+
return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmalıydı.`;
|
|
73
|
+
return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} olmalıydı.`;
|
|
74
|
+
}
|
|
75
|
+
case "too_small": {
|
|
76
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
77
|
+
const sizing = getSizing(issue.origin);
|
|
78
|
+
if (sizing) {
|
|
79
|
+
return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;
|
|
80
|
+
}
|
|
81
|
+
return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} olmalıydı.`;
|
|
82
|
+
}
|
|
83
|
+
case "invalid_format": {
|
|
84
|
+
const _issue = issue;
|
|
85
|
+
if (_issue.format === "starts_with")
|
|
86
|
+
return `Fâsit metin: "${_issue.prefix}" ile başlamalı.`;
|
|
87
|
+
if (_issue.format === "ends_with")
|
|
88
|
+
return `Fâsit metin: "${_issue.suffix}" ile bitmeli.`;
|
|
89
|
+
if (_issue.format === "includes")
|
|
90
|
+
return `Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;
|
|
91
|
+
if (_issue.format === "regex")
|
|
92
|
+
return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;
|
|
93
|
+
return `Fâsit ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
94
|
+
}
|
|
95
|
+
case "not_multiple_of":
|
|
96
|
+
return `Fâsit sayı: ${issue.divisor} katı olmalıydı.`;
|
|
97
|
+
case "unrecognized_keys":
|
|
98
|
+
return `Tanınmayan anahtar ${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
99
|
+
case "invalid_key":
|
|
100
|
+
return `${issue.origin} için tanınmayan anahtar var.`;
|
|
101
|
+
case "invalid_union":
|
|
102
|
+
return "Giren tanınamadı.";
|
|
103
|
+
case "invalid_element":
|
|
104
|
+
return `${issue.origin} için tanınmayan kıymet var.`;
|
|
105
|
+
default:
|
|
106
|
+
return `Kıymet tanınamadı.`;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
export default function () {
|
|
111
|
+
return {
|
|
112
|
+
localeError: error(),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "znaków", verb: "mieć" },
|
|
5
|
+
file: { unit: "bajtów", verb: "mieć" },
|
|
6
|
+
array: { unit: "elementów", verb: "mieć" },
|
|
7
|
+
set: { unit: "elementów", verb: "mieć" },
|
|
8
|
+
map: { unit: "elementów", verb: "mieć" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const FormatDictionary = {
|
|
14
|
+
regex: "wyrażenie",
|
|
15
|
+
email: "adres email",
|
|
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: "data i godzina w formacie ISO",
|
|
29
|
+
date: "data w formacie ISO",
|
|
30
|
+
time: "godzina w formacie ISO",
|
|
31
|
+
duration: "czas trwania ISO",
|
|
32
|
+
ipv4: "adres IPv4",
|
|
33
|
+
ipv6: "adres IPv6",
|
|
34
|
+
mac: "adres MAC",
|
|
35
|
+
cidrv4: "zakres IPv4",
|
|
36
|
+
cidrv6: "zakres IPv6",
|
|
37
|
+
base64: "ciąg znaków zakodowany w formacie base64",
|
|
38
|
+
base64url: "ciąg znaków zakodowany w formacie base64url",
|
|
39
|
+
json_string: "ciąg znaków w formacie JSON",
|
|
40
|
+
e164: "liczba E.164",
|
|
41
|
+
credit_card: "numer karty kredytowej",
|
|
42
|
+
currency_code: "kod waluty",
|
|
43
|
+
iban: "IBAN",
|
|
44
|
+
jwt: "JWT",
|
|
45
|
+
template_literal: "wejście",
|
|
46
|
+
};
|
|
47
|
+
const TypeDictionary = {
|
|
48
|
+
nan: "NaN",
|
|
49
|
+
number: "liczba",
|
|
50
|
+
array: "tablica",
|
|
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 `Nieprawidłowe dane wejściowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;
|
|
60
|
+
}
|
|
61
|
+
return `Nieprawidłowe dane wejściowe: oczekiwano ${expected}, otrzymano ${received}`;
|
|
62
|
+
}
|
|
63
|
+
case "invalid_value":
|
|
64
|
+
if (issue.values.length === 1)
|
|
65
|
+
return `Nieprawidłowe dane wejściowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;
|
|
66
|
+
return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${util.joinValues(issue.values, "|")}`;
|
|
67
|
+
case "too_big": {
|
|
68
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
69
|
+
const sizing = getSizing(issue.origin);
|
|
70
|
+
if (sizing) {
|
|
71
|
+
return `Za duża wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementów"}`;
|
|
72
|
+
}
|
|
73
|
+
return `Zbyt duż(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.maximum.toString()}`;
|
|
74
|
+
}
|
|
75
|
+
case "too_small": {
|
|
76
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
77
|
+
const sizing = getSizing(issue.origin);
|
|
78
|
+
if (sizing) {
|
|
79
|
+
return `Za mała wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.minimum.toString()} ${sizing.unit ?? "elementów"}`;
|
|
80
|
+
}
|
|
81
|
+
return `Zbyt mał(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.minimum.toString()}`;
|
|
82
|
+
}
|
|
83
|
+
case "invalid_format": {
|
|
84
|
+
const _issue = issue;
|
|
85
|
+
if (_issue.format === "starts_with")
|
|
86
|
+
return `Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;
|
|
87
|
+
if (_issue.format === "ends_with")
|
|
88
|
+
return `Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;
|
|
89
|
+
if (_issue.format === "includes")
|
|
90
|
+
return `Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;
|
|
91
|
+
if (_issue.format === "regex")
|
|
92
|
+
return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;
|
|
93
|
+
return `Nieprawidłow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;
|
|
94
|
+
}
|
|
95
|
+
case "not_multiple_of":
|
|
96
|
+
return `Nieprawidłowa liczba: musi być wielokrotnością ${issue.divisor}`;
|
|
97
|
+
case "unrecognized_keys":
|
|
98
|
+
return `Nierozpoznane klucze${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
99
|
+
case "invalid_key":
|
|
100
|
+
return `Nieprawidłowy klucz w ${issue.origin}`;
|
|
101
|
+
case "invalid_union":
|
|
102
|
+
return "Nieprawidłowe dane wejściowe";
|
|
103
|
+
case "invalid_element":
|
|
104
|
+
return `Nieprawidłowa wartość w ${issue.origin}`;
|
|
105
|
+
default:
|
|
106
|
+
return `Nieprawidłowe dane wejściowe`;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
export default function () {
|
|
111
|
+
return {
|
|
112
|
+
localeError: error(),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
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
|
+
map: { unit: "توکي", verb: "ولري" },
|
|
9
|
+
};
|
|
10
|
+
function getSizing(origin) {
|
|
11
|
+
return Sizable[origin] ?? null;
|
|
12
|
+
}
|
|
13
|
+
const FormatDictionary = {
|
|
14
|
+
regex: "ورودي",
|
|
15
|
+
email: "بریښنالیک",
|
|
16
|
+
url: "یو آر ال",
|
|
17
|
+
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: "نیټه او وخت",
|
|
29
|
+
date: "نېټه",
|
|
30
|
+
time: "وخت",
|
|
31
|
+
duration: "موده",
|
|
32
|
+
ipv4: "د IPv4 پته",
|
|
33
|
+
ipv6: "د IPv6 پته",
|
|
34
|
+
mac: "د MAC پته",
|
|
35
|
+
cidrv4: "د IPv4 ساحه",
|
|
36
|
+
cidrv6: "د IPv6 ساحه",
|
|
37
|
+
base64: "base64-encoded متن",
|
|
38
|
+
base64url: "base64url-encoded متن",
|
|
39
|
+
json_string: "JSON متن",
|
|
40
|
+
e164: "د E.164 شمېره",
|
|
41
|
+
credit_card: "د کریډیټ کارت شمیره",
|
|
42
|
+
currency_code: "د اسعارو کوډ",
|
|
43
|
+
iban: "IBAN",
|
|
44
|
+
jwt: "JWT",
|
|
45
|
+
template_literal: "ورودي",
|
|
46
|
+
};
|
|
47
|
+
const TypeDictionary = {
|
|
48
|
+
nan: "NaN",
|
|
49
|
+
number: "عدد",
|
|
50
|
+
array: "ارې",
|
|
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 `ناسم ورودي: باید instanceof ${issue.expected} وای, مګر ${received} ترلاسه شو`;
|
|
60
|
+
}
|
|
61
|
+
return `ناسم ورودي: باید ${expected} وای, مګر ${received} ترلاسه شو`;
|
|
62
|
+
}
|
|
63
|
+
case "invalid_value":
|
|
64
|
+
if (issue.values.length === 1) {
|
|
65
|
+
return `ناسم ورودي: باید ${util.stringifyPrimitive(issue.values[0])} وای`;
|
|
66
|
+
}
|
|
67
|
+
return `ناسم انتخاب: باید یو له ${util.joinValues(issue.values, "|")} څخه وای`;
|
|
68
|
+
case "too_big": {
|
|
69
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
70
|
+
const sizing = getSizing(issue.origin);
|
|
71
|
+
if (sizing) {
|
|
72
|
+
return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عنصرونه"} ولري`;
|
|
73
|
+
}
|
|
74
|
+
return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} وي`;
|
|
75
|
+
}
|
|
76
|
+
case "too_small": {
|
|
77
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
78
|
+
const sizing = getSizing(issue.origin);
|
|
79
|
+
if (sizing) {
|
|
80
|
+
return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} ولري`;
|
|
81
|
+
}
|
|
82
|
+
return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} وي`;
|
|
83
|
+
}
|
|
84
|
+
case "invalid_format": {
|
|
85
|
+
const _issue = issue;
|
|
86
|
+
if (_issue.format === "starts_with") {
|
|
87
|
+
return `ناسم متن: باید د "${_issue.prefix}" سره پیل شي`;
|
|
88
|
+
}
|
|
89
|
+
if (_issue.format === "ends_with") {
|
|
90
|
+
return `ناسم متن: باید د "${_issue.suffix}" سره پای ته ورسيږي`;
|
|
91
|
+
}
|
|
92
|
+
if (_issue.format === "includes") {
|
|
93
|
+
return `ناسم متن: باید "${_issue.includes}" ولري`;
|
|
94
|
+
}
|
|
95
|
+
if (_issue.format === "regex") {
|
|
96
|
+
return `ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;
|
|
97
|
+
}
|
|
98
|
+
return `${FormatDictionary[_issue.format] ?? issue.format} ناسم دی`;
|
|
99
|
+
}
|
|
100
|
+
case "not_multiple_of":
|
|
101
|
+
return `ناسم عدد: باید د ${issue.divisor} مضرب وي`;
|
|
102
|
+
case "unrecognized_keys":
|
|
103
|
+
return `ناسم ${issue.keys.length > 1 ? "کلیډونه" : "کلیډ"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
104
|
+
case "invalid_key":
|
|
105
|
+
return `ناسم کلیډ په ${issue.origin} کې`;
|
|
106
|
+
case "invalid_union":
|
|
107
|
+
return `ناسمه ورودي`;
|
|
108
|
+
case "invalid_element":
|
|
109
|
+
return `ناسم عنصر په ${issue.origin} کې`;
|
|
110
|
+
default:
|
|
111
|
+
return `ناسمه ورودي`;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
export default function () {
|
|
116
|
+
return {
|
|
117
|
+
localeError: error(),
|
|
118
|
+
};
|
|
119
|
+
}
|