iresult.go 1.3 KB

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