lev0.go 2.2 KB

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