Переглянути джерело

SVI Рабочее сохранение

SVI 4 місяців тому
батько
коміт
7071a92b29

+ 1 - 1
v4/kern.go

@@ -76,7 +76,7 @@ type ISafeBool = core_spec.ISafeBool
 // NewSafeBool -- возвращает новый потокобезопасный булевый признак.
 //
 
-func NewSafeBool(val bool) ISafeBool {
+func NewSafeBool(val defs.Bool) ISafeBool {
 	sb := mL1.NewSafeBool(val)
 	return sb
 }

+ 4 - 2
v4/lev0/core_spec/ebool.go

@@ -1,11 +1,13 @@
 package core_spec
 
+import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
+
 // EBool -- расширенный бул.
 type EBool interface {
 	// IsOk -- проверяет на true.
-	IsOk() bool
+	IsOk() defs.Bool
 	// IsNot -- проверяет на false.
-	IsNot() bool
+	IsNot() defs.Bool
 }
 
 // EBoolMut -- мутабельный расширенный бул.

+ 5 - 2
v4/lev0/core_spec/ichan.go

@@ -1,6 +1,9 @@
 package core_spec
 
-import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
+import (
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
+)
 
 // IChan -- умный канал.
 type IChan[T any] interface {
@@ -13,5 +16,5 @@ type IChan[T any] interface {
 	// Close -- закрыть канал.
 	Close()
 	// IsClosed -- проверяет закрыт ли канал.
-	IsClosed() bool
+	IsClosed() defs.Bool
 }

+ 2 - 2
v4/lev0/core_spec/ikernel_int.go

@@ -23,9 +23,9 @@ type Int interface {
 	// ToByte -- возвращает как срез байт
 	ToByte() []byte
 	// FromBool -- устанавливает значение из булева
-	FromBool(bool) def_spec.Int
+	FromBool(def_spec.Bool) def_spec.Int
 	// ToBool -- возвращает как булево значение
-	ToBool() bool
+	ToBool() def_spec.Bool
 	// Getenv -- устанавливает значение из окружения
 	Getenv(def_spec.ITxtFix) def_spec.IResult[def_spec.Int]
 }

+ 1 - 1
v4/lev0/core_spec/isafe_bool.go

@@ -5,7 +5,7 @@ import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 // ISafeBool -- интерфейс к потокобезопасной переменной.
 type ISafeBool interface {
 	// Get -- возвращает хранимое значение потокобезопасной переменной
-	Get() bool
+	Get() defs.Bool
 	// Set -- взводит хранимое потокобезопасное значение
 	Set()
 	// Reset -- сбрасывает хранимое потокобезопасное значение

+ 1 - 0
v4/lev0/defs/def_bool/def_bool.go

@@ -0,0 +1 @@
+package def_bool

+ 4 - 0
v4/lev0/defs/def_spec/def_bool.go

@@ -0,0 +1,4 @@
+package def_spec
+
+// Bool -- внутренее представление логического значения.
+type Bool bool

+ 2 - 2
v4/lev0/defs/def_spec/def_result.go

@@ -3,9 +3,9 @@ package def_spec
 // IResult -- возвращаемый результат.
 type IResult[T any] interface {
 	// IsOk -- возвращает true, если Result содержит значение.
-	IsOk() bool
+	IsOk() Bool
 	// IsErr -- возвращает true, если Result содержит ошибку.
-	IsErr() bool
+	IsErr() Bool
 	// Ok -- возвращает значение, если оно есть, иначе паникует.
 	Ok() T
 	// OkOr -- возвращает значение, если оно есть, или значение по умолчанию.

+ 3 - 0
v4/lev0/defs/defs.go

@@ -7,6 +7,9 @@ import (
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_txt"
 )
 
+// Bool -- внутренне представление логического значения.
+type Bool = def_spec.Bool
+
 // Int -- внутренне представление числа.
 type Int = def_spec.Int
 

+ 8 - 7
v4/lev0/etypes/ebool/ebool.go

@@ -3,17 +3,18 @@ package ebool
 
 import (
 	mKs "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"
 )
 
 // EBool -- расширенное булево.
 type EBool struct {
-	val   bool // Хранимое значение.
-	isMut bool // Признак мутабельности.
+	val   defs.Bool // Хранимое значение.
+	isMut defs.Bool // Признак мутабельности.
 }
 
 // NewEBool -- возвращает новый расширенный бул.
-func NewEBool(val bool) mKs.EBool {
+func NewEBool(val defs.Bool) mKs.EBool {
 	sf := &EBool{
 		val: val,
 	}
@@ -21,7 +22,7 @@ func NewEBool(val bool) mKs.EBool {
 }
 
 // NewEBoolMut -- возвращает новый расширенный мутируемый бул.
-func NewEBoolMut(val bool) mKs.EBoolMut {
+func NewEBoolMut(val defs.Bool) mKs.EBoolMut {
 	sf := &EBool{
 		val:   val,
 		isMut: true,
@@ -32,21 +33,21 @@ func NewEBoolMut(val bool) mKs.EBoolMut {
 // IsNot -- проверяет на false.
 //
 
-func (sf *EBool) IsNot() bool {
+func (sf *EBool) IsNot() defs.Bool {
 	return !sf.val
 }
 
 // IsOk -- проверяет на true.
 //
 
-func (sf *EBool) IsOk() bool {
+func (sf *EBool) IsOk() defs.Bool {
 	return sf.val
 }
 
 // IsMut -- возвращает признак мутабельности.
 //
 
-func (sf *EBool) IsMut() bool {
+func (sf *EBool) IsMut() defs.Bool {
 	return sf.isMut
 }
 

+ 1 - 1
v4/lev0/etypes/estr/estr.go

@@ -12,7 +12,7 @@ type EStr struct {
 	val    defs.ITxtFix // Хранимое значение
 	lenMin defs.Int     // Минимальная длина строки
 	lenMax defs.Int     // Максимальная длина строки
-	isMut  bool         // Признак мутабельности
+	isMut  defs.Bool    // Признак мутабельности
 }
 
 // FnOptStr -- опции расширенной строки.

+ 2 - 2
v4/lev0/helpers/helpers.go

@@ -37,10 +37,10 @@ func Assert(isCond bool, msgFormat def_spec.ATxt, args ...any) {
 // FnHassert -- проверяет с жёстким падением условие.
 //
 //	(isCond bool, msgFormat defs.Str, args ...any)
-type FnHassert func(isCond bool, msgFormat def_spec.ATxt, args ...any)
+type FnHassert func(isCond def_spec.Bool, msgFormat def_spec.ATxt, args ...any)
 
 // Hassert -- проверка на правильность утверждения с безусловным падением в панику (hard assert).
-func Hassert(isCond bool, msgFormat def_spec.ATxt, args ...any) {
+func Hassert(isCond def_spec.Bool, msgFormat def_spec.ATxt, args ...any) {
 	if isCond {
 		return
 	}

+ 1 - 1
v4/lev0/lev0.go

@@ -52,7 +52,7 @@ func NewNone[T any]() IOption[T] {
 // Hassert -- проверка на правильность утверждения с безусловным падением в панику (hard assert).
 //
 
-func Hassert(isCond bool, msgFormat defs.ITxtFix, args ...any) {
+func Hassert(isCond defs.Bool, msgFormat defs.ITxtFix, args ...any) {
 	helpers.Hassert(isCond, msgFormat.Get(), args)
 }
 

+ 3 - 1
v4/lev0/option/option.go

@@ -4,6 +4,7 @@ import (
 	"reflect"
 
 	mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
 	mH "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
 )
@@ -20,7 +21,8 @@ func NewSome[T any](value T) mKs.IOption[T] {
 	switch v.Kind() {
 	case reflect.Pointer, reflect.Slice, reflect.Map, reflect.Chan,
 		reflect.Func, reflect.Interface:
-		mH.Hassert(!v.IsNil(), "NewSome[T any](): value==nil")
+		isNil := defs.Bool(v.IsNil())
+		mH.Hassert(!isNil, "NewSome[T any](): value==nil")
 	}
 	sf := &Option[T]{some: &value}
 	return sf

+ 7 - 6
v4/lev0/result/result.go

@@ -13,9 +13,9 @@ import (
 //
 // Может быть либо только полезное значение, либо только ошибка.
 type Result[T any] struct {
-	val     T     // Полезное значение
-	isCheck bool  // Если проверено
-	err     error // Ошибка
+	val     T             // Полезное значение
+	isCheck def_spec.Bool // Если проверено
+	err     error         // Ошибка
 }
 
 var (
@@ -28,7 +28,8 @@ func NewOk[T any](result T) def_spec.IResult[T] {
 	v := reflect.ValueOf(result)
 	switch v.Kind() {
 	case reflect.Pointer, reflect.Slice, reflect.Map, reflect.Chan, reflect.Func, reflect.Interface:
-		mKh.Hassert(!v.IsNil(), str5)
+		isNil := def_spec.Bool(v.IsNil())
+		mKh.Hassert(!isNil, str5)
 	}
 	sf := &Result[T]{
 		val: result,
@@ -77,13 +78,13 @@ func (sf *Result[T]) destroy(res *Result[T]) {
 }
 
 // IsOk -- возвращает true, если Result содержит значение.
-func (sf *Result[T]) IsOk() bool {
+func (sf *Result[T]) IsOk() def_spec.Bool {
 	sf.isCheck = true
 	return sf.err == nil
 }
 
 // IsErr -- возвращает true, если Result содержит ошибку.
-func (sf *Result[T]) IsErr() bool {
+func (sf *Result[T]) IsErr() def_spec.Bool {
 	sf.isCheck = true
 	return sf.err != nil
 }

+ 2 - 2
v4/lev1/kint/kint.go

@@ -92,7 +92,7 @@ func (sf *KernInt) ToByte() []byte {
 }
 
 // FromBool -- устанавливает значение из булева.
-func (sf *KernInt) FromBool(isVal bool) defs.Int {
+func (sf *KernInt) FromBool(isVal defs.Bool) defs.Int {
 	if isVal {
 		sf.val = -1
 		return -1
@@ -102,7 +102,7 @@ func (sf *KernInt) FromBool(isVal bool) defs.Int {
 }
 
 // ToBool -- возвращает как булево значение.
-func (sf *KernInt) ToBool() bool {
+func (sf *KernInt) ToBool() defs.Bool {
 	return sf.val != 0
 }
 

+ 1 - 1
v4/lev1/lev1.go

@@ -69,7 +69,7 @@ func NewSafeBoolReact() mKs.ISafeBoolReact {
 }
 
 // NewSafeBool -- возвращает новый потокобезопасный булевый признак.
-func NewSafeBool(val bool) mKs.ISafeBool {
+func NewSafeBool(val defs.Bool) mKs.ISafeBool {
 	sb := safe_bool.NewSafeBool(val)
 	return sb
 }

+ 1 - 1
v4/lev1/mock_env/mock_env.go

@@ -82,7 +82,7 @@ func (sf *MockEnv) setPath() {
 	lstDir := strings.Split(dir, "/")
 	var pwd strings.Builder
 	fileName := ""
-	isFind := false
+	isFind := defs.Bool(false)
 	for _, point := range lstDir {
 		_, _ = pwd.WriteString(point + "/")
 		fileName = pwd.String() + ".env"

+ 3 - 3
v4/lev1/safe_bool/safe_bool.go

@@ -14,11 +14,11 @@ import (
 // safeBool -- потокобезопасный булевый признак.
 type safeBool struct {
 	sync.RWMutex
-	val bool
+	val defs.Bool
 }
 
 // NewSafeBool -- возвращает новый потокобезопасный булевый признак.
-func NewSafeBool(val bool) core_spec.ISafeBool {
+func NewSafeBool(val defs.Bool) core_spec.ISafeBool {
 	sf := &safeBool{
 		val: val,
 	}
@@ -48,7 +48,7 @@ func NewSafeBoolGetenv(env defs.ITxtFix) core_spec.IResult[core_spec.ISafeBool]
 }
 
 // Get -- возвращает хранимый булевый признак.
-func (sf *safeBool) Get() bool {
+func (sf *safeBool) Get() defs.Bool {
 	sf.RLock()
 	defer sf.RUnlock()
 	return sf.val

+ 2 - 2
v4/lev1/safe_bool_react/safe_bool_react.go

@@ -16,7 +16,7 @@ import (
 type safeBoolReact struct {
 	sync.RWMutex
 	dict map[defs.ITxtFix]func(core_spec.EBoolMut) // Словарь обратных вызовов
-	val  bool
+	val  defs.Bool
 }
 
 // NewSafeBoolReact -- возвращает новый потокобезопасный булевый признак с реакцией на своё изменение.
@@ -74,7 +74,7 @@ func (sf *safeBoolReact) Add(key defs.ITxtFix, fn func(core_spec.EBoolMut)) mL0.
 }
 
 // Get -- возвращает хранимый булевый признак.
-func (sf *safeBoolReact) Get() bool {
+func (sf *safeBoolReact) Get() defs.Bool {
 	sf.RLock()
 	defer sf.RUnlock()
 	return sf.val

+ 2 - 2
v4/lev1/safe_int/safe_int.go

@@ -49,7 +49,7 @@ func NewSafeIntGetenv(env defs.ITxtFix) mL0.IResult[mKs.ISafeInt] {
 // FromBool -- устанавливает значение из булева значения.
 //
 
-func (sf *safeInt) FromBool(val bool) defs.Int {
+func (sf *safeInt) FromBool(val defs.Bool) defs.Int {
 	sf.Lock()
 	defer sf.Unlock()
 	return sf.val.FromBool(val)
@@ -114,7 +114,7 @@ func (sf *safeInt) ToByte() []byte {
 }
 
 // ToBool -- конвертирует число в bool.
-func (sf *safeInt) ToBool() bool {
+func (sf *safeInt) ToBool() defs.Bool {
 	sf.RLock()
 	defer sf.RUnlock()
 	return sf.val.ToBool()

+ 1 - 1
v4/lev2/kchan/kchan.go

@@ -96,7 +96,7 @@ func (sf *KChan[T]) Len() defs.Int {
 }
 
 // IsClosed -- возвращает признак закрытия канала.
-func (sf *KChan[T]) IsClosed() bool {
+func (sf *KChan[T]) IsClosed() defs.Bool {
 	return sf.isClosed.Get()
 }
 

+ 2 - 2
v4/lev2/kmonolit/kmonolit.go

@@ -49,7 +49,7 @@ func GetMonolit(name mod_ent.AModuleName) *kMonolit {
 	opt := kCtx.Get(txtIsLocal)
 	opt.Hassert("GetMonolit(): in get from kernCtx isLocal -- not found")
 	isLocalCtx := opt.Some()
-	isLocal := isLocalCtx.Val().(bool)
+	isLocal := isLocalCtx.Val().(defs.Bool)
 	lCtx := mL1.NewLocalCtx(kCtx.Ctx())
 	sf := &kMonolit{
 		kCtx:    kCtx,
@@ -89,7 +89,7 @@ func (sf *kMonolit) Add(module mod_spec.IKernelModule) {
 	defer sf.kCtx.RUnlock()
 	mKh.Hassert(module != nil, "kMonolit.Add(): module==nil", []any{})
 	_, isOk := sf.dict[module.Name().Get()]
-	mKh.Hassert(!isOk, "kMonolit.Add(): module(%v) already exists", []any{module.Name()})
+	mKh.Hassert(!defs.Bool(isOk), "kMonolit.Add(): module(%v) already exists", []any{module.Name()})
 	sf.dict[module.Name().Get()] = module
 	sf.log.Debug(defs.TxtFix("kMonolit.Add(): module='%v'", module.Name()))
 	if sf.isWork.Get() {

+ 1 - 1
v4/lev2/kwg/kwg.go

@@ -118,7 +118,7 @@ func (sf *kernelWg) Add(name *stream_name.AStreamName) {
 	mKh.Hassert(sf.isWork.Get(), "Add(): stream=%v, work end", []any{name})
 	mKh.Hassert(name.Get() != "", "Add(): name stream is empty")
 	_, isOk := sf.dictStream[name]
-	mKh.Hassert(!isOk, "Add(): stream '%v' already exists", name)
+	mKh.Hassert(!defs.Bool(isOk), "Add(): stream '%v' already exists", name)
 	sf.dictStream[name] = true
 }