Documentation ¶
Overview ¶
Package hreflect contains reflect helpers.
Index ¶
- Variables
- func AsTime(v reflect.Value, loc *time.Location) (time.Time, bool)
- func CallMethodByName(cxt context.Context, name string, v reflect.Value) []reflect.Value
- func GetMethodByName(v reflect.Value, name string) reflect.Value
- func GetMethodIndexByName(tp reflect.Type, name string) int
- func IsFloat(kind reflect.Kind) bool
- func IsInt(kind reflect.Kind) bool
- func IsNumber(kind reflect.Kind) bool
- func IsTime(tp reflect.Type) bool
- func IsTruthful(in any) bool
- func IsTruthfulValue(val reflect.Value) (truth bool)
- func IsUint(kind reflect.Kind) bool
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func AsTime ¶
AsTime returns v as a time.Time if possible. The given location is only used if the value implements AsTimeProvider (e.g. go-toml local). A zero Time and false is returned if this isn't possible. Note that this function does not accept string dates.
func CallMethodByName ¶
func GetMethodByName ¶
GetMethodByName is the same as reflect.Value.MethodByName, but it caches the type lookup.
func GetMethodIndexByName ¶
GetMethodIndexByName returns the index of the method with the given name, or -1 if no such method exists.
func IsNumber ¶
TODO(bep) replace the private versions in /tpl with these. IsNumber returns whether the given kind is a number.
func IsTime ¶
IsTime returns whether tp is a time.Time type or if it can be converted into one in ToTime.
func IsTruthful ¶
IsTruthful returns whether in represents a truthful value. See IsTruthfulValue
func IsTruthfulValue ¶
IsTruthfulValue returns whether the given value has a meaningful truth value. This is based on template.IsTrue in Go's stdlib, but also considers IsZero and any interface value will be unwrapped before it's considered for truthfulness.
Types ¶
This section is empty.