mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-10-13 02:53:52 +08:00
24 lines
470 B
Go
24 lines
470 B
Go
package builtin
|
|
|
|
import (
|
|
"reflect"
|
|
)
|
|
|
|
type Function struct {
|
|
Name string
|
|
Fast func(arg any) any
|
|
Func func(args ...any) (any, error)
|
|
Safe func(args ...any) (any, uint, error)
|
|
Types []reflect.Type
|
|
Validate func(args []reflect.Type) (reflect.Type, error)
|
|
Deref func(i int, arg reflect.Type) bool
|
|
Predicate bool
|
|
}
|
|
|
|
func (f *Function) Type() reflect.Type {
|
|
if len(f.Types) > 0 {
|
|
return f.Types[0]
|
|
}
|
|
return reflect.TypeOf(f.Func)
|
|
}
|