lev0.go 3.3 KB

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