zod 3.25.42-beta.2 → 3.25.42

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.
Files changed (122) hide show
  1. package/dist/cjs/v4/core/index.js +2 -1
  2. package/dist/cjs/v4/core/regexes.js +1 -2
  3. package/dist/cjs/v4/locales/ar.js +105 -106
  4. package/dist/cjs/v4/locales/az.js +104 -105
  5. package/dist/cjs/v4/locales/be.js +133 -134
  6. package/dist/cjs/v4/locales/ca.js +106 -107
  7. package/dist/cjs/v4/locales/cs.js +122 -123
  8. package/dist/cjs/v4/locales/de.js +105 -106
  9. package/dist/cjs/v4/locales/en.js +90 -87
  10. package/dist/cjs/v4/locales/es.js +106 -107
  11. package/dist/cjs/v4/locales/fa.js +108 -109
  12. package/dist/cjs/v4/locales/fi.js +109 -110
  13. package/dist/cjs/v4/locales/fr-CA.js +105 -106
  14. package/dist/cjs/v4/locales/fr.js +105 -106
  15. package/dist/cjs/v4/locales/he.js +106 -107
  16. package/dist/cjs/v4/locales/hu.js +106 -107
  17. package/dist/cjs/v4/locales/id.js +105 -106
  18. package/dist/cjs/v4/locales/it.js +106 -107
  19. package/dist/cjs/v4/locales/ja.js +104 -105
  20. package/dist/cjs/v4/locales/kh.js +105 -106
  21. package/dist/cjs/v4/locales/ko.js +109 -110
  22. package/dist/cjs/v4/locales/mk.js +106 -107
  23. package/dist/cjs/v4/locales/ms.js +105 -106
  24. package/dist/cjs/v4/locales/nl.js +105 -106
  25. package/dist/cjs/v4/locales/no.js +105 -106
  26. package/dist/cjs/v4/locales/ota.js +106 -107
  27. package/dist/cjs/v4/locales/pl.js +105 -106
  28. package/dist/cjs/v4/locales/pt.js +105 -106
  29. package/dist/cjs/v4/locales/ru.js +133 -134
  30. package/dist/cjs/v4/locales/sl.js +105 -106
  31. package/dist/cjs/v4/locales/sv.js +105 -106
  32. package/dist/cjs/v4/locales/ta.js +105 -106
  33. package/dist/cjs/v4/locales/th.js +105 -106
  34. package/dist/cjs/v4/locales/tr.js +89 -88
  35. package/dist/cjs/v4/locales/ua.js +106 -107
  36. package/dist/cjs/v4/locales/ur.js +105 -106
  37. package/dist/cjs/v4/locales/vi.js +105 -106
  38. package/dist/cjs/v4/locales/zh-CN.js +105 -106
  39. package/dist/cjs/v4/locales/zh-TW.js +105 -106
  40. package/dist/cjs/v4/mini/external.js +2 -2
  41. package/dist/esm/v4/core/index.js +1 -0
  42. package/dist/esm/v4/core/regexes.js +0 -1
  43. package/dist/esm/v4/locales/ar.js +105 -104
  44. package/dist/esm/v4/locales/az.js +104 -103
  45. package/dist/esm/v4/locales/be.js +133 -132
  46. package/dist/esm/v4/locales/ca.js +106 -105
  47. package/dist/esm/v4/locales/cs.js +122 -121
  48. package/dist/esm/v4/locales/de.js +105 -104
  49. package/dist/esm/v4/locales/en.js +89 -88
  50. package/dist/esm/v4/locales/es.js +106 -105
  51. package/dist/esm/v4/locales/fa.js +108 -107
  52. package/dist/esm/v4/locales/fi.js +109 -108
  53. package/dist/esm/v4/locales/fr-CA.js +105 -104
  54. package/dist/esm/v4/locales/fr.js +105 -104
  55. package/dist/esm/v4/locales/he.js +106 -105
  56. package/dist/esm/v4/locales/hu.js +106 -105
  57. package/dist/esm/v4/locales/id.js +105 -104
  58. package/dist/esm/v4/locales/it.js +106 -105
  59. package/dist/esm/v4/locales/ja.js +104 -103
  60. package/dist/esm/v4/locales/kh.js +105 -104
  61. package/dist/esm/v4/locales/ko.js +109 -108
  62. package/dist/esm/v4/locales/mk.js +106 -105
  63. package/dist/esm/v4/locales/ms.js +105 -104
  64. package/dist/esm/v4/locales/nl.js +105 -104
  65. package/dist/esm/v4/locales/no.js +105 -104
  66. package/dist/esm/v4/locales/ota.js +106 -105
  67. package/dist/esm/v4/locales/pl.js +105 -104
  68. package/dist/esm/v4/locales/pt.js +105 -104
  69. package/dist/esm/v4/locales/ru.js +133 -132
  70. package/dist/esm/v4/locales/sl.js +105 -104
  71. package/dist/esm/v4/locales/sv.js +105 -104
  72. package/dist/esm/v4/locales/ta.js +105 -104
  73. package/dist/esm/v4/locales/th.js +105 -104
  74. package/dist/esm/v4/locales/tr.js +88 -87
  75. package/dist/esm/v4/locales/ua.js +106 -105
  76. package/dist/esm/v4/locales/ur.js +105 -104
  77. package/dist/esm/v4/locales/vi.js +105 -104
  78. package/dist/esm/v4/locales/zh-CN.js +105 -104
  79. package/dist/esm/v4/locales/zh-TW.js +105 -104
  80. package/dist/esm/v4/mini/external.js +1 -1
  81. package/dist/esm/v4/mini/schemas.js +1 -1
  82. package/dist/types/v4/core/index.d.ts +1 -0
  83. package/dist/types/v4/core/regexes.d.ts +0 -1
  84. package/dist/types/v4/locales/ar.d.ts +0 -3
  85. package/dist/types/v4/locales/az.d.ts +0 -3
  86. package/dist/types/v4/locales/be.d.ts +0 -3
  87. package/dist/types/v4/locales/ca.d.ts +0 -3
  88. package/dist/types/v4/locales/cs.d.ts +0 -3
  89. package/dist/types/v4/locales/de.d.ts +0 -3
  90. package/dist/types/v4/locales/en.d.ts +1 -0
  91. package/dist/types/v4/locales/es.d.ts +0 -3
  92. package/dist/types/v4/locales/fa.d.ts +0 -3
  93. package/dist/types/v4/locales/fi.d.ts +0 -3
  94. package/dist/types/v4/locales/fr-CA.d.ts +0 -3
  95. package/dist/types/v4/locales/fr.d.ts +0 -3
  96. package/dist/types/v4/locales/he.d.ts +0 -3
  97. package/dist/types/v4/locales/hu.d.ts +0 -3
  98. package/dist/types/v4/locales/id.d.ts +0 -3
  99. package/dist/types/v4/locales/it.d.ts +0 -3
  100. package/dist/types/v4/locales/ja.d.ts +0 -3
  101. package/dist/types/v4/locales/kh.d.ts +0 -3
  102. package/dist/types/v4/locales/ko.d.ts +0 -3
  103. package/dist/types/v4/locales/mk.d.ts +0 -3
  104. package/dist/types/v4/locales/ms.d.ts +0 -3
  105. package/dist/types/v4/locales/nl.d.ts +0 -3
  106. package/dist/types/v4/locales/no.d.ts +0 -3
  107. package/dist/types/v4/locales/ota.d.ts +0 -3
  108. package/dist/types/v4/locales/pl.d.ts +0 -3
  109. package/dist/types/v4/locales/pt.d.ts +0 -3
  110. package/dist/types/v4/locales/ru.d.ts +0 -3
  111. package/dist/types/v4/locales/sl.d.ts +0 -3
  112. package/dist/types/v4/locales/sv.d.ts +0 -3
  113. package/dist/types/v4/locales/ta.d.ts +0 -3
  114. package/dist/types/v4/locales/th.d.ts +0 -3
  115. package/dist/types/v4/locales/tr.d.ts +0 -2
  116. package/dist/types/v4/locales/ua.d.ts +0 -3
  117. package/dist/types/v4/locales/ur.d.ts +0 -3
  118. package/dist/types/v4/locales/vi.d.ts +0 -3
  119. package/dist/types/v4/locales/zh-CN.d.ts +0 -3
  120. package/dist/types/v4/locales/zh-TW.d.ts +0 -3
  121. package/dist/types/v4/mini/external.d.ts +1 -0
  122. package/package.json +1 -1
