Versions in this module Expand all Collapse all v1 v1.0.0 Aug 26, 2026 Changes in this version + const CodeFunctionError + const CodeTypeMismatch + var ErrArgCount = ErrFunction.WithCause(goerrors.New("argument count mismatch")) + var ErrFunction = errors.New(CodeFunctionError, "function error") + var ErrMethodNotFound = ErrFunction.WithCause(goerrors.New("method not found")) + var ErrNilObject = ErrFunction.WithCause(goerrors.New("object is nil")) + var ErrNotFunc = ErrFunction.WithCause(goerrors.New("fn must be a function")) + var ErrReturnCount = ErrFunction.WithCause(goerrors.New("return count mismatch")) + var ErrTypeMismatch = errors.New(CodeTypeMismatch, "type mismatch") + func CastFunc[OUT Function](fn any, opts ...func(*FuncConfig)) (OUT, error) + func ConvertToType(value re.Value, targetType re.Type) (re.Value, error) + func ConvertToUniformType(val any) any + func EQ_BYTES_RUNES(state *EqStepState) (eq bool, ok bool) + func EQ_DEREF_POINTERS(state *EqStepState) (eq bool, retEq bool) + func EQ_DRIVER_VALUER(state *EqStepState) (eq bool, ok bool) + func EQ_ISZEROER(state *EqStepState) (eq bool, ok bool) + func EQ_NIL_LEN_ZERO(state *EqStepState) (eq, retEq bool) + func EQ_NIL_ZEROVALS(state *EqStepState) (eq bool, retEq bool) + func EQ_TYPES_OPT_CNV(state *EqStepState) (eq, retEq bool) + func EQ_UNDERLYING_KIND(state *EqStepState) (eq, retEq bool) + func Equals(a, b any, opts ...any) bool + func IsZero(value interface{}) bool + func Method[T Function](obj interface{}, name string, opts ...func(*FuncConfig)) (n T, err error) + func RCastFunc(out reflect.Type, fn any, opts ...func(*FuncConfig)) (reflect.Value, error) + func RConvert(v *re.Value, t re.Type) (*re.Value, bool) + func RScanTo(dstPtr reflect.Value, src any, flags ScanFlag) (wasSet bool, err error) + func RSet(src, dst *re.Value, convert bool) bool + func ReflectValue(value interface{}) re.Value + func RegisterCompareStep(order int, step func(*EqStepState) (eq bool, ok bool)) + func ScanTo[DST any](dstPtr *DST, src any, flags ScanFlag) (wasSet bool, err error) + func WithContext(ctx context.Context) func(*FuncConfig) + func WithFuncArgs(args ...any) func(*FuncConfig) + type Argument interface + Arg func() any + Type func() reflect.Type + func Arg[T any](v T) Argument + type EqStepState struct + A any + B any + Opts FLAG_EQ + V1 reflect.Value + V2 reflect.Value + func (e *EqStepState) Equals(a, b any) bool + type EqualityChecker interface + Equal func(other any) bool + type EqualityChecker2 interface + Equals func(other any) bool + type FLAG_EQ = bitcheck.Flag + type Func struct + BeforeExec func(in []reflect.Value) error + Fn Function + ReturnTypes []reflect.Type + Type reflect.Type + Value reflect.Value + func NewFunc(fn Function, returns ...reflect.Type) *Func + func (c *Func) AdheresTo(fn any) bool + func (c *Func) Call(args ...interface{}) []interface{} + func (c *Func) CallFunc(in []reflect.Value) []interface{} + func (c *Func) Requires(index int, typ reflect.Type) *Func + func (c *Func) Returns(returns ...reflect.Type) *Func + type FuncConfig struct + Decorators []func(fn func([]reflect.Value) []reflect.Value) func([]reflect.Value) []reflect.Value + InjectContext reflect.Value + Wrappers []func(src reflect.Value, srcTyp reflect.Type, dst reflect.Type, injectCtx bool) (newSrc reflect.Value) + type Function = interface + type IsZeroer interface + IsZero func() bool + type ScanFlag = bitcheck.Flag + const EQ_DFLT + const EQ_DRIVER_VALUE + const EQ_IGNORE_NIL + const EQ_IGNORE_PTR + const EQ_NONE + const EQ_TYPE_CONVERT + const EQ_ZEROS + const SF_CONVS + const SF_DEFAULT + const SF_NONE + const SF_REFLECTCONV + const SF_SQL_SCANNER + const SF_STRCONV