infrasynth-backend-kit/infrasynth/shared/results.py
2026-08-28 14:38:47 -05:00

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)