LuaDardo-async

logo


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");
}

Libraries

debug
lua