remove whitespaces and stick to 80chars

This commit is contained in:
Markus Ritberger 2018-03-14 21:43:51 +01:00
parent 72f7bad5b3
commit d490a0f637
1 changed files with 54 additions and 29 deletions

View File

@ -140,7 +140,6 @@ func UnmarshalManyPayload(in io.Reader, t reflect.Type) ([]interface{}, error) {
} }
func unmarshalNode(data *Node, model reflect.Value, included *map[string]*Node) (err error) { func unmarshalNode(data *Node, model reflect.Value, included *map[string]*Node) (err error) {
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
err = fmt.Errorf("data is not a jsonapi representation of '%v'", model.Type()) err = fmt.Errorf("data is not a jsonapi representation of '%v'", model.Type())
@ -386,8 +385,11 @@ func assign(field, value reflect.Value) {
} }
} }
func unmarshalAttribute(attribute interface{}, args []string, structField reflect.StructField, fieldValue reflect.Value) (value reflect.Value, err error) { func unmarshalAttribute(
attribute interface{},
args []string,
structField reflect.StructField,
fieldValue reflect.Value) (value reflect.Value, err error) {
value = reflect.ValueOf(attribute) value = reflect.ValueOf(attribute)
fieldType := structField.Type fieldType := structField.Type
@ -398,7 +400,8 @@ func unmarshalAttribute(attribute interface{}, args []string, structField reflec
} }
// Handle field of type time.Time // Handle field of type time.Time
if fieldValue.Type() == reflect.TypeOf(time.Time{}) || fieldValue.Type() == reflect.TypeOf(new(time.Time)) { if fieldValue.Type() == reflect.TypeOf(time.Time{}) ||
fieldValue.Type() == reflect.TypeOf(new(time.Time)) {
value, err = handleTime(attribute, args, fieldType, fieldValue) value, err = handleTime(attribute, args, fieldType, fieldValue)
return return
} }
@ -410,7 +413,8 @@ func unmarshalAttribute(attribute interface{}, args []string, structField reflec
} }
// Handle field containing slice of structs // Handle field containing slice of structs
if fieldValue.Type().Kind() == reflect.Slice && reflect.TypeOf(fieldValue.Interface()).Elem().Kind() == reflect.Struct { if fieldValue.Type().Kind() == reflect.Slice &&
reflect.TypeOf(fieldValue.Interface()).Elem().Kind() == reflect.Struct {
value, err = handleStructSlice(attribute, args, fieldType, fieldValue) value, err = handleStructSlice(attribute, args, fieldType, fieldValue)
return return
} }
@ -436,7 +440,11 @@ func unmarshalAttribute(attribute interface{}, args []string, structField reflec
return return
} }
func handleStringSlice(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value) (reflect.Value, error) { func handleStringSlice(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value) (reflect.Value, error) {
v := reflect.ValueOf(attribute) v := reflect.ValueOf(attribute)
values := make([]string, v.Len()) values := make([]string, v.Len())
for i := 0; i < v.Len(); i++ { for i := 0; i < v.Len(); i++ {
@ -446,8 +454,11 @@ func handleStringSlice(attribute interface{}, args []string, fieldType reflect.T
return reflect.ValueOf(values), nil return reflect.ValueOf(values), nil
} }
func handleTime(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value) (reflect.Value, error) { func handleTime(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value) (reflect.Value, error) {
var isIso8601 bool var isIso8601 bool
v := reflect.ValueOf(attribute) v := reflect.ValueOf(attribute)
@ -494,7 +505,11 @@ func handleTime(attribute interface{}, args []string, fieldType reflect.Type, fi
return reflect.ValueOf(t), nil return reflect.ValueOf(t), nil
} }
func handleNumeric(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value) (reflect.Value, error) { func handleNumeric(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value) (reflect.Value, error) {
v := reflect.ValueOf(attribute) v := reflect.ValueOf(attribute)
floatValue := v.Interface().(float64) floatValue := v.Interface().(float64)
@ -551,7 +566,12 @@ func handleNumeric(attribute interface{}, args []string, fieldType reflect.Type,
return numericValue, nil return numericValue, nil
} }
func handlePointer(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value, structField reflect.StructField) (reflect.Value, error) { func handlePointer(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value,
structField reflect.StructField) (reflect.Value, error) {
t := fieldValue.Type() t := fieldValue.Type()
var concreteVal reflect.Value var concreteVal reflect.Value
@ -560,50 +580,55 @@ func handlePointer(attribute interface{}, args []string, fieldType reflect.Type,
concreteVal = reflect.ValueOf(&cVal) concreteVal = reflect.ValueOf(&cVal)
case bool: case bool:
concreteVal = reflect.ValueOf(&cVal) concreteVal = reflect.ValueOf(&cVal)
case complex64: case complex64, complex128, uintptr:
concreteVal = reflect.ValueOf(&cVal)
case complex128:
concreteVal = reflect.ValueOf(&cVal)
case uintptr:
concreteVal = reflect.ValueOf(&cVal) concreteVal = reflect.ValueOf(&cVal)
case map[string]interface{}: case map[string]interface{}:
var err error var err error
concreteVal, err = handleStruct(attribute, args, fieldType, fieldValue) concreteVal, err = handleStruct(attribute, args, fieldType, fieldValue)
if err != nil { if err != nil {
return reflect.Value{}, newErrUnsupportedPtrType(reflect.ValueOf(attribute), fieldType, structField) return reflect.Value{}, newErrUnsupportedPtrType(
reflect.ValueOf(attribute), fieldType, structField)
} }
return concreteVal.Elem(), err return concreteVal.Elem(), err
default: default:
return reflect.Value{}, newErrUnsupportedPtrType(reflect.ValueOf(attribute), fieldType, structField) return reflect.Value{}, newErrUnsupportedPtrType(
reflect.ValueOf(attribute), fieldType, structField)
} }
if t != concreteVal.Type() { if t != concreteVal.Type() {
return reflect.Value{}, newErrUnsupportedPtrType(reflect.ValueOf(attribute), fieldType, structField) return reflect.Value{}, newErrUnsupportedPtrType(
reflect.ValueOf(attribute), fieldType, structField)
} }
return concreteVal, nil return concreteVal, nil
} }
func handleStruct(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value) (reflect.Value, error) { func handleStruct(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value) (reflect.Value, error) {
model := reflect.New(fieldValue.Type()) model := reflect.New(fieldValue.Type())
var er error data, err := json.Marshal(attribute)
if err != nil {
data, er := json.Marshal(attribute) return model, err
if er != nil {
return model, er
} }
er = json.Unmarshal(data, model.Interface()) err = json.Unmarshal(data, model.Interface())
if er != nil { if err != nil {
return model, er return model, err
} }
return model, er return model, err
} }
func handleStructSlice(attribute interface{}, args []string, fieldType reflect.Type, fieldValue reflect.Value) (reflect.Value, error) { func handleStructSlice(
attribute interface{},
args []string,
fieldType reflect.Type,
fieldValue reflect.Value) (reflect.Value, error) {
models := reflect.New(fieldValue.Type()).Elem() models := reflect.New(fieldValue.Type()).Elem()
dataMap := reflect.ValueOf(attribute).Interface().([]interface{}) dataMap := reflect.ValueOf(attribute).Interface().([]interface{})
for _, data := range dataMap { for _, data := range dataMap {