| 46 data object None : OptionalPathInfo<HasNode>(object : HasNode { override val node = "~"}) |
46 data object None : OptionalPathInfo<HasNode>(object : HasNode { override val node = "~"}) |
| 47 data object NotFound : OptionalPathInfo<HasNode>(object : HasNode { override val node = ""}) |
47 data object NotFound : OptionalPathInfo<HasNode>(object : HasNode { override val node = ""}) |
| 48 val node = info.node |
48 val node = info.node |
| 49 } |
49 } |
| 50 |
50 |
| 51 sealed interface ValidationResult<T> |
51 sealed interface ValidationResult<T> { |
| |
52 fun getOrNull(): T? = when (this) { |
| |
53 is ValidatedValue -> result |
| |
54 else -> null |
| |
55 } |
| |
56 } |
| 52 class ValidationError<T>(val message: String): ValidationResult<T> |
57 class ValidationError<T>(val message: String): ValidationResult<T> |
| 53 class ValidatedValue<T>(val result: T): ValidationResult<T> |
58 class ValidatedValue<T>(val result: T): ValidationResult<T> |
| 54 |
59 |
| 55 class HttpRequest( |
60 class HttpRequest( |
| 56 val user: User?, |
61 val user: User?, |