data/optionality

Types

Optional[T] = object
  value*: T
  reason*: string
  isErr: bool
  isWarning: bool

Procs

proc error[T](self: Optional[T]; reason: string): Optional[T]
proc some[T](self: Optional[T]; value: T; warning = ""): Optional[T]

Funcs

func isError(self: Optional): bool {...}{.inline.}
func isOkay(self: Optional): bool {...}{.inline.}
func isWarning(self: Optional): bool {...}{.inline.}
func reason(self: Optional): string {...}{.inline.}
func value[T](self: Optional[T]): T {...}{.inline.}

Templates

template warning(self: Optional): string
template with_value[T](self: Optional[T]; valname, blk: untyped): untyped
template with_value_mut[T](self: Optional[T]; valname, blk: untyped): untyped