1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| type OptionError<T> := {
| option: T | null,
| message: String,
| type: "OptionError"
| }
|
| type TypedError<T> := {
| message: String,
| type: T
| }
|
| type ValidationError := {
| errors: Array<Error>,
| message: String,
| type: "ValidationError"
| }
|
| error/option := (String, T) => OptionError<T>
|
| error/typed := (args: {
| message: String,
| type: String,
| name?: String
| }) => (opts: Object) => TypedError<String>
|
| error/validation := (Array<Error>) => ValidationError
|
|