lev1.go 3.5 KB

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