Skip to content

Commit

Permalink
patched int, float conversion with nil pointer
Browse files Browse the repository at this point in the history
  • Loading branch information
adranwit committed Nov 28, 2018
1 parent 3f2fe46 commit affe3c4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 17 deletions.
17 changes: 4 additions & 13 deletions converter.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@ import (
"time"
)







//DefaultDateLayout is set to 2006-01-02 15:04:05.000
var DefaultDateLayout = "2006-01-02 15:04:05.000"
var numericTypes = []reflect.Type{
Expand Down Expand Up @@ -99,7 +93,7 @@ func AsFloat(value interface{}) float64 {
//ToFloat converts an input to float or error
func ToFloat(value interface{}) (float64, error) {
if value == nil {
return 0, NewNilPointerError("float value was nil")
return 0, NewNilPointerError("float value was nil")
}
switch actualValue := value.(type) {
case float64:
Expand Down Expand Up @@ -131,8 +125,6 @@ func ToFloat(value interface{}) (float64, error) {
return strconv.ParseFloat(valueAsString, 64)
}



//ToBoolean converts an input to bool.
func ToBoolean(value interface{}) (bool, error) {
if boolValue, ok := value.(bool); ok {
Expand All @@ -142,7 +134,6 @@ func ToBoolean(value interface{}) (bool, error) {
return strconv.ParseBool(valueAsString)
}


//AsBoolean converts an input to bool.
func AsBoolean(value interface{}) bool {
result, err := ToBoolean(value)
Expand Down Expand Up @@ -773,7 +764,7 @@ func (c *Converter) AssignConverted(target, source interface{}) error {
case **uint, **uint8, **uint16, **uint32, **uint64:
directType := reflect.TypeOf(targetValuePointer).Elem().Elem()
value, err := ToInt(DereferenceValue(source))
if ! IsNilPointerError(err) && err != nil {
if !IsNilPointerError(err) && err != nil {
return err
}
switch directType.Kind() {
Expand Down Expand Up @@ -1200,10 +1191,10 @@ func DereferenceType(value interface{}) reflect.Type {
return nil
}
var reflectType reflect.Type
reflectValue, ok := value.(reflect.Value);
reflectValue, ok := value.(reflect.Value)
if ok {
reflectType = reflectValue.Type()
} else if reflectType, ok = value.(reflect.Type) ; !ok {
} else if reflectType, ok = value.(reflect.Type); !ok {
reflectType = reflect.TypeOf(value)
}

Expand Down
8 changes: 4 additions & 4 deletions error.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package toolbox

//NilPointerError represents nil pointer error
type NilPointerError struct{
type NilPointerError struct {
message string
}

Expand All @@ -10,13 +10,13 @@ func (e *NilPointerError) Error() string {
if e.message == "" {
return "NilPointerError"
}
return e.message
return e.message
}

//NewNilPointerError creates a new nil pointer error
func NewNilPointerError(message string) error {
return &NilPointerError{
message:message,
message: message,
}
}

Expand All @@ -27,4 +27,4 @@ func IsNilPointerError(err error) bool {
}
_, ok := err.(*NilPointerError)
return ok
}
}

0 comments on commit affe3c4

Please sign in to comment.