reflectool

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2021 License: MIT Imports: 3 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ForEachFieldOptions = &forEachFieldConfig{}

Functions

func ForEachField

func ForEachField(target interface{}, fn FieldHandler, options ...forEachFieldOption) (err error)

func GetSliceElementType added in v0.0.2

func GetSliceElementType(slice interface{}) (reflect.Type, error)

func IsFieldExported added in v0.0.2

func IsFieldExported(fieldType reflect.StructField) bool

IsFieldExported returns whether a field are exported @see go/src/reflect/type.go reflect.StructField

func ToWriteableSliceValue added in v0.0.2

func ToWriteableSliceValue(slicePointer interface{}) (*reflect.Value, error)

Types

type FieldContext added in v0.0.4

type FieldContext struct {
	Value *reflect.Value
	reflect.StructField
	Path string
}

type FieldHandler

type FieldHandler func(ctx FieldContext) error

type Iterator added in v0.0.2

type Iterator func() (interface{}, error)

func (Iterator) Next added in v0.0.2

func (itr Iterator) Next() (interface{}, error)

func (Iterator) WriteTo added in v0.0.2

func (itr Iterator) WriteTo(slicePointer interface{}, handler ...interface{}) (err error)

type ItrExitValidator added in v0.0.2

type ItrExitValidator func(iv interface{}, err error) (bool, error)

type ItrMapper added in v0.0.2

type ItrMapper func(iv interface{}) (interface{}, error)

type ItrReducer added in v0.0.2

type ItrReducer func(iv interface{}, in interface{}) (interface{}, error)

type SlicePtrReflector added in v0.0.4

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

func NewSlicePtrReflector added in v0.0.4

func NewSlicePtrReflector(slicePtr interface{}) (*SlicePtrReflector, error)

func (*SlicePtrReflector) ItemType added in v0.0.4

func (ptrRef *SlicePtrReflector) ItemType() reflect.Type

func (*SlicePtrReflector) Len added in v0.0.4

func (ptrRef *SlicePtrReflector) Len() int

func (*SlicePtrReflector) Ptr added in v0.0.4

func (ptrRef *SlicePtrReflector) Ptr() int

func (*SlicePtrReflector) Read added in v0.0.4

func (ptrRef *SlicePtrReflector) Read(i int, outPtr interface{}) error

type Spawner

type Spawner func() interface{}

func NewSpawner

func NewSpawner(model interface{}) (spawner Spawner)

func NewSpawnerFromType added in v0.0.2

func NewSpawnerFromType(ty reflect.Type) (spawner Spawner)

func (Spawner) Spawn

func (sp Spawner) Spawn() interface{}

Jump to

Keyboard shortcuts

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