fix: 解决golint 部分警告 (#897)
* feat: 解决goreportcard的警报 ps: warning: if block ends with a return statement, so drop this else and outdent its block (golint) * feat: 优化golint警告,将processFieldPrimitiveWithJsonNumber 改成 processFieldPrimitiveWithJSONNumber unmarshaler.go:248:23: method processFieldPrimitiveWithJsonNumber should be processFieldPrimitiveWithJSONNumber * feat: 添加 WithCanonicalKeyFunc 注释 * feat: 添加DisableStat的注释 * feat: 添加 RegisterGoctlHome 注释 * feat: 添加 PostgreSqlJoin 注释 * feat: 解决goline警告should not use basic type string as key in context.WithValue问题 * feat: 解决golint警告信息: should not use basic type string as key in context.WithValue * fix: 定义自定义字段类型,导致go test fail 问题 * update: 恢复原有测试用例 * fix golint warning
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestUnmarshalContext(t *testing.T) {
|
func TestUnmarshalContext(t *testing.T) {
|
||||||
|
|
||||||
type Person struct {
|
type Person struct {
|
||||||
Name string `ctx:"name"`
|
Name string `ctx:"name"`
|
||||||
Age int `ctx:"age"`
|
Age int `ctx:"age"`
|
||||||
@@ -47,9 +48,11 @@ func TestUnmarshalContextWithMissing(t *testing.T) {
|
|||||||
Name string `ctx:"name"`
|
Name string `ctx:"name"`
|
||||||
Age int `ctx:"age"`
|
Age int `ctx:"age"`
|
||||||
}
|
}
|
||||||
|
type name string
|
||||||
|
const PersonNameKey name = "name"
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, "name", "kevin")
|
ctx = context.WithValue(ctx, PersonNameKey, "kevin")
|
||||||
|
|
||||||
var person Person
|
var person Person
|
||||||
err := For(ctx, &person)
|
err := For(ctx, &person)
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestContextCancel(t *testing.T) {
|
func TestContextCancel(t *testing.T) {
|
||||||
c := context.WithValue(context.Background(), "key", "value")
|
type key string
|
||||||
|
var nameKey key = "name"
|
||||||
|
c := context.WithValue(context.Background(), nameKey, "value")
|
||||||
c1, cancel := context.WithCancel(c)
|
c1, cancel := context.WithCancel(c)
|
||||||
o := ValueOnlyFrom(c1)
|
o := ValueOnlyFrom(c1)
|
||||||
c2, cancel2 := context.WithCancel(o)
|
c2, cancel2 := context.WithCancel(o)
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ func Disable() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DisableStat to disable stat logs
|
||||||
func DisableStat() {
|
func DisableStat() {
|
||||||
atomic.StoreUint32(&disableStat, 1)
|
atomic.StoreUint32(&disableStat, 1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ func (u *Unmarshaler) processFieldPrimitive(field reflect.StructField, value ref
|
|||||||
default:
|
default:
|
||||||
switch v := mapValue.(type) {
|
switch v := mapValue.(type) {
|
||||||
case json.Number:
|
case json.Number:
|
||||||
return u.processFieldPrimitiveWithJsonNumber(field, value, v, opts, fullName)
|
return u.processFieldPrimitiveWithJSONNumber(field, value, v, opts, fullName)
|
||||||
default:
|
default:
|
||||||
if typeKind == valueKind {
|
if typeKind == valueKind {
|
||||||
if err := validateValueInOptions(opts.options(), mapValue); err != nil {
|
if err := validateValueInOptions(opts.options(), mapValue); err != nil {
|
||||||
@@ -245,7 +245,7 @@ func (u *Unmarshaler) processFieldPrimitive(field reflect.StructField, value ref
|
|||||||
return newTypeMismatchError(fullName)
|
return newTypeMismatchError(fullName)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unmarshaler) processFieldPrimitiveWithJsonNumber(field reflect.StructField, value reflect.Value,
|
func (u *Unmarshaler) processFieldPrimitiveWithJSONNumber(field reflect.StructField, value reflect.Value,
|
||||||
v json.Number, opts *fieldOptionsWithContext, fullName string) error {
|
v json.Number, opts *fieldOptionsWithContext, fullName string) error {
|
||||||
fieldType := field.Type
|
fieldType := field.Type
|
||||||
fieldKind := fieldType.Kind()
|
fieldKind := fieldType.Kind()
|
||||||
@@ -524,6 +524,7 @@ func (u *Unmarshaler) fillSliceValue(slice reflect.Value, index int, baseKind re
|
|||||||
return errTypeMismatch
|
return errTypeMismatch
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ithVal.Set(reflect.ValueOf(value))
|
ithVal.Set(reflect.ValueOf(value))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -626,6 +627,7 @@ func WithStringValues() UnmarshalOption {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithCanonicalKeyFunc customizes a Unmarshaler with Canonical Key func
|
||||||
func WithCanonicalKeyFunc(f func(string) string) UnmarshalOption {
|
func WithCanonicalKeyFunc(f func(string) string) UnmarshalOption {
|
||||||
return func(opt *unmarshalOptions) {
|
return func(opt *unmarshalOptions) {
|
||||||
opt.canonicalKey = f
|
opt.canonicalKey = f
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ func RawFieldNames(in interface{}, postgresSql ...bool) []string {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//PostgreSqlJoin concatenate the given elements into a string
|
||||||
func PostgreSqlJoin(elems []string) string {
|
func PostgreSqlJoin(elems []string) string {
|
||||||
b := new(strings.Builder)
|
b := new(strings.Builder)
|
||||||
for index, e := range elems {
|
for index, e := range elems {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ const (
|
|||||||
|
|
||||||
var goctlHome string
|
var goctlHome string
|
||||||
|
|
||||||
|
// RegisterGoctlHome register goctl home path
|
||||||
func RegisterGoctlHome(home string) {
|
func RegisterGoctlHome(home string) {
|
||||||
goctlHome = home
|
goctlHome = home
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user