@evolu/common 8.2.0 → 8.3.0
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 +1285 -734
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1057 -193
- 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 +1598 -712
- 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
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatadores de erros do Evolu Type em português brasileiro.
|
|
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
|
+
|
|
75
|
+
return `O valor ${safelyStringifyUnknownValue(error.value)} não é do tipo ${typeOf}.`;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const formatPlainObjectRootError = (
|
|
79
|
+
reason:
|
|
80
|
+
ObjectNotObjectError["reason"] | ObjectUnexpectedPrototypeError["reason"],
|
|
81
|
+
): string =>
|
|
82
|
+
reason.kind === "NotObject"
|
|
83
|
+
? `O valor ${safelyStringifyUnknownValue(reason.value)} não é um objeto.`
|
|
84
|
+
: "O valor é um objeto, mas uma saída de Object deve ser um objeto simples ou ter um protótipo nulo.";
|
|
85
|
+
|
|
86
|
+
/** Formata um NeverError em português brasileiro. */
|
|
87
|
+
export const formatNeverError: TypeErrorFormatter<NeverError> = (error) =>
|
|
88
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é válido para o tipo Never.`;
|
|
89
|
+
|
|
90
|
+
/** Formata um TypeOfError de String em português brasileiro. */
|
|
91
|
+
export const formatStringError: TypeErrorFormatter<TypeOfError<"String">> =
|
|
92
|
+
formatTypeOfError;
|
|
93
|
+
|
|
94
|
+
/** Formata um TemplateLiteralError em português brasileiro. */
|
|
95
|
+
export const formatTemplateLiteralError: TypeErrorFormatter<
|
|
96
|
+
TemplateLiteralError
|
|
97
|
+
> = (error) =>
|
|
98
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não corresponde ao literal de modelo.`;
|
|
99
|
+
|
|
100
|
+
/** Formata um TypeOfError de Number em português brasileiro. */
|
|
101
|
+
export const formatNumberError: TypeErrorFormatter<TypeOfError<"Number">> =
|
|
102
|
+
formatTypeOfError;
|
|
103
|
+
|
|
104
|
+
/** Formata um TypeOfError de BigInt em português brasileiro. */
|
|
105
|
+
export const formatBigIntError: TypeErrorFormatter<TypeOfError<"BigInt">> =
|
|
106
|
+
formatTypeOfError;
|
|
107
|
+
|
|
108
|
+
/** Formata um TypeOfError de Boolean em português brasileiro. */
|
|
109
|
+
export const formatBooleanError: TypeErrorFormatter<TypeOfError<"Boolean">> =
|
|
110
|
+
formatTypeOfError;
|
|
111
|
+
|
|
112
|
+
/** Formata um TypeOfError de Symbol em português brasileiro. */
|
|
113
|
+
export const formatSymbolError: TypeErrorFormatter<TypeOfError<"Symbol">> =
|
|
114
|
+
formatTypeOfError;
|
|
115
|
+
|
|
116
|
+
/** Formata um TypeOfError de Function em português brasileiro. */
|
|
117
|
+
export const formatFunctionError: TypeErrorFormatter<TypeOfError<"Function">> =
|
|
118
|
+
formatTypeOfError;
|
|
119
|
+
|
|
120
|
+
/** Formata um EvoluTypeError em português brasileiro. */
|
|
121
|
+
export const formatEvoluTypeError: TypeErrorFormatter<EvoluTypeError> = (
|
|
122
|
+
error,
|
|
123
|
+
) => `O valor ${safelyStringifyUnknownValue(error.value)} não é um Evolu Type.`;
|
|
124
|
+
|
|
125
|
+
/** Formata um ObjectTagError em português brasileiro. */
|
|
126
|
+
export const formatObjectTagError: TypeErrorFormatter<ObjectTagError> = (
|
|
127
|
+
error,
|
|
128
|
+
) =>
|
|
129
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não possui a tag de objeto esperada ${safelyStringifyUnknownValue(error.expected)}.`;
|
|
130
|
+
|
|
131
|
+
/** Formata um InstanceOfError em português brasileiro. */
|
|
132
|
+
export const formatInstanceOfError: TypeErrorFormatter<InstanceOfError> = (
|
|
133
|
+
error,
|
|
134
|
+
) =>
|
|
135
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é uma instância de ${error.constructorName}.`;
|
|
136
|
+
|
|
137
|
+
/** Formata um LiteralError em português brasileiro. */
|
|
138
|
+
export const formatLiteralError: TypeErrorFormatter<LiteralError> = (error) =>
|
|
139
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é estritamente igual ao literal esperado: ${globalThis.String(error.expected)}.`;
|
|
140
|
+
|
|
141
|
+
/** Formata um UnionError em português brasileiro. */
|
|
142
|
+
export const formatUnionError: TypeErrorFormatter<UnionError> = () =>
|
|
143
|
+
"Um valor não corresponde a nenhuma variante permitida.";
|
|
144
|
+
|
|
145
|
+
/** Formata um DateIsoError em português brasileiro. */
|
|
146
|
+
export const formatDateIsoError: TypeErrorFormatter<DateIsoError> = (error) =>
|
|
147
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é uma string de data e hora ISO canônica.`;
|
|
148
|
+
|
|
149
|
+
/** Formata um DateIsoFromDateError em português brasileiro. */
|
|
150
|
+
export const formatDateIsoFromDateError: TypeErrorFormatter<
|
|
151
|
+
DateIsoFromDateError
|
|
152
|
+
> = () => "Date não pode ser representado como DateIso.";
|
|
153
|
+
|
|
154
|
+
/** Formata um DecimalStringError em português brasileiro. */
|
|
155
|
+
export const formatDecimalStringError: TypeErrorFormatter<
|
|
156
|
+
DecimalStringError
|
|
157
|
+
> = (error) =>
|
|
158
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser uma string decimal canônica.`;
|
|
159
|
+
|
|
160
|
+
/** Formata um Int64Error em português brasileiro. */
|
|
161
|
+
export const formatInt64Error: TypeErrorFormatter<Int64Error> = (error) =>
|
|
162
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é um inteiro com sinal de 64 bits (Int64) válido.`;
|
|
163
|
+
|
|
164
|
+
/** Formata um UInt64Error em português brasileiro. */
|
|
165
|
+
export const formatUInt64Error: TypeErrorFormatter<UInt64Error> = (error) =>
|
|
166
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é um inteiro sem sinal de 64 bits (UInt64) válido.`;
|
|
167
|
+
|
|
168
|
+
/** Formata um Int64StringError em português brasileiro. */
|
|
169
|
+
export const formatInt64StringError: TypeErrorFormatter<Int64StringError> = (
|
|
170
|
+
error,
|
|
171
|
+
) =>
|
|
172
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é uma string Int64 válida.`;
|
|
173
|
+
|
|
174
|
+
/** Formata um CapitalizedError em português brasileiro. */
|
|
175
|
+
export const formatCapitalizedError: TypeErrorFormatter<CapitalizedError> = (
|
|
176
|
+
error,
|
|
177
|
+
) =>
|
|
178
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve começar com letra maiúscula.`;
|
|
179
|
+
|
|
180
|
+
/** Formata um TrimmedError em português brasileiro. */
|
|
181
|
+
export const formatTrimmedError: TypeErrorFormatter<TrimmedError> = (error) =>
|
|
182
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve estar sem espaços nas extremidades.`;
|
|
183
|
+
|
|
184
|
+
/** Formata um MinLengthError em português brasileiro. */
|
|
185
|
+
export const formatMinLengthError: TypeErrorFormatter<MinLengthError> = (
|
|
186
|
+
error,
|
|
187
|
+
) =>
|
|
188
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não atende ao comprimento mínimo de ${error.min}.`;
|
|
189
|
+
|
|
190
|
+
/** Formata um MaxLengthError em português brasileiro. */
|
|
191
|
+
export const formatMaxLengthError: TypeErrorFormatter<MaxLengthError> = (
|
|
192
|
+
error,
|
|
193
|
+
) =>
|
|
194
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} excede o comprimento máximo de ${error.max}.`;
|
|
195
|
+
|
|
196
|
+
/** Formata um LengthError em português brasileiro. */
|
|
197
|
+
export const formatLengthError: TypeErrorFormatter<LengthError> = (error) =>
|
|
198
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não tem o comprimento exigido de ${error.exact}.`;
|
|
199
|
+
|
|
200
|
+
/** Formata um RegexError em português brasileiro. */
|
|
201
|
+
export const formatRegexError: TypeErrorFormatter<RegexError> = (error) =>
|
|
202
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não corresponde a /${error.source}/${error.flags}.`;
|
|
203
|
+
|
|
204
|
+
/** Formata um Base64UrlError em português brasileiro. */
|
|
205
|
+
export const formatBase64UrlError: TypeErrorFormatter<Base64UrlError> = (
|
|
206
|
+
error,
|
|
207
|
+
) =>
|
|
208
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é uma string Base64Url válida.`;
|
|
209
|
+
|
|
210
|
+
/** Formata um NameError em português brasileiro. */
|
|
211
|
+
export const formatNameError: TypeErrorFormatter<NameError> = (error) =>
|
|
212
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é um Name válido.`;
|
|
213
|
+
|
|
214
|
+
/** Formata um MnemonicError em português brasileiro. */
|
|
215
|
+
export const formatMnemonicError: TypeErrorFormatter<MnemonicError> = (error) =>
|
|
216
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é uma mnemônica BIP39 em inglês válida.`;
|
|
217
|
+
|
|
218
|
+
/** Formata um IdError em português brasileiro. */
|
|
219
|
+
export const formatIdError: TypeErrorFormatter<IdError> = (error) =>
|
|
220
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é um Id válido.`;
|
|
221
|
+
|
|
222
|
+
/** Formata um TableIdError em português brasileiro. */
|
|
223
|
+
export const formatTableIdError: TypeErrorFormatter<TableIdError> = (error) =>
|
|
224
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não é um Id válido para a tabela ${error.table}.`;
|
|
225
|
+
|
|
226
|
+
/** Formata um NonNegativeError em português brasileiro. */
|
|
227
|
+
export const formatNonNegativeError: TypeErrorFormatter<NonNegativeError> = (
|
|
228
|
+
error,
|
|
229
|
+
) =>
|
|
230
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser não negativo (>= 0).`;
|
|
231
|
+
|
|
232
|
+
/** Formata um NonNegativeDecimalStringError em português brasileiro. */
|
|
233
|
+
export const formatNonNegativeDecimalStringError: TypeErrorFormatter<
|
|
234
|
+
NonNegativeDecimalStringError
|
|
235
|
+
> = (error) =>
|
|
236
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser uma string decimal não negativa.`;
|
|
237
|
+
|
|
238
|
+
/** Formata um PositiveError em português brasileiro. */
|
|
239
|
+
export const formatPositiveError: TypeErrorFormatter<PositiveError> = (error) =>
|
|
240
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser positivo (> 0).`;
|
|
241
|
+
|
|
242
|
+
/** Formata um PositiveDecimalStringError em português brasileiro. */
|
|
243
|
+
export const formatPositiveDecimalStringError: TypeErrorFormatter<
|
|
244
|
+
PositiveDecimalStringError
|
|
245
|
+
> = (error) =>
|
|
246
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser uma string decimal positiva.`;
|
|
247
|
+
|
|
248
|
+
/** Formata um NonPositiveError em português brasileiro. */
|
|
249
|
+
export const formatNonPositiveError: TypeErrorFormatter<NonPositiveError> = (
|
|
250
|
+
error,
|
|
251
|
+
) =>
|
|
252
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser não positivo (<= 0).`;
|
|
253
|
+
|
|
254
|
+
/** Formata um NonPositiveDecimalStringError em português brasileiro. */
|
|
255
|
+
export const formatNonPositiveDecimalStringError: TypeErrorFormatter<
|
|
256
|
+
NonPositiveDecimalStringError
|
|
257
|
+
> = (error) =>
|
|
258
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser uma string decimal não positiva.`;
|
|
259
|
+
|
|
260
|
+
/** Formata um NegativeError em português brasileiro. */
|
|
261
|
+
export const formatNegativeError: TypeErrorFormatter<NegativeError> = (error) =>
|
|
262
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser negativo (< 0).`;
|
|
263
|
+
|
|
264
|
+
/** Formata um NegativeDecimalStringError em português brasileiro. */
|
|
265
|
+
export const formatNegativeDecimalStringError: TypeErrorFormatter<
|
|
266
|
+
NegativeDecimalStringError
|
|
267
|
+
> = (error) =>
|
|
268
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser uma string decimal negativa.`;
|
|
269
|
+
|
|
270
|
+
/** Formata um IntError em português brasileiro. */
|
|
271
|
+
export const formatIntError: TypeErrorFormatter<IntError> = (error) =>
|
|
272
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser um inteiro seguro.`;
|
|
273
|
+
|
|
274
|
+
/** Formata um GreaterThanError em português brasileiro. */
|
|
275
|
+
export const formatGreaterThanError: TypeErrorFormatter<GreaterThanError> = (
|
|
276
|
+
error,
|
|
277
|
+
) =>
|
|
278
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser maior que ${error.min}.`;
|
|
279
|
+
|
|
280
|
+
/** Formata um GreaterThanOrEqualToError em português brasileiro. */
|
|
281
|
+
export const formatGreaterThanOrEqualToError: TypeErrorFormatter<
|
|
282
|
+
GreaterThanOrEqualToError
|
|
283
|
+
> = (error) =>
|
|
284
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser maior ou igual a ${error.min}.`;
|
|
285
|
+
|
|
286
|
+
/** Formata um LessThanError em português brasileiro. */
|
|
287
|
+
export const formatLessThanError: TypeErrorFormatter<LessThanError> = (error) =>
|
|
288
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser menor que ${error.max}.`;
|
|
289
|
+
|
|
290
|
+
/** Formata um LessThanOrEqualToError em português brasileiro. */
|
|
291
|
+
export const formatLessThanOrEqualToError: TypeErrorFormatter<
|
|
292
|
+
LessThanOrEqualToError
|
|
293
|
+
> = (error) =>
|
|
294
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser menor ou igual a ${error.max}.`;
|
|
295
|
+
|
|
296
|
+
/** Formata um NonNaNError em português brasileiro. */
|
|
297
|
+
export const formatNonNaNError: TypeErrorFormatter<NonNaNError> = () =>
|
|
298
|
+
"O valor não deve ser NaN.";
|
|
299
|
+
|
|
300
|
+
/** Formata um FiniteError em português brasileiro. */
|
|
301
|
+
export const formatFiniteError: TypeErrorFormatter<FiniteError> = (error) =>
|
|
302
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser finito.`;
|
|
303
|
+
|
|
304
|
+
/** Formata um MultipleOfError em português brasileiro. */
|
|
305
|
+
export const formatMultipleOfError: TypeErrorFormatter<MultipleOfError> = (
|
|
306
|
+
error,
|
|
307
|
+
) =>
|
|
308
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve ser múltiplo de ${error.divisor}.`;
|
|
309
|
+
|
|
310
|
+
/** Formata um BetweenError em português brasileiro. */
|
|
311
|
+
export const formatBetweenError: TypeErrorFormatter<BetweenError> = (error) =>
|
|
312
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} deve estar entre ${error.min} e ${error.max}, inclusive.`;
|
|
313
|
+
|
|
314
|
+
/** Formata um ArrayError em português brasileiro. */
|
|
315
|
+
export const formatArrayError: TypeErrorFormatter<ArrayError> = (error) => {
|
|
316
|
+
if (error.reason.kind === "NotArray") {
|
|
317
|
+
return `O valor ${safelyStringifyUnknownValue(error.reason.value)} não é um array.`;
|
|
318
|
+
}
|
|
319
|
+
const issue = error.reason.issues[0];
|
|
320
|
+
|
|
321
|
+
switch (issue.kind) {
|
|
322
|
+
case "Hole":
|
|
323
|
+
return `Falta um elemento do array no índice ${issue.index}.`;
|
|
324
|
+
case "Accessor":
|
|
325
|
+
return `O elemento do array no índice ${issue.index} deve ser uma propriedade de dados.`;
|
|
326
|
+
case "ExcessProperty":
|
|
327
|
+
return "Uma propriedade extra de Array não é permitida. Remova-a ou use outro Type.";
|
|
328
|
+
case "Element":
|
|
329
|
+
return `O elemento do array no índice ${issue.index} é inválido.`;
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
/** Formata um SetError em português brasileiro. */
|
|
334
|
+
export const formatSetError: TypeErrorFormatter<SetError> = (error) => {
|
|
335
|
+
if (error.reason.kind === "NotSet") {
|
|
336
|
+
return `O valor ${safelyStringifyUnknownValue(error.reason.value)} não é um Set.`;
|
|
337
|
+
}
|
|
338
|
+
if (error.reason.kind === "UnexpectedPrototype") {
|
|
339
|
+
return "O valor é uma instância de uma subclasse de Set, mas uma saída de Set deve ser uma instância direta de Set.";
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
const issue = error.reason.issues[0];
|
|
343
|
+
|
|
344
|
+
switch (issue.kind) {
|
|
345
|
+
case "ExcessProperty":
|
|
346
|
+
return `A propriedade extra de Set ${safelyStringifyUnknownValue(issue.key)} não é permitida.`;
|
|
347
|
+
case "Element":
|
|
348
|
+
return `O elemento de Set no índice ${issue.index} é inválido.`;
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
/** Formata um TupleError em português brasileiro. */
|
|
353
|
+
export const formatTupleError: TypeErrorFormatter<
|
|
354
|
+
TupleError | TupleElementsError<TypeError>
|
|
355
|
+
> = (error) => {
|
|
356
|
+
if (error.reason.kind === "NotArray") {
|
|
357
|
+
return `O valor ${safelyStringifyUnknownValue(error.reason.value)} não é uma tupla.`;
|
|
358
|
+
}
|
|
359
|
+
if (error.reason.kind === "InvalidLength") {
|
|
360
|
+
return `Uma Tuple deve conter exatamente ${error.reason.expected} elementos, mas o valor contém ${error.reason.actual}.`;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
const issue = error.reason.issues[0];
|
|
364
|
+
|
|
365
|
+
switch (issue.kind) {
|
|
366
|
+
case "Hole":
|
|
367
|
+
return `Falta um elemento de Tuple no índice ${issue.index}.`;
|
|
368
|
+
case "Accessor":
|
|
369
|
+
return `O elemento de Tuple no índice ${issue.index} deve ser uma propriedade de dados.`;
|
|
370
|
+
case "ExcessProperty":
|
|
371
|
+
return "Uma propriedade extra de Tuple não é permitida. Remova-a ou use outro Type.";
|
|
372
|
+
case "Element":
|
|
373
|
+
return `O elemento de Tuple no índice ${issue.index} é inválido.`;
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
/** Formata um RecordError em português brasileiro. */
|
|
378
|
+
export const formatRecordError: TypeErrorFormatter<RecordError> = (error) => {
|
|
379
|
+
if (error.reason.kind === "NotRecord") {
|
|
380
|
+
return `O valor ${safelyStringifyUnknownValue(error.reason.value)} não é um Record.`;
|
|
381
|
+
}
|
|
382
|
+
if (error.reason.kind === "NotPlainRecord") {
|
|
383
|
+
return "O valor é um objeto, mas uma saída de Record deve ser um objeto simples ou ter um protótipo nulo.";
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
const issue = error.reason.issues[0];
|
|
387
|
+
|
|
388
|
+
switch (issue.kind) {
|
|
389
|
+
case "Key":
|
|
390
|
+
return `A chave de propriedade ${safelyStringifyUnknownValue(issue.key)} é inválida.`;
|
|
391
|
+
case "Value":
|
|
392
|
+
return `O valor da propriedade ${safelyStringifyUnknownValue(issue.key)} é inválido.`;
|
|
393
|
+
case "Accessor":
|
|
394
|
+
return `A propriedade de Record ${safelyStringifyUnknownValue(issue.key)} deve ser uma propriedade de dados.`;
|
|
395
|
+
case "NonEnumerable":
|
|
396
|
+
return `A propriedade de Record ${safelyStringifyUnknownValue(issue.key)} deve ser enumerável.`;
|
|
397
|
+
case "Collision":
|
|
398
|
+
return `As chaves de Record ${safelyStringifyUnknownValue(issue.previousKey)} e ${safelyStringifyUnknownValue(issue.key)} decodificam para a mesma chave ${safelyStringifyUnknownValue(issue.outputKey)}.`;
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
/** Formata um ObjectError em português brasileiro. */
|
|
403
|
+
export const formatObjectError: TypeErrorFormatter<ObjectError> = (error) => {
|
|
404
|
+
if (error.reason.kind !== "Properties") {
|
|
405
|
+
return formatPlainObjectRootError(error.reason);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
const key = Reflect.ownKeys(error.reason.errors).at(0);
|
|
409
|
+
assertNonNullable(key);
|
|
410
|
+
const propertyError = error.reason.errors[key];
|
|
411
|
+
assertNonNullable(propertyError);
|
|
412
|
+
|
|
413
|
+
if (propertyError.type === "ObjectPropertyAccess") {
|
|
414
|
+
switch ((propertyError as ObjectPropertyAccessError).reason) {
|
|
415
|
+
case "Accessor":
|
|
416
|
+
return "Uma propriedade de Object deve ser uma propriedade de dados. Materialize os valores de acesso em dados simples antes de usar este Type ou use outro Type.";
|
|
417
|
+
case "NonEnumerable":
|
|
418
|
+
return "Uma propriedade de Object deve ser enumerável. Torne-a enumerável ou use outro Type.";
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
if (propertyError.type === "ObjectMissingProperty") {
|
|
422
|
+
return `Falta a propriedade obrigatória ${safelyStringifyUnknownValue(key)}.`;
|
|
423
|
+
}
|
|
424
|
+
if (typeof key === "symbol") {
|
|
425
|
+
return "Uma chave de propriedade de Object deve ser uma string. Remova a propriedade symbol ou use outro Type.";
|
|
426
|
+
}
|
|
427
|
+
if (propertyError.type === "ObjectExcessProperty") {
|
|
428
|
+
return `A propriedade ${safelyStringifyUnknownValue(key)} não é permitida. Remova-a ou use outro Type.`;
|
|
429
|
+
}
|
|
430
|
+
return `A propriedade ${safelyStringifyUnknownValue(key)} é inválida.`;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
/** Formata um DiscriminatedUnionError em português brasileiro. */
|
|
434
|
+
export const formatDiscriminatedUnionError: TypeErrorFormatter<
|
|
435
|
+
DiscriminatedUnionError
|
|
436
|
+
> = (error) => {
|
|
437
|
+
switch (error.reason.kind) {
|
|
438
|
+
case "Object":
|
|
439
|
+
return formatPlainObjectRootError(error.reason.error.reason);
|
|
440
|
+
case "PropertyAccess": {
|
|
441
|
+
const property = `A propriedade discriminadora ${safelyStringifyUnknownValue(error.reason.key)}`;
|
|
442
|
+
if (error.reason.reason === "Accessor") {
|
|
443
|
+
return `${property} deve ser uma propriedade de dados.`;
|
|
444
|
+
}
|
|
445
|
+
if (error.reason.reason === "Inherited") {
|
|
446
|
+
return `${property} deve ser uma propriedade própria.`;
|
|
447
|
+
}
|
|
448
|
+
return `${property} deve ser enumerável.`;
|
|
449
|
+
}
|
|
450
|
+
case "Discriminator":
|
|
451
|
+
return `A propriedade discriminadora ${safelyStringifyUnknownValue(error.reason.key)} tem um valor inesperado ${safelyStringifyUnknownValue(error.reason.value)}.`;
|
|
452
|
+
case "Member":
|
|
453
|
+
return `A variante selecionada ${safelyStringifyUnknownValue(error.reason.discriminator)} é inválida.`;
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
/** Formata um JsonValueError em português brasileiro. */
|
|
458
|
+
export const formatJsonValueError: TypeErrorFormatter<JsonValueError> = (
|
|
459
|
+
error,
|
|
460
|
+
) => {
|
|
461
|
+
const issue = error.reason.issues[0];
|
|
462
|
+
|
|
463
|
+
switch (issue.kind) {
|
|
464
|
+
case "InvalidType":
|
|
465
|
+
return `O valor ${safelyStringifyUnknownValue(issue.value)} não é um valor JSON.`;
|
|
466
|
+
case "NonFiniteNumber":
|
|
467
|
+
return "Um número JSON deve ser finito.";
|
|
468
|
+
case "UnexpectedPrototype":
|
|
469
|
+
return "O valor é um objeto, mas um objeto JsonValue deve ser um objeto simples ou ter um protótipo nulo.";
|
|
470
|
+
case "Accessor":
|
|
471
|
+
return "Uma propriedade JSON deve ser uma propriedade de dados. Materialize os valores de acesso em dados simples antes de usar este Type ou use outro Type.";
|
|
472
|
+
case "NonEnumerable":
|
|
473
|
+
return "Uma propriedade de objeto JSON deve ser enumerável. Remova-a ou use outro Type.";
|
|
474
|
+
case "SymbolProperty":
|
|
475
|
+
return "Uma chave de propriedade de objeto JSON deve ser uma string. Remova a propriedade symbol ou use outro Type.";
|
|
476
|
+
case "Hole":
|
|
477
|
+
return "Falta um elemento do array JSON.";
|
|
478
|
+
case "ExcessProperty":
|
|
479
|
+
return "Uma propriedade extra de array JSON não é permitida. Remova-a ou use outro Type.";
|
|
480
|
+
case "CircularReference":
|
|
481
|
+
return "Um JsonValue não deve conter referências circulares.";
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
/** Formata um JsonError em português brasileiro. */
|
|
486
|
+
export const formatJsonError: TypeErrorFormatter<JsonError> = (error) =>
|
|
487
|
+
`O valor ${safelyStringifyUnknownValue(error.value)} não pode ser analisado como um JsonValue.`;
|