zod 4.1.0-canary.20250711T201420 → 4.1.0-canary.20250723T215716

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.
@@ -0,0 +1,117 @@
1
+ import * as util from "../core/util.js";
2
+ export const parsedType = (data) => {
3
+ const t = typeof data;
4
+ switch (t) {
5
+ case "number": {
6
+ return Number.isNaN(data) ? "NaN" : "númer";
7
+ }
8
+ case "object": {
9
+ if (Array.isArray(data)) {
10
+ return "fylki";
11
+ }
12
+ if (data === null) {
13
+ return "null";
14
+ }
15
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
16
+ return data.constructor.name;
17
+ }
18
+ }
19
+ }
20
+ return t;
21
+ };
22
+ const error = () => {
23
+ const Sizable = {
24
+ string: { unit: "stafi", verb: "að hafa" },
25
+ file: { unit: "bæti", verb: "að hafa" },
26
+ array: { unit: "hluti", verb: "að hafa" },
27
+ set: { unit: "hluti", verb: "að hafa" },
28
+ };
29
+ function getSizing(origin) {
30
+ return Sizable[origin] ?? null;
31
+ }
32
+ const Nouns = {
33
+ regex: "gildi",
34
+ email: "netfang",
35
+ url: "vefslóð",
36
+ emoji: "emoji",
37
+ uuid: "UUID",
38
+ uuidv4: "UUIDv4",
39
+ uuidv6: "UUIDv6",
40
+ nanoid: "nanoid",
41
+ guid: "GUID",
42
+ cuid: "cuid",
43
+ cuid2: "cuid2",
44
+ ulid: "ULID",
45
+ xid: "XID",
46
+ ksuid: "KSUID",
47
+ datetime: "ISO dagsetning og tími",
48
+ date: "ISO dagsetning",
49
+ time: "ISO tími",
50
+ duration: "ISO tímalengd",
51
+ ipv4: "IPv4 address",
52
+ ipv6: "IPv6 address",
53
+ cidrv4: "IPv4 range",
54
+ cidrv6: "IPv6 range",
55
+ base64: "base64-encoded strengur",
56
+ base64url: "base64url-encoded strengur",
57
+ json_string: "JSON strengur",
58
+ e164: "E.164 tölugildi",
59
+ jwt: "JWT",
60
+ template_literal: "gildi",
61
+ };
62
+ return (issue) => {
63
+ switch (issue.code) {
64
+ case "invalid_type":
65
+ return `Rangt gildi: Þú slóst inn ${parsedType(issue.input)} þar sem á að vera ${issue.expected}`;
66
+ case "invalid_value":
67
+ if (issue.values.length === 1)
68
+ return `Rangt gildi: gert ráð fyrir ${util.stringifyPrimitive(issue.values[0])}`;
69
+ return `Ógilt val: má vera eitt af eftirfarandi ${util.joinValues(issue.values, "|")}`;
70
+ case "too_big": {
71
+ const adj = issue.inclusive ? "<=" : "<";
72
+ const sizing = getSizing(issue.origin);
73
+ if (sizing)
74
+ return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? "hluti"}`;
75
+ return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} sé ${adj}${issue.maximum.toString()}`;
76
+ }
77
+ case "too_small": {
78
+ const adj = issue.inclusive ? ">=" : ">";
79
+ const sizing = getSizing(issue.origin);
80
+ if (sizing) {
81
+ return `Of lítið: gert er ráð fyrir að ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;
82
+ }
83
+ return `Of lítið: gert er ráð fyrir að ${issue.origin} sé ${adj}${issue.minimum.toString()}`;
84
+ }
85
+ case "invalid_format": {
86
+ const _issue = issue;
87
+ if (_issue.format === "starts_with") {
88
+ return `Ógildur strengur: verður að byrja á "${_issue.prefix}"`;
89
+ }
90
+ if (_issue.format === "ends_with")
91
+ return `Ógildur strengur: verður að enda á "${_issue.suffix}"`;
92
+ if (_issue.format === "includes")
93
+ return `Ógildur strengur: verður að innihalda "${_issue.includes}"`;
94
+ if (_issue.format === "regex")
95
+ return `Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;
96
+ return `Rangt ${Nouns[_issue.format] ?? issue.format}`;
97
+ }
98
+ case "not_multiple_of":
99
+ return `Röng tala: verður að vera margfeldi af ${issue.divisor}`;
100
+ case "unrecognized_keys":
101
+ return `Óþekkt ${issue.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${util.joinValues(issue.keys, ", ")}`;
102
+ case "invalid_key":
103
+ return `Rangur lykill í ${issue.origin}`;
104
+ case "invalid_union":
105
+ return "Rangt gildi";
106
+ case "invalid_element":
107
+ return `Rangt gildi í ${issue.origin}`;
108
+ default:
109
+ return `Rangt gildi`;
110
+ }
111
+ };
112
+ };
113
+ export default function () {
114
+ return {
115
+ localeError: error(),
116
+ };
117
+ }