| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | type OptionError<T> := { |
| 2 | option: T | null, | ||||
| 3 | message: String, | ||||
| 4 | type: "OptionError" | ||||
| 5 | } | ||||
| 6 | |||||
| 7 | type TypedError<T> := { | ||||
| 8 | message: String, | ||||
| 9 | type: T | ||||
| 10 | } | ||||
| 11 | |||||
| 12 | type ValidationError := { | ||||
| 13 | errors: Array<Error>, | ||||
| 14 | message: String, | ||||
| 15 | type: "ValidationError" | ||||
| 16 | } | ||||
| 17 | |||||
| 18 | error/option := (String, T) => OptionError<T> | ||||
| 19 | |||||
| 20 | error/typed := (args: { | ||||
| 21 | message: String, | ||||
| 22 | type: String, | ||||
| 23 | name?: String | ||||
| 24 | }) => (opts: Object) => TypedError<String> | ||||
| 25 | |||||
| 26 | error/validation := (Array<Error>) => ValidationError | ||||