lev1.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // package lev1 -- сборка уровня 1.
  2. package lev1
  3. import (
  4. "context"
  5. mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  7. mKt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/kspec"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/kint"
  9. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/local_ctx"
  10. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf"
  11. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/mock_env"
  12. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_bool"
  13. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_bool_react"
  14. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_int"
  15. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_string"
  16. )
  17. type IMockEnv = mock_env.IMockEnv
  18. // MakeEnv -- возвращает новое мок-окружение.
  19. func MakeEnv() IMockEnv {
  20. sf := mock_env.MakeEnv()
  21. return sf
  22. }
  23. // OptionLogBuf -- опция для конфигурирования ILogBuf.
  24. type OptionLogBuf = log_buf.OptionLogBuf
  25. // OptPrefix -- устанавливает префикс в сообщениях.
  26. func OptPrefix(prefix string) OptionLogBuf {
  27. return log_buf.OptPrefix(prefix)
  28. }
  29. // OptIsTerm -- устанавливает признак вывода в терминал.
  30. func OptIsTerm(isTerm bool) OptionLogBuf {
  31. return log_buf.OptIsTerm(isTerm)
  32. }
  33. // NewLogBuf -- возвращает новый буферизованный лог.
  34. func NewLogBuf(opts ...log_buf.OptionLogBuf) mKt.ILogBuf {
  35. log := log_buf.NewLogBuf(opts...)
  36. return log
  37. }
  38. // NewSafeString -- возвращает новую потокобезопасную строку.
  39. func NewSafeString() mKt.ISafeString {
  40. str := safe_string.NewSafeString()
  41. return str
  42. }
  43. // NewSafeIntFromStr -- возвращает новое потокобезопасное целое из строки.
  44. func NewSafeIntFromStr(strVal string) mL0.IResult[mKt.ISafeInt] {
  45. return safe_int.NewSafeIntFromStr(strVal)
  46. }
  47. // NewSafeIntGetenv -- возвращает новое потокобезопасное целое из окружения.
  48. func NewSafeIntGetenv(env string) mL0.IResult[mKt.ISafeInt] {
  49. return safe_int.NewSafeIntGetenv(env)
  50. }
  51. // NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную.
  52. func NewSafeInt(val int) mKt.ISafeInt {
  53. val_ := safe_int.NewSafeInt(val)
  54. return val_
  55. }
  56. // NewSafeBoolReact -- возвращает новую потокобезопасную реактивную булеву переменную.
  57. func NewSafeBoolReact() mKt.ISafeBoolReact {
  58. val := safe_bool_react.NewSafeBoolReact()
  59. return val
  60. }
  61. // NewSafeBool -- возвращает новый потокобезопасный булевый признак.
  62. func NewSafeBool() mKt.ISafeBool {
  63. sb := safe_bool.NewSafeBool()
  64. return sb
  65. }
  66. // FnHassert -- проверяет с жёстким падением условие.
  67. type FnHassert = helpers.FnHassert
  68. // Hassert -- возвращает ссылку на функцию Hassert.
  69. func Hassert() FnHassert {
  70. return helpers.Hassert
  71. }
  72. // FnAssert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert).
  73. type FnAssert = helpers.FnAssert
  74. // Assert -- возвращает ссылку на функцию Assert.
  75. func Assert() FnAssert {
  76. return helpers.Assert
  77. }
  78. // SleepMs -- спит миллисекунду.
  79. func SleepMs() {
  80. helpers.SleepMs()
  81. }
  82. // NewInt -- возвращает новую целочисленную переменную.
  83. func NewInt(val int) mKt.Int {
  84. val_ := kint.NewInt(val)
  85. return val_
  86. }
  87. // NewLocalCtx -- возвращает новый локальный контекст.
  88. func NewLocalCtx(ctx context.Context) mKt.ILocalCtx {
  89. lCtx := local_ctx.NewLocalCtx(ctx)
  90. return lCtx
  91. }