INNER CODE UNIT · Go
any
bbuck/dragon-mud · scripting/lua_engine.go:28
func (le *LuaEngine) Register(name string, fn any) error {
value := reflect.ValueOf(fn)
valueType := value.Type()
if valueType.Kind() != reflect.Func {
return fmt.Errorf("expected a function but received: %s", valueType.String())
}
// TODO: let's handle variadic functions later
argCount := valueType.NumIn()
var inputTypes []reflect.Type
for i := range argCount {
inputTypes = append(inputTypes, valueType.In(i))
}
returnCount := valueType.NumOut()
var outputTypes []reflect.Type