// package lev0 -- сущности уровня 0 package lev0 import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" ) // ATxt -- внутренее представление текста. type ATxt = defs.ATxt // Bool -- внутренее представление логического значения. type Bool = defs.Bool // LBool -- неизменяемое булево значение. type LBool = defs.LBool // LetBool -- возвращает новое внутреннее логическое значение. func LetBool(val Bool) *LBool { return defs.LetBool(val) } // MBool -- изменяемое булево значение. type MBool = defs.MBool // MutBool -- возвращает новый изменяемый Bool. func MutBool(val Bool) *MBool { return defs.MutBool(val) } // Time -- внутреннее время. type Time = defs.Time // LTime -- внутренее неизменяемое время. // // Вывод: "2006-01-02 15:04:05.000 -07 MST". type LTime = defs.LTime // LetTimeAuto -- возвращает новое автоматическое внутреннее неизменяемое время. // // Вывод: "2006-01-02 15:04:05.000 -07 MST". func LetTimeAuto() *LTime { return defs.LetTimeAuto() } // MTime -- внутренее изменяемое время. // // Вывод: "2006-01-02 15:04:05.000 -07 MST". type MTime = defs.MTime func MutTimeAuto() *MTime { return defs.MutTimeAuto() } // Int -- внутренне представление числа. type Int = defs.Int // LInt -- внутренне неизменяемое целое. type LInt = defs.LInt // LetInt -- возвращает новое внутреннее неизменяемое целое. func LetInt(val Int) *LInt { return defs.LetInt(val) } // MInt -- внутреннее изменяемое целое. type MInt=defs.MInt // IntConstraint -- ограничение внутреннего целого. type IntConstraint = defs.IntConstraint // MutInt -- возвращает новое внутреннее изменяемое целое. func MutInt[T IntConstraint](val T) *MInt { return defs.MutInt(val) } // LetInt -- возвращает новое внутреннее неизменяемое целое. // TxtConstraint -- разрешает строки и любые типы на его основе (например, ATxt). type TxtConstraint = defs.TxtConstraint // LTxt -- внутренний неизменяемый текст. type LTxt = defs.LTxt // LetTxt -- создать новую неизменяемую строку. func LetTxt[T TxtConstraint](msgFormat T, arg ...any) *LTxt { return defs.LetTxt(msgFormat, arg...) } // MTxt -- внутренний изменяемый текст. type MTxt = defs.MTxt // MutTxt -- создать новую изменяемую строку. func MutTxt[T TxtConstraint](msgFormat T, arg ...any) *MTxt { return defs.MutTxt(msgFormat, arg...) } // Result — обёртка вокруг результата с возможной ошибкой. type Result[T any] = defs.Result[T] // ResOk -- возвращает успешный Result с значением. func ResOk[T any](res T) *Result[T] { return defs.ResOk(res) } // ResErr -- возвращает Result с ошибкой. func ResErr[T any](err error) *Result[T] { return defs.ResErr[T](err) } // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой. func WrapErr[T any](res *Result[T], err error) *Result[T] { return defs.WrapErr(res, err) } // Option — обёртка вокруг результата с возможной пустотой. type Option[T any] = defs.Option[T] // NewSome -- возвращает новый не пустой результат операции. func NewSome[T any](some T) *Option[T] { return defs.NewSome(some) } // NewNone -- возвращает новый пустой результат операции. func NewNone[T any]() *Option[T] { return defs.NewNone[T]() } // AssertAction -- хранит состояние для проверки. type AssertAction[T ~bool] = helpers.AssertAction[T] // If -- условие для проверки. func If[T ~bool](isOk T) *AssertAction[T] { return helpers.If(isOk) } // SleepMs -- задержка в миллисекундах. func SleepMs() { helpers.SleepMs() } // LErr -- внутренняя неизменяемая ошибка. type LErr = defs.LErr // LetErr -- создать новую обёрнутую ошибку. func LetErr[T TxtConstraint](msg T, arg ...any) *LErr { return defs.LetErr(msg, arg...) } // ISafeBool -- интерфейс к потокобезопасной переменной. type ISafeBool = core_spec.ISafeBool // IChan -- умный канал. type IChan[T any] = core_spec.IChan[T] // ISafeBoolReact -- реактивный потокобезопасный булевый признак. type ISafeBoolReact = core_spec.ISafeBoolReact type IRWMutex = core_spec.IRWMutex // Sprintf -- форматирует строку с помощью fmt.Sprintf. func Sprintf[T TxtConstraint](val T, arg ...any) ATxt { return defs.Sprintf(val, arg...) } // BucketName -- имя сущности. type BucketName=defs.BucketName // Atoi -- возвращает возможное число. func Atoi(val ATxt)*Result[Int]{ return defs.Atoi(val) }