iresult.go 1.2 KB

1234567891011121314151617181920212223
  1. package ktypes
  2. // IResult -- интерфейс результата
  3. type IResult[T any] interface {
  4. // IsOk -- возвращает true, если Result содержит значение
  5. IsOk() bool
  6. // IsErr -- возвращает true, если Result содержит ошибку
  7. IsErr() bool
  8. // Val -- возвращает значение, если оно есть, иначе паникует
  9. Val() T
  10. // ValOr -- возвращает значение, если оно есть, или значение по умолчанию
  11. ValOr(defaultValue T) T
  12. // ValOrFn -- возвращает значение, если оно есть, или результат выполнения функции
  13. ValOrFn(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. }