@evolu/common 8.1.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/Number.d.ts +66 -6
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +11 -3
- 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/Schedule.d.ts +2 -2
- package/dist/src/Schedule.d.ts.map +1 -1
- package/dist/src/StackTrace.d.ts +1 -0
- package/dist/src/StackTrace.d.ts.map +1 -1
- package/dist/src/Task.d.ts +978 -1061
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +1010 -159
- package/dist/src/Time.d.ts +71 -34
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +77 -1
- package/dist/src/Type.d.ts +1740 -795
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1634 -211
- package/dist/src/Types.d.ts +0 -24
- package/dist/src/Types.d.ts.map +1 -1
- 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 +30 -7
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +65 -28
- 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/Number.ts +85 -14
- 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/Schedule.ts +1 -1
- package/src/StackTrace.ts +2 -0
- package/src/Task.ts +1145 -1225
- package/src/Time.ts +110 -62
- package/src/Type.ts +2842 -835
- package/src/Types.ts +0 -49
- 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 +131 -32
- 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/da.ts
ADDED
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Danske fejlformaterere til Evolu Type.
|
|
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 `Værdien ${safelyStringifyUnknownValue(error.value)} er ikke af typen ${typeOf}.`;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const formatPlainObjectRootError = (
|
|
79
|
+
reason:
|
|
80
|
+
ObjectNotObjectError["reason"] | ObjectUnexpectedPrototypeError["reason"],
|
|
81
|
+
): string =>
|
|
82
|
+
reason.kind === "NotObject"
|
|
83
|
+
? `Værdien ${safelyStringifyUnknownValue(reason.value)} er ikke et objekt.`
|
|
84
|
+
: "Værdien er et objekt, men et Object Output skal være et almindeligt objekt eller have en null-prototype.";
|
|
85
|
+
|
|
86
|
+
/** Formaterer NeverError på dansk. */
|
|
87
|
+
export const formatNeverError: TypeErrorFormatter<NeverError> = (error) =>
|
|
88
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke gyldig for typen Never.`;
|
|
89
|
+
|
|
90
|
+
/** Formaterer String TypeOfError på dansk. */
|
|
91
|
+
export const formatStringError: TypeErrorFormatter<TypeOfError<"String">> =
|
|
92
|
+
formatTypeOfError;
|
|
93
|
+
|
|
94
|
+
/** Formaterer TemplateLiteralError på dansk. */
|
|
95
|
+
export const formatTemplateLiteralError: TypeErrorFormatter<
|
|
96
|
+
TemplateLiteralError
|
|
97
|
+
> = (error) =>
|
|
98
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} matcher ikke skabelonliteralen.`;
|
|
99
|
+
|
|
100
|
+
/** Formaterer Number TypeOfError på dansk. */
|
|
101
|
+
export const formatNumberError: TypeErrorFormatter<TypeOfError<"Number">> =
|
|
102
|
+
formatTypeOfError;
|
|
103
|
+
|
|
104
|
+
/** Formaterer BigInt TypeOfError på dansk. */
|
|
105
|
+
export const formatBigIntError: TypeErrorFormatter<TypeOfError<"BigInt">> =
|
|
106
|
+
formatTypeOfError;
|
|
107
|
+
|
|
108
|
+
/** Formaterer Boolean TypeOfError på dansk. */
|
|
109
|
+
export const formatBooleanError: TypeErrorFormatter<TypeOfError<"Boolean">> =
|
|
110
|
+
formatTypeOfError;
|
|
111
|
+
|
|
112
|
+
/** Formaterer Symbol TypeOfError på dansk. */
|
|
113
|
+
export const formatSymbolError: TypeErrorFormatter<TypeOfError<"Symbol">> =
|
|
114
|
+
formatTypeOfError;
|
|
115
|
+
|
|
116
|
+
/** Formaterer Function TypeOfError på dansk. */
|
|
117
|
+
export const formatFunctionError: TypeErrorFormatter<TypeOfError<"Function">> =
|
|
118
|
+
formatTypeOfError;
|
|
119
|
+
|
|
120
|
+
/** Formaterer EvoluTypeError på dansk. */
|
|
121
|
+
export const formatEvoluTypeError: TypeErrorFormatter<EvoluTypeError> = (
|
|
122
|
+
error,
|
|
123
|
+
) =>
|
|
124
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en Evolu Type.`;
|
|
125
|
+
|
|
126
|
+
/** Formaterer ObjectTagError på dansk. */
|
|
127
|
+
export const formatObjectTagError: TypeErrorFormatter<ObjectTagError> = (
|
|
128
|
+
error,
|
|
129
|
+
) =>
|
|
130
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} har ikke det forventede objekt-tag ${safelyStringifyUnknownValue(error.expected)}.`;
|
|
131
|
+
|
|
132
|
+
/** Formaterer InstanceOfError på dansk. */
|
|
133
|
+
export const formatInstanceOfError: TypeErrorFormatter<InstanceOfError> = (
|
|
134
|
+
error,
|
|
135
|
+
) =>
|
|
136
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en instans af ${error.constructorName}.`;
|
|
137
|
+
|
|
138
|
+
/** Formaterer LiteralError på dansk. */
|
|
139
|
+
export const formatLiteralError: TypeErrorFormatter<LiteralError> = (error) =>
|
|
140
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke strengt lig med den forventede literalværdi: ${globalThis.String(error.expected)}.`;
|
|
141
|
+
|
|
142
|
+
/** Formaterer UnionError på dansk. */
|
|
143
|
+
export const formatUnionError: TypeErrorFormatter<UnionError> = () =>
|
|
144
|
+
"Værdien matcher ingen af de tilladte varianter.";
|
|
145
|
+
|
|
146
|
+
/** Formaterer DateIsoError på dansk. */
|
|
147
|
+
export const formatDateIsoError: TypeErrorFormatter<DateIsoError> = (error) =>
|
|
148
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en kanonisk ISO-dato- og tidsstreng.`;
|
|
149
|
+
|
|
150
|
+
/** Formaterer DateIsoFromDateError på dansk. */
|
|
151
|
+
export const formatDateIsoFromDateError: TypeErrorFormatter<
|
|
152
|
+
DateIsoFromDateError
|
|
153
|
+
> = () => "Date-værdien kan ikke repræsenteres som DateIso.";
|
|
154
|
+
|
|
155
|
+
/** Formaterer DecimalStringError på dansk. */
|
|
156
|
+
export const formatDecimalStringError: TypeErrorFormatter<
|
|
157
|
+
DecimalStringError
|
|
158
|
+
> = (error) =>
|
|
159
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være en kanonisk decimalstreng.`;
|
|
160
|
+
|
|
161
|
+
/** Formaterer Int64Error på dansk. */
|
|
162
|
+
export const formatInt64Error: TypeErrorFormatter<Int64Error> = (error) =>
|
|
163
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldigt 64-bit heltal med fortegn (Int64).`;
|
|
164
|
+
|
|
165
|
+
/** Formaterer UInt64Error på dansk. */
|
|
166
|
+
export const formatUInt64Error: TypeErrorFormatter<UInt64Error> = (error) =>
|
|
167
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldigt 64-bit heltal uden fortegn (UInt64).`;
|
|
168
|
+
|
|
169
|
+
/** Formaterer Int64StringError på dansk. */
|
|
170
|
+
export const formatInt64StringError: TypeErrorFormatter<Int64StringError> = (
|
|
171
|
+
error,
|
|
172
|
+
) =>
|
|
173
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Int64-streng.`;
|
|
174
|
+
|
|
175
|
+
/** Formaterer CapitalizedError på dansk. */
|
|
176
|
+
export const formatCapitalizedError: TypeErrorFormatter<CapitalizedError> = (
|
|
177
|
+
error,
|
|
178
|
+
) =>
|
|
179
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal begynde med stort bogstav.`;
|
|
180
|
+
|
|
181
|
+
/** Formaterer TrimmedError på dansk. */
|
|
182
|
+
export const formatTrimmedError: TypeErrorFormatter<TrimmedError> = (error) =>
|
|
183
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være trimmet.`;
|
|
184
|
+
|
|
185
|
+
/** Formaterer MinLengthError på dansk. */
|
|
186
|
+
export const formatMinLengthError: TypeErrorFormatter<MinLengthError> = (
|
|
187
|
+
error,
|
|
188
|
+
) =>
|
|
189
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} opfylder ikke minimumslængden på ${error.min}.`;
|
|
190
|
+
|
|
191
|
+
/** Formaterer MaxLengthError på dansk. */
|
|
192
|
+
export const formatMaxLengthError: TypeErrorFormatter<MaxLengthError> = (
|
|
193
|
+
error,
|
|
194
|
+
) =>
|
|
195
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} overskrider maksimumslængden på ${error.max}.`;
|
|
196
|
+
|
|
197
|
+
/** Formaterer LengthError på dansk. */
|
|
198
|
+
export const formatLengthError: TypeErrorFormatter<LengthError> = (error) =>
|
|
199
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} har ikke den krævede længde på ${error.exact}.`;
|
|
200
|
+
|
|
201
|
+
/** Formaterer RegexError på dansk. */
|
|
202
|
+
export const formatRegexError: TypeErrorFormatter<RegexError> = (error) =>
|
|
203
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} matcher ikke /${error.source}/${error.flags}.`;
|
|
204
|
+
|
|
205
|
+
/** Formaterer Base64UrlError på dansk. */
|
|
206
|
+
export const formatBase64UrlError: TypeErrorFormatter<Base64UrlError> = (
|
|
207
|
+
error,
|
|
208
|
+
) =>
|
|
209
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Base64Url-streng.`;
|
|
210
|
+
|
|
211
|
+
/** Formaterer NameError på dansk. */
|
|
212
|
+
export const formatNameError: TypeErrorFormatter<NameError> = (error) =>
|
|
213
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldigt Name.`;
|
|
214
|
+
|
|
215
|
+
/** Formaterer MnemonicError på dansk. */
|
|
216
|
+
export const formatMnemonicError: TypeErrorFormatter<MnemonicError> = (error) =>
|
|
217
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig engelsk BIP39-mnemonic.`;
|
|
218
|
+
|
|
219
|
+
/** Formaterer IdError på dansk. */
|
|
220
|
+
export const formatIdError: TypeErrorFormatter<IdError> = (error) =>
|
|
221
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldigt Id.`;
|
|
222
|
+
|
|
223
|
+
/** Formaterer TableIdError på dansk. */
|
|
224
|
+
export const formatTableIdError: TypeErrorFormatter<TableIdError> = (error) =>
|
|
225
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldigt Id for tabellen ${error.table}.`;
|
|
226
|
+
|
|
227
|
+
/** Formaterer NonNegativeError på dansk. */
|
|
228
|
+
export const formatNonNegativeError: TypeErrorFormatter<NonNegativeError> = (
|
|
229
|
+
error,
|
|
230
|
+
) =>
|
|
231
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være ikke-negativ (>= 0).`;
|
|
232
|
+
|
|
233
|
+
/** Formaterer NonNegativeDecimalStringError på dansk. */
|
|
234
|
+
export const formatNonNegativeDecimalStringError: TypeErrorFormatter<
|
|
235
|
+
NonNegativeDecimalStringError
|
|
236
|
+
> = (error) =>
|
|
237
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være en ikke-negativ decimalstreng.`;
|
|
238
|
+
|
|
239
|
+
/** Formaterer PositiveError på dansk. */
|
|
240
|
+
export const formatPositiveError: TypeErrorFormatter<PositiveError> = (error) =>
|
|
241
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være positiv (> 0).`;
|
|
242
|
+
|
|
243
|
+
/** Formaterer PositiveDecimalStringError på dansk. */
|
|
244
|
+
export const formatPositiveDecimalStringError: TypeErrorFormatter<
|
|
245
|
+
PositiveDecimalStringError
|
|
246
|
+
> = (error) =>
|
|
247
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være en positiv decimalstreng.`;
|
|
248
|
+
|
|
249
|
+
/** Formaterer NonPositiveError på dansk. */
|
|
250
|
+
export const formatNonPositiveError: TypeErrorFormatter<NonPositiveError> = (
|
|
251
|
+
error,
|
|
252
|
+
) =>
|
|
253
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være ikke-positiv (<= 0).`;
|
|
254
|
+
|
|
255
|
+
/** Formaterer NonPositiveDecimalStringError på dansk. */
|
|
256
|
+
export const formatNonPositiveDecimalStringError: TypeErrorFormatter<
|
|
257
|
+
NonPositiveDecimalStringError
|
|
258
|
+
> = (error) =>
|
|
259
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være en ikke-positiv decimalstreng.`;
|
|
260
|
+
|
|
261
|
+
/** Formaterer NegativeError på dansk. */
|
|
262
|
+
export const formatNegativeError: TypeErrorFormatter<NegativeError> = (error) =>
|
|
263
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være negativ (< 0).`;
|
|
264
|
+
|
|
265
|
+
/** Formaterer NegativeDecimalStringError på dansk. */
|
|
266
|
+
export const formatNegativeDecimalStringError: TypeErrorFormatter<
|
|
267
|
+
NegativeDecimalStringError
|
|
268
|
+
> = (error) =>
|
|
269
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være en negativ decimalstreng.`;
|
|
270
|
+
|
|
271
|
+
/** Formaterer IntError på dansk. */
|
|
272
|
+
export const formatIntError: TypeErrorFormatter<IntError> = (error) =>
|
|
273
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være et sikkert heltal.`;
|
|
274
|
+
|
|
275
|
+
/** Formaterer GreaterThanError på dansk. */
|
|
276
|
+
export const formatGreaterThanError: TypeErrorFormatter<GreaterThanError> = (
|
|
277
|
+
error,
|
|
278
|
+
) =>
|
|
279
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være større end ${error.min}.`;
|
|
280
|
+
|
|
281
|
+
/** Formaterer GreaterThanOrEqualToError på dansk. */
|
|
282
|
+
export const formatGreaterThanOrEqualToError: TypeErrorFormatter<
|
|
283
|
+
GreaterThanOrEqualToError
|
|
284
|
+
> = (error) =>
|
|
285
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være større end eller lig med ${error.min}.`;
|
|
286
|
+
|
|
287
|
+
/** Formaterer LessThanError på dansk. */
|
|
288
|
+
export const formatLessThanError: TypeErrorFormatter<LessThanError> = (error) =>
|
|
289
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være mindre end ${error.max}.`;
|
|
290
|
+
|
|
291
|
+
/** Formaterer LessThanOrEqualToError på dansk. */
|
|
292
|
+
export const formatLessThanOrEqualToError: TypeErrorFormatter<
|
|
293
|
+
LessThanOrEqualToError
|
|
294
|
+
> = (error) =>
|
|
295
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være mindre end eller lig med ${error.max}.`;
|
|
296
|
+
|
|
297
|
+
/** Formaterer NonNaNError på dansk. */
|
|
298
|
+
export const formatNonNaNError: TypeErrorFormatter<NonNaNError> = () =>
|
|
299
|
+
"Værdien må ikke være NaN.";
|
|
300
|
+
|
|
301
|
+
/** Formaterer FiniteError på dansk. */
|
|
302
|
+
export const formatFiniteError: TypeErrorFormatter<FiniteError> = (error) =>
|
|
303
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være endelig.`;
|
|
304
|
+
|
|
305
|
+
/** Formaterer MultipleOfError på dansk. */
|
|
306
|
+
export const formatMultipleOfError: TypeErrorFormatter<MultipleOfError> = (
|
|
307
|
+
error,
|
|
308
|
+
) =>
|
|
309
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være et multiplum af ${error.divisor}.`;
|
|
310
|
+
|
|
311
|
+
/** Formaterer BetweenError på dansk. */
|
|
312
|
+
export const formatBetweenError: TypeErrorFormatter<BetweenError> = (error) =>
|
|
313
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} skal være mellem ${error.min} og ${error.max}, inklusive.`;
|
|
314
|
+
|
|
315
|
+
/** Formaterer ArrayError på dansk. */
|
|
316
|
+
export const formatArrayError: TypeErrorFormatter<ArrayError> = (error) => {
|
|
317
|
+
if (error.reason.kind === "NotArray") {
|
|
318
|
+
return `Værdien ${safelyStringifyUnknownValue(error.reason.value)} er ikke et array.`;
|
|
319
|
+
}
|
|
320
|
+
const issue = error.reason.issues[0];
|
|
321
|
+
|
|
322
|
+
switch (issue.kind) {
|
|
323
|
+
case "Hole":
|
|
324
|
+
return `Et array-element på indeks ${issue.index} mangler.`;
|
|
325
|
+
case "Accessor":
|
|
326
|
+
return `Et array-element på indeks ${issue.index} skal være en dataegenskab.`;
|
|
327
|
+
case "ExcessProperty":
|
|
328
|
+
return "En ekstra Array-egenskab er ikke tilladt. Fjern den, eller brug en anden Type.";
|
|
329
|
+
case "Element":
|
|
330
|
+
return `Et array-element på indeks ${issue.index} er ugyldigt.`;
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
/** Formaterer SetError på dansk. */
|
|
335
|
+
export const formatSetError: TypeErrorFormatter<SetError> = (error) => {
|
|
336
|
+
if (error.reason.kind === "NotSet") {
|
|
337
|
+
return `Værdien ${safelyStringifyUnknownValue(error.reason.value)} er ikke et Set.`;
|
|
338
|
+
}
|
|
339
|
+
if (error.reason.kind === "UnexpectedPrototype") {
|
|
340
|
+
return "Værdien er en instans af en Set-underklasse, men et Set Output skal være en direkte Set-instans.";
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
const issue = error.reason.issues[0];
|
|
344
|
+
|
|
345
|
+
switch (issue.kind) {
|
|
346
|
+
case "ExcessProperty":
|
|
347
|
+
return `Den ekstra Set-egenskab ${safelyStringifyUnknownValue(issue.key)} er ikke tilladt.`;
|
|
348
|
+
case "Element":
|
|
349
|
+
return `Et Set-element på indeks ${issue.index} er ugyldigt.`;
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
/** Formaterer TupleError på dansk. */
|
|
354
|
+
export const formatTupleError: TypeErrorFormatter<
|
|
355
|
+
TupleError | TupleElementsError<TypeError>
|
|
356
|
+
> = (error) => {
|
|
357
|
+
if (error.reason.kind === "NotArray") {
|
|
358
|
+
return `Værdien ${safelyStringifyUnknownValue(error.reason.value)} er ikke en tuple.`;
|
|
359
|
+
}
|
|
360
|
+
if (error.reason.kind === "InvalidLength") {
|
|
361
|
+
return `En Tuple skal indeholde præcis ${error.reason.expected} elementer, men værdien indeholder ${error.reason.actual}.`;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const issue = error.reason.issues[0];
|
|
365
|
+
|
|
366
|
+
switch (issue.kind) {
|
|
367
|
+
case "Hole":
|
|
368
|
+
return `Et Tuple-element på indeks ${issue.index} mangler.`;
|
|
369
|
+
case "Accessor":
|
|
370
|
+
return `Et Tuple-element på indeks ${issue.index} skal være en dataegenskab.`;
|
|
371
|
+
case "ExcessProperty":
|
|
372
|
+
return "En ekstra Tuple-egenskab er ikke tilladt. Fjern den, eller brug en anden Type.";
|
|
373
|
+
case "Element":
|
|
374
|
+
return `Et Tuple-element på indeks ${issue.index} er ugyldigt.`;
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
/** Formaterer RecordError på dansk. */
|
|
379
|
+
export const formatRecordError: TypeErrorFormatter<RecordError> = (error) => {
|
|
380
|
+
if (error.reason.kind === "NotRecord") {
|
|
381
|
+
return `Værdien ${safelyStringifyUnknownValue(error.reason.value)} er ikke en Record.`;
|
|
382
|
+
}
|
|
383
|
+
if (error.reason.kind === "NotPlainRecord") {
|
|
384
|
+
return "Værdien er et objekt, men et Record Output skal være et almindeligt objekt eller have en null-prototype.";
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
const issue = error.reason.issues[0];
|
|
388
|
+
|
|
389
|
+
switch (issue.kind) {
|
|
390
|
+
case "Key":
|
|
391
|
+
return `Egenskabsnøglen ${safelyStringifyUnknownValue(issue.key)} er ugyldig.`;
|
|
392
|
+
case "Value":
|
|
393
|
+
return `Værdien af egenskaben ${safelyStringifyUnknownValue(issue.key)} er ugyldig.`;
|
|
394
|
+
case "Accessor":
|
|
395
|
+
return `Record-egenskaben ${safelyStringifyUnknownValue(issue.key)} skal være en dataegenskab.`;
|
|
396
|
+
case "NonEnumerable":
|
|
397
|
+
return `Record-egenskaben ${safelyStringifyUnknownValue(issue.key)} skal være enumererbar.`;
|
|
398
|
+
case "Collision":
|
|
399
|
+
return `Record-nøglerne ${safelyStringifyUnknownValue(issue.previousKey)} og ${safelyStringifyUnknownValue(issue.key)} afkodes til den samme nøgle ${safelyStringifyUnknownValue(issue.outputKey)}.`;
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
/** Formaterer ObjectError på dansk. */
|
|
404
|
+
export const formatObjectError: TypeErrorFormatter<ObjectError> = (error) => {
|
|
405
|
+
if (error.reason.kind !== "Properties") {
|
|
406
|
+
return formatPlainObjectRootError(error.reason);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const key = Reflect.ownKeys(error.reason.errors).at(0);
|
|
410
|
+
assertNonNullable(key);
|
|
411
|
+
const propertyError = error.reason.errors[key];
|
|
412
|
+
assertNonNullable(propertyError);
|
|
413
|
+
|
|
414
|
+
if (propertyError.type === "ObjectPropertyAccess") {
|
|
415
|
+
switch ((propertyError as ObjectPropertyAccessError).reason) {
|
|
416
|
+
case "Accessor":
|
|
417
|
+
return "En Object-egenskab skal være en dataegenskab. Materialiser accessor-værdier som almindelige data, før denne Type bruges, eller brug en anden Type.";
|
|
418
|
+
case "NonEnumerable":
|
|
419
|
+
return "En Object-egenskab skal være enumererbar. Gør den enumererbar, eller brug en anden Type.";
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
if (propertyError.type === "ObjectMissingProperty") {
|
|
423
|
+
return `Den påkrævede egenskab ${safelyStringifyUnknownValue(key)} mangler.`;
|
|
424
|
+
}
|
|
425
|
+
if (typeof key === "symbol") {
|
|
426
|
+
return "En Object-egenskabsnøgle skal være en streng. Fjern symbol-egenskaben, eller brug en anden Type.";
|
|
427
|
+
}
|
|
428
|
+
if (propertyError.type === "ObjectExcessProperty") {
|
|
429
|
+
return `Egenskaben ${safelyStringifyUnknownValue(key)} er ikke tilladt. Fjern den, eller brug en anden Type.`;
|
|
430
|
+
}
|
|
431
|
+
return `Egenskaben ${safelyStringifyUnknownValue(key)} er ugyldig.`;
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
/** Formaterer DiscriminatedUnionError på dansk. */
|
|
435
|
+
export const formatDiscriminatedUnionError: TypeErrorFormatter<
|
|
436
|
+
DiscriminatedUnionError
|
|
437
|
+
> = (error) => {
|
|
438
|
+
switch (error.reason.kind) {
|
|
439
|
+
case "Object":
|
|
440
|
+
return formatPlainObjectRootError(error.reason.error.reason);
|
|
441
|
+
case "PropertyAccess": {
|
|
442
|
+
const property = `Diskriminatoregenskaben ${safelyStringifyUnknownValue(error.reason.key)}`;
|
|
443
|
+
if (error.reason.reason === "Accessor") {
|
|
444
|
+
return `${property} skal være en dataegenskab.`;
|
|
445
|
+
}
|
|
446
|
+
if (error.reason.reason === "Inherited") {
|
|
447
|
+
return `${property} skal være en egen egenskab.`;
|
|
448
|
+
}
|
|
449
|
+
return `${property} skal være enumererbar.`;
|
|
450
|
+
}
|
|
451
|
+
case "Discriminator":
|
|
452
|
+
return `Diskriminatoregenskaben ${safelyStringifyUnknownValue(error.reason.key)} has an unexpected value ${safelyStringifyUnknownValue(error.reason.value)}.`;
|
|
453
|
+
case "Member":
|
|
454
|
+
return `Den valgte variant ${safelyStringifyUnknownValue(error.reason.discriminator)} er ugyldig.`;
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
/** Formaterer JsonValueError på dansk. */
|
|
459
|
+
export const formatJsonValueError: TypeErrorFormatter<JsonValueError> = (
|
|
460
|
+
error,
|
|
461
|
+
) => {
|
|
462
|
+
const issue = error.reason.issues[0];
|
|
463
|
+
|
|
464
|
+
switch (issue.kind) {
|
|
465
|
+
case "InvalidType":
|
|
466
|
+
return `Værdien ${safelyStringifyUnknownValue(issue.value)} er ikke en JSON-værdi.`;
|
|
467
|
+
case "NonFiniteNumber":
|
|
468
|
+
return "Et JSON-tal skal være endeligt.";
|
|
469
|
+
case "UnexpectedPrototype":
|
|
470
|
+
return "Værdien er et objekt, men et JsonValue-objekt skal være et almindeligt objekt eller have en null-prototype.";
|
|
471
|
+
case "Accessor":
|
|
472
|
+
return "En JSON-egenskab skal være en dataegenskab. Materialiser accessor-værdier som almindelige data, før denne Type bruges, eller brug en anden Type.";
|
|
473
|
+
case "NonEnumerable":
|
|
474
|
+
return "En JSON-objektegenskab skal være enumererbar. Fjern den, eller brug en anden Type.";
|
|
475
|
+
case "SymbolProperty":
|
|
476
|
+
return "En JSON-objektegenskabsnøgle skal være en streng. Fjern symbol-egenskaben, eller brug en anden Type.";
|
|
477
|
+
case "Hole":
|
|
478
|
+
return "Et JSON-array-element mangler.";
|
|
479
|
+
case "ExcessProperty":
|
|
480
|
+
return "En ekstra JSON-array-egenskab er ikke tilladt. Fjern den, eller brug en anden Type.";
|
|
481
|
+
case "CircularReference":
|
|
482
|
+
return "En JsonValue må ikke indeholde cirkulære referencer.";
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
|
|
486
|
+
/** Formaterer JsonError på dansk. */
|
|
487
|
+
export const formatJsonError: TypeErrorFormatter<JsonError> = (error) =>
|
|
488
|
+
`Værdien ${safelyStringifyUnknownValue(error.value)} kan ikke parses til en JsonValue.`;
|