pushValue method

void pushValue(
  1. Pointer<lua_State> L,
  2. dynamic value
)

Push a Dart value onto Lua stack

Implementation

void pushValue(Pointer<lua_State> L, dynamic value) {
  if (value is String) {
    final cstr = value.toNativeUtf8();
    bindings.lua_pushstring(L, cstr.cast());
    malloc.free(cstr);
  } else if (value is int) {
    bindings.lua_pushinteger(L, value);
  } else if (value is double) {
    bindings.lua_pushnumber(L, value);
  } else if (value is bool) {
    bindings.lua_pushboolean(L, value ? 1 : 0);
  } else {
    bindings.lua_pushnil(L);
  }
}