23 lines
471 B
Python
23 lines
471 B
Python
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class Result[T, E]:
|
|
value: T | None = None
|
|
error: E | None = None
|
|
|
|
@property
|
|
def is_ok(self) -> bool:
|
|
return self.error is None
|
|
|
|
@property
|
|
def is_err(self) -> bool:
|
|
return self.error is not None
|
|
|
|
@staticmethod
|
|
def ok(value: T) -> "Result[T, E]":
|
|
return Result(value=value)
|
|
|
|
@staticmethod
|
|
def err(error: E) -> "Result[T, E]":
|
|
return Result(error=error)
|