LuaDardo-async
A Lua virtual machine written in Dart, which implements Lua5.3 version. This is a fork that implements async functions wrappers.
Disclaimer
Modules like math.random()
do not work. as a temporary fix you can use them out of their module like math.random()
-> random()
.
Original : LuaDardo
Example:
dependencies:
lua_dardo_async: ^0.0.1
import 'package:lua_dardo_async/lua.dart';
Future<void> main(List<String> arguments) async {
LuaState state = LuaState.newState();
await state.openLibs();
state.registerAsync("wait", (ls) => Future.delayed(Duration(seconds: 1), () => 0));
state.loadString(r'''
print("before the wait")
wait()
print("after the wait")
''');
state.call(0, 0);
print("end of the script");
}