iresult.go 1.2 KB

1234567891011121314151617181920212223
  1. package kspec
  2. // IResult -- возвращаемый результат.
  3. type IResult[T any] interface {
  4. // IsOk -- возвращает true, если Result содержит значение.
  5. IsOk() bool
  6. // IsErr -- возвращает true, если Result содержит ошибку.
  7. IsErr() bool
  8. // Ok -- возвращает значение, если оно есть, иначе паникует.
  9. Ok() T
  10. // OkOr -- возвращает значение, если оно есть, или значение по умолчанию.
  11. OkOr(defaultValue T) T
  12. // OkOrFn -- возвращает значение, если оно есть, или результат выполнения функции.
  13. OkOrFn(fn func() T) T
  14. // Err -- возвращает ошибку, если она есть.
  15. Err() error
  16. // Error -- возвращает строковое представление ошибки, если она есть.
  17. Error() string
  18. // Hassert -- проверяет, что нет ошибки (с паникой).
  19. Hassert(msgFormat string, args ...any) T
  20. // Assert -- проверяет, что нет ошибки (с паникой только на локальном стенде).
  21. Assert(msgFormat string, args ...any) T
  22. }