zod 4.2.0-canary.20250911T045735 → 4.2.0-canary.20250911T051312

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,126 @@
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
+ const error: () => errors.$ZodErrorMap = () => {
6
+ const Sizable: Record<string, { unit: string; verb: string }> = {
7
+ string: { unit: "символів", verb: "матиме" },
8
+ file: { unit: "байтів", verb: "матиме" },
9
+ array: { unit: "елементів", verb: "матиме" },
10
+ set: { unit: "елементів", verb: "матиме" },
11
+ };
12
+
13
+ function getSizing(origin: string): { unit: string; verb: string } | null {
14
+ return Sizable[origin] ?? null;
15
+ }
16
+
17
+ const parsedType = (data: any): string => {
18
+ const t = typeof data;
19
+
20
+ switch (t) {
21
+ case "number": {
22
+ return Number.isNaN(data) ? "NaN" : "число";
23
+ }
24
+ case "object": {
25
+ if (Array.isArray(data)) {
26
+ return "масив";
27
+ }
28
+ if (data === null) {
29
+ return "null";
30
+ }
31
+
32
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
33
+ return data.constructor.name;
34
+ }
35
+ }
36
+ }
37
+ return t;
38
+ };
39
+
40
+ const Nouns: {
41
+ [k in $ZodStringFormats | (string & {})]?: string;
42
+ } = {
43
+ regex: "вхідні дані",
44
+ email: "адреса електронної пошти",
45
+ url: "URL",
46
+ emoji: "емодзі",
47
+ uuid: "UUID",
48
+ uuidv4: "UUIDv4",
49
+ uuidv6: "UUIDv6",
50
+ nanoid: "nanoid",
51
+ guid: "GUID",
52
+ cuid: "cuid",
53
+ cuid2: "cuid2",
54
+ ulid: "ULID",
55
+ xid: "XID",
56
+ ksuid: "KSUID",
57
+ datetime: "дата та час ISO",
58
+ date: "дата ISO",
59
+ time: "час ISO",
60
+ duration: "тривалість ISO",
61
+ ipv4: "адреса IPv4",
62
+ ipv6: "адреса IPv6",
63
+ cidrv4: "діапазон IPv4",
64
+ cidrv6: "діапазон IPv6",
65
+ base64: "рядок у кодуванні base64",
66
+ base64url: "рядок у кодуванні base64url",
67
+ json_string: "рядок JSON",
68
+ e164: "номер E.164",
69
+ jwt: "JWT",
70
+ template_literal: "вхідні дані",
71
+ };
72
+
73
+ return (issue) => {
74
+ switch (issue.code) {
75
+ case "invalid_type":
76
+ return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${parsedType(issue.input)}`;
77
+ // return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${util.getParsedType(issue.input)}`;
78
+ case "invalid_value":
79
+ if (issue.values.length === 1)
80
+ return `Неправильні вхідні дані: очікується ${util.stringifyPrimitive(issue.values[0])}`;
81
+ return `Неправильна опція: очікується одне з ${util.joinValues(issue.values, "|")}`;
82
+ case "too_big": {
83
+ const adj = issue.inclusive ? "<=" : "<";
84
+ const sizing = getSizing(issue.origin);
85
+ if (sizing)
86
+ return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
87
+ return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
88
+ }
89
+ case "too_small": {
90
+ const adj = issue.inclusive ? ">=" : ">";
91
+ const sizing = getSizing(issue.origin);
92
+ if (sizing) {
93
+ return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
94
+ }
95
+
96
+ return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
97
+ }
98
+ case "invalid_format": {
99
+ const _issue = issue as errors.$ZodStringFormatIssues;
100
+ if (_issue.format === "starts_with") return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
101
+ if (_issue.format === "ends_with") return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
102
+ if (_issue.format === "includes") return `Неправильний рядок: повинен містити "${_issue.includes}"`;
103
+ if (_issue.format === "regex") 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
+
122
+ export default function (): { localeError: errors.$ZodErrorMap } {
123
+ return {
124
+ localeError: error(),
125
+ };
126
+ }
@@ -37,7 +37,7 @@ exports.html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9
37
37
  exports.rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
38
38
  /** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
39
39
  exports.unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
40
- exports.idnEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
40
+ exports.idnEmail = exports.unicodeEmail;
41
41
  exports.browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
42
42
  // from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
43
43
  const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
@@ -45,7 +45,7 @@ function emoji() {
45
45
  return new RegExp(_emoji, "u");
46
46
  }
47
47
  exports.ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
48
- exports.ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;
48
+ exports.ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
49
49
  exports.cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
50
50
  exports.cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
51
51
  // https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
@@ -91,13 +91,13 @@ const string = (params) => {
91
91
  return new RegExp(`^${regex}$`);
92
92
  };
93
93
  exports.string = string;
94
- exports.bigint = /^\d+n?$/;
95
- exports.integer = /^\d+$/;
96
- exports.number = /^-?\d+(?:\.\d+)?/i;
97
- exports.boolean = /true|false/i;
98
- const _null = /null/i;
94
+ exports.bigint = /^-?\d+n?$/;
95
+ exports.integer = /^-?\d+$/;
96
+ exports.number = /^-?\d+(?:\.\d+)?/;
97
+ exports.boolean = /^(?:true|false)$/i;
98
+ const _null = /^null$/i;
99
99
  exports.null = _null;
100
- const _undefined = /undefined/i;
100
+ const _undefined = /^undefined$/i;
101
101
  exports.undefined = _undefined;
102
102
  // regex for string with no uppercase letters
103
103
  exports.lowercase = /^[^A-Z]*$/;
@@ -112,7 +112,7 @@ function fixedBase64(bodyLength, padding) {
112
112
  }
113
113
  // Helper function to create base64url regex with exact length (no padding)
114
114
  function fixedBase64url(length) {
115
- return new RegExp(`^[A-Za-z0-9-_]{${length}}$`);
115
+ return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
116
116
  }
117
117
  // MD5 (16 bytes): base64 = 24 chars total (22 + "==")
118
118
  exports.md5_hex = /^[0-9a-fA-F]{32}$/;
@@ -29,7 +29,7 @@ export const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA
29
29
  export const rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
30
30
  /** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
31
31
  export const unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
32
- export const idnEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
32
+ export const idnEmail = unicodeEmail;
33
33
  export const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
34
34
  // from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
35
35
  const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
@@ -37,7 +37,7 @@ export function emoji() {
37
37
  return new RegExp(_emoji, "u");
38
38
  }
39
39
  export const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
40
- export const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;
40
+ export const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
41
41
  export const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
42
42
  export const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
43
43
  // https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
@@ -82,13 +82,13 @@ export const string = (params) => {
82
82
  const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
83
83
  return new RegExp(`^${regex}$`);
84
84
  };
85
- export const bigint = /^\d+n?$/;
86
- export const integer = /^\d+$/;
87
- export const number = /^-?\d+(?:\.\d+)?/i;
88
- export const boolean = /true|false/i;
89
- const _null = /null/i;
85
+ export const bigint = /^-?\d+n?$/;
86
+ export const integer = /^-?\d+$/;
87
+ export const number = /^-?\d+(?:\.\d+)?/;
88
+ export const boolean = /^(?:true|false)$/i;
89
+ const _null = /^null$/i;
90
90
  export { _null as null };
91
- const _undefined = /undefined/i;
91
+ const _undefined = /^undefined$/i;
92
92
  export { _undefined as undefined };
93
93
  // regex for string with no uppercase letters
94
94
  export const lowercase = /^[^A-Z]*$/;
@@ -103,7 +103,7 @@ function fixedBase64(bodyLength, padding) {
103
103
  }
104
104
  // Helper function to create base64url regex with exact length (no padding)
105
105
  function fixedBase64url(length) {
106
- return new RegExp(`^[A-Za-z0-9-_]{${length}}$`);
106
+ return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
107
107
  }
108
108
  // MD5 (16 bytes): base64 = 24 chars total (22 + "==")
109
109
  export const md5_hex = /^[0-9a-fA-F]{32}$/;
@@ -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.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;
6
+ exports.yo = exports.zhTW = exports.zhCN = exports.vi = exports.ur = exports.uk = 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.km = 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");
@@ -48,6 +48,8 @@ var ka_js_1 = require("./ka.cjs");
48
48
  Object.defineProperty(exports, "ka", { enumerable: true, get: function () { return __importDefault(ka_js_1).default; } });
49
49
  var kh_js_1 = require("./kh.cjs");
50
50
  Object.defineProperty(exports, "kh", { enumerable: true, get: function () { return __importDefault(kh_js_1).default; } });
51
+ var km_js_1 = require("./km.cjs");
52
+ Object.defineProperty(exports, "km", { enumerable: true, get: function () { return __importDefault(km_js_1).default; } });
51
53
  var ko_js_1 = require("./ko.cjs");
52
54
  Object.defineProperty(exports, "ko", { enumerable: true, get: function () { return __importDefault(ko_js_1).default; } });
53
55
  var lt_js_1 = require("./lt.cjs");
@@ -82,6 +84,8 @@ var tr_js_1 = require("./tr.cjs");
82
84
  Object.defineProperty(exports, "tr", { enumerable: true, get: function () { return __importDefault(tr_js_1).default; } });
83
85
  var ua_js_1 = require("./ua.cjs");
84
86
  Object.defineProperty(exports, "ua", { enumerable: true, get: function () { return __importDefault(ua_js_1).default; } });
87
+ var uk_js_1 = require("./uk.cjs");
88
+ Object.defineProperty(exports, "uk", { enumerable: true, get: function () { return __importDefault(uk_js_1).default; } });
85
89
  var ur_js_1 = require("./ur.cjs");
86
90
  Object.defineProperty(exports, "ur", { enumerable: true, get: function () { return __importDefault(ur_js_1).default; } });
87
91
  var vi_js_1 = require("./vi.cjs");
@@ -20,6 +20,7 @@ export { default as it } from "./it.cjs";
20
20
  export { default as ja } from "./ja.cjs";
21
21
  export { default as ka } from "./ka.cjs";
22
22
  export { default as kh } from "./kh.cjs";
23
+ export { default as km } from "./km.cjs";
23
24
  export { default as ko } from "./ko.cjs";
24
25
  export { default as lt } from "./lt.cjs";
25
26
  export { default as mk } from "./mk.cjs";
@@ -37,6 +38,7 @@ export { default as ta } from "./ta.cjs";
37
38
  export { default as th } from "./th.cjs";
38
39
  export { default as tr } from "./tr.cjs";
39
40
  export { default as ua } from "./ua.cjs";
41
+ export { default as uk } from "./uk.cjs";
40
42
  export { default as ur } from "./ur.cjs";
41
43
  export { default as vi } from "./vi.cjs";
42
44
  export { default as zhCN } from "./zh-CN.cjs";
@@ -20,6 +20,7 @@ export { default as it } from "./it.js";
20
20
  export { default as ja } from "./ja.js";
21
21
  export { default as ka } from "./ka.js";
22
22
  export { default as kh } from "./kh.js";
23
+ export { default as km } from "./km.js";
23
24
  export { default as ko } from "./ko.js";
24
25
  export { default as lt } from "./lt.js";
25
26
  export { default as mk } from "./mk.js";
@@ -37,6 +38,7 @@ export { default as ta } from "./ta.js";
37
38
  export { default as th } from "./th.js";
38
39
  export { default as tr } from "./tr.js";
39
40
  export { default as ua } from "./ua.js";
41
+ export { default as uk } from "./uk.js";
40
42
  export { default as ur } from "./ur.js";
41
43
  export { default as vi } from "./vi.js";
42
44
  export { default as zhCN } from "./zh-CN.js";
@@ -20,6 +20,7 @@ export { default as it } from "./it.js";
20
20
  export { default as ja } from "./ja.js";
21
21
  export { default as ka } from "./ka.js";
22
22
  export { default as kh } from "./kh.js";
23
+ export { default as km } from "./km.js";
23
24
  export { default as ko } from "./ko.js";
24
25
  export { default as lt } from "./lt.js";
25
26
  export { default as mk } from "./mk.js";
@@ -37,6 +38,7 @@ export { default as ta } from "./ta.js";
37
38
  export { default as th } from "./th.js";
38
39
  export { default as tr } from "./tr.js";
39
40
  export { default as ua } from "./ua.js";
41
+ export { default as uk } from "./uk.js";
40
42
  export { default as ur } from "./ur.js";
41
43
  export { default as vi } from "./vi.js";
42
44
  export { default as zhCN } from "./zh-CN.js";
package/v4/locales/kh.cjs CHANGED
@@ -1,144 +1,12 @@
1
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;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
6
  exports.default = default_1;
27
- const util = __importStar(require("../core/util.cjs"));
28
- const error = () => {
29
- const Sizable = {
30
- string: { unit: "តួអក្សរ", verb: "គួរមាន" },
31
- file: { unit: "បៃ", verb: "គួរមាន" },
32
- array: { unit: "ធាតុ", verb: "គួរមាន" },
33
- set: { unit: "ធាតុ", verb: "គួរមាន" },
34
- };
35
- function getSizing(origin) {
36
- return Sizable[origin] ?? null;
37
- }
38
- const parsedType = (data) => {
39
- const t = typeof data;
40
- switch (t) {
41
- case "number": {
42
- return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
43
- }
44
- case "object": {
45
- if (Array.isArray(data)) {
46
- return "អារេ (Array)";
47
- }
48
- if (data === null) {
49
- return "គ្មានតម្លៃ (null)";
50
- }
51
- if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
52
- return data.constructor.name;
53
- }
54
- }
55
- }
56
- return t;
57
- };
58
- const Nouns = {
59
- regex: "ទិន្នន័យបញ្ចូល",
60
- email: "អាសយដ្ឋានអ៊ីមែល",
61
- url: "URL",
62
- emoji: "សញ្ញាអារម្មណ៍",
63
- uuid: "UUID",
64
- uuidv4: "UUIDv4",
65
- uuidv6: "UUIDv6",
66
- nanoid: "nanoid",
67
- guid: "GUID",
68
- cuid: "cuid",
69
- cuid2: "cuid2",
70
- ulid: "ULID",
71
- xid: "XID",
72
- ksuid: "KSUID",
73
- datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
74
- date: "កាលបរិច្ឆេទ ISO",
75
- time: "ម៉ោង ISO",
76
- duration: "រយៈពេល ISO",
77
- ipv4: "អាសយដ្ឋាន IPv4",
78
- ipv6: "អាសយដ្ឋាន IPv6",
79
- cidrv4: "ដែនអាសយដ្ឋាន IPv4",
80
- cidrv6: "ដែនអាសយដ្ឋាន IPv6",
81
- base64: "ខ្សែអក្សរអ៊ិកូដ base64",
82
- base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
83
- json_string: "ខ្សែអក្សរ JSON",
84
- e164: "លេខ E.164",
85
- jwt: "JWT",
86
- template_literal: "ទិន្នន័យបញ្ចូល",
87
- };
88
- return (issue) => {
89
- switch (issue.code) {
90
- case "invalid_type":
91
- return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
92
- case "invalid_value":
93
- if (issue.values.length === 1)
94
- return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
95
- return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
96
- case "too_big": {
97
- const adj = issue.inclusive ? "<=" : "<";
98
- const sizing = getSizing(issue.origin);
99
- if (sizing)
100
- return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
101
- return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
102
- }
103
- case "too_small": {
104
- const adj = issue.inclusive ? ">=" : ">";
105
- const sizing = getSizing(issue.origin);
106
- if (sizing) {
107
- return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
108
- }
109
- return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
110
- }
111
- case "invalid_format": {
112
- const _issue = issue;
113
- if (_issue.format === "starts_with") {
114
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
115
- }
116
- if (_issue.format === "ends_with")
117
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
118
- if (_issue.format === "includes")
119
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
120
- if (_issue.format === "regex")
121
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
122
- return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
123
- }
124
- case "not_multiple_of":
125
- return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
126
- case "unrecognized_keys":
127
- return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
128
- case "invalid_key":
129
- return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
130
- case "invalid_union":
131
- return `ទិន្នន័យមិនត្រឹមត្រូវ`;
132
- case "invalid_element":
133
- return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
134
- default:
135
- return `ទិន្នន័យមិនត្រឹមត្រូវ`;
136
- }
137
- };
138
- };
7
+ const km_js_1 = __importDefault(require("./km.cjs"));
8
+ /** @deprecated Use `km` instead. */
139
9
  function default_1() {
140
- return {
141
- localeError: error(),
142
- };
10
+ return (0, km_js_1.default)();
143
11
  }
144
12
  module.exports = exports.default;
@@ -1,4 +1,5 @@
1
1
  import type * as errors from "../core/errors.js";
2
+ /** @deprecated Use `km` instead. */
2
3
  export default function (): {
3
4
  localeError: errors.$ZodErrorMap;
4
5
  };
package/v4/locales/kh.js CHANGED
@@ -1,117 +1,5 @@
1
- import * as util from "../core/util.js";
2
- const error = () => {
3
- const Sizable = {
4
- string: { unit: "តួអក្សរ", verb: "គួរមាន" },
5
- file: { unit: "បៃ", verb: "គួរមាន" },
6
- array: { unit: "ធាតុ", verb: "គួរមាន" },
7
- set: { unit: "ធាតុ", verb: "គួរមាន" },
8
- };
9
- function getSizing(origin) {
10
- return Sizable[origin] ?? null;
11
- }
12
- const parsedType = (data) => {
13
- const t = typeof data;
14
- switch (t) {
15
- case "number": {
16
- return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
17
- }
18
- case "object": {
19
- if (Array.isArray(data)) {
20
- return "អារេ (Array)";
21
- }
22
- if (data === null) {
23
- return "គ្មានតម្លៃ (null)";
24
- }
25
- if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
26
- return data.constructor.name;
27
- }
28
- }
29
- }
30
- return t;
31
- };
32
- const Nouns = {
33
- regex: "ទិន្នន័យបញ្ចូល",
34
- email: "អាសយដ្ឋានអ៊ីមែល",
35
- url: "URL",
36
- 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",
48
- date: "កាលបរិច្ឆេទ ISO",
49
- time: "ម៉ោង ISO",
50
- duration: "រយៈពេល ISO",
51
- ipv4: "អាសយដ្ឋាន IPv4",
52
- ipv6: "អាសយដ្ឋាន IPv6",
53
- cidrv4: "ដែនអាសយដ្ឋាន IPv4",
54
- cidrv6: "ដែនអាសយដ្ឋាន IPv6",
55
- base64: "ខ្សែអក្សរអ៊ិកូដ base64",
56
- base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
57
- json_string: "ខ្សែអក្សរ JSON",
58
- e164: "លេខ E.164",
59
- jwt: "JWT",
60
- template_literal: "ទិន្នន័យបញ្ចូល",
61
- };
62
- return (issue) => {
63
- switch (issue.code) {
64
- case "invalid_type":
65
- return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
66
- case "invalid_value":
67
- if (issue.values.length === 1)
68
- return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
69
- return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
70
- case "too_big": {
71
- const adj = issue.inclusive ? "<=" : "<";
72
- const sizing = getSizing(issue.origin);
73
- if (sizing)
74
- return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
75
- return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${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 `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
82
- }
83
- return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
84
- }
85
- case "invalid_format": {
86
- const _issue = issue;
87
- if (_issue.format === "starts_with") {
88
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
89
- }
90
- if (_issue.format === "ends_with")
91
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
92
- if (_issue.format === "includes")
93
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
94
- if (_issue.format === "regex")
95
- return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
96
- return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
97
- }
98
- case "not_multiple_of":
99
- return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
100
- case "unrecognized_keys":
101
- return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
102
- case "invalid_key":
103
- return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
104
- case "invalid_union":
105
- return `ទិន្នន័យមិនត្រឹមត្រូវ`;
106
- case "invalid_element":
107
- return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
108
- default:
109
- return `ទិន្នន័យមិនត្រឹមត្រូវ`;
110
- }
111
- };
112
- };
1
+ import km from "./km.js";
2
+ /** @deprecated Use `km` instead. */
113
3
  export default function () {
114
- return {
115
- localeError: error(),
116
- };
4
+ return km();
117
5
  }