zod 4.2.0-canary.20250911T044505 → 4.2.0-canary.20250911T045022

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod",
3
- "version": "4.2.0-canary.20250911T044505",
3
+ "version": "4.2.0-canary.20250911T045022",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Colin McDonnell <zod@colinhacks.com>",
@@ -18,8 +18,10 @@ export { default as id } from "./id.js";
18
18
  export { default as is } from "./is.js";
19
19
  export { default as it } from "./it.js";
20
20
  export { default as ja } from "./ja.js";
21
+ export { default as ka } from "./ka.js";
21
22
  export { default as kh } from "./kh.js";
22
23
  export { default as ko } from "./ko.js";
24
+ export { default as lt } from "./lt.js";
23
25
  export { default as mk } from "./mk.js";
24
26
  export { default as ms } from "./ms.js";
25
27
  export { default as nl } from "./nl.js";
@@ -0,0 +1,138 @@
1
+ import type { $ZodStringFormats } from "../core/checks.js";
2
+ import type * as errors from "../core/errors.js";
3
+ import * as util from "../core/util.js";
4
+
5
+ export const parsedType = (data: any): string => {
6
+ const t = typeof data;
7
+
8
+ switch (t) {
9
+ case "number": {
10
+ return Number.isNaN(data) ? "NaN" : "რიცხვი";
11
+ }
12
+ case "object": {
13
+ if (Array.isArray(data)) {
14
+ return "მასივი";
15
+ }
16
+ if (data === null) {
17
+ return "null";
18
+ }
19
+
20
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
21
+ return data.constructor.name;
22
+ }
23
+ }
24
+ }
25
+
26
+ const typeMap: Record<string, string> = {
27
+ string: "სტრინგი",
28
+ boolean: "ბულეანი",
29
+ undefined: "undefined",
30
+ bigint: "bigint",
31
+ symbol: "symbol",
32
+ function: "ფუნქცია",
33
+ };
34
+
35
+ return typeMap[t] ?? t;
36
+ };
37
+
38
+ const error: () => errors.$ZodErrorMap = () => {
39
+ const Sizable: Record<string, { unit: string; verb: string }> = {
40
+ string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
41
+ file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
42
+ array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
43
+ set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
44
+ };
45
+
46
+ function getSizing(origin: string): { unit: string; verb: string } | null {
47
+ return Sizable[origin] ?? null;
48
+ }
49
+
50
+ const Nouns: {
51
+ [k in $ZodStringFormats | (string & {})]?: string;
52
+ } = {
53
+ regex: "შეყვანა",
54
+ email: "ელ-ფოსტის მისამართი",
55
+ url: "URL",
56
+ emoji: "ემოჯი",
57
+ uuid: "UUID",
58
+ uuidv4: "UUIDv4",
59
+ uuidv6: "UUIDv6",
60
+ nanoid: "nanoid",
61
+ guid: "GUID",
62
+ cuid: "cuid",
63
+ cuid2: "cuid2",
64
+ ulid: "ULID",
65
+ xid: "XID",
66
+ ksuid: "KSUID",
67
+ datetime: "თარიღი-დრო",
68
+ date: "თარიღი",
69
+ time: "დრო",
70
+ duration: "ხანგრძლივობა",
71
+ ipv4: "IPv4 მისამართი",
72
+ ipv6: "IPv6 მისამართი",
73
+ cidrv4: "IPv4 დიაპაზონი",
74
+ cidrv6: "IPv6 დიაპაზონი",
75
+ base64: "base64-კოდირებული სტრინგი",
76
+ base64url: "base64url-კოდირებული სტრინგი",
77
+ json_string: "JSON სტრინგი",
78
+ e164: "E.164 ნომერი",
79
+ jwt: "JWT",
80
+ template_literal: "შეყვანა",
81
+ };
82
+
83
+ return (issue) => {
84
+ switch (issue.code) {
85
+ case "invalid_type":
86
+ return `არასწორი შეყვანა: მოსალოდნელი ${issue.expected}, მიღებული ${parsedType(issue.input)}`;
87
+
88
+ case "invalid_value":
89
+ if (issue.values.length === 1)
90
+ return `არასწორი შეყვანა: მოსალოდნელი ${util.stringifyPrimitive(issue.values[0])}`;
91
+ return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${util.joinValues(issue.values, "|")}-დან`;
92
+ case "too_big": {
93
+ const adj = issue.inclusive ? "<=" : "<";
94
+ const sizing = getSizing(issue.origin);
95
+ if (sizing)
96
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
97
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue.maximum.toString()}`;
98
+ }
99
+ case "too_small": {
100
+ const adj = issue.inclusive ? ">=" : ">";
101
+ const sizing = getSizing(issue.origin);
102
+ if (sizing) {
103
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
104
+ }
105
+
106
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;
107
+ }
108
+ case "invalid_format": {
109
+ const _issue = issue as errors.$ZodStringFormatIssues;
110
+ if (_issue.format === "starts_with") {
111
+ return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
112
+ }
113
+ if (_issue.format === "ends_with") return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
114
+ if (_issue.format === "includes") return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
115
+ if (_issue.format === "regex") return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
116
+ return `არასწორი ${Nouns[_issue.format] ?? issue.format}`;
117
+ }
118
+ case "not_multiple_of":
119
+ return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;
120
+ case "unrecognized_keys":
121
+ return `უცნობი გასაღებ${issue.keys.length > 1 ? "ები" : "ი"}: ${util.joinValues(issue.keys, ", ")}`;
122
+ case "invalid_key":
123
+ return `არასწორი გასაღები ${issue.origin}-ში`;
124
+ case "invalid_union":
125
+ return "არასწორი შეყვანა";
126
+ case "invalid_element":
127
+ return `არასწორი მნიშვნელობა ${issue.origin}-ში`;
128
+ default:
129
+ return `არასწორი შეყვანა`;
130
+ }
131
+ };
132
+ };
133
+
134
+ export default function (): { localeError: errors.$ZodErrorMap } {
135
+ return {
136
+ localeError: error(),
137
+ };
138
+ }
@@ -0,0 +1,265 @@
1
+ import type { $ZodStringFormats } from "../core/checks.js";
2
+ import type * as errors from "../core/errors.js";
3
+ import * as util from "../core/util.js";
4
+
5
+ export const parsedType = (data: any): string => {
6
+ const t = typeof data;
7
+ return parsedTypeFromType(t, data);
8
+ };
9
+
10
+ const parsedTypeFromType = (t: string, data: any = undefined): string => {
11
+ switch (t) {
12
+ case "number": {
13
+ return Number.isNaN(data) ? "NaN" : "skaičius";
14
+ }
15
+ case "bigint": {
16
+ return "sveikasis skaičius";
17
+ }
18
+ case "string": {
19
+ return "eilutė";
20
+ }
21
+ case "boolean": {
22
+ return "loginė reikšmė";
23
+ }
24
+ case "undefined":
25
+ case "void": {
26
+ return "neapibrėžta reikšmė";
27
+ }
28
+ case "function": {
29
+ return "funkcija";
30
+ }
31
+ case "symbol": {
32
+ return "simbolis";
33
+ }
34
+ case "object": {
35
+ if (data === undefined) return "nežinomas objektas";
36
+ if (data === null) return "nulinė reikšmė";
37
+
38
+ if (Array.isArray(data)) return "masyvas";
39
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
40
+ return data.constructor.name;
41
+ }
42
+
43
+ return "objektas";
44
+ }
45
+ //Zod types below
46
+ case "null": {
47
+ return "nulinė reikšmė";
48
+ }
49
+ }
50
+
51
+ return t;
52
+ };
53
+
54
+ const capitalizeFirstCharacter = (text: string): string => {
55
+ return text.charAt(0).toUpperCase() + text.slice(1);
56
+ };
57
+
58
+ type UnitType = "one" | "few" | "many";
59
+ type SizeableComparisonType = "smaller" | "bigger";
60
+
61
+ function getUnitTypeFromNumber(number: number): UnitType {
62
+ const abs = Math.abs(number);
63
+ const last = abs % 10;
64
+ const last2 = abs % 100;
65
+
66
+ if ((last2 >= 11 && last2 <= 19) || last === 0) return "many";
67
+ if (last === 1) return "one";
68
+ return "few";
69
+ }
70
+
71
+ const error: () => errors.$ZodErrorMap = () => {
72
+ const Sizable: Record<
73
+ string,
74
+ {
75
+ unit: Record<UnitType, string>;
76
+ verb: Record<SizeableComparisonType, { inclusive: string; notInclusive: string }>;
77
+ }
78
+ > = {
79
+ string: {
80
+ unit: {
81
+ one: "simbolis",
82
+ few: "simboliai",
83
+ many: "simbolių",
84
+ },
85
+ verb: {
86
+ smaller: {
87
+ inclusive: "turi būti ne ilgesnė kaip",
88
+ notInclusive: "turi būti trumpesnė kaip",
89
+ },
90
+ bigger: {
91
+ inclusive: "turi būti ne trumpesnė kaip",
92
+ notInclusive: "turi būti ilgesnė kaip",
93
+ },
94
+ },
95
+ },
96
+ file: {
97
+ unit: {
98
+ one: "baitas",
99
+ few: "baitai",
100
+ many: "baitų",
101
+ },
102
+ verb: {
103
+ smaller: {
104
+ inclusive: "turi būti ne didesnis kaip",
105
+ notInclusive: "turi būti mažesnis kaip",
106
+ },
107
+ bigger: {
108
+ inclusive: "turi būti ne mažesnis kaip",
109
+ notInclusive: "turi būti didesnis kaip",
110
+ },
111
+ },
112
+ },
113
+ array: {
114
+ unit: {
115
+ one: "elementą",
116
+ few: "elementus",
117
+ many: "elementų",
118
+ },
119
+ verb: {
120
+ smaller: {
121
+ inclusive: "turi turėti ne daugiau kaip",
122
+ notInclusive: "turi turėti mažiau kaip",
123
+ },
124
+ bigger: {
125
+ inclusive: "turi turėti ne mažiau kaip",
126
+ notInclusive: "turi turėti daugiau kaip",
127
+ },
128
+ },
129
+ },
130
+ set: {
131
+ unit: {
132
+ one: "elementą",
133
+ few: "elementus",
134
+ many: "elementų",
135
+ },
136
+ verb: {
137
+ smaller: {
138
+ inclusive: "turi turėti ne daugiau kaip",
139
+ notInclusive: "turi turėti mažiau kaip",
140
+ },
141
+ bigger: {
142
+ inclusive: "turi turėti ne mažiau kaip",
143
+ notInclusive: "turi turėti daugiau kaip",
144
+ },
145
+ },
146
+ },
147
+ };
148
+
149
+ function getSizing(
150
+ origin: string,
151
+ unitType: UnitType,
152
+ inclusive: boolean,
153
+ targetShouldBe: SizeableComparisonType
154
+ ): {
155
+ unit: string;
156
+ verb: string;
157
+ } | null {
158
+ const result = Sizable[origin] ?? null;
159
+ if (result === null) return result;
160
+
161
+ return {
162
+ unit: result.unit[unitType],
163
+ verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
164
+ };
165
+ }
166
+
167
+ const Nouns: {
168
+ [k in $ZodStringFormats | (string & {})]?: string;
169
+ } = {
170
+ regex: "įvestis",
171
+ email: "el. pašto adresas",
172
+ url: "URL",
173
+ emoji: "jaustukas",
174
+ uuid: "UUID",
175
+ uuidv4: "UUIDv4",
176
+ uuidv6: "UUIDv6",
177
+ nanoid: "nanoid",
178
+ guid: "GUID",
179
+ cuid: "cuid",
180
+ cuid2: "cuid2",
181
+ ulid: "ULID",
182
+ xid: "XID",
183
+ ksuid: "KSUID",
184
+ datetime: "ISO data ir laikas",
185
+ date: "ISO data",
186
+ time: "ISO laikas",
187
+ duration: "ISO trukmė",
188
+ ipv4: "IPv4 adresas",
189
+ ipv6: "IPv6 adresas",
190
+ cidrv4: "IPv4 tinklo prefiksas (CIDR)",
191
+ cidrv6: "IPv6 tinklo prefiksas (CIDR)",
192
+ base64: "base64 užkoduota eilutė",
193
+ base64url: "base64url užkoduota eilutė",
194
+ json_string: "JSON eilutė",
195
+ e164: "E.164 numeris",
196
+ jwt: "JWT",
197
+ template_literal: "įvestis",
198
+ };
199
+
200
+ return (issue) => {
201
+ switch (issue.code) {
202
+ case "invalid_type":
203
+ return `Gautas tipas ${parsedType(issue.input)}, o tikėtasi - ${parsedTypeFromType(issue.expected)}`;
204
+ case "invalid_value":
205
+ if (issue.values.length === 1) return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;
206
+ return `Privalo būti vienas iš ${util.joinValues(issue.values, "|")} pasirinkimų`;
207
+ case "too_big": {
208
+ const origin = parsedTypeFromType(issue.origin);
209
+ const sizing = getSizing(
210
+ issue.origin,
211
+ getUnitTypeFromNumber(Number(issue.maximum)),
212
+ issue.inclusive ?? false,
213
+ "smaller"
214
+ );
215
+ if (sizing?.verb)
216
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
217
+ const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
218
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
219
+ }
220
+ case "too_small": {
221
+ const origin = parsedTypeFromType(issue.origin);
222
+ const sizing = getSizing(
223
+ issue.origin,
224
+ getUnitTypeFromNumber(Number(issue.minimum)),
225
+ issue.inclusive ?? false,
226
+ "bigger"
227
+ );
228
+ if (sizing?.verb)
229
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
230
+ const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
231
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
232
+ }
233
+ case "invalid_format": {
234
+ const _issue = issue as errors.$ZodStringFormatIssues;
235
+ if (_issue.format === "starts_with") {
236
+ return `Eilutė privalo prasidėti "${_issue.prefix}"`;
237
+ }
238
+ if (_issue.format === "ends_with") return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
239
+ if (_issue.format === "includes") return `Eilutė privalo įtraukti "${_issue.includes}"`;
240
+ if (_issue.format === "regex") return `Eilutė privalo atitikti ${_issue.pattern}`;
241
+ return `Neteisingas ${Nouns[_issue.format] ?? issue.format}`;
242
+ }
243
+ case "not_multiple_of":
244
+ return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
245
+ case "unrecognized_keys":
246
+ return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${util.joinValues(issue.keys, ", ")}`;
247
+ case "invalid_key":
248
+ return "Rastas klaidingas raktas";
249
+ case "invalid_union":
250
+ return "Klaidinga įvestis";
251
+ case "invalid_element": {
252
+ const origin = parsedTypeFromType(issue.origin);
253
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
254
+ }
255
+ default:
256
+ return "Klaidinga įvestis";
257
+ }
258
+ };
259
+ };
260
+
261
+ export default function (): { localeError: errors.$ZodErrorMap } {
262
+ return {
263
+ localeError: error(),
264
+ };
265
+ }
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.yo = exports.zhTW = exports.zhCN = exports.vi = exports.ur = exports.ua = exports.tr = exports.th = exports.ta = exports.sv = exports.sl = exports.ru = exports.pt = exports.pl = exports.ps = exports.ota = exports.no = exports.nl = exports.ms = exports.mk = exports.ko = exports.kh = exports.ja = exports.it = exports.is = exports.id = exports.hu = exports.he = exports.frCA = exports.fr = exports.fi = exports.fa = exports.es = exports.eo = exports.en = exports.de = exports.da = exports.cs = exports.ca = exports.be = exports.az = exports.ar = void 0;
6
+ exports.yo = exports.zhTW = exports.zhCN = exports.vi = exports.ur = exports.ua = exports.tr = exports.th = exports.ta = exports.sv = exports.sl = exports.ru = exports.pt = exports.pl = exports.ps = exports.ota = exports.no = exports.nl = exports.ms = exports.mk = exports.lt = exports.ko = exports.kh = exports.ka = exports.ja = exports.it = exports.is = exports.id = exports.hu = exports.he = exports.frCA = exports.fr = exports.fi = exports.fa = exports.es = exports.eo = exports.en = exports.de = exports.da = exports.cs = exports.ca = exports.be = exports.az = exports.ar = void 0;
7
7
  var ar_js_1 = require("./ar.cjs");
8
8
  Object.defineProperty(exports, "ar", { enumerable: true, get: function () { return __importDefault(ar_js_1).default; } });
9
9
  var az_js_1 = require("./az.cjs");
@@ -44,10 +44,14 @@ var it_js_1 = require("./it.cjs");
44
44
  Object.defineProperty(exports, "it", { enumerable: true, get: function () { return __importDefault(it_js_1).default; } });
45
45
  var ja_js_1 = require("./ja.cjs");
46
46
  Object.defineProperty(exports, "ja", { enumerable: true, get: function () { return __importDefault(ja_js_1).default; } });
47
+ var ka_js_1 = require("./ka.cjs");
48
+ Object.defineProperty(exports, "ka", { enumerable: true, get: function () { return __importDefault(ka_js_1).default; } });
47
49
  var kh_js_1 = require("./kh.cjs");
48
50
  Object.defineProperty(exports, "kh", { enumerable: true, get: function () { return __importDefault(kh_js_1).default; } });
49
51
  var ko_js_1 = require("./ko.cjs");
50
52
  Object.defineProperty(exports, "ko", { enumerable: true, get: function () { return __importDefault(ko_js_1).default; } });
53
+ var lt_js_1 = require("./lt.cjs");
54
+ Object.defineProperty(exports, "lt", { enumerable: true, get: function () { return __importDefault(lt_js_1).default; } });
51
55
  var mk_js_1 = require("./mk.cjs");
52
56
  Object.defineProperty(exports, "mk", { enumerable: true, get: function () { return __importDefault(mk_js_1).default; } });
53
57
  var ms_js_1 = require("./ms.cjs");
@@ -18,8 +18,10 @@ export { default as id } from "./id.cjs";
18
18
  export { default as is } from "./is.cjs";
19
19
  export { default as it } from "./it.cjs";
20
20
  export { default as ja } from "./ja.cjs";
21
+ export { default as ka } from "./ka.cjs";
21
22
  export { default as kh } from "./kh.cjs";
22
23
  export { default as ko } from "./ko.cjs";
24
+ export { default as lt } from "./lt.cjs";
23
25
  export { default as mk } from "./mk.cjs";
24
26
  export { default as ms } from "./ms.cjs";
25
27
  export { default as nl } from "./nl.cjs";
@@ -18,8 +18,10 @@ export { default as id } from "./id.js";
18
18
  export { default as is } from "./is.js";
19
19
  export { default as it } from "./it.js";
20
20
  export { default as ja } from "./ja.js";
21
+ export { default as ka } from "./ka.js";
21
22
  export { default as kh } from "./kh.js";
22
23
  export { default as ko } from "./ko.js";
24
+ export { default as lt } from "./lt.js";
23
25
  export { default as mk } from "./mk.js";
24
26
  export { default as ms } from "./ms.js";
25
27
  export { default as nl } from "./nl.js";
@@ -18,8 +18,10 @@ export { default as id } from "./id.js";
18
18
  export { default as is } from "./is.js";
19
19
  export { default as it } from "./it.js";
20
20
  export { default as ja } from "./ja.js";
21
+ export { default as ka } from "./ka.js";
21
22
  export { default as kh } from "./kh.js";
22
23
  export { default as ko } from "./ko.js";
24
+ export { default as lt } from "./lt.js";
23
25
  export { default as mk } from "./mk.js";
24
26
  export { default as ms } from "./ms.js";
25
27
  export { default as nl } from "./nl.js";
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.parsedType = void 0;
27
+ exports.default = default_1;
28
+ const util = __importStar(require("../core/util.cjs"));
29
+ const parsedType = (data) => {
30
+ const t = typeof data;
31
+ switch (t) {
32
+ case "number": {
33
+ return Number.isNaN(data) ? "NaN" : "რიცხვი";
34
+ }
35
+ case "object": {
36
+ if (Array.isArray(data)) {
37
+ return "მასივი";
38
+ }
39
+ if (data === null) {
40
+ return "null";
41
+ }
42
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
43
+ return data.constructor.name;
44
+ }
45
+ }
46
+ }
47
+ const typeMap = {
48
+ string: "სტრინგი",
49
+ boolean: "ბულეანი",
50
+ undefined: "undefined",
51
+ bigint: "bigint",
52
+ symbol: "symbol",
53
+ function: "ფუნქცია",
54
+ };
55
+ return typeMap[t] ?? t;
56
+ };
57
+ exports.parsedType = parsedType;
58
+ const error = () => {
59
+ const Sizable = {
60
+ string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
61
+ file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
62
+ array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
63
+ set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
64
+ };
65
+ function getSizing(origin) {
66
+ return Sizable[origin] ?? null;
67
+ }
68
+ const Nouns = {
69
+ regex: "შეყვანა",
70
+ email: "ელ-ფოსტის მისამართი",
71
+ url: "URL",
72
+ emoji: "ემოჯი",
73
+ uuid: "UUID",
74
+ uuidv4: "UUIDv4",
75
+ uuidv6: "UUIDv6",
76
+ nanoid: "nanoid",
77
+ guid: "GUID",
78
+ cuid: "cuid",
79
+ cuid2: "cuid2",
80
+ ulid: "ULID",
81
+ xid: "XID",
82
+ ksuid: "KSUID",
83
+ datetime: "თარიღი-დრო",
84
+ date: "თარიღი",
85
+ time: "დრო",
86
+ duration: "ხანგრძლივობა",
87
+ ipv4: "IPv4 მისამართი",
88
+ ipv6: "IPv6 მისამართი",
89
+ cidrv4: "IPv4 დიაპაზონი",
90
+ cidrv6: "IPv6 დიაპაზონი",
91
+ base64: "base64-კოდირებული სტრინგი",
92
+ base64url: "base64url-კოდირებული სტრინგი",
93
+ json_string: "JSON სტრინგი",
94
+ e164: "E.164 ნომერი",
95
+ jwt: "JWT",
96
+ template_literal: "შეყვანა",
97
+ };
98
+ return (issue) => {
99
+ switch (issue.code) {
100
+ case "invalid_type":
101
+ return `არასწორი შეყვანა: მოსალოდნელი ${issue.expected}, მიღებული ${(0, exports.parsedType)(issue.input)}`;
102
+ case "invalid_value":
103
+ if (issue.values.length === 1)
104
+ return `არასწორი შეყვანა: მოსალოდნელი ${util.stringifyPrimitive(issue.values[0])}`;
105
+ return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${util.joinValues(issue.values, "|")}-დან`;
106
+ case "too_big": {
107
+ const adj = issue.inclusive ? "<=" : "<";
108
+ const sizing = getSizing(issue.origin);
109
+ if (sizing)
110
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
111
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue.maximum.toString()}`;
112
+ }
113
+ case "too_small": {
114
+ const adj = issue.inclusive ? ">=" : ">";
115
+ const sizing = getSizing(issue.origin);
116
+ if (sizing) {
117
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
118
+ }
119
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;
120
+ }
121
+ case "invalid_format": {
122
+ const _issue = issue;
123
+ if (_issue.format === "starts_with") {
124
+ return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
125
+ }
126
+ if (_issue.format === "ends_with")
127
+ return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
128
+ if (_issue.format === "includes")
129
+ return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
130
+ if (_issue.format === "regex")
131
+ return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
132
+ return `არასწორი ${Nouns[_issue.format] ?? issue.format}`;
133
+ }
134
+ case "not_multiple_of":
135
+ return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;
136
+ case "unrecognized_keys":
137
+ return `უცნობი გასაღებ${issue.keys.length > 1 ? "ები" : "ი"}: ${util.joinValues(issue.keys, ", ")}`;
138
+ case "invalid_key":
139
+ return `არასწორი გასაღები ${issue.origin}-ში`;
140
+ case "invalid_union":
141
+ return "არასწორი შეყვანა";
142
+ case "invalid_element":
143
+ return `არასწორი მნიშვნელობა ${issue.origin}-ში`;
144
+ default:
145
+ return `არასწორი შეყვანა`;
146
+ }
147
+ };
148
+ };
149
+ function default_1() {
150
+ return {
151
+ localeError: error(),
152
+ };
153
+ }
@@ -0,0 +1,5 @@
1
+ import type * as errors from "../core/errors.cjs";
2
+ export declare const parsedType: (data: any) => string;
3
+ export default function (): {
4
+ localeError: errors.$ZodErrorMap;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type * as errors from "../core/errors.js";
2
+ export declare const parsedType: (data: any) => string;
3
+ export default function (): {
4
+ localeError: errors.$ZodErrorMap;
5
+ };
@@ -0,0 +1,125 @@
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" : "რიცხვი";
7
+ }
8
+ case "object": {
9
+ if (Array.isArray(data)) {
10
+ return "მასივი";
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
+ const typeMap = {
21
+ string: "სტრინგი",
22
+ boolean: "ბულეანი",
23
+ undefined: "undefined",
24
+ bigint: "bigint",
25
+ symbol: "symbol",
26
+ function: "ფუნქცია",
27
+ };
28
+ return typeMap[t] ?? t;
29
+ };
30
+ const error = () => {
31
+ const Sizable = {
32
+ string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
33
+ file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
34
+ array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
35
+ set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
36
+ };
37
+ function getSizing(origin) {
38
+ return Sizable[origin] ?? null;
39
+ }
40
+ const Nouns = {
41
+ regex: "შეყვანა",
42
+ email: "ელ-ფოსტის მისამართი",
43
+ url: "URL",
44
+ emoji: "ემოჯი",
45
+ uuid: "UUID",
46
+ uuidv4: "UUIDv4",
47
+ uuidv6: "UUIDv6",
48
+ nanoid: "nanoid",
49
+ guid: "GUID",
50
+ cuid: "cuid",
51
+ cuid2: "cuid2",
52
+ ulid: "ULID",
53
+ xid: "XID",
54
+ ksuid: "KSUID",
55
+ datetime: "თარიღი-დრო",
56
+ date: "თარიღი",
57
+ time: "დრო",
58
+ duration: "ხანგრძლივობა",
59
+ ipv4: "IPv4 მისამართი",
60
+ ipv6: "IPv6 მისამართი",
61
+ cidrv4: "IPv4 დიაპაზონი",
62
+ cidrv6: "IPv6 დიაპაზონი",
63
+ base64: "base64-კოდირებული სტრინგი",
64
+ base64url: "base64url-კოდირებული სტრინგი",
65
+ json_string: "JSON სტრინგი",
66
+ e164: "E.164 ნომერი",
67
+ jwt: "JWT",
68
+ template_literal: "შეყვანა",
69
+ };
70
+ return (issue) => {
71
+ switch (issue.code) {
72
+ case "invalid_type":
73
+ return `არასწორი შეყვანა: მოსალოდნელი ${issue.expected}, მიღებული ${parsedType(issue.input)}`;
74
+ case "invalid_value":
75
+ if (issue.values.length === 1)
76
+ return `არასწორი შეყვანა: მოსალოდნელი ${util.stringifyPrimitive(issue.values[0])}`;
77
+ return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${util.joinValues(issue.values, "|")}-დან`;
78
+ case "too_big": {
79
+ const adj = issue.inclusive ? "<=" : "<";
80
+ const sizing = getSizing(issue.origin);
81
+ if (sizing)
82
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
83
+ return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue.maximum.toString()}`;
84
+ }
85
+ case "too_small": {
86
+ const adj = issue.inclusive ? ">=" : ">";
87
+ const sizing = getSizing(issue.origin);
88
+ if (sizing) {
89
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
90
+ }
91
+ return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;
92
+ }
93
+ case "invalid_format": {
94
+ const _issue = issue;
95
+ if (_issue.format === "starts_with") {
96
+ return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
97
+ }
98
+ if (_issue.format === "ends_with")
99
+ return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
100
+ if (_issue.format === "includes")
101
+ return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
102
+ if (_issue.format === "regex")
103
+ return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
104
+ return `არასწორი ${Nouns[_issue.format] ?? issue.format}`;
105
+ }
106
+ case "not_multiple_of":
107
+ return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;
108
+ case "unrecognized_keys":
109
+ return `უცნობი გასაღებ${issue.keys.length > 1 ? "ები" : "ი"}: ${util.joinValues(issue.keys, ", ")}`;
110
+ case "invalid_key":
111
+ return `არასწორი გასაღები ${issue.origin}-ში`;
112
+ case "invalid_union":
113
+ return "არასწორი შეყვანა";
114
+ case "invalid_element":
115
+ return `არასწორი მნიშვნელობა ${issue.origin}-ში`;
116
+ default:
117
+ return `არასწორი შეყვანა`;
118
+ }
119
+ };
120
+ };
121
+ export default function () {
122
+ return {
123
+ localeError: error(),
124
+ };
125
+ }
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.parsedType = void 0;
27
+ exports.default = default_1;
28
+ const util = __importStar(require("../core/util.cjs"));
29
+ const parsedType = (data) => {
30
+ const t = typeof data;
31
+ return parsedTypeFromType(t, data);
32
+ };
33
+ exports.parsedType = parsedType;
34
+ const parsedTypeFromType = (t, data = undefined) => {
35
+ switch (t) {
36
+ case "number": {
37
+ return Number.isNaN(data) ? "NaN" : "skaičius";
38
+ }
39
+ case "bigint": {
40
+ return "sveikasis skaičius";
41
+ }
42
+ case "string": {
43
+ return "eilutė";
44
+ }
45
+ case "boolean": {
46
+ return "loginė reikšmė";
47
+ }
48
+ case "undefined":
49
+ case "void": {
50
+ return "neapibrėžta reikšmė";
51
+ }
52
+ case "function": {
53
+ return "funkcija";
54
+ }
55
+ case "symbol": {
56
+ return "simbolis";
57
+ }
58
+ case "object": {
59
+ if (data === undefined)
60
+ return "nežinomas objektas";
61
+ if (data === null)
62
+ return "nulinė reikšmė";
63
+ if (Array.isArray(data))
64
+ return "masyvas";
65
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
66
+ return data.constructor.name;
67
+ }
68
+ return "objektas";
69
+ }
70
+ //Zod types below
71
+ case "null": {
72
+ return "nulinė reikšmė";
73
+ }
74
+ }
75
+ return t;
76
+ };
77
+ const capitalizeFirstCharacter = (text) => {
78
+ return text.charAt(0).toUpperCase() + text.slice(1);
79
+ };
80
+ function getUnitTypeFromNumber(number) {
81
+ const abs = Math.abs(number);
82
+ const last = abs % 10;
83
+ const last2 = abs % 100;
84
+ if ((last2 >= 11 && last2 <= 19) || last === 0)
85
+ return "many";
86
+ if (last === 1)
87
+ return "one";
88
+ return "few";
89
+ }
90
+ const error = () => {
91
+ const Sizable = {
92
+ string: {
93
+ unit: {
94
+ one: "simbolis",
95
+ few: "simboliai",
96
+ many: "simbolių",
97
+ },
98
+ verb: {
99
+ smaller: {
100
+ inclusive: "turi būti ne ilgesnė kaip",
101
+ notInclusive: "turi būti trumpesnė kaip",
102
+ },
103
+ bigger: {
104
+ inclusive: "turi būti ne trumpesnė kaip",
105
+ notInclusive: "turi būti ilgesnė kaip",
106
+ },
107
+ },
108
+ },
109
+ file: {
110
+ unit: {
111
+ one: "baitas",
112
+ few: "baitai",
113
+ many: "baitų",
114
+ },
115
+ verb: {
116
+ smaller: {
117
+ inclusive: "turi būti ne didesnis kaip",
118
+ notInclusive: "turi būti mažesnis kaip",
119
+ },
120
+ bigger: {
121
+ inclusive: "turi būti ne mažesnis kaip",
122
+ notInclusive: "turi būti didesnis kaip",
123
+ },
124
+ },
125
+ },
126
+ array: {
127
+ unit: {
128
+ one: "elementą",
129
+ few: "elementus",
130
+ many: "elementų",
131
+ },
132
+ verb: {
133
+ smaller: {
134
+ inclusive: "turi turėti ne daugiau kaip",
135
+ notInclusive: "turi turėti mažiau kaip",
136
+ },
137
+ bigger: {
138
+ inclusive: "turi turėti ne mažiau kaip",
139
+ notInclusive: "turi turėti daugiau kaip",
140
+ },
141
+ },
142
+ },
143
+ set: {
144
+ unit: {
145
+ one: "elementą",
146
+ few: "elementus",
147
+ many: "elementų",
148
+ },
149
+ verb: {
150
+ smaller: {
151
+ inclusive: "turi turėti ne daugiau kaip",
152
+ notInclusive: "turi turėti mažiau kaip",
153
+ },
154
+ bigger: {
155
+ inclusive: "turi turėti ne mažiau kaip",
156
+ notInclusive: "turi turėti daugiau kaip",
157
+ },
158
+ },
159
+ },
160
+ };
161
+ function getSizing(origin, unitType, inclusive, targetShouldBe) {
162
+ const result = Sizable[origin] ?? null;
163
+ if (result === null)
164
+ return result;
165
+ return {
166
+ unit: result.unit[unitType],
167
+ verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
168
+ };
169
+ }
170
+ const Nouns = {
171
+ regex: "įvestis",
172
+ email: "el. pašto adresas",
173
+ url: "URL",
174
+ emoji: "jaustukas",
175
+ uuid: "UUID",
176
+ uuidv4: "UUIDv4",
177
+ uuidv6: "UUIDv6",
178
+ nanoid: "nanoid",
179
+ guid: "GUID",
180
+ cuid: "cuid",
181
+ cuid2: "cuid2",
182
+ ulid: "ULID",
183
+ xid: "XID",
184
+ ksuid: "KSUID",
185
+ datetime: "ISO data ir laikas",
186
+ date: "ISO data",
187
+ time: "ISO laikas",
188
+ duration: "ISO trukmė",
189
+ ipv4: "IPv4 adresas",
190
+ ipv6: "IPv6 adresas",
191
+ cidrv4: "IPv4 tinklo prefiksas (CIDR)",
192
+ cidrv6: "IPv6 tinklo prefiksas (CIDR)",
193
+ base64: "base64 užkoduota eilutė",
194
+ base64url: "base64url užkoduota eilutė",
195
+ json_string: "JSON eilutė",
196
+ e164: "E.164 numeris",
197
+ jwt: "JWT",
198
+ template_literal: "įvestis",
199
+ };
200
+ return (issue) => {
201
+ switch (issue.code) {
202
+ case "invalid_type":
203
+ return `Gautas tipas ${(0, exports.parsedType)(issue.input)}, o tikėtasi - ${parsedTypeFromType(issue.expected)}`;
204
+ case "invalid_value":
205
+ if (issue.values.length === 1)
206
+ return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;
207
+ return `Privalo būti vienas iš ${util.joinValues(issue.values, "|")} pasirinkimų`;
208
+ case "too_big": {
209
+ const origin = parsedTypeFromType(issue.origin);
210
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
211
+ if (sizing?.verb)
212
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
213
+ const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
214
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
215
+ }
216
+ case "too_small": {
217
+ const origin = parsedTypeFromType(issue.origin);
218
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
219
+ if (sizing?.verb)
220
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
221
+ const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
222
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
223
+ }
224
+ case "invalid_format": {
225
+ const _issue = issue;
226
+ if (_issue.format === "starts_with") {
227
+ return `Eilutė privalo prasidėti "${_issue.prefix}"`;
228
+ }
229
+ if (_issue.format === "ends_with")
230
+ return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
231
+ if (_issue.format === "includes")
232
+ return `Eilutė privalo įtraukti "${_issue.includes}"`;
233
+ if (_issue.format === "regex")
234
+ return `Eilutė privalo atitikti ${_issue.pattern}`;
235
+ return `Neteisingas ${Nouns[_issue.format] ?? issue.format}`;
236
+ }
237
+ case "not_multiple_of":
238
+ return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
239
+ case "unrecognized_keys":
240
+ return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${util.joinValues(issue.keys, ", ")}`;
241
+ case "invalid_key":
242
+ return "Rastas klaidingas raktas";
243
+ case "invalid_union":
244
+ return "Klaidinga įvestis";
245
+ case "invalid_element": {
246
+ const origin = parsedTypeFromType(issue.origin);
247
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
248
+ }
249
+ default:
250
+ return "Klaidinga įvestis";
251
+ }
252
+ };
253
+ };
254
+ function default_1() {
255
+ return {
256
+ localeError: error(),
257
+ };
258
+ }
@@ -0,0 +1,5 @@
1
+ import type * as errors from "../core/errors.cjs";
2
+ export declare const parsedType: (data: any) => string;
3
+ export default function (): {
4
+ localeError: errors.$ZodErrorMap;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type * as errors from "../core/errors.js";
2
+ export declare const parsedType: (data: any) => string;
3
+ export default function (): {
4
+ localeError: errors.$ZodErrorMap;
5
+ };
@@ -0,0 +1,230 @@
1
+ import * as util from "../core/util.js";
2
+ export const parsedType = (data) => {
3
+ const t = typeof data;
4
+ return parsedTypeFromType(t, data);
5
+ };
6
+ const parsedTypeFromType = (t, data = undefined) => {
7
+ switch (t) {
8
+ case "number": {
9
+ return Number.isNaN(data) ? "NaN" : "skaičius";
10
+ }
11
+ case "bigint": {
12
+ return "sveikasis skaičius";
13
+ }
14
+ case "string": {
15
+ return "eilutė";
16
+ }
17
+ case "boolean": {
18
+ return "loginė reikšmė";
19
+ }
20
+ case "undefined":
21
+ case "void": {
22
+ return "neapibrėžta reikšmė";
23
+ }
24
+ case "function": {
25
+ return "funkcija";
26
+ }
27
+ case "symbol": {
28
+ return "simbolis";
29
+ }
30
+ case "object": {
31
+ if (data === undefined)
32
+ return "nežinomas objektas";
33
+ if (data === null)
34
+ return "nulinė reikšmė";
35
+ if (Array.isArray(data))
36
+ return "masyvas";
37
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
38
+ return data.constructor.name;
39
+ }
40
+ return "objektas";
41
+ }
42
+ //Zod types below
43
+ case "null": {
44
+ return "nulinė reikšmė";
45
+ }
46
+ }
47
+ return t;
48
+ };
49
+ const capitalizeFirstCharacter = (text) => {
50
+ return text.charAt(0).toUpperCase() + text.slice(1);
51
+ };
52
+ function getUnitTypeFromNumber(number) {
53
+ const abs = Math.abs(number);
54
+ const last = abs % 10;
55
+ const last2 = abs % 100;
56
+ if ((last2 >= 11 && last2 <= 19) || last === 0)
57
+ return "many";
58
+ if (last === 1)
59
+ return "one";
60
+ return "few";
61
+ }
62
+ const error = () => {
63
+ const Sizable = {
64
+ string: {
65
+ unit: {
66
+ one: "simbolis",
67
+ few: "simboliai",
68
+ many: "simbolių",
69
+ },
70
+ verb: {
71
+ smaller: {
72
+ inclusive: "turi būti ne ilgesnė kaip",
73
+ notInclusive: "turi būti trumpesnė kaip",
74
+ },
75
+ bigger: {
76
+ inclusive: "turi būti ne trumpesnė kaip",
77
+ notInclusive: "turi būti ilgesnė kaip",
78
+ },
79
+ },
80
+ },
81
+ file: {
82
+ unit: {
83
+ one: "baitas",
84
+ few: "baitai",
85
+ many: "baitų",
86
+ },
87
+ verb: {
88
+ smaller: {
89
+ inclusive: "turi būti ne didesnis kaip",
90
+ notInclusive: "turi būti mažesnis kaip",
91
+ },
92
+ bigger: {
93
+ inclusive: "turi būti ne mažesnis kaip",
94
+ notInclusive: "turi būti didesnis kaip",
95
+ },
96
+ },
97
+ },
98
+ array: {
99
+ unit: {
100
+ one: "elementą",
101
+ few: "elementus",
102
+ many: "elementų",
103
+ },
104
+ verb: {
105
+ smaller: {
106
+ inclusive: "turi turėti ne daugiau kaip",
107
+ notInclusive: "turi turėti mažiau kaip",
108
+ },
109
+ bigger: {
110
+ inclusive: "turi turėti ne mažiau kaip",
111
+ notInclusive: "turi turėti daugiau kaip",
112
+ },
113
+ },
114
+ },
115
+ set: {
116
+ unit: {
117
+ one: "elementą",
118
+ few: "elementus",
119
+ many: "elementų",
120
+ },
121
+ verb: {
122
+ smaller: {
123
+ inclusive: "turi turėti ne daugiau kaip",
124
+ notInclusive: "turi turėti mažiau kaip",
125
+ },
126
+ bigger: {
127
+ inclusive: "turi turėti ne mažiau kaip",
128
+ notInclusive: "turi turėti daugiau kaip",
129
+ },
130
+ },
131
+ },
132
+ };
133
+ function getSizing(origin, unitType, inclusive, targetShouldBe) {
134
+ const result = Sizable[origin] ?? null;
135
+ if (result === null)
136
+ return result;
137
+ return {
138
+ unit: result.unit[unitType],
139
+ verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
140
+ };
141
+ }
142
+ const Nouns = {
143
+ regex: "įvestis",
144
+ email: "el. pašto adresas",
145
+ url: "URL",
146
+ emoji: "jaustukas",
147
+ uuid: "UUID",
148
+ uuidv4: "UUIDv4",
149
+ uuidv6: "UUIDv6",
150
+ nanoid: "nanoid",
151
+ guid: "GUID",
152
+ cuid: "cuid",
153
+ cuid2: "cuid2",
154
+ ulid: "ULID",
155
+ xid: "XID",
156
+ ksuid: "KSUID",
157
+ datetime: "ISO data ir laikas",
158
+ date: "ISO data",
159
+ time: "ISO laikas",
160
+ duration: "ISO trukmė",
161
+ ipv4: "IPv4 adresas",
162
+ ipv6: "IPv6 adresas",
163
+ cidrv4: "IPv4 tinklo prefiksas (CIDR)",
164
+ cidrv6: "IPv6 tinklo prefiksas (CIDR)",
165
+ base64: "base64 užkoduota eilutė",
166
+ base64url: "base64url užkoduota eilutė",
167
+ json_string: "JSON eilutė",
168
+ e164: "E.164 numeris",
169
+ jwt: "JWT",
170
+ template_literal: "įvestis",
171
+ };
172
+ return (issue) => {
173
+ switch (issue.code) {
174
+ case "invalid_type":
175
+ return `Gautas tipas ${parsedType(issue.input)}, o tikėtasi - ${parsedTypeFromType(issue.expected)}`;
176
+ case "invalid_value":
177
+ if (issue.values.length === 1)
178
+ return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;
179
+ return `Privalo būti vienas iš ${util.joinValues(issue.values, "|")} pasirinkimų`;
180
+ case "too_big": {
181
+ const origin = parsedTypeFromType(issue.origin);
182
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
183
+ if (sizing?.verb)
184
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
185
+ const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
186
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
187
+ }
188
+ case "too_small": {
189
+ const origin = parsedTypeFromType(issue.origin);
190
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
191
+ if (sizing?.verb)
192
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
193
+ const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
194
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
195
+ }
196
+ case "invalid_format": {
197
+ const _issue = issue;
198
+ if (_issue.format === "starts_with") {
199
+ return `Eilutė privalo prasidėti "${_issue.prefix}"`;
200
+ }
201
+ if (_issue.format === "ends_with")
202
+ return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
203
+ if (_issue.format === "includes")
204
+ return `Eilutė privalo įtraukti "${_issue.includes}"`;
205
+ if (_issue.format === "regex")
206
+ return `Eilutė privalo atitikti ${_issue.pattern}`;
207
+ return `Neteisingas ${Nouns[_issue.format] ?? issue.format}`;
208
+ }
209
+ case "not_multiple_of":
210
+ return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
211
+ case "unrecognized_keys":
212
+ return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${util.joinValues(issue.keys, ", ")}`;
213
+ case "invalid_key":
214
+ return "Rastas klaidingas raktas";
215
+ case "invalid_union":
216
+ return "Klaidinga įvestis";
217
+ case "invalid_element": {
218
+ const origin = parsedTypeFromType(issue.origin);
219
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
220
+ }
221
+ default:
222
+ return "Klaidinga įvestis";
223
+ }
224
+ };
225
+ };
226
+ export default function () {
227
+ return {
228
+ localeError: error(),
229
+ };
230
+ }