reflector

package
v0.12.7 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: BSD-3-Clause Imports: 7 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotExported        = fmt.Errorf("not exported")
	ErrNoField            = fmt.Errorf("field not exists")
	ErrMessageIsNotStruct = fmt.Errorf("message is not a struct")
)

Functions

func Register

func Register(m kit.Message, tags ...string)

Register registers the message then reflector will be much faster. You should call it concurrently.

Types

type FieldInfo

type FieldInfo struct {
	// contains filtered or unexported fields
}

func (FieldInfo) Kind

func (f FieldInfo) Kind() reflect.Kind

func (FieldInfo) Type

func (f FieldInfo) Type() reflect.StructField

type Fields

type Fields map[string]FieldInfo

func (Fields) Get

func (fields Fields) Get(m kit.Message, fieldName string) any

func (Fields) GetInt

func (fields Fields) GetInt(m kit.Message, fieldName string) (int, error)

func (Fields) GetInt32

func (fields Fields) GetInt32(m kit.Message, fieldName string) (int32, error)

func (Fields) GetInt32Default

func (fields Fields) GetInt32Default(m kit.Message, fieldName string, def int32) int32

func (Fields) GetInt64

func (fields Fields) GetInt64(m kit.Message, fieldName string) (int64, error)

func (Fields) GetInt64Default

func (fields Fields) GetInt64Default(m kit.Message, fieldName string, def int64) int64

func (Fields) GetIntDefault

func (fields Fields) GetIntDefault(m kit.Message, fieldName string, def int) int

func (Fields) GetString

func (fields Fields) GetString(m kit.Message, fieldName string) (string, error)

func (Fields) GetStringDefault

func (fields Fields) GetStringDefault(m kit.Message, fieldName string, def string) string

func (Fields) GetUInt

func (fields Fields) GetUInt(m kit.Message, fieldName string) (uint, error)

func (Fields) GetUInt32

func (fields Fields) GetUInt32(m kit.Message, fieldName string) (uint32, error)

func (Fields) GetUInt32Default

func (fields Fields) GetUInt32Default(m kit.Message, fieldName string, def uint32) uint32

func (Fields) GetUInt64

func (fields Fields) GetUInt64(m kit.Message, fieldName string) (uint64, error)

func (Fields) GetUInt64Default

func (fields Fields) GetUInt64Default(m kit.Message, fieldName string, def uint64) uint64

func (Fields) GetUIntDefault

func (fields Fields) GetUIntDefault(m kit.Message, fieldName string, def uint) uint

func (Fields) WalkFields

func (fields Fields) WalkFields(cb func(key string, f FieldInfo))

type Reflected

type Reflected struct {
	// contains filtered or unexported fields
}

func (Reflected) ByTag

func (r Reflected) ByTag(t string) (Fields, bool)

func (Reflected) Obj

func (r Reflected) Obj() Fields

func (Reflected) Type

func (r Reflected) Type() reflect.Type

type Reflector

type Reflector struct {
	// contains filtered or unexported fields
}

func New

func New() *Reflector

func (*Reflector) Get

func (r *Reflector) Get(m kit.Message, fieldName string) (any, error)

func (*Reflector) GetInt

func (r *Reflector) GetInt(m kit.Message, fieldName string) (int64, error)

func (*Reflector) GetString

func (r *Reflector) GetString(m kit.Message, fieldName string) (string, error)

func (*Reflector) Load

func (r *Reflector) Load(m kit.Message, tags ...string) *Reflected

Jump to

Keyboard shortcuts

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