@@ -26,7 +26,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.JSONSchema = exports.regexes = exports.util = void 0;
29
+ exports.JSONSchema = exports.locales = exports.regexes = exports.util = void 0;
30
30
  __exportStar(require("./core.js"), exports);
31
31
  __exportStar(require("./parse.js"), exports);
32
32
  __exportStar(require("./errors.js"), exports);
@@ -35,6 +35,7 @@ __exportStar(require("./checks.js"), exports);
35
35
  __exportStar(require("./versions.js"), exports);
36
36
  exports.util = __importStar(require("./util.js"));
37
37
  exports.regexes = __importStar(require("./regexes.js"));
38
+ exports.locales = __importStar(require("../locales/index.js"));
38
39
  __exportStar(require("./registries.js"), exports);
39
40
  __exportStar(require("./doc.js"), exports);
40
41
  __exportStar(require("./function.js"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uppercase = exports.lowercase = exports.undefined = exports.null = exports.boolean = exports.number = exports.integer = exports.bigint = exports.string = exports.date = exports.e164 = exports.domain = exports.hostname = exports.base64url = exports.base64 = exports.ip = exports.cidrv6 = exports.cidrv4 = exports.ipv6 = exports.ipv4 = exports._emoji = exports.browserEmail = exports.unicodeEmail = exports.rfc5322Email = exports.html5Email = exports.email = exports.uuid7 = exports.uuid6 = exports.uuid4 = exports.uuid = exports.guid = exports.extendedDuration = exports.duration = exports.nanoid = exports.ksuid = exports.xid = exports.ulid = exports.cuid2 = exports.cuid = void 0;
3
+ exports.uppercase = exports.lowercase = exports.undefined = exports.null = exports.boolean = exports.number = exports.integer = exports.bigint = exports.string = exports.date = exports.e164 = exports.domain = exports.hostname = exports.base64url = exports.base64 = exports.cidrv6 = exports.cidrv4 = exports.ipv6 = exports.ipv4 = exports._emoji = exports.browserEmail = exports.unicodeEmail = exports.rfc5322Email = exports.html5Email = exports.email = exports.uuid7 = exports.uuid6 = exports.uuid4 = exports.uuid = exports.guid = exports.extendedDuration = exports.duration = exports.nanoid = exports.ksuid = exports.xid = exports.ulid = exports.cuid2 = exports.cuid = void 0;
4
4
  exports.emoji = emoji;
5
5
  exports.time = time;
6
6
  exports.datetime = datetime;
@@ -46,7 +46,6 @@ exports.ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?
46
46
  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})$/;
