Skip to content

Commit

Permalink
up: replace all use pkg /common to pkg /comdef
Browse files Browse the repository at this point in the history
  • Loading branch information
inhere committed Sep 5, 2022
1 parent 2547a11 commit d21b1a9
Show file tree
Hide file tree
Showing 11 changed files with 114 additions and 57 deletions.
5 changes: 3 additions & 2 deletions arrutil/format.go
Expand Up @@ -4,13 +4,13 @@ import (
"io"
"reflect"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/strutil"
)

// ArrFormatter struct
type ArrFormatter struct {
common.BaseFormatter
comdef.BaseFormatter
// Prefix string for each element
Prefix string
// Indent string for format each element
Expand Down Expand Up @@ -58,6 +58,7 @@ func (f *ArrFormatter) Format() string {
}

// Format to string
//
//goland:noinspection GoUnhandledErrorResult
func (f *ArrFormatter) doFormat() {
if f.Src == nil {
Expand Down
4 changes: 2 additions & 2 deletions internal/comfunc/convert.go
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"strings"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
)

// Bool try to convert type to bool
Expand All @@ -22,7 +22,7 @@ func ToBool(v interface{}) (bool, error) {
if str, ok := v.(string); ok {
return StrToBool(str)
}
return false, common.ErrConvType
return false, comdef.ErrConvType
}

// StrToBool parse string to bool. like strconv.ParseBool()
Expand Down
1 change: 1 addition & 0 deletions internal/gendoc/main.go
Expand Up @@ -23,6 +23,7 @@ import (
var (
hidden = []string{
"netutil",
"comdef",
"common",
"numbers",
"internal",
Expand Down
78 changes: 66 additions & 12 deletions maputil/convert.go
@@ -1,8 +1,11 @@
package maputil

import (
"reflect"
"strconv"
"strings"

"github.com/gookit/goutil/reflects"
"github.com/gookit/goutil/strutil"
)

Expand All @@ -27,18 +30,6 @@ func ToStringMap(src map[string]any) map[string]string {
return newMp
}

// Flatten convert tree map to flat key-value map.
//
// Examples:
//
// {"top": {"sub": "value", "sub2": "value2"} }
// ->
// {"top.sub": "value", "top.sub2": "value2" }
func Flatten(mp map[string]any) map[string]interface{} {
// TODO convert
return mp
}

// HttpQueryString convert map[string]any data to http query string.
func HttpQueryString(data map[string]any) string {
ss := make([]string, 0, len(data))
Expand Down Expand Up @@ -84,3 +75,66 @@ func ToString2(mp any) string {
func FormatIndent(mp any, indent string) string {
return NewFormatter(mp).WithIndent(indent).Format()
}

/*************************************************************
* Flat convert tree map to flatten key-value map.
*************************************************************/

// Flatten convert tree map to flat key-value map.
//
// Examples:
//
// {"top": {"sub": "value", "sub2": "value2"} }
// ->
// {"top.sub": "value", "top.sub2": "value2" }
func Flatten(mp map[string]any) map[string]interface{} {
// TODO convert
return mp
}

// FlatFunc custom collect handle func
type FlatFunc func(path string, val reflect.Value)

// FlatWithFunc flat a tree-map with custom collect handle func
func FlatWithFunc(mp map[string]any, fn FlatFunc) {
if mp == nil {
return
}

flatMap(reflect.ValueOf(mp), "", fn)
}

func flatMap(rv reflect.Value, parent string, fn FlatFunc) {
for _, key := range rv.MapKeys() {
path := reflects.String(key)
if parent != "" {
path = parent + "." + path
}

fv := reflects.Indirect(rv.MapIndex(key))
switch fv.Kind() {
case reflect.Map:
flatMap(fv, path, fn)
case reflect.Array, reflect.Slice:
flatSlice(fv, path, fn)
default:
fn(path, fv)
}
}
}

func flatSlice(rv reflect.Value, parent string, fn FlatFunc) {
for i := 0; i < rv.Len(); i++ {
path := parent + "[" + strconv.Itoa(i) + "]"

fv := reflects.Indirect(rv.Index(i))
switch fv.Kind() {
case reflect.Map:
flatMap(fv, path, fn)
case reflect.Array, reflect.Slice:
flatSlice(fv, path, fn)
default:
fn(path, fv)
}
}
}
5 changes: 3 additions & 2 deletions maputil/format.go
Expand Up @@ -4,13 +4,13 @@ import (
"io"
"reflect"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/strutil"
)

// MapFormatter struct
type MapFormatter struct {
common.BaseFormatter
comdef.BaseFormatter
// Prefix string for each element
Prefix string
// Indent string for each element
Expand Down Expand Up @@ -59,6 +59,7 @@ func (f *MapFormatter) Format() string {
}

// Format map data to string.
//
//goland:noinspection GoUnhandledErrorResult
func (f *MapFormatter) doFormat() {
if f.Src == nil {
Expand Down
12 changes: 6 additions & 6 deletions mathutil/convert.go
Expand Up @@ -7,7 +7,7 @@ import (
"strings"
"time"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
)

/*************************************************************
Expand Down Expand Up @@ -83,7 +83,7 @@ func ToInt(in interface{}) (iVal int, err error) {
i64, err = tVal.Int64()
iVal = int(i64)
default:
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand Down Expand Up @@ -158,7 +158,7 @@ func ToUint(in interface{}) (u64 uint64, err error) {
case string:
u64, err = strconv.ParseUint(strings.TrimSpace(tVal), 10, 0)
default:
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand Down Expand Up @@ -227,7 +227,7 @@ func ToInt64(in interface{}) (i64 int64, err error) {
case json.Number:
i64, err = tVal.Int64()
default:
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand Down Expand Up @@ -303,7 +303,7 @@ func ToFloat(in interface{}) (f64 float64, err error) {
case json.Number:
f64, err = tVal.Float64()
default:
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand Down Expand Up @@ -387,7 +387,7 @@ func TryToString(val interface{}, defaultAsErr bool) (str string, err error) {
str = value.String()
default:
if defaultAsErr {
err = common.ErrConvType
err = comdef.ErrConvType
} else {
str = fmt.Sprint(value)
}
Expand Down
44 changes: 22 additions & 22 deletions mathutil/mathutil_test.go
Expand Up @@ -3,7 +3,7 @@ package mathutil_test
import (
"testing"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/mathutil"
"github.com/gookit/goutil/testutil/assert"
)
Expand Down Expand Up @@ -34,31 +34,31 @@ func TestCompare(t *testing.T) {
x, y interface{}
op string
}{
{2, 2, common.OpEq},
{2, 3, common.OpNeq},
{2, 3, common.OpLt},
{2, 3, common.OpLte},
{2, 2, common.OpLte},
{2, 1, common.OpGt},
{2, 2, common.OpGte},
{2, 1, common.OpGte},
{2.2, 2.2, common.OpEq},
{2.2, 3.1, common.OpNeq},
{2.3, 3.2, common.OpLt},
{2.3, 3.3, common.OpLte},
{2.3, 2.3, common.OpLte},
{2.3, 1.3, common.OpGt},
{2.3, 2.3, common.OpGte},
{2.3, 1.3, common.OpGte},
{2, 2, comdef.OpEq},
{2, 3, comdef.OpNeq},
{2, 3, comdef.OpLt},
{2, 3, comdef.OpLte},
{2, 2, comdef.OpLte},
{2, 1, comdef.OpGt},
{2, 2, comdef.OpGte},
{2, 1, comdef.OpGte},
{2.2, 2.2, comdef.OpEq},
{2.2, 3.1, comdef.OpNeq},
{2.3, 3.2, comdef.OpLt},
{2.3, 3.3, comdef.OpLte},
{2.3, 2.3, comdef.OpLte},
{2.3, 1.3, comdef.OpGt},
{2.3, 2.3, comdef.OpGte},
{2.3, 1.3, comdef.OpGte},
}

for _, test := range tests {
assert.True(t, mathutil.Compare(test.x, test.y, test.op))
}

assert.False(t, mathutil.Compare(2, 3, common.OpGt))
assert.False(t, mathutil.Compare(nil, 3, common.OpGt))
assert.False(t, mathutil.Compare(2, nil, common.OpGt))
assert.False(t, mathutil.Compare("abc", 3, common.OpGt))
assert.False(t, mathutil.Compare(2, "def", common.OpGt))
assert.False(t, mathutil.Compare(2, 3, comdef.OpGt))
assert.False(t, mathutil.Compare(nil, 3, comdef.OpGt))
assert.False(t, mathutil.Compare(2, nil, comdef.OpGt))
assert.False(t, mathutil.Compare("abc", 3, comdef.OpGt))
assert.False(t, mathutil.Compare(2, "def", comdef.OpGt))
}
10 changes: 5 additions & 5 deletions reflects/conv.go
Expand Up @@ -5,7 +5,7 @@ import (
"reflect"
"strconv"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/internal/comfunc"
"github.com/gookit/goutil/mathutil"
"github.com/gookit/goutil/strutil"
Expand All @@ -31,7 +31,7 @@ func BaseTypeVal(v reflect.Value) (value interface{}, err error) {
case reflect.Float32, reflect.Float64:
value = v.Float()
default:
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand All @@ -48,7 +48,7 @@ func ValueByType(val interface{}, typ reflect.Type) (rv reflect.Value, err error
return newRv, nil
}

err = common.ErrConvType
err = comdef.ErrConvType
return
}

Expand Down Expand Up @@ -118,7 +118,7 @@ func ValueByKind(val interface{}, kind reflect.Kind) (rv reflect.Value, err erro
}

if !rv.IsValid() {
err = common.ErrConvType
err = comdef.ErrConvType
}
return
}
Expand Down Expand Up @@ -152,7 +152,7 @@ func ValToString(rv reflect.Value, defaultAsErr bool) (str string, err error) {
str = strconv.FormatUint(rv.Uint(), 10)
default:
if defaultAsErr {
err = common.ErrConvType
err = comdef.ErrConvType
} else {
str = fmt.Sprint(rv.Interface())
}
Expand Down
4 changes: 2 additions & 2 deletions stdutil/convert_test.go
Expand Up @@ -5,8 +5,8 @@ import (
"testing"
"time"

"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/stdutil"
"github.com/gookit/goutil/strutil"
"github.com/gookit/goutil/testutil/assert"
)

Expand All @@ -29,7 +29,7 @@ func TestTryString(t *testing.T) {
assert.Eq(t, "23", s)

s, err = stdutil.TryString([]string{"a", "b"})
assert.Eq(t, err, strutil.ErrConvertFail)
assert.Eq(t, err, comdef.ErrConvType)
assert.Eq(t, "", s)
}

Expand Down
4 changes: 2 additions & 2 deletions strutil/convert.go
Expand Up @@ -11,7 +11,7 @@ import (
"time"
"unsafe"

"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/internal/comfunc"
"github.com/gookit/goutil/mathutil"
)
Expand Down Expand Up @@ -152,7 +152,7 @@ func AnyToString(val interface{}, defaultAsErr bool) (str string, err error) {
str = value.String()
default:
if defaultAsErr {
err = common.ErrConvType
err = comdef.ErrConvType
} else {
str = fmt.Sprint(value)
}
Expand Down
4 changes: 2 additions & 2 deletions testutil/assert/util.go
Expand Up @@ -10,7 +10,7 @@ import (
"time"

"github.com/gookit/color"
"github.com/gookit/goutil/common"
"github.com/gookit/goutil/comdef"
"github.com/gookit/goutil/fsutil"
"github.com/gookit/goutil/mathutil"
"github.com/gookit/goutil/reflects"
Expand Down Expand Up @@ -152,7 +152,7 @@ func formatLabeledTexts(lts []labeledText) string {
return sb.String()
}

func formatMessage(message string, labelWidth int, buf common.StringWriteStringer) string {
func formatMessage(message string, labelWidth int, buf comdef.StringWriteStringer) string {
for i, scanner := 0, bufio.NewScanner(strings.NewReader(message)); scanner.Scan(); i++ {
// skip add prefix for first line.
if i != 0 {
Expand Down

0 comments on commit d21b1a9

Please sign in to comment.