Эх сурвалжийг харах

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

SVI 2 сар өмнө
parent
commit
05f2a99404

+ 22 - 2
v4/lev0/defs/defs.go

@@ -30,6 +30,8 @@ type ITxtFix interface {
 	Rune() []rune
 	// TrimSuffix -- обрезает суффикс строки
 	TrimSuffix(any) ITxtFix
+	// Concat -- объединяет строки
+	Concat(msg any, arg ...any) ITxtFix
 }
 
 // ITxtMut -- интерфейс к изменяемой внутренней строке.
@@ -81,14 +83,23 @@ func (sf KTxt) Get() ATxt {
 	return sf.val
 }
 
-// TrimSuffix -- обрезает суффикс строки
+// Concat -- создать новую строку.
+func (sf *KTxt) Concat(msg any, arg ...any) ITxtFix {
+	val := fmt.Sprintf("%v", msg)
+	val = fmt.Sprintf(val, arg...)
+	_msg := string(sf.val) + val
+	sf.val = ATxt(_msg)
+	return sf
+}
+
+// TrimSuffix -- обрезает суффикс строки.
 func (sf *KTxt) TrimSuffix(suffix any) ITxtFix {
 	suf := fmt.Sprintf("%v", suffix)
 	txt := strings.TrimSuffix(string(sf.val), suf)
 	return Txt(txt)
 }
 
-// Set -- изменение внутренней строки
+// Set -- изменение внутренней строки.
 func (sf *KTxt) Set(msg ATxt) {
 	sf.val = msg
 }
@@ -179,6 +190,15 @@ func (e *KErr) Len() Int {
 	return Int(len(e.err.Error()))
 }
 
+// Concat -- создать новую строку.
+func (sf *KErr) Concat(msg any, arg ...any) ITxtFix {
+	val := fmt.Sprintf("%v", msg)
+	val = fmt.Sprintf(val, arg...)
+	_msg := sf.err.Error() + val
+	sf.err = fmt.Errorf("%v%v", sf.err.Error(), _msg)
+	return sf
+}
+
 // ITimeFix -- метка времени.
 // Вывод: "2006-01-02 15:04:05.000 -07 MST".
 type ITimeFix ITxtFix

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

@@ -27,7 +27,7 @@ func Assert(isCond bool, msgFormat defs.ATxt, args ...any) {
 	if isCond {
 		return
 	}
-	msg := fmt.Sprintf("SOFT ASSERT "+string(msgFormat)+"\n", args...)
+	msg := defs.Txt("SOFT ASSERT ").Concat(msgFormat+"\n", args)
 	if IsStageLocal {
 		panic(msg)
 	}
@@ -44,7 +44,7 @@ func Hassert(isCond bool, msgFormat defs.ATxt, args ...any) {
 	if isCond {
 		return
 	}
-	msg := fmt.Sprintf("HARD ASSERT "+string(msgFormat)+"\n", args...)
+	msg := defs.Txt("HARD ASSERT ").Concat(msgFormat+"\n", args...)
 	panic(msg)
 }
 

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

@@ -160,13 +160,13 @@ func (sf *kServHttp) Run() {
 	go sf.fnChErr(chErr)
 	fnCheckServer := func() error {
 		client := &http.Client{Timeout: 5 * time.Millisecond}
-		url := sf.strUrl.Get() + "monitor"
+		url := defs.Txt(sf.strUrl.Get() + "monitor")
 		sf.log.Debug(defs.Txt("url=%v", url))
 		var (
 			resp *http.Response
 			err  error
 		)
-		if resp, err = client.Get(string(url)); err == nil {
+		if resp, err = client.Get(url.String()); err == nil {
 			_ = resp.Body.Close()
 		}
 		return err

+ 3 - 8
v4/lev2/lti/bus_ent/topic/topic.go

@@ -1,11 +1,12 @@
 package topic
 
 import (
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
 )
 
 // ATopic -- имя топика в шине.
-type ATopic string
+type ATopic defs.ATxt
 
 // ITopicFix -- неизменяемое имя топика в шине.
 type ITopicFix interface {
@@ -38,22 +39,16 @@ func NewTopic(val ATopic) *Topic {
 }
 
 // String -- строковое представление топика.
-//
-
 func (sf *Topic) String() string {
-	return string(sf.val)
+	return defs.Txt(sf.val).String()
 }
 
 // Get -- получить строковое представление топика.
-//
-
 func (sf *Topic) Get() ATopic {
 	return sf.val
 }
 
 // Set -- установить строковое представление топика.
-//
-
 func (sf *Topic) Set(val ATopic) {
 	helpers.Hassert(val != "", "Topic.Set(): val is empty")
 	sf.val = val

+ 1 - 1
v4/lev2/lti/bus_mock/mock_hand_serve/mock_hand_serve.go

@@ -24,7 +24,7 @@ type MockHandlerServe struct {
 
 // NewMockHandlerServe -- возвращает новый обработчик подписки.
 func NewMockHandlerServe(topic bus_ent.ITopicFix, name bus_ent.AHandlerName) *MockHandlerServe {
-	mKh.Hassert(topic.Get() != "", "NewMockHandlerServe(): topic is empty")
+	mKh.Hassert(topic.String() != "", "NewMockHandlerServe(): topic is empty")
 	mKh.Hassert(name != "", "NewMockHandlerServe(): name is empty")
 	sf := &MockHandlerServe{
 		Topic_: topic,

+ 1 - 1
v4/lev2/lti/bus_mock/mock_hand_serve/mock_hand_serve_test.go

@@ -68,7 +68,7 @@ func (sf *tester) newGood1() {
 	if name := sf.hand.Name(); name.Get() != "test_name" {
 		sf.t.Fatalf("newGood1(): name(%v)!='test_name'", name)
 	}
-	if topic := sf.hand.Topic(); topic.Get() != "test_topic" {
+	if topic := sf.hand.Topic(); topic.String() != "test_topic" {
 		sf.t.Fatalf("newGood1(): topic(%v)!='test_topic'", topic)
 	}
 }