From 3c69ec978a2dff09534a5a5e92b552c5263b8b74 Mon Sep 17 00:00:00 2001 From: barry Date: Mon, 7 Jul 2025 18:24:15 +0800 Subject: [PATCH 1/3] fix: barry quick fix, 2025-07-07 18:24:15 --- go.mod | 2 -- 1 file changed, 2 deletions(-) diff --git a/go.mod b/go.mod index 656a549a..675f7f0f 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,6 @@ module github.com/pubgo/funk go 1.22 -replace github.com/ugorji/go/codec => github.com/ugorji/go/codec v1.2.7 - require ( dario.cat/mergo v1.0.0 entgo.io/ent v0.13.1 From 360dd44c27128fdc30b59e032b2168762be0ac89 Mon Sep 17 00:00:00 2001 From: barry Date: Thu, 10 Jul 2025 17:48:15 +0800 Subject: [PATCH 2/3] fix: write error output to stderr instead of stdout --- errors/errors.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/errors/errors.go b/errors/errors.go index 2bb35067..f98f0818 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -3,6 +3,7 @@ package errors import ( "errors" "fmt" + "os" "reflect" "runtime/debug" @@ -60,7 +61,7 @@ func Debug(err error) { err = parseError(err) if _err, ok := err.(fmt.Stringer); ok { - fmt.Println(_err.String()) + _, _ = fmt.Fprintln(os.Stderr, _err.String()) return } From ec2e73bb916ed498cc25068c82ea82415eea84ff Mon Sep 17 00:00:00 2001 From: fmyAgi7 Date: Mon, 19 Jan 2026 10:47:35 +0800 Subject: [PATCH 3/3] fix: update message formatting in NewCodeErrWithMsg to use title case --- errors/err_code.go | 5 ++++- errors/z_err_code_test.go | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/errors/err_code.go b/errors/err_code.go index 819fdec4..01ccb6c6 100644 --- a/errors/err_code.go +++ b/errors/err_code.go @@ -12,6 +12,8 @@ import ( "github.com/pubgo/funk/proto/errorpb" "github.com/pubgo/funk/stack" "github.com/samber/lo" + "golang.org/x/text/cases" + "golang.org/x/text/language" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/structpb" ) @@ -45,7 +47,8 @@ func NewCodeErrWithMsg(code *errorpb.ErrCode, msg string, details ...proto.Messa return nil } - code.Message = strings.ToTitle(strings.TrimSpace(msg)) + caser := cases.Title(language.English) + code.Message = caser.String(strings.TrimSpace(msg)) return NewCodeErr(code, details...) } diff --git a/errors/z_err_code_test.go b/errors/z_err_code_test.go index a251c28e..65e8c202 100644 --- a/errors/z_err_code_test.go +++ b/errors/z_err_code_test.go @@ -16,3 +16,13 @@ func TestErrCode(t *testing.T) { t.Log(errors.As(err1, testcodepb.TestErrCodeDbConn)) } + +func TestNewCodeErrWithMsg(t *testing.T) { + err1 := errors.NewCodeErrWithMsg(testcodepb.TestErrCodeDbConn, "hello world") + var err2 *errors.ErrCode + t.Log(errors.As(err1, &err2)) + if err2.Error() != "Hello World" { + t.Fatal("message not match") + } + t.Log(err2.Error()) +}