Documentation
¶
Index ¶
- func AddToStructFieldArray(structToSet any, field string, val any)
- func BuildType[T any](factory *TypeFactory) *T
- func CallStructMethod(in any, methodName string, args ...any) []any
- func FieldValue[T any](in any, field string) T
- func FieldValuesOfType[T any](in any) map[string]T
- func FieldValuesOfTypeInArray[T any](in any) map[string][]T
- func FuncArgumentsOfType[T any](in any) map[string]T
- func FuncNamesOfType[T any](in any) []string
- func FuncReturnOfType[T any](in any) map[string]T
- func GenericFieldTypes(genericType string, in any) map[string]string
- func GetPackagePath(v any) string
- func GetStructTag(structToSet any, field string, tag string) string
- func GetTypeNameWithoutPackage(in any) string
- func HasMethod(in any, methodName string) bool
- func RegisterType[T any](factory *TypeFactory)
- func RegisterTypeWithBuilder[T any](factory *TypeFactory, builder func() T)
- func RemoveFromStructFieldArray(structToSet any, field string, index int)
- func SetStructField(structToSet any, field string, val any)
- func StructFieldTypes(in any) map[string]string
- type TypeFactory
- func (factory TypeFactory) Combine(others ...*TypeFactory) *TypeFactory
- func (tf TypeFactory) KeyRegistered(key string) bool
- func (tf TypeFactory) New(key string) any
- func (factory *TypeFactory) RegisterBuilder(key string, builder func() any)
- func (factory *TypeFactory) RegisterType(v any)
- func (tf TypeFactory) TypeRegistered(v any) bool
- func (tf TypeFactory) Types() []string
- func (tf TypeFactory) Unregister(key string)
- type TypeResolution
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddToStructFieldArray ¶ added in v0.20.0
func BuildType ¶ added in v0.11.0
func BuildType[T any](factory *TypeFactory) *T
func CallStructMethod ¶ added in v0.23.0
func FieldValue ¶ added in v0.23.0
func FieldValuesOfType ¶
func FuncArgumentsOfType ¶ added in v0.32.0
func FuncNamesOfType ¶ added in v0.23.0
func FuncReturnOfType ¶ added in v0.32.0
func GenericFieldTypes ¶ added in v0.23.0
func GetPackagePath ¶ added in v0.11.0
func GetStructTag ¶ added in v0.24.0
func GetTypeNameWithoutPackage ¶ added in v0.11.0
func RegisterType ¶ added in v0.11.0
func RegisterType[T any](factory *TypeFactory)
func RegisterTypeWithBuilder ¶ added in v0.11.0
func RegisterTypeWithBuilder[T any](factory *TypeFactory, builder func() T)
func RemoveFromStructFieldArray ¶ added in v0.20.0
func SetStructField ¶ added in v0.11.0
func StructFieldTypes ¶ added in v0.23.0
Types ¶
type TypeFactory ¶ added in v0.11.0
type TypeFactory struct {
// contains filtered or unexported fields
}
func (TypeFactory) Combine ¶ added in v0.11.0
func (factory TypeFactory) Combine(others ...*TypeFactory) *TypeFactory
func (TypeFactory) KeyRegistered ¶ added in v0.11.0
func (tf TypeFactory) KeyRegistered(key string) bool
func (TypeFactory) New ¶ added in v0.11.0
func (tf TypeFactory) New(key string) any
func (*TypeFactory) RegisterBuilder ¶ added in v0.23.0
func (factory *TypeFactory) RegisterBuilder(key string, builder func() any)
func (*TypeFactory) RegisterType ¶ added in v0.11.0
func (factory *TypeFactory) RegisterType(v any)
func (TypeFactory) TypeRegistered ¶ added in v0.11.0
func (tf TypeFactory) TypeRegistered(v any) bool
func (TypeFactory) Types ¶ added in v0.11.0
func (tf TypeFactory) Types() []string
func (TypeFactory) Unregister ¶ added in v0.28.0
func (tf TypeFactory) Unregister(key string)
type TypeResolution ¶ added in v0.37.0
type TypeResolution struct {
// Include the package the type comes from
IncludePackage bool
// Include whether or not the type is a pointer
IncludePointer bool
// Derefence a pointer once, useful for dealing with pointers to
// interfaces (ie *image.Image)
StripSinglePointer bool
}
func (TypeResolution) Resolve ¶ added in v0.37.0
func (tr TypeResolution) Resolve(v any) string
Click to show internal directories.
Click to hide internal directories.