47
47
  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])$/;
48
48
  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])$/;
49
- exports.ip = new RegExp(`(${exports.ipv4.source})|(${exports.ipv6.source})`);
50
49
  // https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
51
50
  exports.base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
52
51
  exports.base64url = /^[A-Za-z0-9_-]*$/;
@@ -23,121 +23,120 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.error = exports.parsedType = void 0;
27
26
  exports.default = default_1;
28
27
  const util = __importStar(require("../core/util.js"));
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" : "number";
43
- }
44
- case "object": {
45
- if (Array.isArray(data)) {
46
- return "array";
47
- }
48
- if (data === null) {
49
- return "null";
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" : "number";
50
43
  }
51
- if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
52
- return data.constructor.name;
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
+ }
53
54
  }
54
55
  }
55
- }
56
- return t;
57
- };
58
- exports.parsedType = parsedType;
59
- const Nouns = {
60
- regex: "مدخل",
61
- email: "بريد إلكتروني",
62
- url: "رابط",
63
- emoji: "إيموجي",
64
- uuid: "UUID",
65
- uuidv4: "UUIDv4",
66
- uuidv6: "UUIDv6",
67
- nanoid: "nanoid",
68
- guid: "GUID",
69
- cuid: "cuid",
70
- cuid2: "cuid2",
71
- ulid: "ULID",
72
- xid: "XID",
73
- ksuid: "KSUID",
74
- datetime: "تاريخ ووقت بمعيار ISO",
75
- date: "تاريخ بمعيار ISO",
76
- time: "وقت بمعيار ISO",
77
- duration: "مدة بمعيار ISO",
78
- ipv4: "عنوان IPv4",
79
- ipv6: "عنوان IPv6",
80
- cidrv4: "مدى عناوين بصيغة IPv4",
81
- cidrv6: "مدى عناوين بصيغة IPv6",
82
- base64: "نَص بترميز base64-encoded",
83
- base64url: "نَص بترميز base64url-encoded",
84
- json_string: "نَص على هيئة JSON",
85
- e164: "رقم هاتف بمعيار E.164",
86
- jwt: "JWT",
87
- template_literal: "مدخل",
88
- };
89
- const error = (issue) => {
90
- switch (issue.code) {
91
- case "invalid_type":
92
- return `مدخلات غير مقبولة: يفترض إدخال ${issue.expected}، ولكن تم إدخال ${(0, exports.parsedType)(issue.input)}`;
93
- case "invalid_value":
94
- if (issue.values.length === 1)
95
- return `مدخلات غير مقبولة: يفترض إدخال ${util.stringifyPrimitive(issue.values[0])}`;
96
- return `اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${util.joinValues(issue.values, "|")}`;
97
- case "too_big": {
98
- const adj = issue.inclusive ? "<=" : "<";
99
- const sizing = getSizing(issue.origin);
100
- if (sizing)
101
- return ` أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "عنصر"}`;
102
- return `أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()}`;
103
- }
104
- case "too_small": {
105
- const adj = issue.inclusive ? ">=" : ">";
106
- const sizing = getSizing(issue.origin);
107
- if (sizing) {
108
- return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
56
+ return t;
57
+ };
58
+ const Nouns = {
59
+ regex: "مدخل",
60
+ email: "بريد إلكتروني",
61
+ 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-encoded",
82
+ base64url: "نَص بترميز base64url-encoded",
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()}`;
109
102
  }
110
- return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()}`;
111
- }
112
- case "invalid_format": {
113
- const _issue = issue;
114
- if (_issue.format === "starts_with")
115
- return `نَص غير مقبول: يجب أن يبدأ بـ "${issue.prefix}"`;
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} غير مقبول`;
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
+ if (_issue.format === "ends_with")
116
+ return `نَص غير مقبول: يجب أن ينتهي بـ "${_issue.suffix}"`;
117
+ if (_issue.format === "includes")
118
+ return `نَص غير مقبول: يجب أن يتضمَّن "${_issue.includes}"`;
119
+ if (_issue.format === "regex")
120
+ return `نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;
121
+ return `${Nouns[_issue.format] ?? issue.format} غير مقبول`;
122
+ }
123
+ case "not_multiple_of":
124
+ return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue.divisor}`;
125
+ case "unrecognized_keys":
126
+ return `معرف${issue.keys.length > 1 ? "ات" : ""} غريب${issue.keys.length > 1 ? "ة" : ""}: ${util.joinValues(issue.keys, "، ")}`;
127
+ case "invalid_key":
128
+ return `معرف غير مقبول في ${issue.origin}`;
129
+ case "invalid_union":
130
+ return "مدخل غير مقبول";
131
+ case "invalid_element":
132
+ return `مدخل غير مقبول في ${issue.origin}`;
133
+ default:
134
+ return "مدخل غير مقبول";
123
135
  }
124
- case "not_multiple_of":
125
- return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue.divisor}`;
126
- case "unrecognized_keys":
127
- return `معرف${issue.keys.length > 1 ? "ات" : ""} غريب${issue.keys.length > 1 ? "ة" : ""}: ${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
- }
136
+ };
137
137
  };
138
- exports.error = error;
139
138
  function default_1() {
140
139
  return {
141
- localeError: error,
140
+ localeError: error(),
142
141
  };
143
142
  }
@@ -23,120 +23,119 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.error = exports.parsedType = void 0;
27
26
  exports.default = default_1;
28
27
  const util = __importStar(require("../core/util.js"));
29
- const Sizable = {
30
- string: { unit: "simvol", verb: "olmalıdır" },
31
- file: { unit: "bayt", verb: "olmalıdır" },
32
- array: { unit: "element", verb: "olmalıdır" },
33
- set: { unit: "element", verb: "olmalıdır" },
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" : "number";
28
+ const error = () => {
29
+ const Sizable = {
30
+ string: { unit: "simvol", verb: "olmalıdır" },
31
+ file: { unit: "bayt", verb: "olmalıdır" },
32
+ array: { unit: "element", verb: "olmalıdır" },
33
+ set: { unit: "element", verb: "olmalıdır" },
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" : "number";
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
+ }
43
55
  }
44
- case "object": {
45
- if (Array.isArray(data)) {
46
- return "array";
56
+ return t;
57
+ };
58
+ const Nouns = {
59
+ regex: "input",
60
+ email: "email address",
61
+ url: "URL",
62
+ emoji: "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 datetime",
74
+ date: "ISO date",
75
+ time: "ISO time",
76
+ duration: "ISO duration",
77
+ ipv4: "IPv4 address",
78
+ ipv6: "IPv6 address",
79
+ cidrv4: "IPv4 range",
80
+ cidrv6: "IPv6 range",
81
+ base64: "base64-encoded string",
82
+ base64url: "base64url-encoded string",
83
+ json_string: "JSON string",
84
+ e164: "E.164 number",
85
+ jwt: "JWT",
86
+ template_literal: "input",
87
+ };
88
+ return (issue) => {
89
+ switch (issue.code) {
90
+ case "invalid_type":
91
+ return `Yanlış dəyər: gözlənilən ${issue.expected}, daxil olan ${parsedType(issue.input)}`;
92
+ case "invalid_value":
93
+ if (issue.values.length === 1)
94
+ return `Yanlış dəyər: gözlənilən ${util.stringifyPrimitive(issue.values[0])}`;
95
+ return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${util.joinValues(issue.values, "|")}`;
96
+ case "too_big": {
97
+ const adj = issue.inclusive ? "<=" : "<";
98
+ const sizing = getSizing(issue.origin);
99
+ if (sizing)
100
+ return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
101
+ return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()}`;
47
102
  }
48
- if (data === null) {
49
- return "null";
103
+ case "too_small": {
104
+ const adj = issue.inclusive ? ">=" : ">";
105
+ const sizing = getSizing(issue.origin);
106
+ if (sizing)
107
+ return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
108
+ return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()}`;
50
109
  }
