каким-либо похожим, но лаконичным способом?
(это swift, главное здесь enum с generics и associated values и его последующая деструктуризация + шортхэнд для лямбды с дженериками)
enum ServiceResult<DTO> {
case ok(DTO)
case fail(Error)
}
typealias ServiceResponder<DTO> = (ServiceResult<DTO>) -> Void
struct MyResult {
....
}
let data: ServiceResult<MyResult> = /* */
switch data {
case .ok(let result):
print(result);
case .fail(let error):
print(error)
}
Если я правильно тебя понял, то Discriminated Union
спс, покурю
Готовая реализация https://gcanti.github.io/fp-ts/modules/Option.ts.html
https://gcanti.github.io/fp-ts/modules/Either.ts.html
Обсуждают сегодня