Documentation ¶
Index ¶
- Variables
- func Convert(source interface{}, targetType reflect.Type) (interface{}, error)
- func Set(target, source interface{}) error
- type ConverterEngine
- func (ce *ConverterEngine) AddInterfaceConverter(interfaceType reflect.Type, f ConverterFunc)
- func (ce *ConverterEngine) AddSourceConverter(sourceType reflect.Type, f ConverterFunc)
- func (ce *ConverterEngine) AddTargetConverter(targetType reflect.Type, f ConverterFunc)
- func (ce *ConverterEngine) Convert(source interface{}, targetType reflect.Type) (interface{}, error)
- func (ce *ConverterEngine) Set(target, source interface{}) error
- type ConverterFunc
- type ConverterTo
Constants ¶
This section is empty.
Variables ¶
var Default = New()
Default is a default conversion engine
var ErrExpectedPointer = errors.New("Expected pointer")
ErrExpectedPointer is returned when the function expects a pointer parameter
var ErrIncompatibleType = errors.New("Incompatible types")
ErrIncompatibleType is returned when it is impossible to convert a type to another
var ErrNoConversionAvailable = errors.New("No conversion available")
ErrNoConversionAvailable is returned by any ConverterFunc when it does not know how to convert the passed values
Functions ¶
Types ¶
type ConverterEngine ¶
type ConverterEngine struct {
// contains filtered or unexported fields
}
ConverterEngine keeps conversion configurations
func (*ConverterEngine) AddInterfaceConverter ¶
func (ce *ConverterEngine) AddInterfaceConverter(interfaceType reflect.Type, f ConverterFunc)
AddInterfaceConverter adds a converion function for types that match the given interface (experimental)
func (*ConverterEngine) AddSourceConverter ¶
func (ce *ConverterEngine) AddSourceConverter(sourceType reflect.Type, f ConverterFunc)
AddSourceConverter adds a source conversion function to the engine that knows how to convert the source type to some targets
func (*ConverterEngine) AddTargetConverter ¶
func (ce *ConverterEngine) AddTargetConverter(targetType reflect.Type, f ConverterFunc)
AddTargetConverter adds a target conversion function to the engine that knows how to convert the target type from some sources
func (*ConverterEngine) Convert ¶
func (ce *ConverterEngine) Convert(source interface{}, targetType reflect.Type) (interface{}, error)
Convert attempts to convert the source value to the given target type if it does not fail, the returned value is guaranteed to be of the target type
func (*ConverterEngine) Set ¶
func (ce *ConverterEngine) Set(target, source interface{}) error
Set sets the given target pointer to sourcevalue, performing any type conversion necessary
type ConverterFunc ¶
ConverterFunc is called to override default conversions
type ConverterTo ¶
ConverterTo interface allows you to define how your type should convert to others