ioption.go 990 B

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