| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- // package lev1 -- сборка уровня 1
- package lev1
- import (
- "context"
- "fmt"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/kint"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/local_ctx"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/mock_env"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/option"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/result"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_bool"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_bool_react"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_int"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1/safe_string"
- )
- type IMockEnv = mock_env.IMockEnv
- // MakeEnv -- возвращает новое мок-окружение
- func MakeEnv() IMockEnv {
- sf := mock_env.MakeEnv()
- return sf
- }
- // OptionLogBuf -- опция для конфигурирования ILogBuf
- type OptionLogBuf = log_buf.OptionLogBuf
- // OptPrefix -- устанавливает префикс в сообщениях
- func OptPrefix(prefix string) OptionLogBuf {
- return log_buf.OptPrefix(prefix)
- }
- // OptIsTerm -- устанавливает признак вывода в терминал
- func OptIsTerm(isTerm bool) OptionLogBuf {
- return log_buf.OptIsTerm(isTerm)
- }
- // NewLogBuf -- возвращает новый буферизованный лог
- func NewLogBuf(opts ...log_buf.OptionLogBuf) ILogBuf {
- log := log_buf.NewLogBuf(opts...)
- return log
- }
- // NewSafeString -- возвращает новую потокобезопасную строку
- func NewSafeString() ISafeString {
- str := safe_string.NewSafeString()
- return str
- }
- // NewSafeIntFromStr -- возвращает новое потокобезопасное целое из строки
- func NewSafeIntFromStr(strVal string) IResult[ISafeInt] {
- return safe_int.NewSafeIntFromStr(strVal)
- }
- // NewSafeIntGetenv -- возвращает новое потокобезопасное целое из окружения
- func NewSafeIntGetenv(env string) IResult[ISafeInt] {
- return safe_int.NewSafeIntGetenv(env)
- }
- // NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную
- func NewSafeInt(val int) ISafeInt {
- val_ := safe_int.NewSafeInt(val)
- return val_
- }
- // NewSafeBoolReact -- возвращает новую потокобезопасную реактивную булеву переменную
- func NewSafeBoolReact() ISafeBoolReact {
- val := safe_bool_react.NewSafeBoolReact()
- return val
- }
- // NewSafeBool -- возвращает новый потокобезопасный булевый признак
- func NewSafeBool() ISafeBool {
- sb := safe_bool.NewSafeBool()
- return sb
- }
- // NewRes -- возвращает успешный Result с значением
- func NewRes[T any](res T) IResult[T] {
- return result.NewRes(res)
- }
- // NewErr -- возвращает Result с ошибкой
- func NewErr[T any](err error) IResult[T] {
- return result.NewErr[T](err)
- }
- // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой
- func WrapErr[T any](res IResult[T], err error) IResult[T] {
- return result.WrapErr(res, err)
- }
- // NewOpt -- возвращает новый не пустой результат операции
- func NewOpt[T any](some T) IOption[T] {
- return option.NewOpt(some)
- }
- // NewNone -- возвращает новый пустой результат операции
- func NewNone[T any]() IOption[T] {
- return option.NewNone[T]()
- }
- // FnHassert -- проверяет с жёстким падением условие
- type FnHassert = helpers.FnHassert
- // Hassert -- возвращает ссылку на функцию Hassert
- func Hassert() FnHassert {
- return helpers.Hassert
- }
- // FnAssert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert)
- type FnAssert = helpers.FnAssert
- // Assert -- возвращает ссылку на функцию Assert
- func Assert() FnAssert {
- return helpers.Assert
- }
- // SleepMs -- спит миллисекунду
- func SleepMs() {
- helpers.SleepMs()
- }
- // NewInt -- возвращает новую целочисленную переменную
- func NewInt(val int) Int {
- val_ := kint.NewInt(val)
- return val_
- }
- // NewLocalCtx -- возвращает новый локальный контекст
- func NewLocalCtx(ctx context.Context) IResult[ILocalCtx] {
- resCtx := local_ctx.NewLocalCtx(ctx)
- if resCtx.IsErr() {
- err := fmt.Errorf("NewLocalCtx(): err=\n\t%w", resCtx.Err())
- return NewErr[ILocalCtx](err)
- }
- return NewRes(ILocalCtx(resCtx.Val()))
- }
|