// package def_spec -- внутренние спецификации типы package def_spec import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_bool" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_int" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_time" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_txt" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_mut_bool" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_mut_time" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_mut_txt" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_base" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_fn" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result" ) // ATxt -- алиас для внутренней строки. type ATxt = def_spec_base.ATxt // Int -- алиас для int. type Int = def_spec_base.Int // LInt -- внутренне неизменяемое целое. type LInt=def_let_int.LInt // Bool -- внутренее представление логического значения. type Bool = def_spec_base.Bool // LBool -- неизменяемое булево значение type LBool = def_let_bool.LBool // LetBool -- возвращает новый неизменяемый Bool func LetBool(val def_spec_base.Bool) *LBool { return def_let_bool.LetBool(val) } // MBool -- изменяемое булево значение type MBool = def_mut_bool.MBool // MutBool -- возвращает новый изменяемый Bool func MutBool(val def_spec_base.Bool) *MBool { return def_mut_bool.MutBool(val) } // IString -- интерфейс к стандартной строке. type IString = def_spec_fn.IString // TxtConstraint -- разрешает строки и любые типы на его основе (например, ATxt). type TxtConstraint = def_spec_fn.TxtConstraint // LTxt -- внутренний неизменяемый текст. type LTxt = def_let_txt.LTxt // LetTxt -- создать новую неизменяемую строку. func LetTxt[T TxtConstraint](msg T, arg ...any) *LTxt { return def_let_txt.LetTxt(msg, arg...) } // MTxt -- внутренний изменяемый текст. type MTxt = def_mut_txt.MTxt // MutTxt -- создать новый внутрениий изменяемый текст. func MutTxt[T TxtConstraint](msg T, arg ...any) *MTxt { return def_mut_txt.MutTxt(msg, arg...) } // Result — обёртка вокруг результата с возможной ошибкой. // // Может быть либо только полезное значение, либо только ошибка. type Result[T any] = result.Result[T] // NewOk -- возвращает успешный Result с значением. func NewOk[T any](value T) *Result[T] { return result.NewOk(value) } // NewErr -- возвращает Result с ошибкой. func NewErr[T any](err error) *Result[T] { return result.NewErr[T](err) } // Sprintf -- форматирует базовуб строку func Sprintf[T def_spec_fn.TxtConstraint](format T, args ...any) ATxt { return def_spec_fn.Sprintf(format, args...) } // Time -- внутренее представление времени. type Time = def_spec_base.Time // LTime -- внутренее неизменяемое время. // // Вывод: "2006-01-02 15:04:05.000 -07 MST". type LTime = def_let_time.LTime // LetTime -- возвращает новое внутреннее неизменяемое время. func LetTime[T TxtConstraint](val T) *LTime { return def_let_time.LetTime(val) } // MTime -- внутренее изменяемое время. // // Вывод: "2006-01-02 15:04:05.000 -07 MST". type MTime = def_mut_time.MTime // MutTime -- возвращает новое внутреннее изменяемое время func MutTime[T TxtConstraint](val T) *MTime { return def_mut_time.MutTime(val) }