lev0.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // package lev0 -- сущности уровня 0
  2. package lev0
  3. import (
  4. "time"
  5. mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  7. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  9. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/option"
  10. mRes "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result"
  11. )
  12. // ETime -- расширенное время.
  13. type ETime = mKs.ITime
  14. // EStr -- расширенная строка.
  15. type EStr = mKs.EStr
  16. // Result — обёртка вокруг результата с возможной ошибкой.
  17. type IResult[T any] = def_spec.IResult[T]
  18. // NewOk -- возвращает успешный Result с значением.
  19. func NewOk[T any](res T) IResult[T] {
  20. return mRes.NewOk(res)
  21. }
  22. // NewErr -- возвращает Result с ошибкой.
  23. func NewErr[T any](err defs.IErr) IResult[T] {
  24. return mRes.NewErr[T](err)
  25. }
  26. // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой.
  27. func WrapErr[T any](res IResult[T], err defs.IErr) IResult[T] {
  28. return mRes.WrapErr(res, err)
  29. }
  30. // IOption — обёртка вокруг результата с возможной пустотой.
  31. type IOption[T any] = mKs.IOption[T]
  32. // NewSome -- возвращает новый не пустой результат операции.
  33. func NewSome[T any](some T) IOption[T] {
  34. return option.NewSome(some)
  35. }
  36. // NewNone -- возвращает новый пустой результат операции.
  37. func NewNone[T any]() IOption[T] {
  38. return option.NewNone[T]()
  39. }
  40. // Hassert -- проверка на правильность утверждения с безусловным падением в панику (hard assert).
  41. //
  42. func Hassert(isCond bool, msgFormat defs.ITxtFix, args ...any) {
  43. helpers.Hassert(isCond, msgFormat.Get(), args)
  44. }
  45. // Assert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert).
  46. //
  47. func Assert(isCond bool, msgFormat defs.ITxtFix, args ...any) {
  48. helpers.Assert(isCond, msgFormat.Get(), args)
  49. }
  50. // SleepMs -- задержка в миллисекундах.
  51. //
  52. func SleepMs() {
  53. time.Sleep(time.Millisecond * 1)
  54. }