|
@@ -5,9 +5,10 @@ import (
|
|
|
"context"
|
|
"context"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
|
|
|
- mKa "gitp78su.ipnodns.ru/svi/kern/v4/lev0/kalias"
|
|
|
|
|
- kt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
|
|
|
|
|
- "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
|
|
|
|
|
|
|
+ mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
|
|
|
|
|
+ mKa "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias"
|
|
|
|
|
+ mKt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
|
|
|
|
|
+ mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_http"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_http"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_http/client_bus_http"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_http/client_bus_http"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_local"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_local"
|
|
@@ -24,98 +25,98 @@ import (
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// GetKernelCtx -- возвращает контекст ядра.
|
|
// GetKernelCtx -- возвращает контекст ядра.
|
|
|
-func GetKernelCtx() kt.IResult[kt.IKernelCtx] {
|
|
|
|
|
|
|
+func GetKernelCtx() *mL0.Result[mKt.IKernelCtx] {
|
|
|
resCtx := kctx.GetKernelCtx()
|
|
resCtx := kctx.GetKernelCtx()
|
|
|
if resCtx.IsErr() {
|
|
if resCtx.IsErr() {
|
|
|
err := fmt.Errorf("GetKernelCtx(): err=\n\t%w", resCtx.Err())
|
|
err := fmt.Errorf("GetKernelCtx(): err=\n\t%w", resCtx.Err())
|
|
|
- return NewErr[kt.IKernelCtx](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelCtx](err)
|
|
|
}
|
|
}
|
|
|
- return NewRes(kt.IKernelCtx(resCtx.Val()))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelCtx(resCtx.Val()))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewErr -- возвращает Result с ошибкой.
|
|
// NewErr -- возвращает Result с ошибкой.
|
|
|
-func NewErr[T any](err error) kt.IResult[T] {
|
|
|
|
|
- return lev1.NewErr[T](err)
|
|
|
|
|
|
|
+func NewErr[T any](err error) *mL0.Result[T] {
|
|
|
|
|
+ return mL0.NewErr[T](err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewRes -- возвращает успешный Result с значением.
|
|
// NewRes -- возвращает успешный Result с значением.
|
|
|
-func NewRes[T any](res T) kt.IResult[T] {
|
|
|
|
|
- return lev1.NewRes(res)
|
|
|
|
|
|
|
+func NewRes[T any](res T) *mL0.Result[T] {
|
|
|
|
|
+ return mL0.NewRes(res)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой.
|
|
// WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой.
|
|
|
-func WrapErr[T any](res kt.IResult[T], err error) kt.IResult[T] {
|
|
|
|
|
- return lev1.WrapErr(res, err)
|
|
|
|
|
|
|
+func WrapErr[T any](res *mL0.Result[T], err error) *mL0.Result[T] {
|
|
|
|
|
+ return mL0.WrapErr(res, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetKernelStoreKv -- возвращает быстрое key-value хранилище ядра.
|
|
// GetKernelStoreKv -- возвращает быстрое key-value хранилище ядра.
|
|
|
-func GetKernelStoreKv() kt.IResult[kt.IKernelStoreKv] {
|
|
|
|
|
|
|
+func GetKernelStoreKv() *mL0.Result[mKt.IKernelStoreKv] {
|
|
|
resStore := kstore_kv.GetKernelStore()
|
|
resStore := kstore_kv.GetKernelStore()
|
|
|
if resStore.IsErr() {
|
|
if resStore.IsErr() {
|
|
|
err := fmt.Errorf("GetKernelStoreKv(): err=\n\t%w", resStore.Err())
|
|
err := fmt.Errorf("GetKernelStoreKv(): err=\n\t%w", resStore.Err())
|
|
|
- return NewErr[kt.IKernelStoreKv](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelStoreKv](err)
|
|
|
}
|
|
}
|
|
|
- store := kt.IKernelStoreKv(resStore.Val())
|
|
|
|
|
|
|
+ store := mKt.IKernelStoreKv(resStore.Val())
|
|
|
return NewRes(store)
|
|
return NewRes(store)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetKernelServerHttp -- возвращает веб-сервер ядра.
|
|
// GetKernelServerHttp -- возвращает веб-сервер ядра.
|
|
|
-func GetKernelServerHttp() kt.IResult[kt.IKernelServerHttp] {
|
|
|
|
|
|
|
+func GetKernelServerHttp() *mL0.Result[mKt.IKernelServerHttp] {
|
|
|
kernServHttp := kserv_http.GetKernelServHttp()
|
|
kernServHttp := kserv_http.GetKernelServHttp()
|
|
|
return kernServHttp
|
|
return kernServHttp
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewSafeBool -- возвращает новый потокобезопасный булевый признак.
|
|
// NewSafeBool -- возвращает новый потокобезопасный булевый признак.
|
|
|
-func NewSafeBool() kt.ISafeBool {
|
|
|
|
|
- sb := lev1.NewSafeBool()
|
|
|
|
|
|
|
+func NewSafeBool() mKt.ISafeBool {
|
|
|
|
|
+ sb := mL1.NewSafeBool()
|
|
|
return sb
|
|
return sb
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetKernelBusLocal -- возвращает локальную шину данных.
|
|
// GetKernelBusLocal -- возвращает локальную шину данных.
|
|
|
-func GetKernelBusLocal() kt.IResult[kt.IKernelBus] {
|
|
|
|
|
|
|
+func GetKernelBusLocal() *mL0.Result[mKt.IKernelBus] {
|
|
|
resCtx := kctx.GetKernelCtx()
|
|
resCtx := kctx.GetKernelCtx()
|
|
|
if resCtx.IsErr() {
|
|
if resCtx.IsErr() {
|
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resCtx.Err())
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resCtx.Err())
|
|
|
- return NewErr[kt.IKernelBus](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelBus](err)
|
|
|
}
|
|
}
|
|
|
kCtx := resCtx.Val()
|
|
kCtx := resCtx.Val()
|
|
|
resSet := kCtx.Set("monolitName", "unknown monolit", "GetKernelBusLocal()")
|
|
resSet := kCtx.Set("monolitName", "unknown monolit", "GetKernelBusLocal()")
|
|
|
if resSet.IsErr() {
|
|
if resSet.IsErr() {
|
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resSet.Err())
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resSet.Err())
|
|
|
- return NewErr[kt.IKernelBus](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelBus](err)
|
|
|
}
|
|
}
|
|
|
resBus := kbus_local.GetKernelBusLocal()
|
|
resBus := kbus_local.GetKernelBusLocal()
|
|
|
if resBus.IsErr() {
|
|
if resBus.IsErr() {
|
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resBus.Err())
|
|
err := fmt.Errorf("GetKernelBusLocal(): err=\n\t%w", resBus.Err())
|
|
|
- return NewErr[kt.IKernelBus](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelBus](err)
|
|
|
}
|
|
}
|
|
|
- bus := kt.IKernelBus(resBus.Val())
|
|
|
|
|
|
|
+ bus := mKt.IKernelBus(resBus.Val())
|
|
|
return NewRes(bus)
|
|
return NewRes(bus)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetKernelBusHttp -- возвращает HTTP шину данных.
|
|
// GetKernelBusHttp -- возвращает HTTP шину данных.
|
|
|
-func GetKernelBusHttp() kt.IResult[kt.IKernelBus] {
|
|
|
|
|
|
|
+func GetKernelBusHttp() *mL0.Result[mKt.IKernelBus] {
|
|
|
bus := kbus_http.GetKernelBusHttp()
|
|
bus := kbus_http.GetKernelBusHttp()
|
|
|
return bus
|
|
return bus
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// SleepMs -- спит миллисекунду.
|
|
// SleepMs -- спит миллисекунду.
|
|
|
func SleepMs() {
|
|
func SleepMs() {
|
|
|
- lev1.SleepMs()
|
|
|
|
|
|
|
+ mL1.SleepMs()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetMonolitLocal -- возвращает монолит с локальной шиной.
|
|
// GetMonolitLocal -- возвращает монолит с локальной шиной.
|
|
|
-func GetMonolitLocal(name string) kt.IResult[kt.IKernelMonolit] {
|
|
|
|
|
|
|
+func GetMonolitLocal(name string) *mL0.Result[mKt.IKernelMonolit] {
|
|
|
resCtx := kctx.GetKernelCtx()
|
|
resCtx := kctx.GetKernelCtx()
|
|
|
if resCtx.IsErr() {
|
|
if resCtx.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", resCtx.Err())
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", resCtx.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
kCtx := resCtx.Val()
|
|
kCtx := resCtx.Val()
|
|
|
resSet := kCtx.Set("isLocal", true, "bus type")
|
|
resSet := kCtx.Set("isLocal", true, "bus type")
|
|
|
if resSet.IsErr() {
|
|
if resSet.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", resSet.Err())
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", resSet.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
for {
|
|
for {
|
|
|
SleepMs()
|
|
SleepMs()
|
|
@@ -127,25 +128,25 @@ func GetMonolitLocal(name string) kt.IResult[kt.IKernelMonolit] {
|
|
|
res := kmonolit.GetMonolit(name)
|
|
res := kmonolit.GetMonolit(name)
|
|
|
if res.IsErr() {
|
|
if res.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", res.Err())
|
|
err := fmt.Errorf("GetMonolitLocal(): err=\n\t%w", res.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
_ = kbus_local.GetKernelBusLocal()
|
|
_ = kbus_local.GetKernelBusLocal()
|
|
|
- return NewRes(kt.IKernelMonolit(res.Val()))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelMonolit(res.Val()))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetMonolitHttp -- возвращает монолит с локальной шиной поверх HTTP.
|
|
// GetMonolitHttp -- возвращает монолит с локальной шиной поверх HTTP.
|
|
|
-func GetMonolitHttp(name string) kt.IResult[kt.IKernelMonolit] {
|
|
|
|
|
|
|
+func GetMonolitHttp(name string) *mL0.Result[mKt.IKernelMonolit] {
|
|
|
resCtx := kctx.GetKernelCtx()
|
|
resCtx := kctx.GetKernelCtx()
|
|
|
if resCtx.IsErr() {
|
|
if resCtx.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", resCtx.Err())
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", resCtx.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
kCtx := resCtx.Val()
|
|
kCtx := resCtx.Val()
|
|
|
_ = kbus_http.GetKernelBusHttp()
|
|
_ = kbus_http.GetKernelBusHttp()
|
|
|
resSet := kCtx.Set("isLocal", false, "bus type")
|
|
resSet := kCtx.Set("isLocal", false, "bus type")
|
|
|
if resSet.IsErr() {
|
|
if resSet.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", resSet.Err())
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", resSet.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
for {
|
|
for {
|
|
|
SleepMs()
|
|
SleepMs()
|
|
@@ -157,151 +158,151 @@ func GetMonolitHttp(name string) kt.IResult[kt.IKernelMonolit] {
|
|
|
res := kmonolit.GetMonolit(name)
|
|
res := kmonolit.GetMonolit(name)
|
|
|
if res.IsErr() {
|
|
if res.IsErr() {
|
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", res.Err())
|
|
err := fmt.Errorf("GetMonolitHttp(): err=\n\t%w", res.Err())
|
|
|
- return NewErr[kt.IKernelMonolit](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelMonolit](err)
|
|
|
}
|
|
}
|
|
|
- return NewRes(kt.IKernelMonolit(res.Val()))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelMonolit(res.Val()))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewKernelModule -- возвращает новый модуль на ядре.
|
|
// NewKernelModule -- возвращает новый модуль на ядре.
|
|
|
-func NewKernelModule(name mKa.AModuleName) kt.IResult[kt.IKernelModule] {
|
|
|
|
|
|
|
+func NewKernelModule(name *mKa.AModuleName) *mL0.Result[mKt.IKernelModule] {
|
|
|
resMod := kmodule.NewKernelModule(name)
|
|
resMod := kmodule.NewKernelModule(name)
|
|
|
return resMod
|
|
return resMod
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewClientBusLocal -- возвращает клиент для работы с локальной шиной.
|
|
// NewClientBusLocal -- возвращает клиент для работы с локальной шиной.
|
|
|
-func NewClientBusLocal() kt.IResult[kt.IBusClient] {
|
|
|
|
|
|
|
+func NewClientBusLocal() *mL0.Result[mKt.IBusClient] {
|
|
|
res := client_bus_local.NewClientBusLocal()
|
|
res := client_bus_local.NewClientBusLocal()
|
|
|
if res.IsErr() {
|
|
if res.IsErr() {
|
|
|
err := fmt.Errorf("NewClientBusLocal(): err=\n\t%w", res.Err())
|
|
err := fmt.Errorf("NewClientBusLocal(): err=\n\t%w", res.Err())
|
|
|
- return NewErr[kt.IBusClient](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IBusClient](err)
|
|
|
}
|
|
}
|
|
|
client := res.Val()
|
|
client := res.Val()
|
|
|
return NewRes(client)
|
|
return NewRes(client)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewClientBusHttp -- возвращает клиент для работы с шиной поверх HTTP.
|
|
// NewClientBusHttp -- возвращает клиент для работы с шиной поверх HTTP.
|
|
|
-func NewClientBusHttp(url string) kt.IResult[kt.IBusClient] {
|
|
|
|
|
|
|
+func NewClientBusHttp(url string) *mL0.Result[mKt.IBusClient] {
|
|
|
client := client_bus_http.NewClientBusHttp(url)
|
|
client := client_bus_http.NewClientBusHttp(url)
|
|
|
return client
|
|
return client
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetModuleServHttp -- возвращает модуль для IKernelServHttp.
|
|
// GetModuleServHttp -- возвращает модуль для IKernelServHttp.
|
|
|
-func GetModuleServHttp() kt.IResult[kt.IKernelModule] {
|
|
|
|
|
|
|
+func GetModuleServHttp() *mL0.Result[mKt.IKernelModule] {
|
|
|
resHttp := mod_serv_http.GetModuleServHttp()
|
|
resHttp := mod_serv_http.GetModuleServHttp()
|
|
|
if resHttp.IsErr() {
|
|
if resHttp.IsErr() {
|
|
|
err := fmt.Errorf("GetModuleServHttp(): err=\n\t%w", resHttp.Err())
|
|
err := fmt.Errorf("GetModuleServHttp(): err=\n\t%w", resHttp.Err())
|
|
|
- return NewErr[kt.IKernelModule](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelModule](err)
|
|
|
}
|
|
}
|
|
|
modServHttp := resHttp.Val()
|
|
modServHttp := resHttp.Val()
|
|
|
- return NewRes(kt.IKernelModule(modServHttp))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelModule(modServHttp))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetModuleKernelCtx -- возвращает модуль для IKernelCtx.
|
|
// GetModuleKernelCtx -- возвращает модуль для IKernelCtx.
|
|
|
-func GetModuleKernelCtx() kt.IResult[kt.IKernelModule] {
|
|
|
|
|
|
|
+func GetModuleKernelCtx() *mL0.Result[mKt.IKernelModule] {
|
|
|
resMod := mod_kctx.GetModuleKernelCtx()
|
|
resMod := mod_kctx.GetModuleKernelCtx()
|
|
|
if resMod.IsErr() {
|
|
if resMod.IsErr() {
|
|
|
err := fmt.Errorf("GetModuleKernelCtx(): err=\n\t%w", resMod.Err())
|
|
err := fmt.Errorf("GetModuleKernelCtx(): err=\n\t%w", resMod.Err())
|
|
|
- return NewErr[kt.IKernelModule](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelModule](err)
|
|
|
}
|
|
}
|
|
|
mod := resMod.Val()
|
|
mod := resMod.Val()
|
|
|
- return NewRes(kt.IKernelModule(mod))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelModule(mod))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetModuleKernelKeeper -- возвращает модуль для IKernelKeeper.
|
|
// GetModuleKernelKeeper -- возвращает модуль для IKernelKeeper.
|
|
|
-func GetModuleKernelKeeper() kt.IResult[kt.IKernelModule] {
|
|
|
|
|
|
|
+func GetModuleKernelKeeper() *mL0.Result[mKt.IKernelModule] {
|
|
|
resKeeper := mod_keeper.GetModuleKeeper()
|
|
resKeeper := mod_keeper.GetModuleKeeper()
|
|
|
if resKeeper.IsErr() {
|
|
if resKeeper.IsErr() {
|
|
|
err := fmt.Errorf("GetModuleKernelKeeper(): err=\n\t%w", resKeeper.Err())
|
|
err := fmt.Errorf("GetModuleKernelKeeper(): err=\n\t%w", resKeeper.Err())
|
|
|
- return NewErr[kt.IKernelModule](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelModule](err)
|
|
|
}
|
|
}
|
|
|
modKernelKeeper := resKeeper.Val()
|
|
modKernelKeeper := resKeeper.Val()
|
|
|
- return NewRes(kt.IKernelModule(modKernelKeeper))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelModule(modKernelKeeper))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetModuleWui -- возвращает модуль для WUI.
|
|
// GetModuleWui -- возвращает модуль для WUI.
|
|
|
-func GetModuleWui() kt.IResult[kt.IKernelModule] {
|
|
|
|
|
|
|
+func GetModuleWui() *mL0.Result[mKt.IKernelModule] {
|
|
|
resMod := mod_wui.GetModuleWui()
|
|
resMod := mod_wui.GetModuleWui()
|
|
|
if resMod.IsErr() {
|
|
if resMod.IsErr() {
|
|
|
err := fmt.Errorf("GetModuleWui(): err=\n\t%w", resMod.Err())
|
|
err := fmt.Errorf("GetModuleWui(): err=\n\t%w", resMod.Err())
|
|
|
- return NewErr[kt.IKernelModule](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.IKernelModule](err)
|
|
|
}
|
|
}
|
|
|
modWui := resMod.Val()
|
|
modWui := resMod.Val()
|
|
|
- return NewRes(kt.IKernelModule(modWui))
|
|
|
|
|
|
|
+ return NewRes(mKt.IKernelModule(modWui))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewLogBuf -- возвращает новый буферизованный лог.
|
|
// NewLogBuf -- возвращает новый буферизованный лог.
|
|
|
-func NewLogBuf(opts ...lev1.OptionLogBuf) kt.ILogBuf {
|
|
|
|
|
- log := lev1.NewLogBuf(opts...)
|
|
|
|
|
|
|
+func NewLogBuf(opts ...mL1.OptionLogBuf) mKt.ILogBuf {
|
|
|
|
|
+ log := mL1.NewLogBuf(opts...)
|
|
|
return log
|
|
return log
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewSafeBoolReact -- возвращает новую потокобезопасную реактивную булеву переменную.
|
|
// NewSafeBoolReact -- возвращает новую потокобезопасную реактивную булеву переменную.
|
|
|
-func NewSafeBoolReact() kt.ISafeBoolReact {
|
|
|
|
|
- val := lev1.NewSafeBoolReact()
|
|
|
|
|
|
|
+func NewSafeBoolReact() mKt.ISafeBoolReact {
|
|
|
|
|
+ val := mL1.NewSafeBoolReact()
|
|
|
return val
|
|
return val
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную.
|
|
// NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную.
|
|
|
-func NewSafeInt(val int) kt.ISafeInt {
|
|
|
|
|
- val_ := lev1.NewSafeInt(val)
|
|
|
|
|
|
|
+func NewSafeInt(val int) mKt.ISafeInt {
|
|
|
|
|
+ val_ := mL1.NewSafeInt(val)
|
|
|
return val_
|
|
return val_
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewInt -- возвращает новую целочисленную переменную.
|
|
// NewInt -- возвращает новую целочисленную переменную.
|
|
|
-func NewInt(val int) kt.Int {
|
|
|
|
|
- val_ := lev1.NewInt(val)
|
|
|
|
|
|
|
+func NewInt(val int) mKt.Int {
|
|
|
|
|
+ val_ := mL1.NewInt(val)
|
|
|
return val_
|
|
return val_
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewLocalCtx -- возвращает новый локальный контекст.
|
|
// NewLocalCtx -- возвращает новый локальный контекст.
|
|
|
-func NewLocalCtx(ctx context.Context) kt.IResult[kt.ILocalCtx] {
|
|
|
|
|
- resCtx := lev1.NewLocalCtx(ctx)
|
|
|
|
|
|
|
+func NewLocalCtx(ctx context.Context) *mL0.Result[mKt.ILocalCtx] {
|
|
|
|
|
+ resCtx := mL1.NewLocalCtx(ctx)
|
|
|
if resCtx.IsErr() {
|
|
if resCtx.IsErr() {
|
|
|
err := fmt.Errorf("NewLocalCtx(): err=\n\t%w", resCtx.Err())
|
|
err := fmt.Errorf("NewLocalCtx(): err=\n\t%w", resCtx.Err())
|
|
|
- return NewErr[kt.ILocalCtx](err)
|
|
|
|
|
|
|
+ return NewErr[mKt.ILocalCtx](err)
|
|
|
}
|
|
}
|
|
|
ctx_ := resCtx.Val()
|
|
ctx_ := resCtx.Val()
|
|
|
return NewRes(ctx_)
|
|
return NewRes(ctx_)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewSafeString -- возвращает новую потокобезопасную строку.
|
|
// NewSafeString -- возвращает новую потокобезопасную строку.
|
|
|
-func NewSafeString() kt.ISafeString {
|
|
|
|
|
- str := lev1.NewSafeString()
|
|
|
|
|
|
|
+func NewSafeString() mKt.ISafeString {
|
|
|
|
|
+ str := mL1.NewSafeString()
|
|
|
return str
|
|
return str
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// MakeOk -- возвращает новый положительный результат операции.
|
|
// MakeOk -- возвращает новый положительный результат операции.
|
|
|
-func MakeOk[T any](res T) kt.IResult[T] {
|
|
|
|
|
|
|
+func MakeOk[T any](res T) *mL0.Result[T] {
|
|
|
return NewRes(res)
|
|
return NewRes(res)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// MakeErr -- возвращает новую ошибку результат операции.
|
|
// MakeErr -- возвращает новую ошибку результат операции.
|
|
|
-func MakeErr[T any](err error) kt.IResult[T] {
|
|
|
|
|
|
|
+func MakeErr[T any](err error) *mL0.Result[T] {
|
|
|
return NewErr[T](err)
|
|
return NewErr[T](err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewOpt -- возвращает новый не пустой результат операции.
|
|
// NewOpt -- возвращает новый не пустой результат операции.
|
|
|
-func NewOpt[T any](some T) kt.IOption[T] {
|
|
|
|
|
- return lev1.NewOpt(some)
|
|
|
|
|
|
|
+func NewOpt[T any](some T) *mL0.Option[T] {
|
|
|
|
|
+ return mL0.NewOpt(some)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewNone -- возвращает новый пустой результат операции.
|
|
// NewNone -- возвращает новый пустой результат операции.
|
|
|
-func NewNone[T any]() kt.IOption[T] {
|
|
|
|
|
- return lev1.NewNone[T]()
|
|
|
|
|
|
|
+func NewNone[T any]() *mL0.Option[T] {
|
|
|
|
|
+ return mL0.NewNone[T]()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// FnHassert -- проверяет с жёстким падением условие.
|
|
// FnHassert -- проверяет с жёстким падением условие.
|
|
|
-type FnHassert = lev1.FnHassert
|
|
|
|
|
|
|
+type FnHassert = mL1.FnHassert
|
|
|
|
|
|
|
|
// Hassert -- возвращает ссылку на функцию Hassert.
|
|
// Hassert -- возвращает ссылку на функцию Hassert.
|
|
|
func Hassert() FnHassert {
|
|
func Hassert() FnHassert {
|
|
|
- return lev1.Hassert()
|
|
|
|
|
|
|
+ return mL1.Hassert()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// FnAssert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert).
|
|
// FnAssert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert).
|
|
|
-type FnAssert = lev1.FnAssert
|
|
|
|
|
|
|
+type FnAssert = mL1.FnAssert
|
|
|
|
|
|
|
|
// Assert -- возвращает ссылку на функцию Hassert.
|
|
// Assert -- возвращает ссылку на функцию Hassert.
|
|
|
func Assert() FnAssert {
|
|
func Assert() FnAssert {
|
|
|
- return lev1.Assert()
|
|
|
|
|
|
|
+ return mL1.Assert()
|
|
|
}
|
|
}
|