@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/nb.ts
ADDED
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Norske Bokmål-feilformaterere for 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
|
+
return `En verdi ${safelyStringifyUnknownValue(error.value)} er ikke en ${typeOf}.`;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const formatPlainObjectRootError = (
|
|
78
|
+
reason:
|
|
79
|
+
ObjectNotObjectError["reason"] | ObjectUnexpectedPrototypeError["reason"],
|
|
80
|
+
): string =>
|
|
81
|
+
reason.kind === "NotObject"
|
|
82
|
+
? `En verdi ${safelyStringifyUnknownValue(reason.value)} er ikke et objekt.`
|
|
83
|
+
: "Verdien er et objekt, men et Object Output må være et rent objekt eller ha en null-prototype.";
|
|
84
|
+
|
|
85
|
+
/** Formaterer NeverError på norsk bokmål. */
|
|
86
|
+
export const formatNeverError: TypeErrorFormatter<NeverError> = (error) =>
|
|
87
|
+
`En verdi ${safelyStringifyUnknownValue(error.value)} er ikke gyldig for typen Never.`;
|
|
88
|
+
export const formatStringError: TypeErrorFormatter<TypeOfError<"String">> =
|
|
89
|
+
formatTypeOfError;
|
|
90
|
+
export const formatTemplateLiteralError: TypeErrorFormatter<
|
|
91
|
+
TemplateLiteralError
|
|
92
|
+
> = (error) =>
|
|
93
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} samsvarer ikke med templateteksten.`;
|
|
94
|
+
export const formatNumberError: TypeErrorFormatter<TypeOfError<"Number">> =
|
|
95
|
+
formatTypeOfError;
|
|
96
|
+
export const formatBigIntError: TypeErrorFormatter<TypeOfError<"BigInt">> =
|
|
97
|
+
formatTypeOfError;
|
|
98
|
+
export const formatBooleanError: TypeErrorFormatter<TypeOfError<"Boolean">> =
|
|
99
|
+
formatTypeOfError;
|
|
100
|
+
export const formatSymbolError: TypeErrorFormatter<TypeOfError<"Symbol">> =
|
|
101
|
+
formatTypeOfError;
|
|
102
|
+
export const formatFunctionError: TypeErrorFormatter<TypeOfError<"Function">> =
|
|
103
|
+
formatTypeOfError;
|
|
104
|
+
export const formatEvoluTypeError: TypeErrorFormatter<EvoluTypeError> = (
|
|
105
|
+
error,
|
|
106
|
+
) =>
|
|
107
|
+
`En verdi ${safelyStringifyUnknownValue(error.value)} er ikke en Evolu Type.`;
|
|
108
|
+
export const formatObjectTagError: TypeErrorFormatter<ObjectTagError> = (
|
|
109
|
+
error,
|
|
110
|
+
) =>
|
|
111
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} har ikke den forventede objekt-taggen ${safelyStringifyUnknownValue(error.expected)}.`;
|
|
112
|
+
export const formatInstanceOfError: TypeErrorFormatter<InstanceOfError> = (
|
|
113
|
+
error,
|
|
114
|
+
) =>
|
|
115
|
+
`En verdi ${safelyStringifyUnknownValue(error.value)} er ikke en instans av ${error.constructorName}.`;
|
|
116
|
+
export const formatLiteralError: TypeErrorFormatter<LiteralError> = (error) =>
|
|
117
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke strengt lik den forventede literalverdien: ${globalThis.String(error.expected)}.`;
|
|
118
|
+
export const formatUnionError: TypeErrorFormatter<UnionError> = () =>
|
|
119
|
+
"En verdi samsvarer ikke med noen av de tillatte variantene.";
|
|
120
|
+
export const formatDateIsoError: TypeErrorFormatter<DateIsoError> = (error) =>
|
|
121
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke en kanonisk ISO-dato- og tidsstreng.`;
|
|
122
|
+
export const formatDateIsoFromDateError: TypeErrorFormatter<
|
|
123
|
+
DateIsoFromDateError
|
|
124
|
+
> = () => "Date kan ikke representeres som DateIso.";
|
|
125
|
+
export const formatDecimalStringError: TypeErrorFormatter<
|
|
126
|
+
DecimalStringError
|
|
127
|
+
> = (error) =>
|
|
128
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være en kanonisk desimalstreng.`;
|
|
129
|
+
export const formatInt64Error: TypeErrorFormatter<Int64Error> = (error) =>
|
|
130
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldig 64-bits heltall med fortegn (Int64).`;
|
|
131
|
+
export const formatUInt64Error: TypeErrorFormatter<UInt64Error> = (error) =>
|
|
132
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldig 64-bits heltall uten fortegn (UInt64).`;
|
|
133
|
+
export const formatInt64StringError: TypeErrorFormatter<Int64StringError> = (
|
|
134
|
+
error,
|
|
135
|
+
) =>
|
|
136
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Int64-streng.`;
|
|
137
|
+
export const formatCapitalizedError: TypeErrorFormatter<CapitalizedError> = (
|
|
138
|
+
error,
|
|
139
|
+
) =>
|
|
140
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må begynne med stor bokstav.`;
|
|
141
|
+
export const formatTrimmedError: TypeErrorFormatter<TrimmedError> = (error) =>
|
|
142
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være trimmet.`;
|
|
143
|
+
export const formatMinLengthError: TypeErrorFormatter<MinLengthError> = (
|
|
144
|
+
error,
|
|
145
|
+
) =>
|
|
146
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} oppfyller ikke minimumslengden på ${error.min}.`;
|
|
147
|
+
export const formatMaxLengthError: TypeErrorFormatter<MaxLengthError> = (
|
|
148
|
+
error,
|
|
149
|
+
) =>
|
|
150
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} overskrider maksimumslengden på ${error.max}.`;
|
|
151
|
+
export const formatLengthError: TypeErrorFormatter<LengthError> = (error) =>
|
|
152
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} har ikke den påkrevde lengden ${error.exact}.`;
|
|
153
|
+
export const formatRegexError: TypeErrorFormatter<RegexError> = (error) =>
|
|
154
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} samsvarer ikke med /${error.source}/${error.flags}.`;
|
|
155
|
+
export const formatBase64UrlError: TypeErrorFormatter<Base64UrlError> = (
|
|
156
|
+
error,
|
|
157
|
+
) =>
|
|
158
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Base64Url-streng.`;
|
|
159
|
+
export const formatNameError: TypeErrorFormatter<NameError> = (error) =>
|
|
160
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldig Name.`;
|
|
161
|
+
export const formatMnemonicError: TypeErrorFormatter<MnemonicError> = (error) =>
|
|
162
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke et gyldig engelsk BIP39-mnemonisk uttrykk.`;
|
|
163
|
+
export const formatIdError: TypeErrorFormatter<IdError> = (error) =>
|
|
164
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Id.`;
|
|
165
|
+
export const formatTableIdError: TypeErrorFormatter<TableIdError> = (error) =>
|
|
166
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} er ikke en gyldig Id for tabellen ${error.table}.`;
|
|
167
|
+
export const formatNonNegativeError: TypeErrorFormatter<NonNegativeError> = (
|
|
168
|
+
error,
|
|
169
|
+
) =>
|
|
170
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være ikke-negativ (>= 0).`;
|
|
171
|
+
export const formatNonNegativeDecimalStringError: TypeErrorFormatter<
|
|
172
|
+
NonNegativeDecimalStringError
|
|
173
|
+
> = (error) =>
|
|
174
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være en ikke-negativ desimalstreng.`;
|
|
175
|
+
export const formatPositiveError: TypeErrorFormatter<PositiveError> = (error) =>
|
|
176
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være positiv (> 0).`;
|
|
177
|
+
export const formatPositiveDecimalStringError: TypeErrorFormatter<
|
|
178
|
+
PositiveDecimalStringError
|
|
179
|
+
> = (error) =>
|
|
180
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være en positiv desimalstreng.`;
|
|
181
|
+
export const formatNonPositiveError: TypeErrorFormatter<NonPositiveError> = (
|
|
182
|
+
error,
|
|
183
|
+
) =>
|
|
184
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være ikke-positiv (<= 0).`;
|
|
185
|
+
export const formatNonPositiveDecimalStringError: TypeErrorFormatter<
|
|
186
|
+
NonPositiveDecimalStringError
|
|
187
|
+
> = (error) =>
|
|
188
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være en ikke-positiv desimalstreng.`;
|
|
189
|
+
export const formatNegativeError: TypeErrorFormatter<NegativeError> = (error) =>
|
|
190
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være negativ (< 0).`;
|
|
191
|
+
export const formatNegativeDecimalStringError: TypeErrorFormatter<
|
|
192
|
+
NegativeDecimalStringError
|
|
193
|
+
> = (error) =>
|
|
194
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være en negativ desimalstreng.`;
|
|
195
|
+
export const formatIntError: TypeErrorFormatter<IntError> = (error) =>
|
|
196
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være et sikkert heltall.`;
|
|
197
|
+
export const formatGreaterThanError: TypeErrorFormatter<GreaterThanError> = (
|
|
198
|
+
error,
|
|
199
|
+
) =>
|
|
200
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være større enn ${error.min}.`;
|
|
201
|
+
export const formatGreaterThanOrEqualToError: TypeErrorFormatter<
|
|
202
|
+
GreaterThanOrEqualToError
|
|
203
|
+
> = (error) =>
|
|
204
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være større enn eller lik ${error.min}.`;
|
|
205
|
+
export const formatLessThanError: TypeErrorFormatter<LessThanError> = (error) =>
|
|
206
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være mindre enn ${error.max}.`;
|
|
207
|
+
export const formatLessThanOrEqualToError: TypeErrorFormatter<
|
|
208
|
+
LessThanOrEqualToError
|
|
209
|
+
> = (error) =>
|
|
210
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være mindre enn eller lik ${error.max}.`;
|
|
211
|
+
export const formatNonNaNError: TypeErrorFormatter<NonNaNError> = () =>
|
|
212
|
+
"Verdien må ikke være NaN.";
|
|
213
|
+
export const formatFiniteError: TypeErrorFormatter<FiniteError> = (error) =>
|
|
214
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være endelig.`;
|
|
215
|
+
export const formatMultipleOfError: TypeErrorFormatter<MultipleOfError> = (
|
|
216
|
+
error,
|
|
217
|
+
) =>
|
|
218
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være et multiplum av ${error.divisor}.`;
|
|
219
|
+
export const formatBetweenError: TypeErrorFormatter<BetweenError> = (error) =>
|
|
220
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} må være mellom ${error.min} og ${error.max}, inkludert.`;
|
|
221
|
+
|
|
222
|
+
export const formatArrayError: TypeErrorFormatter<ArrayError> = (error) => {
|
|
223
|
+
if (error.reason.kind === "NotArray")
|
|
224
|
+
return `En verdi ${safelyStringifyUnknownValue(error.reason.value)} er ikke en matrise.`;
|
|
225
|
+
const issue = error.reason.issues[0];
|
|
226
|
+
switch (issue.kind) {
|
|
227
|
+
case "Hole":
|
|
228
|
+
return `Et matriseelement med indeks ${issue.index} mangler.`;
|
|
229
|
+
case "Accessor":
|
|
230
|
+
return `Et matriseelement med indeks ${issue.index} må være en dataegenskap.`;
|
|
231
|
+
case "ExcessProperty":
|
|
232
|
+
return "En overflødig Array-egenskap er ikke tillatt. Fjern den eller bruk en annen Type.";
|
|
233
|
+
case "Element":
|
|
234
|
+
return `Et matriseelement med indeks ${issue.index} er ugyldig.`;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
export const formatSetError: TypeErrorFormatter<SetError> = (error) => {
|
|
239
|
+
if (error.reason.kind === "NotSet")
|
|
240
|
+
return `En verdi ${safelyStringifyUnknownValue(error.reason.value)} er ikke et Set.`;
|
|
241
|
+
if (error.reason.kind === "UnexpectedPrototype")
|
|
242
|
+
return "Verdien er en instans av en Set-underklasse, men et Set Output må være en direkte Set-instans.";
|
|
243
|
+
const issue = error.reason.issues[0];
|
|
244
|
+
switch (issue.kind) {
|
|
245
|
+
case "ExcessProperty":
|
|
246
|
+
return `En overflødig Set-egenskap ${safelyStringifyUnknownValue(issue.key)} er ikke tillatt.`;
|
|
247
|
+
case "Element":
|
|
248
|
+
return `Et Set-element med indeks ${issue.index} er ugyldig.`;
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
export const formatTupleError: TypeErrorFormatter<
|
|
253
|
+
TupleError | TupleElementsError<TypeError>
|
|
254
|
+
> = (error) => {
|
|
255
|
+
if (error.reason.kind === "NotArray")
|
|
256
|
+
return `En verdi ${safelyStringifyUnknownValue(error.reason.value)} er ikke en tuppel.`;
|
|
257
|
+
if (error.reason.kind === "InvalidLength")
|
|
258
|
+
return `En Tuple må inneholde nøyaktig ${error.reason.expected} elementer, men verdien inneholder ${error.reason.actual}.`;
|
|
259
|
+
const issue = error.reason.issues[0];
|
|
260
|
+
switch (issue.kind) {
|
|
261
|
+
case "Hole":
|
|
262
|
+
return `Et Tuple-element med indeks ${issue.index} mangler.`;
|
|
263
|
+
case "Accessor":
|
|
264
|
+
return `Et Tuple-element med indeks ${issue.index} må være en dataegenskap.`;
|
|
265
|
+
case "ExcessProperty":
|
|
266
|
+
return "En overflødig Tuple-egenskap er ikke tillatt. Fjern den eller bruk en annen Type.";
|
|
267
|
+
case "Element":
|
|
268
|
+
return `Et Tuple-element med indeks ${issue.index} er ugyldig.`;
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
export const formatRecordError: TypeErrorFormatter<RecordError> = (error) => {
|
|
273
|
+
if (error.reason.kind === "NotRecord")
|
|
274
|
+
return `En verdi ${safelyStringifyUnknownValue(error.reason.value)} er ikke en Record.`;
|
|
275
|
+
if (error.reason.kind === "NotPlainRecord")
|
|
276
|
+
return "Verdien er et objekt, men et Record Output må være et rent objekt eller ha en null-prototype.";
|
|
277
|
+
const issue = error.reason.issues[0];
|
|
278
|
+
switch (issue.kind) {
|
|
279
|
+
case "Key":
|
|
280
|
+
return `Egenskapsnøkkelen ${safelyStringifyUnknownValue(issue.key)} er ugyldig.`;
|
|
281
|
+
case "Value":
|
|
282
|
+
return `Verdien for egenskapen ${safelyStringifyUnknownValue(issue.key)} er ugyldig.`;
|
|
283
|
+
case "Accessor":
|
|
284
|
+
return `En Record-egenskap ${safelyStringifyUnknownValue(issue.key)} må være en dataegenskap.`;
|
|
285
|
+
case "NonEnumerable":
|
|
286
|
+
return `En Record-egenskap ${safelyStringifyUnknownValue(issue.key)} må være oppregnbar.`;
|
|
287
|
+
case "Collision":
|
|
288
|
+
return `Record-nøklene ${safelyStringifyUnknownValue(issue.previousKey)} og ${safelyStringifyUnknownValue(issue.key)} dekoder til samme nøkkel ${safelyStringifyUnknownValue(issue.outputKey)}.`;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
export const formatObjectError: TypeErrorFormatter<ObjectError> = (error) => {
|
|
293
|
+
if (error.reason.kind !== "Properties")
|
|
294
|
+
return formatPlainObjectRootError(error.reason);
|
|
295
|
+
const key = Reflect.ownKeys(error.reason.errors).at(0);
|
|
296
|
+
assertNonNullable(key);
|
|
297
|
+
const propertyError = error.reason.errors[key];
|
|
298
|
+
assertNonNullable(propertyError);
|
|
299
|
+
if (propertyError.type === "ObjectPropertyAccess") {
|
|
300
|
+
switch ((propertyError as ObjectPropertyAccessError).reason) {
|
|
301
|
+
case "Accessor":
|
|
302
|
+
return "En Object-egenskap må være en dataegenskap. Materialiser tilgangsverdier til rene data før du bruker denne Type, eller bruk en annen Type.";
|
|
303
|
+
case "NonEnumerable":
|
|
304
|
+
return "En Object-egenskap må være oppregnbar. Gjør den oppregnbar eller bruk en annen Type.";
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (propertyError.type === "ObjectMissingProperty")
|
|
308
|
+
return `Den påkrevde egenskapen ${safelyStringifyUnknownValue(key)} mangler.`;
|
|
309
|
+
if (typeof key === "symbol")
|
|
310
|
+
return "En Object-egenskapsnøkkel må være en streng. Fjern symbolegenskapen eller bruk en annen Type.";
|
|
311
|
+
if (propertyError.type === "ObjectExcessProperty")
|
|
312
|
+
return `Egenskapen ${safelyStringifyUnknownValue(key)} er ikke tillatt. Fjern den eller bruk en annen Type.`;
|
|
313
|
+
return `Egenskapen ${safelyStringifyUnknownValue(key)} er ugyldig.`;
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
export const formatDiscriminatedUnionError: TypeErrorFormatter<
|
|
317
|
+
DiscriminatedUnionError
|
|
318
|
+
> = (error) => {
|
|
319
|
+
switch (error.reason.kind) {
|
|
320
|
+
case "Object":
|
|
321
|
+
return formatPlainObjectRootError(error.reason.error.reason);
|
|
322
|
+
case "PropertyAccess": {
|
|
323
|
+
const property = `Diskriminatoregenskapen ${safelyStringifyUnknownValue(error.reason.key)}`;
|
|
324
|
+
if (error.reason.reason === "Accessor")
|
|
325
|
+
return `${property} må være en dataegenskap.`;
|
|
326
|
+
if (error.reason.reason === "Inherited")
|
|
327
|
+
return `${property} må være en egen egenskap.`;
|
|
328
|
+
return `${property} må være oppregnbar.`;
|
|
329
|
+
}
|
|
330
|
+
case "Discriminator":
|
|
331
|
+
return `Diskriminatoregenskapen ${safelyStringifyUnknownValue(error.reason.key)} har den uventede verdien ${safelyStringifyUnknownValue(error.reason.value)}.`;
|
|
332
|
+
case "Member":
|
|
333
|
+
return `Den valgte varianten ${safelyStringifyUnknownValue(error.reason.discriminator)} er ugyldig.`;
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
export const formatJsonValueError: TypeErrorFormatter<JsonValueError> = (
|
|
338
|
+
error,
|
|
339
|
+
) => {
|
|
340
|
+
const issue = error.reason.issues[0];
|
|
341
|
+
switch (issue.kind) {
|
|
342
|
+
case "InvalidType":
|
|
343
|
+
return `En verdi ${safelyStringifyUnknownValue(issue.value)} er ikke en JSON-verdi.`;
|
|
344
|
+
case "NonFiniteNumber":
|
|
345
|
+
return "Et JSON-tall må være endelig.";
|
|
346
|
+
case "UnexpectedPrototype":
|
|
347
|
+
return "Verdien er et objekt, men et JsonValue-objekt må være et rent objekt eller ha en null-prototype.";
|
|
348
|
+
case "Accessor":
|
|
349
|
+
return "En JSON-egenskap må være en dataegenskap. Materialiser tilgangsverdier til rene data før du bruker denne Type, eller bruk en annen Type.";
|
|
350
|
+
case "NonEnumerable":
|
|
351
|
+
return "En JSON-objektegenskap må være oppregnbar. Fjern den eller bruk en annen Type.";
|
|
352
|
+
case "SymbolProperty":
|
|
353
|
+
return "En JSON-objektegenskapsnøkkel må være en streng. Fjern symbolegenskapen eller bruk en annen Type.";
|
|
354
|
+
case "Hole":
|
|
355
|
+
return "Et JSON-matriseelement mangler.";
|
|
356
|
+
case "ExcessProperty":
|
|
357
|
+
return "En overflødig JSON-matriseegenskap er ikke tillatt. Fjern den eller bruk en annen Type.";
|
|
358
|
+
case "CircularReference":
|
|
359
|
+
return "En JsonValue må ikke inneholde sirkulære referanser.";
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
export const formatJsonError: TypeErrorFormatter<JsonError> = (error) =>
|
|
364
|
+
`Verdien ${safelyStringifyUnknownValue(error.value)} kan ikke tolkes som en JsonValue.`;
|