@evolu/common 8.2.0 → 8.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/Function.d.ts +1 -0
- package/dist/src/Function.d.ts.map +1 -1
- package/dist/src/Http.d.ts +9 -0
- package/dist/src/Http.d.ts.map +1 -1
- package/dist/src/Object.d.ts +1 -0
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/RefCount.d.ts +1 -0
- package/dist/src/RefCount.d.ts.map +1 -1
- package/dist/src/Relation.d.ts +2 -0
- package/dist/src/Relation.d.ts.map +1 -1
- package/dist/src/Resource.d.ts +1 -0
- package/dist/src/Resource.d.ts.map +1 -1
- package/dist/src/Result.d.ts +383 -548
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +296 -46
- package/dist/src/StackTrace.d.ts +1 -0
- package/dist/src/StackTrace.d.ts.map +1 -1
- package/dist/src/Task.d.ts +985 -1069
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +1007 -156
- package/dist/src/Time.d.ts +1 -0
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Type.d.ts +1322 -793
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1192 -244
- package/dist/src/intl/_en.d.ts +126 -0
- package/dist/src/intl/_en.d.ts.map +1 -0
- package/dist/src/intl/_en.js +267 -0
- package/dist/src/intl/ar.d.ts +117 -0
- package/dist/src/intl/ar.d.ts.map +1 -0
- package/dist/src/intl/ar.js +245 -0
- package/dist/src/intl/bn.d.ts +117 -0
- package/dist/src/intl/bn.d.ts.map +1 -0
- package/dist/src/intl/bn.js +258 -0
- package/dist/src/intl/ca.d.ts +117 -0
- package/dist/src/intl/ca.d.ts.map +1 -0
- package/dist/src/intl/ca.js +258 -0
- package/dist/src/intl/cs.d.ts +20 -7
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +54 -27
- package/dist/src/intl/da.d.ts +117 -0
- package/dist/src/intl/da.d.ts.map +1 -0
- package/dist/src/intl/da.js +258 -0
- package/dist/src/intl/de.d.ts +117 -0
- package/dist/src/intl/de.d.ts.map +1 -0
- package/dist/src/intl/de.js +258 -0
- package/dist/src/intl/el.d.ts +117 -0
- package/dist/src/intl/el.d.ts.map +1 -0
- package/dist/src/intl/el.js +265 -0
- package/dist/src/intl/es.d.ts +117 -0
- package/dist/src/intl/es.d.ts.map +1 -0
- package/dist/src/intl/es.js +258 -0
- package/dist/src/intl/fa.d.ts +117 -0
- package/dist/src/intl/fa.d.ts.map +1 -0
- package/dist/src/intl/fa.js +258 -0
- package/dist/src/intl/fi.d.ts +117 -0
- package/dist/src/intl/fi.d.ts.map +1 -0
- package/dist/src/intl/fi.js +258 -0
- package/dist/src/intl/fil.d.ts +117 -0
- package/dist/src/intl/fil.d.ts.map +1 -0
- package/dist/src/intl/fil.js +258 -0
- package/dist/src/intl/fr.d.ts +117 -0
- package/dist/src/intl/fr.d.ts.map +1 -0
- package/dist/src/intl/fr.js +258 -0
- package/dist/src/intl/he.d.ts +117 -0
- package/dist/src/intl/he.d.ts.map +1 -0
- package/dist/src/intl/he.js +258 -0
- package/dist/src/intl/hi.d.ts +117 -0
- package/dist/src/intl/hi.d.ts.map +1 -0
- package/dist/src/intl/hi.js +258 -0
- package/dist/src/intl/hr.d.ts +117 -0
- package/dist/src/intl/hr.d.ts.map +1 -0
- package/dist/src/intl/hr.js +265 -0
- package/dist/src/intl/hu.d.ts +63 -0
- package/dist/src/intl/hu.d.ts.map +1 -0
- package/dist/src/intl/hu.js +204 -0
- package/dist/src/intl/id.d.ts +117 -0
- package/dist/src/intl/id.d.ts.map +1 -0
- package/dist/src/intl/id.js +258 -0
- package/dist/src/intl/index.d.ts +42 -0
- package/dist/src/intl/index.d.ts.map +1 -1
- package/dist/src/intl/index.js +42 -0
- package/dist/src/intl/it.d.ts +117 -0
- package/dist/src/intl/it.d.ts.map +1 -0
- package/dist/src/intl/it.js +258 -0
- package/dist/src/intl/ja.d.ts +117 -0
- package/dist/src/intl/ja.d.ts.map +1 -0
- package/dist/src/intl/ja.js +258 -0
- package/dist/src/intl/ko.d.ts +117 -0
- package/dist/src/intl/ko.d.ts.map +1 -0
- package/dist/src/intl/ko.js +258 -0
- package/dist/src/intl/ml.d.ts +117 -0
- package/dist/src/intl/ml.d.ts.map +1 -0
- package/dist/src/intl/ml.js +258 -0
- package/dist/src/intl/mr.d.ts +117 -0
- package/dist/src/intl/mr.d.ts.map +1 -0
- package/dist/src/intl/mr.js +258 -0
- package/dist/src/intl/ms.d.ts +117 -0
- package/dist/src/intl/ms.d.ts.map +1 -0
- package/dist/src/intl/ms.js +245 -0
- package/dist/src/intl/nb.d.ts +63 -0
- package/dist/src/intl/nb.d.ts.map +1 -0
- package/dist/src/intl/nb.js +191 -0
- package/dist/src/intl/nl.d.ts +117 -0
- package/dist/src/intl/nl.d.ts.map +1 -0
- package/dist/src/intl/nl.js +258 -0
- package/dist/src/intl/pa.d.ts +117 -0
- package/dist/src/intl/pa.d.ts.map +1 -0
- package/dist/src/intl/pa.js +258 -0
- package/dist/src/intl/pl.d.ts +117 -0
- package/dist/src/intl/pl.d.ts.map +1 -0
- package/dist/src/intl/pl.js +242 -0
- package/dist/src/intl/pt-BR.d.ts +117 -0
- package/dist/src/intl/pt-BR.d.ts.map +1 -0
- package/dist/src/intl/pt-BR.js +258 -0
- package/dist/src/intl/pt.d.ts +117 -0
- package/dist/src/intl/pt.d.ts.map +1 -0
- package/dist/src/intl/pt.js +246 -0
- package/dist/src/intl/ro.d.ts +117 -0
- package/dist/src/intl/ro.d.ts.map +1 -0
- package/dist/src/intl/ro.js +258 -0
- package/dist/src/intl/sk.d.ts +117 -0
- package/dist/src/intl/sk.d.ts.map +1 -0
- package/dist/src/intl/sk.js +244 -0
- package/dist/src/intl/sl.d.ts +117 -0
- package/dist/src/intl/sl.d.ts.map +1 -0
- package/dist/src/intl/sl.js +258 -0
- package/dist/src/intl/sv.d.ts +117 -0
- package/dist/src/intl/sv.d.ts.map +1 -0
- package/dist/src/intl/sv.js +258 -0
- package/dist/src/intl/sw.d.ts +63 -0
- package/dist/src/intl/sw.d.ts.map +1 -0
- package/dist/src/intl/sw.js +191 -0
- package/dist/src/intl/ta.d.ts +117 -0
- package/dist/src/intl/ta.d.ts.map +1 -0
- package/dist/src/intl/ta.js +258 -0
- package/dist/src/intl/te.d.ts +117 -0
- package/dist/src/intl/te.d.ts.map +1 -0
- package/dist/src/intl/te.js +258 -0
- package/dist/src/intl/th.d.ts +117 -0
- package/dist/src/intl/th.d.ts.map +1 -0
- package/dist/src/intl/th.js +258 -0
- package/dist/src/intl/tr.d.ts +117 -0
- package/dist/src/intl/tr.d.ts.map +1 -0
- package/dist/src/intl/tr.js +255 -0
- package/dist/src/intl/uk.d.ts +117 -0
- package/dist/src/intl/uk.d.ts.map +1 -0
- package/dist/src/intl/uk.js +258 -0
- package/dist/src/intl/ur.d.ts +117 -0
- package/dist/src/intl/ur.d.ts.map +1 -0
- package/dist/src/intl/ur.js +245 -0
- package/dist/src/intl/vi.d.ts +117 -0
- package/dist/src/intl/vi.d.ts.map +1 -0
- package/dist/src/intl/vi.js +255 -0
- package/dist/src/intl/zh-CN.d.ts +117 -0
- package/dist/src/intl/zh-CN.d.ts.map +1 -0
- package/dist/src/intl/zh-CN.js +258 -0
- package/dist/src/intl/zh-TW.d.ts +117 -0
- package/dist/src/intl/zh-TW.d.ts.map +1 -0
- package/dist/src/intl/zh-TW.js +258 -0
- package/dist/src/local-first/Owner.d.ts +156 -62
- package/dist/src/local-first/Owner.d.ts.map +1 -1
- package/dist/src/local-first/Owner.js +119 -20
- package/package.json +1 -1
- package/src/Function.ts +2 -0
- package/src/Http.ts +9 -0
- package/src/Object.ts +2 -0
- package/src/RefCount.ts +2 -0
- package/src/Relation.ts +4 -0
- package/src/Resource.ts +2 -0
- package/src/Result.ts +397 -560
- package/src/StackTrace.ts +2 -0
- package/src/Task.ts +1143 -1222
- package/src/Time.ts +2 -0
- package/src/Type.ts +1759 -794
- package/src/intl/_en.ts +497 -0
- package/src/intl/ar.ts +417 -0
- package/src/intl/bn.ts +486 -0
- package/src/intl/ca.ts +488 -0
- package/src/intl/cs.ts +95 -31
- package/src/intl/da.ts +488 -0
- package/src/intl/de.ts +488 -0
- package/src/intl/el.ts +494 -0
- package/src/intl/es.ts +488 -0
- package/src/intl/fa.ts +487 -0
- package/src/intl/fi.ts +487 -0
- package/src/intl/fil.ts +488 -0
- package/src/intl/fr.ts +488 -0
- package/src/intl/he.ts +486 -0
- package/src/intl/hi.ts +487 -0
- package/src/intl/hr.ts +494 -0
- package/src/intl/hu.ts +387 -0
- package/src/intl/id.ts +487 -0
- package/src/intl/index.ts +42 -0
- package/src/intl/it.ts +488 -0
- package/src/intl/ja.ts +488 -0
- package/src/intl/ko.ts +487 -0
- package/src/intl/ml.ts +487 -0
- package/src/intl/mr.ts +487 -0
- package/src/intl/ms.ts +410 -0
- package/src/intl/nb.ts +364 -0
- package/src/intl/nl.ts +488 -0
- package/src/intl/pa.ts +487 -0
- package/src/intl/pl.ts +450 -0
- package/src/intl/pt-BR.ts +487 -0
- package/src/intl/pt.ts +424 -0
- package/src/intl/ro.ts +488 -0
- package/src/intl/sk.ts +412 -0
- package/src/intl/sl.ts +487 -0
- package/src/intl/sv.ts +488 -0
- package/src/intl/sw.ts +324 -0
- package/src/intl/ta.ts +487 -0
- package/src/intl/te.ts +487 -0
- package/src/intl/th.ts +484 -0
- package/src/intl/tr.ts +487 -0
- package/src/intl/uk.ts +488 -0
- package/src/intl/ur.ts +410 -0
- package/src/intl/vi.ts +435 -0
- package/src/intl/zh-CN.ts +482 -0
- package/src/intl/zh-TW.ts +482 -0
- package/src/local-first/Owner.ts +156 -62
package/src/intl/ar.ts
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arabic Evolu Type error formatters.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { assertNonNullable } from "../Assert.ts";
|
|
8
|
+
import { safelyStringifyUnknownValue } from "../String.ts";
|
|
9
|
+
import type {
|
|
10
|
+
ArrayError,
|
|
11
|
+
Base64UrlError,
|
|
12
|
+
BetweenError,
|
|
13
|
+
CapitalizedError,
|
|
14
|
+
DateIsoError,
|
|
15
|
+
DateIsoFromDateError,
|
|
16
|
+
DecimalStringError,
|
|
17
|
+
DiscriminatedUnionError,
|
|
18
|
+
EvoluTypeError,
|
|
19
|
+
FiniteError,
|
|
20
|
+
GreaterThanError,
|
|
21
|
+
GreaterThanOrEqualToError,
|
|
22
|
+
InstanceOfError,
|
|
23
|
+
Int64Error,
|
|
24
|
+
Int64StringError,
|
|
25
|
+
IntError,
|
|
26
|
+
IdError,
|
|
27
|
+
JsonError,
|
|
28
|
+
JsonValueError,
|
|
29
|
+
LengthError,
|
|
30
|
+
LessThanError,
|
|
31
|
+
LessThanOrEqualToError,
|
|
32
|
+
LiteralError,
|
|
33
|
+
MaxLengthError,
|
|
34
|
+
MinLengthError,
|
|
35
|
+
MnemonicError,
|
|
36
|
+
MultipleOfError,
|
|
37
|
+
NegativeDecimalStringError,
|
|
38
|
+
NegativeError,
|
|
39
|
+
NameError,
|
|
40
|
+
NeverError,
|
|
41
|
+
NonNaNError,
|
|
42
|
+
NonNegativeDecimalStringError,
|
|
43
|
+
NonNegativeError,
|
|
44
|
+
NonPositiveDecimalStringError,
|
|
45
|
+
NonPositiveError,
|
|
46
|
+
ObjectError,
|
|
47
|
+
ObjectNotObjectError,
|
|
48
|
+
ObjectPropertyAccessError,
|
|
49
|
+
ObjectTagError,
|
|
50
|
+
ObjectUnexpectedPrototypeError,
|
|
51
|
+
PositiveDecimalStringError,
|
|
52
|
+
PositiveError,
|
|
53
|
+
RecordError,
|
|
54
|
+
RegexError,
|
|
55
|
+
SetError,
|
|
56
|
+
TableIdError,
|
|
57
|
+
TemplateLiteralError,
|
|
58
|
+
TrimmedError,
|
|
59
|
+
TupleElementsError,
|
|
60
|
+
TupleError,
|
|
61
|
+
TypeError,
|
|
62
|
+
TypeErrorFormatter,
|
|
63
|
+
TypeOfError,
|
|
64
|
+
UInt64Error,
|
|
65
|
+
UnionError,
|
|
66
|
+
} from "../Type.ts";
|
|
67
|
+
|
|
68
|
+
const formatTypeOfError = (
|
|
69
|
+
error: TypeOfError<
|
|
70
|
+
"String" | "Number" | "BigInt" | "Boolean" | "Symbol" | "Function"
|
|
71
|
+
>,
|
|
72
|
+
): string => {
|
|
73
|
+
const typeOf = error.expected.toLowerCase();
|
|
74
|
+
return `القيمة ${safelyStringifyUnknownValue(error.value)} ليست من النوع ${typeOf}.`;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const formatPlainObjectRootError = (
|
|
78
|
+
reason:
|
|
79
|
+
ObjectNotObjectError["reason"] | ObjectUnexpectedPrototypeError["reason"],
|
|
80
|
+
): string =>
|
|
81
|
+
reason.kind === "NotObject"
|
|
82
|
+
? `القيمة ${safelyStringifyUnknownValue(reason.value)} ليست كائناً.`
|
|
83
|
+
: "القيمة كائن، لكن مخرج Object يجب أن يكون كائناً عادياً أو ذا نموذج أولي فارغ.";
|
|
84
|
+
|
|
85
|
+
/** Formats a NeverError in Arabic. */
|
|
86
|
+
export const formatNeverError: TypeErrorFormatter<NeverError> = (error) =>
|
|
87
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} غير صالحة للنوع Never.`;
|
|
88
|
+
/** Formats a String TypeOfError in Arabic. */
|
|
89
|
+
export const formatStringError: TypeErrorFormatter<TypeOfError<"String">> =
|
|
90
|
+
formatTypeOfError;
|
|
91
|
+
/** Formats a TemplateLiteralError in Arabic. */
|
|
92
|
+
export const formatTemplateLiteralError: TypeErrorFormatter<
|
|
93
|
+
TemplateLiteralError
|
|
94
|
+
> = (error) =>
|
|
95
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تطابق القالب النصي.`;
|
|
96
|
+
/** Formats a Number TypeOfError in Arabic. */
|
|
97
|
+
export const formatNumberError: TypeErrorFormatter<TypeOfError<"Number">> =
|
|
98
|
+
formatTypeOfError;
|
|
99
|
+
/** Formats a BigInt TypeOfError in Arabic. */
|
|
100
|
+
export const formatBigIntError: TypeErrorFormatter<TypeOfError<"BigInt">> =
|
|
101
|
+
formatTypeOfError;
|
|
102
|
+
/** Formats a Boolean TypeOfError in Arabic. */
|
|
103
|
+
export const formatBooleanError: TypeErrorFormatter<TypeOfError<"Boolean">> =
|
|
104
|
+
formatTypeOfError;
|
|
105
|
+
/** Formats a Symbol TypeOfError in Arabic. */
|
|
106
|
+
export const formatSymbolError: TypeErrorFormatter<TypeOfError<"Symbol">> =
|
|
107
|
+
formatTypeOfError;
|
|
108
|
+
/** Formats a Function TypeOfError in Arabic. */
|
|
109
|
+
export const formatFunctionError: TypeErrorFormatter<TypeOfError<"Function">> =
|
|
110
|
+
formatTypeOfError;
|
|
111
|
+
/** Formats an EvoluTypeError in Arabic. */
|
|
112
|
+
export const formatEvoluTypeError: TypeErrorFormatter<EvoluTypeError> = (
|
|
113
|
+
error,
|
|
114
|
+
) => `القيمة ${safelyStringifyUnknownValue(error.value)} ليست من نوع Evolu.`;
|
|
115
|
+
/** Formats an ObjectTagError in Arabic. */
|
|
116
|
+
export const formatObjectTagError: TypeErrorFormatter<ObjectTagError> = (
|
|
117
|
+
error,
|
|
118
|
+
) =>
|
|
119
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تحمل وسم الكائن المتوقع ${safelyStringifyUnknownValue(error.expected)}.`;
|
|
120
|
+
/** Formats an InstanceOfError in Arabic. */
|
|
121
|
+
export const formatInstanceOfError: TypeErrorFormatter<InstanceOfError> = (
|
|
122
|
+
error,
|
|
123
|
+
) =>
|
|
124
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست مثيلاً لـ ${error.constructorName}.`;
|
|
125
|
+
/** Formats a LiteralError in Arabic. */
|
|
126
|
+
export const formatLiteralError: TypeErrorFormatter<LiteralError> = (error) =>
|
|
127
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تساوي حرفياً القيمة المتوقعة: ${globalThis.String(error.expected)}.`;
|
|
128
|
+
/** Formats a UnionError in Arabic. */
|
|
129
|
+
export const formatUnionError: TypeErrorFormatter<UnionError> = () =>
|
|
130
|
+
"القيمة لا تطابق أي متغير مسموح به.";
|
|
131
|
+
/** Formats a DateIsoError in Arabic. */
|
|
132
|
+
export const formatDateIsoError: TypeErrorFormatter<DateIsoError> = (error) =>
|
|
133
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست سلسلة تاريخ ووقت ISO معيارية.`;
|
|
134
|
+
/** Formats a DateIsoFromDateError in Arabic. */
|
|
135
|
+
export const formatDateIsoFromDateError: TypeErrorFormatter<
|
|
136
|
+
DateIsoFromDateError
|
|
137
|
+
> = () => "لا يمكن تمثيل Date على أنه DateIso.";
|
|
138
|
+
/** Formats a DecimalStringError in Arabic. */
|
|
139
|
+
export const formatDecimalStringError: TypeErrorFormatter<
|
|
140
|
+
DecimalStringError
|
|
141
|
+
> = (error) =>
|
|
142
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سلسلة عشرية معيارية.`;
|
|
143
|
+
/** Formats an Int64Error in Arabic. */
|
|
144
|
+
export const formatInt64Error: TypeErrorFormatter<Int64Error> = (error) =>
|
|
145
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست عدداً صحيحاً موقّعاً صالحاً من 64 بت (Int64).`;
|
|
146
|
+
/** Formats a UInt64Error in Arabic. */
|
|
147
|
+
export const formatUInt64Error: TypeErrorFormatter<UInt64Error> = (error) =>
|
|
148
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست عدداً صحيحاً غير موقّع صالحاً من 64 بت (UInt64).`;
|
|
149
|
+
/** Formats an Int64StringError in Arabic. */
|
|
150
|
+
export const formatInt64StringError: TypeErrorFormatter<Int64StringError> = (
|
|
151
|
+
error,
|
|
152
|
+
) =>
|
|
153
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست سلسلة Int64 صالحة.`;
|
|
154
|
+
/** Formats a CapitalizedError in Arabic. */
|
|
155
|
+
export const formatCapitalizedError: TypeErrorFormatter<CapitalizedError> = (
|
|
156
|
+
error,
|
|
157
|
+
) =>
|
|
158
|
+
`يجب أن تبدأ القيمة ${safelyStringifyUnknownValue(error.value)} بحرف كبير.`;
|
|
159
|
+
/** Formats a TrimmedError in Arabic. */
|
|
160
|
+
export const formatTrimmedError: TypeErrorFormatter<TrimmedError> = (error) =>
|
|
161
|
+
`يجب إزالة المسافات من بداية القيمة ${safelyStringifyUnknownValue(error.value)} ونهايتها.`;
|
|
162
|
+
/** Formats a MinLengthError in Arabic. */
|
|
163
|
+
export const formatMinLengthError: TypeErrorFormatter<MinLengthError> = (
|
|
164
|
+
error,
|
|
165
|
+
) =>
|
|
166
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تحقق الطول الأدنى ${error.min}.`;
|
|
167
|
+
/** Formats a MaxLengthError in Arabic. */
|
|
168
|
+
export const formatMaxLengthError: TypeErrorFormatter<MaxLengthError> = (
|
|
169
|
+
error,
|
|
170
|
+
) =>
|
|
171
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} تتجاوز الطول الأقصى ${error.max}.`;
|
|
172
|
+
/** Formats a LengthError in Arabic. */
|
|
173
|
+
export const formatLengthError: TypeErrorFormatter<LengthError> = (error) =>
|
|
174
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تملك الطول المطلوب ${error.exact}.`;
|
|
175
|
+
/** Formats a RegexError in Arabic. */
|
|
176
|
+
export const formatRegexError: TypeErrorFormatter<RegexError> = (error) =>
|
|
177
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} لا تطابق /${error.source}/${error.flags}.`;
|
|
178
|
+
/** Formats a Base64UrlError in Arabic. */
|
|
179
|
+
export const formatBase64UrlError: TypeErrorFormatter<Base64UrlError> = (
|
|
180
|
+
error,
|
|
181
|
+
) =>
|
|
182
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست سلسلة Base64Url صالحة.`;
|
|
183
|
+
/** Formats a NameError in Arabic. */
|
|
184
|
+
export const formatNameError: TypeErrorFormatter<NameError> = (error) =>
|
|
185
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست Name صالحة.`;
|
|
186
|
+
/** Formats a MnemonicError in Arabic. */
|
|
187
|
+
export const formatMnemonicError: TypeErrorFormatter<MnemonicError> = (error) =>
|
|
188
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست عبارة BIP39 إنجليزية صالحة.`;
|
|
189
|
+
/** Formats an IdError in Arabic. */
|
|
190
|
+
export const formatIdError: TypeErrorFormatter<IdError> = (error) =>
|
|
191
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست Id صالحة.`;
|
|
192
|
+
/** Formats a TableIdError in Arabic. */
|
|
193
|
+
export const formatTableIdError: TypeErrorFormatter<TableIdError> = (error) =>
|
|
194
|
+
`القيمة ${safelyStringifyUnknownValue(error.value)} ليست Id صالحة للجدول ${error.table}.`;
|
|
195
|
+
/** Formats a NonNegativeError in Arabic. */
|
|
196
|
+
export const formatNonNegativeError: TypeErrorFormatter<NonNegativeError> = (
|
|
197
|
+
error,
|
|
198
|
+
) =>
|
|
199
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} غير سالبة (>= 0).`;
|
|
200
|
+
/** Formats a NonNegativeDecimalStringError in Arabic. */
|
|
201
|
+
export const formatNonNegativeDecimalStringError: TypeErrorFormatter<
|
|
202
|
+
NonNegativeDecimalStringError
|
|
203
|
+
> = (error) =>
|
|
204
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سلسلة عشرية غير سالبة.`;
|
|
205
|
+
/** Formats a PositiveError in Arabic. */
|
|
206
|
+
export const formatPositiveError: TypeErrorFormatter<PositiveError> = (error) =>
|
|
207
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} موجبة (> 0).`;
|
|
208
|
+
/** Formats a PositiveDecimalStringError in Arabic. */
|
|
209
|
+
export const formatPositiveDecimalStringError: TypeErrorFormatter<
|
|
210
|
+
PositiveDecimalStringError
|
|
211
|
+
> = (error) =>
|
|
212
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سلسلة عشرية موجبة.`;
|
|
213
|
+
/** Formats a NonPositiveError in Arabic. */
|
|
214
|
+
export const formatNonPositiveError: TypeErrorFormatter<NonPositiveError> = (
|
|
215
|
+
error,
|
|
216
|
+
) =>
|
|
217
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} غير موجبة (<= 0).`;
|
|
218
|
+
/** Formats a NonPositiveDecimalStringError in Arabic. */
|
|
219
|
+
export const formatNonPositiveDecimalStringError: TypeErrorFormatter<
|
|
220
|
+
NonPositiveDecimalStringError
|
|
221
|
+
> = (error) =>
|
|
222
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سلسلة عشرية غير موجبة.`;
|
|
223
|
+
/** Formats a NegativeError in Arabic. */
|
|
224
|
+
export const formatNegativeError: TypeErrorFormatter<NegativeError> = (error) =>
|
|
225
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سالبة (< 0).`;
|
|
226
|
+
/** Formats a NegativeDecimalStringError in Arabic. */
|
|
227
|
+
export const formatNegativeDecimalStringError: TypeErrorFormatter<
|
|
228
|
+
NegativeDecimalStringError
|
|
229
|
+
> = (error) =>
|
|
230
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} سلسلة عشرية سالبة.`;
|
|
231
|
+
/** Formats an IntError in Arabic. */
|
|
232
|
+
export const formatIntError: TypeErrorFormatter<IntError> = (error) =>
|
|
233
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} عدداً صحيحاً آمناً.`;
|
|
234
|
+
/** Formats a GreaterThanError in Arabic. */
|
|
235
|
+
export const formatGreaterThanError: TypeErrorFormatter<GreaterThanError> = (
|
|
236
|
+
error,
|
|
237
|
+
) =>
|
|
238
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} أكبر من ${error.min}.`;
|
|
239
|
+
/** Formats a GreaterThanOrEqualToError in Arabic. */
|
|
240
|
+
export const formatGreaterThanOrEqualToError: TypeErrorFormatter<
|
|
241
|
+
GreaterThanOrEqualToError
|
|
242
|
+
> = (error) =>
|
|
243
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} أكبر من أو تساوي ${error.min}.`;
|
|
244
|
+
/** Formats a LessThanError in Arabic. */
|
|
245
|
+
export const formatLessThanError: TypeErrorFormatter<LessThanError> = (error) =>
|
|
246
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} أصغر من ${error.max}.`;
|
|
247
|
+
/** Formats a LessThanOrEqualToError in Arabic. */
|
|
248
|
+
export const formatLessThanOrEqualToError: TypeErrorFormatter<
|
|
249
|
+
LessThanOrEqualToError
|
|
250
|
+
> = (error) =>
|
|
251
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} أصغر من أو تساوي ${error.max}.`;
|
|
252
|
+
/** Formats a NonNaNError in Arabic. */
|
|
253
|
+
export const formatNonNaNError: TypeErrorFormatter<NonNaNError> = () =>
|
|
254
|
+
"يجب ألا تكون القيمة NaN.";
|
|
255
|
+
/** Formats a FiniteError in Arabic. */
|
|
256
|
+
export const formatFiniteError: TypeErrorFormatter<FiniteError> = (error) =>
|
|
257
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} محدودة.`;
|
|
258
|
+
/** Formats a MultipleOfError in Arabic. */
|
|
259
|
+
export const formatMultipleOfError: TypeErrorFormatter<MultipleOfError> = (
|
|
260
|
+
error,
|
|
261
|
+
) =>
|
|
262
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} مضاعفاً لـ ${error.divisor}.`;
|
|
263
|
+
/** Formats a BetweenError in Arabic. */
|
|
264
|
+
export const formatBetweenError: TypeErrorFormatter<BetweenError> = (error) =>
|
|
265
|
+
`يجب أن تكون القيمة ${safelyStringifyUnknownValue(error.value)} بين ${error.min} و${error.max}، شاملةً.`;
|
|
266
|
+
|
|
267
|
+
/** Formats an ArrayError in Arabic. */
|
|
268
|
+
export const formatArrayError: TypeErrorFormatter<ArrayError> = (error) => {
|
|
269
|
+
if (error.reason.kind === "NotArray")
|
|
270
|
+
return `القيمة ${safelyStringifyUnknownValue(error.reason.value)} ليست مصفوفة.`;
|
|
271
|
+
const issue = error.reason.issues[0];
|
|
272
|
+
switch (issue.kind) {
|
|
273
|
+
case "Hole":
|
|
274
|
+
return `عنصر المصفوفة عند الفهرس ${issue.index} مفقود.`;
|
|
275
|
+
case "Accessor":
|
|
276
|
+
return `يجب أن يكون عنصر المصفوفة عند الفهرس ${issue.index} خاصية بيانات.`;
|
|
277
|
+
case "ExcessProperty":
|
|
278
|
+
return "خاصية Array زائدة غير مسموح بها. أزلها أو استخدم Type مختلفاً.";
|
|
279
|
+
case "Element":
|
|
280
|
+
return `عنصر المصفوفة عند الفهرس ${issue.index} غير صالح.`;
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
/** Formats a SetError in Arabic. */
|
|
285
|
+
export const formatSetError: TypeErrorFormatter<SetError> = (error) => {
|
|
286
|
+
if (error.reason.kind === "NotSet")
|
|
287
|
+
return `القيمة ${safelyStringifyUnknownValue(error.reason.value)} ليست Set.`;
|
|
288
|
+
if (error.reason.kind === "UnexpectedPrototype")
|
|
289
|
+
return "القيمة مثيل لفئة فرعية من Set، لكن مخرج Set يجب أن يكون مثيل Set مباشراً.";
|
|
290
|
+
const issue = error.reason.issues[0];
|
|
291
|
+
switch (issue.kind) {
|
|
292
|
+
case "ExcessProperty":
|
|
293
|
+
return `خاصية Set زائدة ${safelyStringifyUnknownValue(issue.key)} غير مسموح بها.`;
|
|
294
|
+
case "Element":
|
|
295
|
+
return `عنصر Set عند الفهرس ${issue.index} غير صالح.`;
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
/** Formats a TupleError in Arabic. */
|
|
300
|
+
export const formatTupleError: TypeErrorFormatter<
|
|
301
|
+
TupleError | TupleElementsError<TypeError>
|
|
302
|
+
> = (error) => {
|
|
303
|
+
if (error.reason.kind === "NotArray")
|
|
304
|
+
return `القيمة ${safelyStringifyUnknownValue(error.reason.value)} ليست tuple.`;
|
|
305
|
+
if (error.reason.kind === "InvalidLength")
|
|
306
|
+
return `يجب أن يحتوي Tuple على ${error.reason.expected} عناصر بالضبط، لكن القيمة تحتوي على ${error.reason.actual}.`;
|
|
307
|
+
const issue = error.reason.issues[0];
|
|
308
|
+
switch (issue.kind) {
|
|
309
|
+
case "Hole":
|
|
310
|
+
return `عنصر Tuple عند الفهرس ${issue.index} مفقود.`;
|
|
311
|
+
case "Accessor":
|
|
312
|
+
return `يجب أن يكون عنصر Tuple عند الفهرس ${issue.index} خاصية بيانات.`;
|
|
313
|
+
case "ExcessProperty":
|
|
314
|
+
return "خاصية Tuple زائدة غير مسموح بها. أزلها أو استخدم Type مختلفاً.";
|
|
315
|
+
case "Element":
|
|
316
|
+
return `عنصر Tuple عند الفهرس ${issue.index} غير صالح.`;
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
/** Formats a RecordError in Arabic. */
|
|
321
|
+
export const formatRecordError: TypeErrorFormatter<RecordError> = (error) => {
|
|
322
|
+
if (error.reason.kind === "NotRecord")
|
|
323
|
+
return `القيمة ${safelyStringifyUnknownValue(error.reason.value)} ليست Record.`;
|
|
324
|
+
if (error.reason.kind === "NotPlainRecord")
|
|
325
|
+
return "القيمة كائن، لكن مخرج Record يجب أن يكون كائناً عادياً أو ذا نموذج أولي فارغ.";
|
|
326
|
+
const issue = error.reason.issues[0];
|
|
327
|
+
switch (issue.kind) {
|
|
328
|
+
case "Key":
|
|
329
|
+
return `مفتاح الخاصية ${safelyStringifyUnknownValue(issue.key)} غير صالح.`;
|
|
330
|
+
case "Value":
|
|
331
|
+
return `قيمة الخاصية ${safelyStringifyUnknownValue(issue.key)} غير صالحة.`;
|
|
332
|
+
case "Accessor":
|
|
333
|
+
return `يجب أن تكون خاصية Record ${safelyStringifyUnknownValue(issue.key)} خاصية بيانات.`;
|
|
334
|
+
case "NonEnumerable":
|
|
335
|
+
return `يجب أن تكون خاصية Record ${safelyStringifyUnknownValue(issue.key)} قابلة للتعداد.`;
|
|
336
|
+
case "Collision":
|
|
337
|
+
return `مفتاحا Record ${safelyStringifyUnknownValue(issue.previousKey)} و${safelyStringifyUnknownValue(issue.key)} يُفك ترميزهما إلى المفتاح نفسه ${safelyStringifyUnknownValue(issue.outputKey)}.`;
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
/** Formats an ObjectError in Arabic. */
|
|
342
|
+
export const formatObjectError: TypeErrorFormatter<ObjectError> = (error) => {
|
|
343
|
+
if (error.reason.kind !== "Properties")
|
|
344
|
+
return formatPlainObjectRootError(error.reason);
|
|
345
|
+
const key = Reflect.ownKeys(error.reason.errors).at(0);
|
|
346
|
+
assertNonNullable(key);
|
|
347
|
+
const propertyError = error.reason.errors[key];
|
|
348
|
+
assertNonNullable(propertyError);
|
|
349
|
+
if (propertyError.type === "ObjectPropertyAccess") {
|
|
350
|
+
switch ((propertyError as ObjectPropertyAccessError).reason) {
|
|
351
|
+
case "Accessor":
|
|
352
|
+
return "يجب أن تكون خاصية Object خاصية بيانات. حوّل قيم أدوات الوصول إلى بيانات عادية قبل استخدام هذا Type أو استخدم Type مختلفاً.";
|
|
353
|
+
case "NonEnumerable":
|
|
354
|
+
return "يجب أن تكون خاصية Object قابلة للتعداد. اجعلها قابلة للتعداد أو استخدم Type مختلفاً.";
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
if (propertyError.type === "ObjectMissingProperty")
|
|
358
|
+
return `الخاصية المطلوبة ${safelyStringifyUnknownValue(key)} مفقودة.`;
|
|
359
|
+
if (typeof key === "symbol")
|
|
360
|
+
return "يجب أن يكون مفتاح خاصية Object سلسلة نصية. أزل خاصية الرمز أو استخدم Type مختلفاً.";
|
|
361
|
+
if (propertyError.type === "ObjectExcessProperty")
|
|
362
|
+
return `الخاصية ${safelyStringifyUnknownValue(key)} غير مسموح بها. أزلها أو استخدم Type مختلفاً.`;
|
|
363
|
+
return `الخاصية ${safelyStringifyUnknownValue(key)} غير صالحة.`;
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
/** Formats a DiscriminatedUnionError in Arabic. */
|
|
367
|
+
export const formatDiscriminatedUnionError: TypeErrorFormatter<
|
|
368
|
+
DiscriminatedUnionError
|
|
369
|
+
> = (error) => {
|
|
370
|
+
switch (error.reason.kind) {
|
|
371
|
+
case "Object":
|
|
372
|
+
return formatPlainObjectRootError(error.reason.error.reason);
|
|
373
|
+
case "PropertyAccess": {
|
|
374
|
+
const property = `خاصية المميّز ${safelyStringifyUnknownValue(error.reason.key)}`;
|
|
375
|
+
if (error.reason.reason === "Accessor")
|
|
376
|
+
return `${property} يجب أن تكون خاصية بيانات.`;
|
|
377
|
+
if (error.reason.reason === "Inherited")
|
|
378
|
+
return `${property} يجب أن تكون خاصية مملوكة.`;
|
|
379
|
+
return `${property} يجب أن تكون قابلة للتعداد.`;
|
|
380
|
+
}
|
|
381
|
+
case "Discriminator":
|
|
382
|
+
return `خاصية المميّز ${safelyStringifyUnknownValue(error.reason.key)} لها قيمة غير متوقعة ${safelyStringifyUnknownValue(error.reason.value)}.`;
|
|
383
|
+
case "Member":
|
|
384
|
+
return `المتغير المختار ${safelyStringifyUnknownValue(error.reason.discriminator)} غير صالح.`;
|
|
385
|
+
}
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
/** Formats a JsonValueError in Arabic. */
|
|
389
|
+
export const formatJsonValueError: TypeErrorFormatter<JsonValueError> = (
|
|
390
|
+
error,
|
|
391
|
+
) => {
|
|
392
|
+
const issue = error.reason.issues[0];
|
|
393
|
+
switch (issue.kind) {
|
|
394
|
+
case "InvalidType":
|
|
395
|
+
return `القيمة ${safelyStringifyUnknownValue(issue.value)} ليست قيمة JSON.`;
|
|
396
|
+
case "NonFiniteNumber":
|
|
397
|
+
return "يجب أن يكون رقم JSON محدوداً.";
|
|
398
|
+
case "UnexpectedPrototype":
|
|
399
|
+
return "القيمة كائن، لكن كائن JsonValue يجب أن يكون كائناً عادياً أو ذا نموذج أولي فارغ.";
|
|
400
|
+
case "Accessor":
|
|
401
|
+
return "يجب أن تكون خاصية JSON خاصية بيانات. حوّل قيم أدوات الوصول إلى بيانات عادية قبل استخدام هذا Type أو استخدم Type مختلفاً.";
|
|
402
|
+
case "NonEnumerable":
|
|
403
|
+
return "يجب أن تكون خاصية كائن JSON قابلة للتعداد. أزلها أو استخدم Type مختلفاً.";
|
|
404
|
+
case "SymbolProperty":
|
|
405
|
+
return "يجب أن يكون مفتاح خاصية كائن JSON سلسلة نصية. أزل خاصية الرمز أو استخدم Type مختلفاً.";
|
|
406
|
+
case "Hole":
|
|
407
|
+
return "عنصر مصفوفة JSON مفقود.";
|
|
408
|
+
case "ExcessProperty":
|
|
409
|
+
return "خاصية مصفوفة JSON زائدة غير مسموح بها. أزلها أو استخدم Type مختلفاً.";
|
|
410
|
+
case "CircularReference":
|
|
411
|
+
return "يجب ألا تحتوي JsonValue على مراجع دائرية.";
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
/** Formats a JsonError in Arabic. */
|
|
416
|
+
export const formatJsonError: TypeErrorFormatter<JsonError> = (error) =>
|
|
417
|
+
`لا يمكن تحليل القيمة ${safelyStringifyUnknownValue(error.value)} إلى JsonValue.`;
|