lev0.go 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // package lev0 -- сущности уровня 0
  2. package lev0
  3. import (
  4. mEt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/etypes"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  6. mKt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
  7. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/option"
  8. mRes "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result"
  9. )
  10. // SleepMs -- задержка в миллисекундах.
  11. func SleepMs() {
  12. helpers.SleepMs()
  13. }
  14. // EStr -- расширенная строка.
  15. type EStr = mKt.EStr
  16. // EStrMut -- расширенная строка с признаком мутабельности.
  17. type EStrMut = mKt.EStrMut
  18. // FnOptStr -- опция для установки параметров расширенной строки.
  19. type FnOptStr = mEt.FnOptStr
  20. // OptStr -- устанавливает начальное значение строки.
  21. func OptStr(val string) FnOptStr {
  22. return mEt.OptStr(val)
  23. }
  24. // OptStrMut -- устанавливает признак мутабельности.
  25. func OptStrMut() FnOptStr {
  26. return mEt.OptStrMut()
  27. }
  28. // OptStrMinLen -- устанавливает минимальную длину строки.
  29. func OptStrMinLen(lenMin int) FnOptStr {
  30. return mEt.OptStrMinLen(lenMin)
  31. }
  32. // OptStrMaxLen -- устанавливает максимальную длину строки.
  33. func OptStrMaxLen(lenMax int) FnOptStr {
  34. return mEt.OptStrMaxLen(lenMax)
  35. }
  36. // StrNew -- возвращает новую строку KStr.
  37. func StrNew(opt ...FnOptStr) EStr {
  38. return mEt.StrNew(opt...)
  39. }
  40. // StrMutNew -- возвращает новую строку KStrMut.
  41. func StrMutNew(opt ...FnOptStr) EStrMut {
  42. return mEt.StrMutNew(opt...)
  43. }
  44. // Result — обёртка вокруг результата с возможной ошибкой.
  45. type IResult[T any] = mKt.IResult[T]
  46. // NewRes -- возвращает успешный Result с значением.
  47. func NewRes[T any](res T) IResult[T] {
  48. return mRes.NewRes(res)
  49. }
  50. // NewErr -- возвращает Result с ошибкой.
  51. func NewErr[T any](err error) IResult[T] {
  52. return mRes.NewErr[T](err)
  53. }
  54. // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой.
  55. func WrapErr[T any](res IResult[T], err error) IResult[T] {
  56. return mRes.WrapErr(res, err)
  57. }
  58. // IOption — обёртка вокруг результата с возможной пустотой.
  59. type IOption[T any] = mKt.IOption[T]
  60. // NewOpt -- возвращает новый не пустой результат операции.
  61. func NewOpt[T any](some T) IOption[T] {
  62. return IOption[T](option.NewSome(some))
  63. }
  64. // NewNone -- возвращает новый пустой результат операции.
  65. func NewNone[T any]() IOption[T] {
  66. return option.NewNone[T]()
  67. }
  68. // Hassert -- проверка на правильность утверждения с безусловным падением в панику (hard assert).
  69. func Hassert(isCond bool, msgFormat string, args ...any) {
  70. helpers.Hassert(isCond, msgFormat, args)
  71. }
  72. // Assert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert).
  73. func Assert(isCond bool, msgFormat string, args ...any) {
  74. helpers.Assert(isCond, msgFormat, args)
  75. }