hreflect

package
v0.140.1 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 18

Documentation

Overview

Package hreflect contains reflect helpers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AsTime added in v0.100.2

func AsTime(v reflect.Value, loc *time.Location) (time.Time, bool)

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 added in v0.111.0

func CallMethodByName(cxt context.Context, name string, v reflect.Value) []reflect.Value

func GetMethodByName added in v0.94.0

func GetMethodByName(v reflect.Value, name string) reflect.Value

GetMethodByName is the same as reflect.Value.MethodByName, but it caches the type lookup.

func GetMethodIndexByName added in v0.94.0

func GetMethodIndexByName(tp reflect.Type, name string) int

GetMethodIndexByName returns the index of the method with the given name, or -1 if no such method exists.

func IsContextType added in v0.123.0

func IsContextType(tp reflect.Type) bool

IsContextType returns whether tp is a context.Context type.

func IsFloat added in v0.76.0

func IsFloat(kind reflect.Kind) bool

IsFloat returns whether the given kind is a float.

func IsInt added in v0.76.0

func IsInt(kind reflect.Kind) bool

IsInt returns whether the given kind is an int.

func IsNumber added in v0.76.0

func IsNumber(kind reflect.Kind) bool

TODO(bep) replace the private versions in /tpl with these. IsNumber returns whether the given kind is a number.

func IsTime added in v0.100.2

func IsTime(tp reflect.Type) bool

IsTime returns whether tp is a time.Time type or if it can be converted into one in ToTime.

func IsTruthful

func IsTruthful(in any) bool

IsTruthful returns whether in represents a truthful value. See IsTruthfulValue

func IsTruthfulValue

func IsTruthfulValue(val reflect.Value) (truth bool)

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.

Based on: https://github.com/golang/go/blob/178a2c42254166cffed1b25fb1d3c7a5727cada6/src/text/template/exec.go#L306

func IsUint added in v0.76.0

func IsUint(kind reflect.Kind) bool

IsUint returns whether the given kind is an uint.

func IsValid added in v0.123.0

func IsValid(v reflect.Value) bool

IsValid returns whether v is not nil and a valid value.

func ToSliceAny added in v0.140.0

func ToSliceAny(v any) ([]any, bool)

ToSliceAny converts the given value to a slice of any if possible.

Types

This section is empty.

Jump to

Keyboard shortcuts

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