package hreflect

import "github.com/gohugoio/hugo/common/hreflect"

Package hreflect contains reflect helpers.

Index

Variables

var ContextInterface = reflect.TypeOf((*context.Context)(nil)).Elem()

Functions

func GetMethodByName

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

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 IsFloat

func IsFloat(kind reflect.Kind) bool

IsFloat returns whether the given kind is a float.

func IsInt

func IsInt(kind reflect.Kind) bool

IsInt returns whether the given kind is an int.

func IsNumber

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

func IsUint(kind reflect.Kind) bool

IsUint returns whether the given kind is an uint.

Source Files

helpers.go

Version
v0.97.3
Published
Apr 18, 2022
Platform
darwin/amd64
Imports
4 packages
Last checked
51 minutes ago

Tools for package owners.