ioption.go 914 B

12345678910111213141516171819
  1. package ktypes
  2. // IOption -- интерфейс опции.
  3. type IOption[T any] interface {
  4. // IsVal - проверяет, есть ли значение
  5. IsVal() bool
  6. // IsSome - проверяет, есть ли значение
  7. IsNone() bool
  8. // Val - извлекает значение (паника, если None)
  9. Val() T
  10. // ValOr - возвращает значение или дефолтное
  11. ValOr(defaultValue T) T
  12. // ValOrFn -- возвращает значение, если оно есть, или результат выполнения функции
  13. ValOrFn(fn func() T) T
  14. // Hassert -- проверяет, что не пустое значение (с паникой)
  15. Hassert(msgFormat string, args ...any) T
  16. // Assert -- проверяет, что нет ошибки (с паникой только на локальном стенде)
  17. Assert(msgFormat string, args ...any) T
  18. }