Documentation ¶
Index ¶
- Variables
- func AppendError(base error, err error) error
- func Autotype(in interface{}) interface{}
- func ConvertCustomType(in interface{}) (interface{}, error)
- func ConvertTo(toType ConvertType, inI interface{}) (interface{}, error)
- func ConvertToBool(in interface{}) (bool, error)
- func ConvertToBytes(in interface{}) ([]byte, error)
- func ConvertToFloat(in interface{}) (float64, error)
- func ConvertToInteger(in interface{}) (int64, error)
- func ConvertToString(in interface{}) (string, error)
- func ConvertToTime(in interface{}) (time.Time, error)
- func DetectTimeFormat(in string) string
- func GenericMarshalJSON(in interface{}, extraData ...map[string]interface{}) ([]byte, error)
- func IsBoolean(inI interface{}) bool
- func IsBooleanFalse(inI interface{}) bool
- func IsBooleanTrue(inI interface{}) bool
- func IsFloat(in interface{}) bool
- func IsInteger(in interface{}) bool
- func IsKind(in interface{}, kinds ...reflect.Kind) bool
- func IsNumeric(in interface{}) bool
- func IsTime(inI interface{}) bool
- func IsZero(value interface{}) bool
- func ParseDuration(in string) (time.Duration, error)
- func RegisterTypeHandler(handler TypeConvertFunc, types ...string)
- func ResolveValue(in interface{}) interface{}
- func SliceEach(slice interface{}, iterFn IterationFunc, preserve ...reflect.Kind) error
- func ToString(in interface{}) (string, error)
- type ConvertType
- type IterationFunc
- type TypeConvertFunc
Constants ¶
This section is empty.
Variables ¶
var BooleanFalseValues = []string{`false`, `no`, `off`}
var BooleanTrueValues = []string{`true`, `yes`, `on`}
var CompoundTypes = []reflect.Kind{ reflect.Invalid, reflect.Complex64, reflect.Complex128, reflect.Array, reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice, reflect.Struct, }
var NilStrings = []string{`null`, `NULL`, `<nil>`, `nil`, `Nil`, `None`, `undefined`, ``}
var PassthroughType = errors.New(`passthrough`)
var Stop = fmt.Errorf("stop iterating")
var TimeFormats = []string{ time.RFC3339, time.RFC3339Nano, time.ANSIC, time.UnixDate, time.RubyDate, time.RFC850, time.RFC822, time.RFC822Z, time.RFC1123, time.RFC1123Z, time.Kitchen, `2006-01-02 15:04:05.000000000`, `2006-01-02 15:04:05.000000`, `2006-01-02 15:04:05.000`, `2006-01-02 15:04:05 -0700 MST`, `2006-01-02 15:04:05Z07:00`, `2006-01-02 15:04:05`, `2006-01-02 15:04`, `2006-01-02`, `2006-01-02T15:04:05.000000000`, `2006-01-02T15:04:05.000000`, `2006-01-02T15:04:05.000`, `2006-01-02T15:04:05 -0700 MST`, `2006-01-02T15:04:05Z07:00`, `2006-01-02T15:04:05`, `2006-01-02T15:04`, }
Functions ¶
func AppendError ¶
Appends on error to another, allowing for operations that return multiple errors to remain compatible within a single-valued context.
func ConvertCustomType ¶ added in v1.5.55
func ConvertCustomType(in interface{}) (interface{}, error)
Returns the given value, converted according to any handlers set via RegisterTypeHandler.
func ConvertTo ¶
func ConvertTo(toType ConvertType, inI interface{}) (interface{}, error)
func ConvertToBool ¶
func ConvertToBytes ¶
func ConvertToFloat ¶
func ConvertToInteger ¶
func ConvertToString ¶
func ConvertToTime ¶
func DetectTimeFormat ¶
func GenericMarshalJSON ¶
func IsBooleanFalse ¶
func IsBooleanFalse(inI interface{}) bool
func IsBooleanTrue ¶
func IsBooleanTrue(inI interface{}) bool
func IsKind ¶
Dectect whether the concrete underlying value of the given input is one or more Kinds of value.
func IsZero ¶
func IsZero(value interface{}) bool
Returns whether the given value represents the underlying type's zero value
func RegisterTypeHandler ¶ added in v1.5.55
func RegisterTypeHandler(handler TypeConvertFunc, types ...string)
Register's a handler used for converting one type to another. Type are checked in the following manner: The input value's reflect.Type String() value is matched, falling back to its reflect.Kind String() value, finally checking for a special "*" value that matches any type. If the handler function returns nil, its value replaces the input value. If the special error type PassthroughType is returned, the original value is returned unmodified.
func ResolveValue ¶
func ResolveValue(in interface{}) interface{}
Types ¶
type ConvertType ¶
type ConvertType int
const ( Invalid ConvertType = iota Bytes String Float Integer Time Boolean Nil )
func DetectConvertType ¶
func DetectConvertType(in interface{}) ConvertType
func (ConvertType) IsSupersetOf ¶ added in v1.7.20
func (self ConvertType) IsSupersetOf(other ConvertType) bool
func (ConvertType) String ¶
func (self ConvertType) String() string
type IterationFunc ¶
type TypeConvertFunc ¶ added in v1.5.55
type TypeConvertFunc func(in interface{}) (interface{}, error)