feat(planning): grille hebdomadaire complète avec API et filtres
- Connexion API via proxy Angular (résolution CORS, base path /api) - Import CSS ng-zorro global pour les modales et composants - Filtres Camion/Show câblés sur l'affichage de la grille - Camions affichés via TrucksService (linkés au show du même créneau) - Panneau de détails : spectacles + camions du jour sélectionné - Modale de création de spectacle stylisée avec fond et centrage - Positionnement précis des events à la minute dans leur créneau - Auto-scroll vers l'heure courante au chargement - Ligne "maintenant" sur la colonne du jour actuel - Régénération des services OpenAPI (nouveaux noms de types) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -139,4 +139,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -188,4 +188,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -142,4 +142,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -159,4 +159,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -78,7 +78,6 @@ const error = () => {
|
||||
duration: "ISO duration",
|
||||
ipv4: "IPv4 address",
|
||||
ipv6: "IPv6 address",
|
||||
mac: "MAC address",
|
||||
cidrv4: "IPv4 range",
|
||||
cidrv6: "IPv6 range",
|
||||
base64: "base64-encoded string",
|
||||
|
||||
-1
@@ -50,7 +50,6 @@ const error = () => {
|
||||
duration: "ISO duration",
|
||||
ipv4: "IPv4 address",
|
||||
ipv6: "IPv6 address",
|
||||
mac: "MAC address",
|
||||
cidrv4: "IPv4 range",
|
||||
cidrv6: "IPv6 range",
|
||||
base64: "base64-encoded string",
|
||||
|
||||
+10
-43
@@ -32,55 +32,25 @@ const error = () => {
|
||||
array: { unit: "elementos", verb: "tener" },
|
||||
set: { unit: "elementos", verb: "tener" },
|
||||
};
|
||||
const TypeNames = {
|
||||
string: "texto",
|
||||
number: "número",
|
||||
boolean: "booleano",
|
||||
array: "arreglo",
|
||||
object: "objeto",
|
||||
set: "conjunto",
|
||||
file: "archivo",
|
||||
date: "fecha",
|
||||
bigint: "número grande",
|
||||
symbol: "símbolo",
|
||||
undefined: "indefinido",
|
||||
null: "nulo",
|
||||
function: "función",
|
||||
map: "mapa",
|
||||
record: "registro",
|
||||
tuple: "tupla",
|
||||
enum: "enumeración",
|
||||
union: "unión",
|
||||
literal: "literal",
|
||||
promise: "promesa",
|
||||
void: "vacío",
|
||||
never: "nunca",
|
||||
unknown: "desconocido",
|
||||
any: "cualquiera",
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
function getTypeName(type) {
|
||||
return TypeNames[type] ?? type;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "number";
|
||||
return Number.isNaN(data) ? "NaN" : "número";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "array";
|
||||
return "arreglo";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
return "nulo";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
return "object";
|
||||
}
|
||||
}
|
||||
return t;
|
||||
@@ -118,7 +88,7 @@ const error = () => {
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `Entrada inválida: se esperaba ${getTypeName(issue.expected)}, recibido ${getTypeName(parsedType(issue.input))}`;
|
||||
return `Entrada inválida: se esperaba ${issue.expected}, recibido ${parsedType(issue.input)}`;
|
||||
// return `Entrada inválida: se esperaba ${issue.expected}, recibido ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
@@ -127,19 +97,17 @@ const error = () => {
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
const origin = getTypeName(issue.origin);
|
||||
if (sizing)
|
||||
return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
||||
return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
||||
return `Demasiado grande: se esperaba que ${issue.origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
||||
return `Demasiado grande: se esperaba que ${issue.origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
const origin = getTypeName(issue.origin);
|
||||
if (sizing) {
|
||||
return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
return `Demasiado pequeño: se esperaba que ${issue.origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
|
||||
return `Demasiado pequeño: se esperaba que ${issue.origin} fuera ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
@@ -158,11 +126,11 @@ const error = () => {
|
||||
case "unrecognized_keys":
|
||||
return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `Llave inválida en ${getTypeName(issue.origin)}`;
|
||||
return `Llave inválida en ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "Entrada inválida";
|
||||
case "invalid_element":
|
||||
return `Valor inválido en ${getTypeName(issue.origin)}`;
|
||||
return `Valor inválido en ${issue.origin}`;
|
||||
default:
|
||||
return `Entrada inválida`;
|
||||
}
|
||||
@@ -173,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+10
-42
@@ -6,55 +6,25 @@ const error = () => {
|
||||
array: { unit: "elementos", verb: "tener" },
|
||||
set: { unit: "elementos", verb: "tener" },
|
||||
};
|
||||
const TypeNames = {
|
||||
string: "texto",
|
||||
number: "número",
|
||||
boolean: "booleano",
|
||||
array: "arreglo",
|
||||
object: "objeto",
|
||||
set: "conjunto",
|
||||
file: "archivo",
|
||||
date: "fecha",
|
||||
bigint: "número grande",
|
||||
symbol: "símbolo",
|
||||
undefined: "indefinido",
|
||||
null: "nulo",
|
||||
function: "función",
|
||||
map: "mapa",
|
||||
record: "registro",
|
||||
tuple: "tupla",
|
||||
enum: "enumeración",
|
||||
union: "unión",
|
||||
literal: "literal",
|
||||
promise: "promesa",
|
||||
void: "vacío",
|
||||
never: "nunca",
|
||||
unknown: "desconocido",
|
||||
any: "cualquiera",
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
function getTypeName(type) {
|
||||
return TypeNames[type] ?? type;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "number";
|
||||
return Number.isNaN(data) ? "NaN" : "número";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "array";
|
||||
return "arreglo";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
return "nulo";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
return "object";
|
||||
}
|
||||
}
|
||||
return t;
|
||||
@@ -92,7 +62,7 @@ const error = () => {
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `Entrada inválida: se esperaba ${getTypeName(issue.expected)}, recibido ${getTypeName(parsedType(issue.input))}`;
|
||||
return `Entrada inválida: se esperaba ${issue.expected}, recibido ${parsedType(issue.input)}`;
|
||||
// return `Entrada inválida: se esperaba ${issue.expected}, recibido ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
@@ -101,19 +71,17 @@ const error = () => {
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
const origin = getTypeName(issue.origin);
|
||||
if (sizing)
|
||||
return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
||||
return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
||||
return `Demasiado grande: se esperaba que ${issue.origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
||||
return `Demasiado grande: se esperaba que ${issue.origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
const origin = getTypeName(issue.origin);
|
||||
if (sizing) {
|
||||
return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
return `Demasiado pequeño: se esperaba que ${issue.origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
|
||||
return `Demasiado pequeño: se esperaba que ${issue.origin} fuera ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
@@ -132,11 +100,11 @@ const error = () => {
|
||||
case "unrecognized_keys":
|
||||
return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `Llave inválida en ${getTypeName(issue.origin)}`;
|
||||
return `Llave inválida en ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "Entrada inválida";
|
||||
case "invalid_element":
|
||||
return `Valor inválido en ${getTypeName(issue.origin)}`;
|
||||
return `Valor inválido en ${issue.origin}`;
|
||||
default:
|
||||
return `Entrada inválida`;
|
||||
}
|
||||
|
||||
-1
@@ -146,4 +146,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -146,4 +146,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+71
-183
@@ -26,222 +26,111 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = default_1;
|
||||
const util = __importStar(require("../core/util.cjs"));
|
||||
const error = () => {
|
||||
// Hebrew labels + grammatical gender
|
||||
const TypeNames = {
|
||||
string: { label: "מחרוזת", gender: "f" },
|
||||
number: { label: "מספר", gender: "m" },
|
||||
boolean: { label: "ערך בוליאני", gender: "m" },
|
||||
bigint: { label: "BigInt", gender: "m" },
|
||||
date: { label: "תאריך", gender: "m" },
|
||||
array: { label: "מערך", gender: "m" },
|
||||
object: { label: "אובייקט", gender: "m" },
|
||||
null: { label: "ערך ריק (null)", gender: "m" },
|
||||
undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
|
||||
symbol: { label: "סימבול (Symbol)", gender: "m" },
|
||||
function: { label: "פונקציה", gender: "f" },
|
||||
map: { label: "מפה (Map)", gender: "f" },
|
||||
set: { label: "קבוצה (Set)", gender: "f" },
|
||||
file: { label: "קובץ", gender: "m" },
|
||||
promise: { label: "Promise", gender: "m" },
|
||||
NaN: { label: "NaN", gender: "m" },
|
||||
unknown: { label: "ערך לא ידוע", gender: "m" },
|
||||
value: { label: "ערך", gender: "m" },
|
||||
};
|
||||
// Sizing units for size-related messages + localized origin labels
|
||||
const Sizable = {
|
||||
string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
|
||||
file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }, // no unit
|
||||
string: { unit: "אותיות", verb: "לכלול" },
|
||||
file: { unit: "בייטים", verb: "לכלול" },
|
||||
array: { unit: "פריטים", verb: "לכלול" },
|
||||
set: { unit: "פריטים", verb: "לכלול" },
|
||||
};
|
||||
// Helpers — labels, articles, and verbs
|
||||
const typeEntry = (t) => (t ? TypeNames[t] : undefined);
|
||||
const typeLabel = (t) => {
|
||||
const e = typeEntry(t);
|
||||
if (e)
|
||||
return e.label;
|
||||
// fallback: show raw string if unknown
|
||||
return t ?? TypeNames.unknown.label;
|
||||
};
|
||||
const withDefinite = (t) => `ה${typeLabel(t)}`;
|
||||
const verbFor = (t) => {
|
||||
const e = typeEntry(t);
|
||||
const gender = e?.gender ?? "m";
|
||||
return gender === "f" ? "צריכה להיות" : "צריך להיות";
|
||||
};
|
||||
const getSizing = (origin) => {
|
||||
if (!origin)
|
||||
return null;
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
};
|
||||
// Robust type parser for "received" — returns a key we understand or a constructor name
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number":
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "number";
|
||||
case "object": {
|
||||
if (Array.isArray(data))
|
||||
return "array";
|
||||
if (data === null)
|
||||
return "null";
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name; // keep as-is (e.g., "Date")
|
||||
}
|
||||
return "object";
|
||||
}
|
||||
default:
|
||||
return t;
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "array";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: { label: "קלט", gender: "m" },
|
||||
email: { label: "כתובת אימייל", gender: "f" },
|
||||
url: { label: "כתובת רשת", gender: "f" },
|
||||
emoji: { label: "אימוג'י", gender: "m" },
|
||||
uuid: { label: "UUID", gender: "m" },
|
||||
nanoid: { label: "nanoid", gender: "m" },
|
||||
guid: { label: "GUID", gender: "m" },
|
||||
cuid: { label: "cuid", gender: "m" },
|
||||
cuid2: { label: "cuid2", gender: "m" },
|
||||
ulid: { label: "ULID", gender: "m" },
|
||||
xid: { label: "XID", gender: "m" },
|
||||
ksuid: { label: "KSUID", gender: "m" },
|
||||
datetime: { label: "תאריך וזמן ISO", gender: "m" },
|
||||
date: { label: "תאריך ISO", gender: "m" },
|
||||
time: { label: "זמן ISO", gender: "m" },
|
||||
duration: { label: "משך זמן ISO", gender: "m" },
|
||||
ipv4: { label: "כתובת IPv4", gender: "f" },
|
||||
ipv6: { label: "כתובת IPv6", gender: "f" },
|
||||
cidrv4: { label: "טווח IPv4", gender: "m" },
|
||||
cidrv6: { label: "טווח IPv6", gender: "m" },
|
||||
base64: { label: "מחרוזת בבסיס 64", gender: "f" },
|
||||
base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
|
||||
json_string: { label: "מחרוזת JSON", gender: "f" },
|
||||
e164: { label: "מספר E.164", gender: "m" },
|
||||
jwt: { label: "JWT", gender: "m" },
|
||||
ends_with: { label: "קלט", gender: "m" },
|
||||
includes: { label: "קלט", gender: "m" },
|
||||
lowercase: { label: "קלט", gender: "m" },
|
||||
starts_with: { label: "קלט", gender: "m" },
|
||||
uppercase: { label: "קלט", gender: "m" },
|
||||
regex: "קלט",
|
||||
email: "כתובת אימייל",
|
||||
url: "כתובת רשת",
|
||||
emoji: "אימוג'י",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "תאריך וזמן ISO",
|
||||
date: "תאריך ISO",
|
||||
time: "זמן ISO",
|
||||
duration: "משך זמן ISO",
|
||||
ipv4: "כתובת IPv4",
|
||||
ipv6: "כתובת IPv6",
|
||||
cidrv4: "טווח IPv4",
|
||||
cidrv6: "טווח IPv6",
|
||||
base64: "מחרוזת בבסיס 64",
|
||||
base64url: "מחרוזת בבסיס 64 לכתובות רשת",
|
||||
json_string: "מחרוזת JSON",
|
||||
e164: "מספר E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "קלט",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type": {
|
||||
// Expected type: show without definite article for clearer Hebrew
|
||||
const expectedKey = issue.expected;
|
||||
const expected = typeLabel(expectedKey);
|
||||
// Received: show localized label if known, otherwise constructor/raw
|
||||
const receivedKey = parsedType(issue.input);
|
||||
const received = TypeNames[receivedKey]?.label ?? receivedKey;
|
||||
return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
|
||||
}
|
||||
case "invalid_value": {
|
||||
if (issue.values.length === 1) {
|
||||
return `ערך לא תקין: הערך חייב להיות ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
}
|
||||
// Join values with proper Hebrew formatting
|
||||
const stringified = issue.values.map((v) => util.stringifyPrimitive(v));
|
||||
if (issue.values.length === 2) {
|
||||
return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
|
||||
}
|
||||
// For 3+ values: "a", "b" או "c"
|
||||
const lastValue = stringified[stringified.length - 1];
|
||||
const restValues = stringified.slice(0, -1).join(", ");
|
||||
return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
|
||||
}
|
||||
case "invalid_type":
|
||||
return `קלט לא תקין: צריך ${issue.expected}, התקבל ${parsedType(issue.input)}`;
|
||||
// return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `קלט לא תקין: צריך ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `קלט לא תקין: צריך אחת מהאפשרויות ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const sizing = getSizing(issue.origin);
|
||||
const subject = withDefinite(issue.origin ?? "value");
|
||||
if (issue.origin === "string") {
|
||||
// Special handling for strings - more natural Hebrew
|
||||
return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או פחות" : "לכל היותר"}`.trim();
|
||||
}
|
||||
if (issue.origin === "number") {
|
||||
// Natural Hebrew for numbers
|
||||
const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;
|
||||
return `גדול מדי: ${subject} צריך להיות ${comparison}`;
|
||||
}
|
||||
if (issue.origin === "array" || issue.origin === "set") {
|
||||
// Natural Hebrew for arrays and sets
|
||||
const verb = issue.origin === "set" ? "צריכה" : "צריך";
|
||||
const comparison = issue.inclusive
|
||||
? `${issue.maximum} ${sizing?.unit ?? ""} או פחות`
|
||||
: `פחות מ-${issue.maximum} ${sizing?.unit ?? ""}`;
|
||||
return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
|
||||
}
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const be = verbFor(issue.origin ?? "value");
|
||||
if (sizing?.unit) {
|
||||
return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
|
||||
return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const sizing = getSizing(issue.origin);
|
||||
const subject = withDefinite(issue.origin ?? "value");
|
||||
if (issue.origin === "string") {
|
||||
// Special handling for strings - more natural Hebrew
|
||||
return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או יותר" : "לפחות"}`.trim();
|
||||
}
|
||||
if (issue.origin === "number") {
|
||||
// Natural Hebrew for numbers
|
||||
const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;
|
||||
return `קטן מדי: ${subject} צריך להיות ${comparison}`;
|
||||
}
|
||||
if (issue.origin === "array" || issue.origin === "set") {
|
||||
// Natural Hebrew for arrays and sets
|
||||
const verb = issue.origin === "set" ? "צריכה" : "צריך";
|
||||
// Special case for singular (minimum === 1)
|
||||
if (issue.minimum === 1 && issue.inclusive) {
|
||||
const singularPhrase = issue.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
|
||||
return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
|
||||
}
|
||||
const comparison = issue.inclusive
|
||||
? `${issue.minimum} ${sizing?.unit ?? ""} או יותר`
|
||||
: `יותר מ-${issue.minimum} ${sizing?.unit ?? ""}`;
|
||||
return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
|
||||
}
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const be = verbFor(issue.origin ?? "value");
|
||||
if (sizing?.unit) {
|
||||
return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;
|
||||
return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
// These apply to strings — use feminine grammar + ה׳ הידיעה
|
||||
if (_issue.format === "starts_with")
|
||||
return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
|
||||
return `מחרוזת לא תקינה: חייבת להתחיל ב"${_issue.prefix}"`;
|
||||
if (_issue.format === "ends_with")
|
||||
return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
|
||||
return `מחרוזת לא תקינה: חייבת להסתיים ב "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `המחרוזת חייבת לכלול "${_issue.includes}"`;
|
||||
return `מחרוזת לא תקינה: חייבת לכלול "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
|
||||
// Handle gender agreement for formats
|
||||
const nounEntry = Nouns[_issue.format];
|
||||
const noun = nounEntry?.label ?? _issue.format;
|
||||
const gender = nounEntry?.gender ?? "m";
|
||||
const adjective = gender === "f" ? "תקינה" : "תקין";
|
||||
return `${noun} לא ${adjective}`;
|
||||
return `מחרוזת לא תקינה: חייבת להתאים לתבנית ${_issue.pattern}`;
|
||||
return `${Nouns[_issue.format] ?? issue.format} לא תקין`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key": {
|
||||
return `שדה לא תקין באובייקט`;
|
||||
}
|
||||
case "invalid_key":
|
||||
return `מפתח לא תקין ב${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "קלט לא תקין";
|
||||
case "invalid_element": {
|
||||
const place = withDefinite(issue.origin ?? "array");
|
||||
return `ערך לא תקין ב${place}`;
|
||||
}
|
||||
case "invalid_element":
|
||||
return `ערך לא תקין ב${issue.origin}`;
|
||||
default:
|
||||
return `קלט לא תקין`;
|
||||
}
|
||||
@@ -252,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+71
-182
@@ -1,221 +1,110 @@
|
||||
import * as util from "../core/util.js";
|
||||
const error = () => {
|
||||
// Hebrew labels + grammatical gender
|
||||
const TypeNames = {
|
||||
string: { label: "מחרוזת", gender: "f" },
|
||||
number: { label: "מספר", gender: "m" },
|
||||
boolean: { label: "ערך בוליאני", gender: "m" },
|
||||
bigint: { label: "BigInt", gender: "m" },
|
||||
date: { label: "תאריך", gender: "m" },
|
||||
array: { label: "מערך", gender: "m" },
|
||||
object: { label: "אובייקט", gender: "m" },
|
||||
null: { label: "ערך ריק (null)", gender: "m" },
|
||||
undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
|
||||
symbol: { label: "סימבול (Symbol)", gender: "m" },
|
||||
function: { label: "פונקציה", gender: "f" },
|
||||
map: { label: "מפה (Map)", gender: "f" },
|
||||
set: { label: "קבוצה (Set)", gender: "f" },
|
||||
file: { label: "קובץ", gender: "m" },
|
||||
promise: { label: "Promise", gender: "m" },
|
||||
NaN: { label: "NaN", gender: "m" },
|
||||
unknown: { label: "ערך לא ידוע", gender: "m" },
|
||||
value: { label: "ערך", gender: "m" },
|
||||
};
|
||||
// Sizing units for size-related messages + localized origin labels
|
||||
const Sizable = {
|
||||
string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
|
||||
file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
|
||||
number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }, // no unit
|
||||
string: { unit: "אותיות", verb: "לכלול" },
|
||||
file: { unit: "בייטים", verb: "לכלול" },
|
||||
array: { unit: "פריטים", verb: "לכלול" },
|
||||
set: { unit: "פריטים", verb: "לכלול" },
|
||||
};
|
||||
// Helpers — labels, articles, and verbs
|
||||
const typeEntry = (t) => (t ? TypeNames[t] : undefined);
|
||||
const typeLabel = (t) => {
|
||||
const e = typeEntry(t);
|
||||
if (e)
|
||||
return e.label;
|
||||
// fallback: show raw string if unknown
|
||||
return t ?? TypeNames.unknown.label;
|
||||
};
|
||||
const withDefinite = (t) => `ה${typeLabel(t)}`;
|
||||
const verbFor = (t) => {
|
||||
const e = typeEntry(t);
|
||||
const gender = e?.gender ?? "m";
|
||||
return gender === "f" ? "צריכה להיות" : "צריך להיות";
|
||||
};
|
||||
const getSizing = (origin) => {
|
||||
if (!origin)
|
||||
return null;
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
};
|
||||
// Robust type parser for "received" — returns a key we understand or a constructor name
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number":
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "number";
|
||||
case "object": {
|
||||
if (Array.isArray(data))
|
||||
return "array";
|
||||
if (data === null)
|
||||
return "null";
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name; // keep as-is (e.g., "Date")
|
||||
}
|
||||
return "object";
|
||||
}
|
||||
default:
|
||||
return t;
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "array";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: { label: "קלט", gender: "m" },
|
||||
email: { label: "כתובת אימייל", gender: "f" },
|
||||
url: { label: "כתובת רשת", gender: "f" },
|
||||
emoji: { label: "אימוג'י", gender: "m" },
|
||||
uuid: { label: "UUID", gender: "m" },
|
||||
nanoid: { label: "nanoid", gender: "m" },
|
||||
guid: { label: "GUID", gender: "m" },
|
||||
cuid: { label: "cuid", gender: "m" },
|
||||
cuid2: { label: "cuid2", gender: "m" },
|
||||
ulid: { label: "ULID", gender: "m" },
|
||||
xid: { label: "XID", gender: "m" },
|
||||
ksuid: { label: "KSUID", gender: "m" },
|
||||
datetime: { label: "תאריך וזמן ISO", gender: "m" },
|
||||
date: { label: "תאריך ISO", gender: "m" },
|
||||
time: { label: "זמן ISO", gender: "m" },
|
||||
duration: { label: "משך זמן ISO", gender: "m" },
|
||||
ipv4: { label: "כתובת IPv4", gender: "f" },
|
||||
ipv6: { label: "כתובת IPv6", gender: "f" },
|
||||
cidrv4: { label: "טווח IPv4", gender: "m" },
|
||||
cidrv6: { label: "טווח IPv6", gender: "m" },
|
||||
base64: { label: "מחרוזת בבסיס 64", gender: "f" },
|
||||
base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
|
||||
json_string: { label: "מחרוזת JSON", gender: "f" },
|
||||
e164: { label: "מספר E.164", gender: "m" },
|
||||
jwt: { label: "JWT", gender: "m" },
|
||||
ends_with: { label: "קלט", gender: "m" },
|
||||
includes: { label: "קלט", gender: "m" },
|
||||
lowercase: { label: "קלט", gender: "m" },
|
||||
starts_with: { label: "קלט", gender: "m" },
|
||||
uppercase: { label: "קלט", gender: "m" },
|
||||
regex: "קלט",
|
||||
email: "כתובת אימייל",
|
||||
url: "כתובת רשת",
|
||||
emoji: "אימוג'י",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "תאריך וזמן ISO",
|
||||
date: "תאריך ISO",
|
||||
time: "זמן ISO",
|
||||
duration: "משך זמן ISO",
|
||||
ipv4: "כתובת IPv4",
|
||||
ipv6: "כתובת IPv6",
|
||||
cidrv4: "טווח IPv4",
|
||||
cidrv6: "טווח IPv6",
|
||||
base64: "מחרוזת בבסיס 64",
|
||||
base64url: "מחרוזת בבסיס 64 לכתובות רשת",
|
||||
json_string: "מחרוזת JSON",
|
||||
e164: "מספר E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "קלט",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type": {
|
||||
// Expected type: show without definite article for clearer Hebrew
|
||||
const expectedKey = issue.expected;
|
||||
const expected = typeLabel(expectedKey);
|
||||
// Received: show localized label if known, otherwise constructor/raw
|
||||
const receivedKey = parsedType(issue.input);
|
||||
const received = TypeNames[receivedKey]?.label ?? receivedKey;
|
||||
return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
|
||||
}
|
||||
case "invalid_value": {
|
||||
if (issue.values.length === 1) {
|
||||
return `ערך לא תקין: הערך חייב להיות ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
}
|
||||
// Join values with proper Hebrew formatting
|
||||
const stringified = issue.values.map((v) => util.stringifyPrimitive(v));
|
||||
if (issue.values.length === 2) {
|
||||
return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
|
||||
}
|
||||
// For 3+ values: "a", "b" או "c"
|
||||
const lastValue = stringified[stringified.length - 1];
|
||||
const restValues = stringified.slice(0, -1).join(", ");
|
||||
return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
|
||||
}
|
||||
case "invalid_type":
|
||||
return `קלט לא תקין: צריך ${issue.expected}, התקבל ${parsedType(issue.input)}`;
|
||||
// return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `קלט לא תקין: צריך ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `קלט לא תקין: צריך אחת מהאפשרויות ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const sizing = getSizing(issue.origin);
|
||||
const subject = withDefinite(issue.origin ?? "value");
|
||||
if (issue.origin === "string") {
|
||||
// Special handling for strings - more natural Hebrew
|
||||
return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או פחות" : "לכל היותר"}`.trim();
|
||||
}
|
||||
if (issue.origin === "number") {
|
||||
// Natural Hebrew for numbers
|
||||
const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;
|
||||
return `גדול מדי: ${subject} צריך להיות ${comparison}`;
|
||||
}
|
||||
if (issue.origin === "array" || issue.origin === "set") {
|
||||
// Natural Hebrew for arrays and sets
|
||||
const verb = issue.origin === "set" ? "צריכה" : "צריך";
|
||||
const comparison = issue.inclusive
|
||||
? `${issue.maximum} ${sizing?.unit ?? ""} או פחות`
|
||||
: `פחות מ-${issue.maximum} ${sizing?.unit ?? ""}`;
|
||||
return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
|
||||
}
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const be = verbFor(issue.origin ?? "value");
|
||||
if (sizing?.unit) {
|
||||
return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
|
||||
return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const sizing = getSizing(issue.origin);
|
||||
const subject = withDefinite(issue.origin ?? "value");
|
||||
if (issue.origin === "string") {
|
||||
// Special handling for strings - more natural Hebrew
|
||||
return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או יותר" : "לפחות"}`.trim();
|
||||
}
|
||||
if (issue.origin === "number") {
|
||||
// Natural Hebrew for numbers
|
||||
const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;
|
||||
return `קטן מדי: ${subject} צריך להיות ${comparison}`;
|
||||
}
|
||||
if (issue.origin === "array" || issue.origin === "set") {
|
||||
// Natural Hebrew for arrays and sets
|
||||
const verb = issue.origin === "set" ? "צריכה" : "צריך";
|
||||
// Special case for singular (minimum === 1)
|
||||
if (issue.minimum === 1 && issue.inclusive) {
|
||||
const singularPhrase = issue.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
|
||||
return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
|
||||
}
|
||||
const comparison = issue.inclusive
|
||||
? `${issue.minimum} ${sizing?.unit ?? ""} או יותר`
|
||||
: `יותר מ-${issue.minimum} ${sizing?.unit ?? ""}`;
|
||||
return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
|
||||
}
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const be = verbFor(issue.origin ?? "value");
|
||||
if (sizing?.unit) {
|
||||
return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;
|
||||
return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
// These apply to strings — use feminine grammar + ה׳ הידיעה
|
||||
if (_issue.format === "starts_with")
|
||||
return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
|
||||
return `מחרוזת לא תקינה: חייבת להתחיל ב"${_issue.prefix}"`;
|
||||
if (_issue.format === "ends_with")
|
||||
return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
|
||||
return `מחרוזת לא תקינה: חייבת להסתיים ב "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `המחרוזת חייבת לכלול "${_issue.includes}"`;
|
||||
return `מחרוזת לא תקינה: חייבת לכלול "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
|
||||
// Handle gender agreement for formats
|
||||
const nounEntry = Nouns[_issue.format];
|
||||
const noun = nounEntry?.label ?? _issue.format;
|
||||
const gender = nounEntry?.gender ?? "m";
|
||||
const adjective = gender === "f" ? "תקינה" : "תקין";
|
||||
return `${noun} לא ${adjective}`;
|
||||
return `מחרוזת לא תקינה: חייבת להתאים לתבנית ${_issue.pattern}`;
|
||||
return `${Nouns[_issue.format] ?? issue.format} לא תקין`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key": {
|
||||
return `שדה לא תקין באובייקט`;
|
||||
}
|
||||
case "invalid_key":
|
||||
return `מפתח לא תקין ב${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "קלט לא תקין";
|
||||
case "invalid_element": {
|
||||
const place = withDefinite(issue.origin ?? "array");
|
||||
return `ערך לא תקין ב${place}`;
|
||||
}
|
||||
case "invalid_element":
|
||||
return `ערך לא תקין ב${issue.origin}`;
|
||||
default:
|
||||
return `קלט לא תקין`;
|
||||
}
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+1
-17
@@ -3,21 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
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.bg = exports.be = exports.az = exports.ar = void 0;
|
||||
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.id = exports.hu = exports.he = exports.frCA = exports.fr = exports.fi = exports.fa = exports.es = exports.eo = exports.en = exports.de = exports.cs = exports.ca = exports.be = exports.az = exports.ar = void 0;
|
||||
var ar_js_1 = require("./ar.cjs");
|
||||
Object.defineProperty(exports, "ar", { enumerable: true, get: function () { return __importDefault(ar_js_1).default; } });
|
||||
var az_js_1 = require("./az.cjs");
|
||||
Object.defineProperty(exports, "az", { enumerable: true, get: function () { return __importDefault(az_js_1).default; } });
|
||||
var be_js_1 = require("./be.cjs");
|
||||
Object.defineProperty(exports, "be", { enumerable: true, get: function () { return __importDefault(be_js_1).default; } });
|
||||
var bg_js_1 = require("./bg.cjs");
|
||||
Object.defineProperty(exports, "bg", { enumerable: true, get: function () { return __importDefault(bg_js_1).default; } });
|
||||
var ca_js_1 = require("./ca.cjs");
|
||||
Object.defineProperty(exports, "ca", { enumerable: true, get: function () { return __importDefault(ca_js_1).default; } });
|
||||
var cs_js_1 = require("./cs.cjs");
|
||||
Object.defineProperty(exports, "cs", { enumerable: true, get: function () { return __importDefault(cs_js_1).default; } });
|
||||
var da_js_1 = require("./da.cjs");
|
||||
Object.defineProperty(exports, "da", { enumerable: true, get: function () { return __importDefault(da_js_1).default; } });
|
||||
var de_js_1 = require("./de.cjs");
|
||||
Object.defineProperty(exports, "de", { enumerable: true, get: function () { return __importDefault(de_js_1).default; } });
|
||||
var en_js_1 = require("./en.cjs");
|
||||
@@ -40,22 +36,14 @@ var hu_js_1 = require("./hu.cjs");
|
||||
Object.defineProperty(exports, "hu", { enumerable: true, get: function () { return __importDefault(hu_js_1).default; } });
|
||||
var id_js_1 = require("./id.cjs");
|
||||
Object.defineProperty(exports, "id", { enumerable: true, get: function () { return __importDefault(id_js_1).default; } });
|
||||
var is_js_1 = require("./is.cjs");
|
||||
Object.defineProperty(exports, "is", { enumerable: true, get: function () { return __importDefault(is_js_1).default; } });
|
||||
var it_js_1 = require("./it.cjs");
|
||||
Object.defineProperty(exports, "it", { enumerable: true, get: function () { return __importDefault(it_js_1).default; } });
|
||||
var ja_js_1 = require("./ja.cjs");
|
||||
Object.defineProperty(exports, "ja", { enumerable: true, get: function () { return __importDefault(ja_js_1).default; } });
|
||||
var ka_js_1 = require("./ka.cjs");
|
||||
Object.defineProperty(exports, "ka", { enumerable: true, get: function () { return __importDefault(ka_js_1).default; } });
|
||||
var kh_js_1 = require("./kh.cjs");
|
||||
Object.defineProperty(exports, "kh", { enumerable: true, get: function () { return __importDefault(kh_js_1).default; } });
|
||||
var km_js_1 = require("./km.cjs");
|
||||
Object.defineProperty(exports, "km", { enumerable: true, get: function () { return __importDefault(km_js_1).default; } });
|
||||
var ko_js_1 = require("./ko.cjs");
|
||||
Object.defineProperty(exports, "ko", { enumerable: true, get: function () { return __importDefault(ko_js_1).default; } });
|
||||
var lt_js_1 = require("./lt.cjs");
|
||||
Object.defineProperty(exports, "lt", { enumerable: true, get: function () { return __importDefault(lt_js_1).default; } });
|
||||
var mk_js_1 = require("./mk.cjs");
|
||||
Object.defineProperty(exports, "mk", { enumerable: true, get: function () { return __importDefault(mk_js_1).default; } });
|
||||
var ms_js_1 = require("./ms.cjs");
|
||||
@@ -86,8 +74,6 @@ var tr_js_1 = require("./tr.cjs");
|
||||
Object.defineProperty(exports, "tr", { enumerable: true, get: function () { return __importDefault(tr_js_1).default; } });
|
||||
var ua_js_1 = require("./ua.cjs");
|
||||
Object.defineProperty(exports, "ua", { enumerable: true, get: function () { return __importDefault(ua_js_1).default; } });
|
||||
var uk_js_1 = require("./uk.cjs");
|
||||
Object.defineProperty(exports, "uk", { enumerable: true, get: function () { return __importDefault(uk_js_1).default; } });
|
||||
var ur_js_1 = require("./ur.cjs");
|
||||
Object.defineProperty(exports, "ur", { enumerable: true, get: function () { return __importDefault(ur_js_1).default; } });
|
||||
var vi_js_1 = require("./vi.cjs");
|
||||
@@ -96,5 +82,3 @@ var zh_CN_js_1 = require("./zh-CN.cjs");
|
||||
Object.defineProperty(exports, "zhCN", { enumerable: true, get: function () { return __importDefault(zh_CN_js_1).default; } });
|
||||
var zh_TW_js_1 = require("./zh-TW.cjs");
|
||||
Object.defineProperty(exports, "zhTW", { enumerable: true, get: function () { return __importDefault(zh_TW_js_1).default; } });
|
||||
var yo_js_1 = require("./yo.cjs");
|
||||
Object.defineProperty(exports, "yo", { enumerable: true, get: function () { return __importDefault(yo_js_1).default; } });
|
||||
|
||||
-8
@@ -1,10 +1,8 @@
|
||||
export { default as ar } from "./ar.cjs";
|
||||
export { default as az } from "./az.cjs";
|
||||
export { default as be } from "./be.cjs";
|
||||
export { default as bg } from "./bg.cjs";
|
||||
export { default as ca } from "./ca.cjs";
|
||||
export { default as cs } from "./cs.cjs";
|
||||
export { default as da } from "./da.cjs";
|
||||
export { default as de } from "./de.cjs";
|
||||
export { default as en } from "./en.cjs";
|
||||
export { default as eo } from "./eo.cjs";
|
||||
@@ -16,14 +14,10 @@ export { default as frCA } from "./fr-CA.cjs";
|
||||
export { default as he } from "./he.cjs";
|
||||
export { default as hu } from "./hu.cjs";
|
||||
export { default as id } from "./id.cjs";
|
||||
export { default as is } from "./is.cjs";
|
||||
export { default as it } from "./it.cjs";
|
||||
export { default as ja } from "./ja.cjs";
|
||||
export { default as ka } from "./ka.cjs";
|
||||
export { default as kh } from "./kh.cjs";
|
||||
export { default as km } from "./km.cjs";
|
||||
export { default as ko } from "./ko.cjs";
|
||||
export { default as lt } from "./lt.cjs";
|
||||
export { default as mk } from "./mk.cjs";
|
||||
export { default as ms } from "./ms.cjs";
|
||||
export { default as nl } from "./nl.cjs";
|
||||
@@ -39,9 +33,7 @@ export { default as ta } from "./ta.cjs";
|
||||
export { default as th } from "./th.cjs";
|
||||
export { default as tr } from "./tr.cjs";
|
||||
export { default as ua } from "./ua.cjs";
|
||||
export { default as uk } from "./uk.cjs";
|
||||
export { default as ur } from "./ur.cjs";
|
||||
export { default as vi } from "./vi.cjs";
|
||||
export { default as zhCN } from "./zh-CN.cjs";
|
||||
export { default as zhTW } from "./zh-TW.cjs";
|
||||
export { default as yo } from "./yo.cjs";
|
||||
|
||||
-8
@@ -1,10 +1,8 @@
|
||||
export { default as ar } from "./ar.js";
|
||||
export { default as az } from "./az.js";
|
||||
export { default as be } from "./be.js";
|
||||
export { default as bg } from "./bg.js";
|
||||
export { default as ca } from "./ca.js";
|
||||
export { default as cs } from "./cs.js";
|
||||
export { default as da } from "./da.js";
|
||||
export { default as de } from "./de.js";
|
||||
export { default as en } from "./en.js";
|
||||
export { default as eo } from "./eo.js";
|
||||
@@ -16,14 +14,10 @@ export { default as frCA } from "./fr-CA.js";
|
||||
export { default as he } from "./he.js";
|
||||
export { default as hu } from "./hu.js";
|
||||
export { default as id } from "./id.js";
|
||||
export { default as is } from "./is.js";
|
||||
export { default as it } from "./it.js";
|
||||
export { default as ja } from "./ja.js";
|
||||
export { default as ka } from "./ka.js";
|
||||
export { default as kh } from "./kh.js";
|
||||
export { default as km } from "./km.js";
|
||||
export { default as ko } from "./ko.js";
|
||||
export { default as lt } from "./lt.js";
|
||||
export { default as mk } from "./mk.js";
|
||||
export { default as ms } from "./ms.js";
|
||||
export { default as nl } from "./nl.js";
|
||||
@@ -39,9 +33,7 @@ export { default as ta } from "./ta.js";
|
||||
export { default as th } from "./th.js";
|
||||
export { default as tr } from "./tr.js";
|
||||
export { default as ua } from "./ua.js";
|
||||
export { default as uk } from "./uk.js";
|
||||
export { default as ur } from "./ur.js";
|
||||
export { default as vi } from "./vi.js";
|
||||
export { default as zhCN } from "./zh-CN.js";
|
||||
export { default as zhTW } from "./zh-TW.js";
|
||||
export { default as yo } from "./yo.js";
|
||||
|
||||
-8
@@ -1,10 +1,8 @@
|
||||
export { default as ar } from "./ar.js";
|
||||
export { default as az } from "./az.js";
|
||||
export { default as be } from "./be.js";
|
||||
export { default as bg } from "./bg.js";
|
||||
export { default as ca } from "./ca.js";
|
||||
export { default as cs } from "./cs.js";
|
||||
export { default as da } from "./da.js";
|
||||
export { default as de } from "./de.js";
|
||||
export { default as en } from "./en.js";
|
||||
export { default as eo } from "./eo.js";
|
||||
@@ -16,14 +14,10 @@ export { default as frCA } from "./fr-CA.js";
|
||||
export { default as he } from "./he.js";
|
||||
export { default as hu } from "./hu.js";
|
||||
export { default as id } from "./id.js";
|
||||
export { default as is } from "./is.js";
|
||||
export { default as it } from "./it.js";
|
||||
export { default as ja } from "./ja.js";
|
||||
export { default as ka } from "./ka.js";
|
||||
export { default as kh } from "./kh.js";
|
||||
export { default as km } from "./km.js";
|
||||
export { default as ko } from "./ko.js";
|
||||
export { default as lt } from "./lt.js";
|
||||
export { default as mk } from "./mk.js";
|
||||
export { default as ms } from "./ms.js";
|
||||
export { default as nl } from "./nl.js";
|
||||
@@ -39,9 +33,7 @@ export { default as ta } from "./ta.js";
|
||||
export { default as th } from "./th.js";
|
||||
export { default as tr } from "./tr.js";
|
||||
export { default as ua } from "./ua.js";
|
||||
export { default as uk } from "./uk.js";
|
||||
export { default as ur } from "./ur.js";
|
||||
export { default as vi } from "./vi.js";
|
||||
export { default as zhCN } from "./zh-CN.js";
|
||||
export { default as zhTW } from "./zh-TW.js";
|
||||
export { default as yo } from "./yo.js";
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -139,4 +139,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+137
-6
@@ -1,12 +1,143 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = default_1;
|
||||
const km_js_1 = __importDefault(require("./km.cjs"));
|
||||
/** @deprecated Use `km` instead. */
|
||||
const util = __importStar(require("../core/util.cjs"));
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
|
||||
file: { unit: "បៃ", verb: "គួរមាន" },
|
||||
array: { unit: "ធាតុ", verb: "គួរមាន" },
|
||||
set: { unit: "ធាតុ", verb: "គួរមាន" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "អារេ (Array)";
|
||||
}
|
||||
if (data === null) {
|
||||
return "គ្មានតម្លៃ (null)";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: "ទិន្នន័យបញ្ចូល",
|
||||
email: "អាសយដ្ឋានអ៊ីមែល",
|
||||
url: "URL",
|
||||
emoji: "សញ្ញាអារម្មណ៍",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
|
||||
date: "កាលបរិច្ឆេទ ISO",
|
||||
time: "ម៉ោង ISO",
|
||||
duration: "រយៈពេល ISO",
|
||||
ipv4: "អាសយដ្ឋាន IPv4",
|
||||
ipv6: "អាសយដ្ឋាន IPv6",
|
||||
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
|
||||
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
|
||||
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
|
||||
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
|
||||
json_string: "ខ្សែអក្សរ JSON",
|
||||
e164: "លេខ E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "ទិន្នន័យបញ្ចូល",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
|
||||
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
if (_issue.format === "starts_with") {
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
|
||||
}
|
||||
if (_issue.format === "ends_with")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
|
||||
return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
||||
case "invalid_element":
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
||||
default:
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
||||
}
|
||||
};
|
||||
};
|
||||
function default_1() {
|
||||
return (0, km_js_1.default)();
|
||||
return {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.js";
|
||||
/** @deprecated Use `km` instead. */
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
|
||||
+115
-3
@@ -1,5 +1,117 @@
|
||||
import km from "./km.js";
|
||||
/** @deprecated Use `km` instead. */
|
||||
import * as util from "../core/util.js";
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
|
||||
file: { unit: "បៃ", verb: "គួរមាន" },
|
||||
array: { unit: "ធាតុ", verb: "គួរមាន" },
|
||||
set: { unit: "ធាតុ", verb: "គួរមាន" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "អារេ (Array)";
|
||||
}
|
||||
if (data === null) {
|
||||
return "គ្មានតម្លៃ (null)";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: "ទិន្នន័យបញ្ចូល",
|
||||
email: "អាសយដ្ឋានអ៊ីមែល",
|
||||
url: "URL",
|
||||
emoji: "សញ្ញាអារម្មណ៍",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
|
||||
date: "កាលបរិច្ឆេទ ISO",
|
||||
time: "ម៉ោង ISO",
|
||||
duration: "រយៈពេល ISO",
|
||||
ipv4: "អាសយដ្ឋាន IPv4",
|
||||
ipv6: "អាសយដ្ឋាន IPv6",
|
||||
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
|
||||
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
|
||||
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
|
||||
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
|
||||
json_string: "ខ្សែអក្សរ JSON",
|
||||
e164: "លេខ E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "ទិន្នន័យបញ្ចូល",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
|
||||
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
if (_issue.format === "starts_with") {
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
|
||||
}
|
||||
if (_issue.format === "ends_with")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
|
||||
return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
||||
case "invalid_element":
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
|
||||
default:
|
||||
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
|
||||
}
|
||||
};
|
||||
};
|
||||
export default function () {
|
||||
return km();
|
||||
return {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
|
||||
-1
@@ -145,4 +145,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -142,4 +142,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+8
-9
@@ -27,10 +27,10 @@ exports.default = default_1;
|
||||
const util = __importStar(require("../core/util.cjs"));
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "tekens", verb: "te hebben" },
|
||||
file: { unit: "bytes", verb: "te hebben" },
|
||||
array: { unit: "elementen", verb: "te hebben" },
|
||||
set: { unit: "elementen", verb: "te hebben" },
|
||||
string: { unit: "tekens" },
|
||||
file: { unit: "bytes" },
|
||||
array: { unit: "elementen" },
|
||||
set: { unit: "elementen" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
@@ -97,16 +97,16 @@ const error = () => {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"}`;
|
||||
return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
|
||||
return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"} bevat`;
|
||||
return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `Te klein: verwacht dat ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} bevat`;
|
||||
}
|
||||
return `Te klein: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
|
||||
return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+8
-8
@@ -1,10 +1,10 @@
|
||||
import * as util from "../core/util.js";
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "tekens", verb: "te hebben" },
|
||||
file: { unit: "bytes", verb: "te hebben" },
|
||||
array: { unit: "elementen", verb: "te hebben" },
|
||||
set: { unit: "elementen", verb: "te hebben" },
|
||||
string: { unit: "tekens" },
|
||||
file: { unit: "bytes" },
|
||||
array: { unit: "elementen" },
|
||||
set: { unit: "elementen" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
@@ -71,16 +71,16 @@ const error = () => {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"}`;
|
||||
return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
|
||||
return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"} bevat`;
|
||||
return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `Te klein: verwacht dat ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} bevat`;
|
||||
}
|
||||
return `Te klein: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
|
||||
return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -146,4 +146,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -188,4 +188,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -142,4 +142,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
+137
-6
@@ -1,12 +1,143 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = default_1;
|
||||
const uk_js_1 = __importDefault(require("./uk.cjs"));
|
||||
/** @deprecated Use `uk` instead. */
|
||||
const util = __importStar(require("../core/util.cjs"));
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "символів", verb: "матиме" },
|
||||
file: { unit: "байтів", verb: "матиме" },
|
||||
array: { unit: "елементів", verb: "матиме" },
|
||||
set: { unit: "елементів", verb: "матиме" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "число";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "масив";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: "вхідні дані",
|
||||
email: "адреса електронної пошти",
|
||||
url: "URL",
|
||||
emoji: "емодзі",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "дата та час ISO",
|
||||
date: "дата ISO",
|
||||
time: "час ISO",
|
||||
duration: "тривалість ISO",
|
||||
ipv4: "адреса IPv4",
|
||||
ipv6: "адреса IPv6",
|
||||
cidrv4: "діапазон IPv4",
|
||||
cidrv6: "діапазон IPv6",
|
||||
base64: "рядок у кодуванні base64",
|
||||
base64url: "рядок у кодуванні base64url",
|
||||
json_string: "рядок JSON",
|
||||
e164: "номер E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "вхідні дані",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${parsedType(issue.input)}`;
|
||||
// return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `Неправильні вхідні дані: очікується ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `Неправильна опція: очікується одне з ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
|
||||
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
if (_issue.format === "starts_with")
|
||||
return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
|
||||
if (_issue.format === "ends_with")
|
||||
return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `Неправильний рядок: повинен містити "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
|
||||
return `Неправильний ${Nouns[_issue.format] ?? issue.format}`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `Неправильне число: повинно бути кратним ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `Нерозпізнаний ключ${issue.keys.length > 1 ? "і" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `Неправильний ключ у ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "Неправильні вхідні дані";
|
||||
case "invalid_element":
|
||||
return `Неправильне значення у ${issue.origin}`;
|
||||
default:
|
||||
return `Неправильні вхідні дані`;
|
||||
}
|
||||
};
|
||||
};
|
||||
function default_1() {
|
||||
return (0, uk_js_1.default)();
|
||||
return {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.js";
|
||||
/** @deprecated Use `uk` instead. */
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
|
||||
+115
-3
@@ -1,5 +1,117 @@
|
||||
import uk from "./uk.js";
|
||||
/** @deprecated Use `uk` instead. */
|
||||
import * as util from "../core/util.js";
|
||||
const error = () => {
|
||||
const Sizable = {
|
||||
string: { unit: "символів", verb: "матиме" },
|
||||
file: { unit: "байтів", verb: "матиме" },
|
||||
array: { unit: "елементів", verb: "матиме" },
|
||||
set: { unit: "елементів", verb: "матиме" },
|
||||
};
|
||||
function getSizing(origin) {
|
||||
return Sizable[origin] ?? null;
|
||||
}
|
||||
const parsedType = (data) => {
|
||||
const t = typeof data;
|
||||
switch (t) {
|
||||
case "number": {
|
||||
return Number.isNaN(data) ? "NaN" : "число";
|
||||
}
|
||||
case "object": {
|
||||
if (Array.isArray(data)) {
|
||||
return "масив";
|
||||
}
|
||||
if (data === null) {
|
||||
return "null";
|
||||
}
|
||||
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
||||
return data.constructor.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return t;
|
||||
};
|
||||
const Nouns = {
|
||||
regex: "вхідні дані",
|
||||
email: "адреса електронної пошти",
|
||||
url: "URL",
|
||||
emoji: "емодзі",
|
||||
uuid: "UUID",
|
||||
uuidv4: "UUIDv4",
|
||||
uuidv6: "UUIDv6",
|
||||
nanoid: "nanoid",
|
||||
guid: "GUID",
|
||||
cuid: "cuid",
|
||||
cuid2: "cuid2",
|
||||
ulid: "ULID",
|
||||
xid: "XID",
|
||||
ksuid: "KSUID",
|
||||
datetime: "дата та час ISO",
|
||||
date: "дата ISO",
|
||||
time: "час ISO",
|
||||
duration: "тривалість ISO",
|
||||
ipv4: "адреса IPv4",
|
||||
ipv6: "адреса IPv6",
|
||||
cidrv4: "діапазон IPv4",
|
||||
cidrv6: "діапазон IPv6",
|
||||
base64: "рядок у кодуванні base64",
|
||||
base64url: "рядок у кодуванні base64url",
|
||||
json_string: "рядок JSON",
|
||||
e164: "номер E.164",
|
||||
jwt: "JWT",
|
||||
template_literal: "вхідні дані",
|
||||
};
|
||||
return (issue) => {
|
||||
switch (issue.code) {
|
||||
case "invalid_type":
|
||||
return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${parsedType(issue.input)}`;
|
||||
// return `Неправильні вхідні дані: очікується ${issue.expected}, отримано ${util.getParsedType(issue.input)}`;
|
||||
case "invalid_value":
|
||||
if (issue.values.length === 1)
|
||||
return `Неправильні вхідні дані: очікується ${util.stringifyPrimitive(issue.values[0])}`;
|
||||
return `Неправильна опція: очікується одне з ${util.joinValues(issue.values, "|")}`;
|
||||
case "too_big": {
|
||||
const adj = issue.inclusive ? "<=" : "<";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing)
|
||||
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
|
||||
return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
|
||||
}
|
||||
case "too_small": {
|
||||
const adj = issue.inclusive ? ">=" : ">";
|
||||
const sizing = getSizing(issue.origin);
|
||||
if (sizing) {
|
||||
return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
||||
}
|
||||
return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
|
||||
}
|
||||
case "invalid_format": {
|
||||
const _issue = issue;
|
||||
if (_issue.format === "starts_with")
|
||||
return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
|
||||
if (_issue.format === "ends_with")
|
||||
return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
|
||||
if (_issue.format === "includes")
|
||||
return `Неправильний рядок: повинен містити "${_issue.includes}"`;
|
||||
if (_issue.format === "regex")
|
||||
return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
|
||||
return `Неправильний ${Nouns[_issue.format] ?? issue.format}`;
|
||||
}
|
||||
case "not_multiple_of":
|
||||
return `Неправильне число: повинно бути кратним ${issue.divisor}`;
|
||||
case "unrecognized_keys":
|
||||
return `Нерозпізнаний ключ${issue.keys.length > 1 ? "і" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
||||
case "invalid_key":
|
||||
return `Неправильний ключ у ${issue.origin}`;
|
||||
case "invalid_union":
|
||||
return "Неправильні вхідні дані";
|
||||
case "invalid_element":
|
||||
return `Неправильне значення у ${issue.origin}`;
|
||||
default:
|
||||
return `Неправильні вхідні дані`;
|
||||
}
|
||||
};
|
||||
};
|
||||
export default function () {
|
||||
return uk();
|
||||
return {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -140,4 +140,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
-1
@@ -141,4 +141,3 @@ function default_1() {
|
||||
localeError: error(),
|
||||
};
|
||||
}
|
||||
module.exports = exports.default;
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
import type * as errors from "../core/errors.cjs";
|
||||
declare function _default(): {
|
||||
export default function (): {
|
||||
localeError: errors.$ZodErrorMap;
|
||||
};
|
||||
export = _default;
|
||||
|
||||
Reference in New Issue
Block a user