utils

package
v1.7.56 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2019 License: MIT Imports: 15 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BooleanFalseValues = []string{`false`, `no`, `off`}
View Source
var BooleanTrueValues = []string{`true`, `yes`, `on`}
View Source
var EachChanMaxItems = 1048576
View Source
var NilStrings = []string{`null`, `NULL`, `<nil>`, `nil`, `Nil`, `None`, `undefined`, ``}
View Source
var PassthroughType = errors.New(`passthrough`)
View Source
var ReferenceTime time.Time = time.Date(2006, 1, 2, 15, 4, 5, 0, time.FixedZone("MST", -7*60*60))
View Source
var SliceTypes = []reflect.Kind{
	reflect.Slice,
	reflect.Array,
}
View Source
var Stop = fmt.Errorf("stop iterating")
View Source
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

func AppendError(base error, err error) error

Appends on error to another, allowing for operations that return multiple errors to remain compatible within a single-valued context.

func Autotype

func Autotype(in interface{}) interface{}

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 ConvertHexToInteger added in v1.7.49

func ConvertHexToInteger(in interface{}) (int64, error)

func ConvertTo

func ConvertTo(toType ConvertType, inI interface{}) (interface{}, error)

func ConvertToBool

func ConvertToBool(in interface{}) (bool, error)

func ConvertToBytes

func ConvertToBytes(in interface{}) ([]byte, error)

func ConvertToFloat

func ConvertToFloat(in interface{}) (float64, error)

func ConvertToInteger

func ConvertToInteger(in interface{}) (int64, error)

func ConvertToString

func ConvertToString(in interface{}) (string, error)

func ConvertToTime

func ConvertToTime(in interface{}) (time.Time, error)

func DetectTimeFormat

func DetectTimeFormat(in string) string

func GenericMarshalJSON

func GenericMarshalJSON(in interface{}, extraData ...map[string]interface{}) ([]byte, error)

func IsBoolean

func IsBoolean(inI interface{}) bool

func IsBooleanFalse

func IsBooleanFalse(inI interface{}) bool

func IsBooleanTrue

func IsBooleanTrue(inI interface{}) bool

func IsFloat

func IsFloat(in interface{}) bool

func IsHexadecimal added in v1.7.49

func IsHexadecimal(in interface{}) bool

func IsInteger

func IsInteger(in interface{}) bool

func IsKind

func IsKind(in interface{}, kinds ...reflect.Kind) bool

Dectect whether the concrete underlying value of the given input is one or more Kinds of value.

func IsNumeric

func IsNumeric(in interface{}) bool

func IsTime

func IsTime(inI interface{}) bool

func IsZero

func IsZero(value interface{}) bool

Returns whether the given value represents the underlying type's zero value

func ParseDuration

func ParseDuration(in string) (time.Duration, error)

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{}

func SliceEach

func SliceEach(slice interface{}, iterFn IterationFunc, preserve ...reflect.Kind) error

Iterate through each element of the given array, slice or channel; calling iterFn exactly once for each element. Otherwise, call iterFn one time with the given input as the argument.

func ToString

func ToString(in interface{}) (string, error)

Types

type ConvertType

type ConvertType int
const (
	Invalid ConvertType = iota
	Bytes
	String
	Float
	Integer
	Time
	Boolean
	Nil
	UserDefined
)

func Detect added in v1.7.49

func Detect(in interface{}) (ConvertType, interface{})

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 IterationFunc func(i int, value interface{}) error

type TypeConvertFunc added in v1.5.55

type TypeConvertFunc func(in interface{}) (interface{}, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL