ioption.go 930 B

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