51
- if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
52
- return data.constructor.name;
110
+ case "invalid_format": {
111
+ const _issue = issue;
112
+ if (_issue.format === "starts_with")
113
+ return `Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;
114
+ if (_issue.format === "ends_with")
115
+ return `Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;
116
+ if (_issue.format === "includes")
117
+ return `Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;
118
+ if (_issue.format === "regex")
119
+ return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;
120
+ return `Yanlış ${Nouns[_issue.format] ?? issue.format}`;
53
121
  }
122
+ case "not_multiple_of":
123
+ return `Yanlış ədəd: ${issue.divisor} ilə bölünə bilən olmalıdır`;
124
+ case "unrecognized_keys":
125
+ return `Tanınmayan açar${issue.keys.length > 1 ? "lar" : ""}: ${util.joinValues(issue.keys, ", ")}`;
126
+ case "invalid_key":
127
+ return `${issue.origin} daxilində yanlış açar`;
128
+ case "invalid_union":
129
+ return "Yanlış dəyər";
130
+ case "invalid_element":
131
+ return `${issue.origin} daxilində yanlış dəyər`;
132
+ default:
133
+ return `Yanlış dəyər`;
54
134
  }
55
- }
56
- return t;
57
- };
58
- exports.parsedType = parsedType;
59
- const Nouns = {
60
- regex: "input",
61
- email: "email address",
62
- url: "URL",
63
- emoji: "emoji",
64
- uuid: "UUID",
65
- uuidv4: "UUIDv4",
66
- uuidv6: "UUIDv6",
67
- nanoid: "nanoid",
68
- guid: "GUID",
69
- cuid: "cuid",
70
- cuid2: "cuid2",
71
- ulid: "ULID",
72
- xid: "XID",
73
- ksuid: "KSUID",
74
- datetime: "ISO datetime",
75
- date: "ISO date",
76
- time: "ISO time",
77
- duration: "ISO duration",
78
- ipv4: "IPv4 address",
79
- ipv6: "IPv6 address",
80
- cidrv4: "IPv4 range",
81
- cidrv6: "IPv6 range",
82
- base64: "base64-encoded string",
83
- base64url: "base64url-encoded string",
84
- json_string: "JSON string",
85
- e164: "E.164 number",
86
- jwt: "JWT",
87
- template_literal: "input",
88
- };
89
- const error = (issue) => {
90
- switch (issue.code) {
91
- case "invalid_type":
92
- return `Yanlış dəyər: gözlənilən ${issue.expected}, daxil olan ${(0, exports.parsedType)(issue.input)}`;
93
- case "invalid_value":
94
- if (issue.values.length === 1)
95
- return `Yanlış dəyər: gözlənilən ${util.stringifyPrimitive(issue.values[0])}`;
96
- return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${util.joinValues(issue.values, "|")}`;
97
- case "too_big": {
98
- const adj = issue.inclusive ? "<=" : "<";
99
- const sizing = getSizing(issue.origin);
100
- if (sizing)
101
- return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
102
- return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()}`;
103
- }
104
- case "too_small": {
105
- const adj = issue.inclusive ? ">=" : ">";
106
- const sizing = getSizing(issue.origin);
107
- if (sizing)
108
- return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
109
- return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()}`;
110
- }
111
- case "invalid_format": {
112
- const _issue = issue;
113
- if (_issue.format === "starts_with")
114
- return `Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;
115
- if (_issue.format === "ends_with")
116
- return `Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;
117
- if (_issue.format === "includes")
118
- return `Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;
119
- if (_issue.format === "regex")
120
- return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;
121
- return `Yanlış ${Nouns[_issue.format] ?? issue.format}`;
122
- }
123
- case "not_multiple_of":
124
- return `Yanlış ədəd: ${issue.divisor} ilə bölünə bilən olmalıdır`;
125
- case "unrecognized_keys":
126
- return `Tanınmayan açar${issue.keys.length > 1 ? "lar" : ""}: ${util.joinValues(issue.keys, ", ")}`;
127
- case "invalid_key":
128
- return `${issue.origin} daxilində yanlış açar`;
129
- case "invalid_union":
130
- return "Yanlış dəyər";
131
- case "invalid_element":
132
- return `${issue.origin} daxilində yanlış dəyər`;
133
- default:
134
- return `Yanlış dəyər`;
135
- }
135
+ };
136
136
  };
137
- exports.error = error;
138
137
  function default_1() {
139
138
  return {
140
- localeError: error,
139
+ localeError: error(),
141
140
  };
142
141
  }