lev0.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // package lev0 -- сущности уровня 0
  2. package lev0
  3. import (
  4. mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  7. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/option"
  9. )
  10. // ETime -- расширенное время.
  11. type ETime = mKs.ITime
  12. // EStr -- расширенная строка.
  13. type EStr = mKs.EStr
  14. // Result — обёртка вокруг результата с возможной ошибкой.
  15. type Result[T any] = result.Result[T]
  16. // NewOk -- возвращает успешный Result с значением.
  17. func NewOk[T any](res T) *Result[T] {
  18. return result.NewOk(res)
  19. }
  20. // NewErr -- возвращает Result с ошибкой.
  21. func NewErr[T any](err defs.IErr) *Result[T] {
  22. return result.NewErr[T](err)
  23. }
  24. // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой.
  25. func WrapErr[T any](res *Result[T], err defs.IErr) *Result[T] {
  26. return result.WrapErr(res, err)
  27. }
  28. // IOption — обёртка вокруг результата с возможной пустотой.
  29. type IOption[T any] = mKs.IOption[T]
  30. // NewSome -- возвращает новый не пустой результат операции.
  31. func NewSome[T any](some T) IOption[T] {
  32. return option.NewSome(some)
  33. }
  34. // NewNone -- возвращает новый пустой результат операции.
  35. func NewNone[T any]() IOption[T] {
  36. return option.NewNone[T]()
  37. }
  38. // FnIf -- проверяет с жёстким падением условие.
  39. // type FnIf = helpers.FnIf
  40. // SleepMs -- задержка в миллисекундах.
  41. func SleepMs() {
  42. helpers.SleepMs()
  43. }