fix: temporary remove luajit for compliation reasons

This commit is contained in:
DecDuck
2025-08-25 12:43:23 +10:00
parent 817c3cf503
commit e66a6581cb
4 changed files with 16 additions and 64 deletions

View File

@ -1,5 +1,5 @@
use boa_engine::{Context, JsValue, Source};
use mlua::{FromLuaMulti, Function, Lua};
// use mlua::{FromLuaMulti, Function, Lua};
use napi::Result;
use rhai::AST;
@ -14,14 +14,14 @@ pub struct Script(ScriptInner);
pub enum ScriptInner {
Rhai { script: AST },
Lua { script: Function },
// Lua { script: Function },
Javascript { script: boa_engine::Script },
}
#[napi]
pub struct ScriptEngine {
rhai_engine: rhai::Engine,
lua_engine: Lua,
// lua_engine: Lua,
js_engine: Context,
}
@ -31,13 +31,13 @@ impl ScriptEngine {
pub fn new() -> Self {
ScriptEngine {
rhai_engine: rhai::Engine::new(),
lua_engine: Lua::new(),
// lua_engine: Lua::new(),
js_engine: Context::default(),
}
}
#[napi]
pub fn build_rahi_script(&self, content: String) -> Result<Script> {
pub fn build_rhai_script(&self, content: String) -> Result<Script> {
let script = self
.rhai_engine
.compile(content.clone())
@ -45,6 +45,7 @@ impl ScriptEngine {
Ok(Script(ScriptInner::Rhai { script }))
}
/*
#[napi]
pub fn build_lua_script(&self, content: String) -> Result<Script> {
let func = self
@ -54,6 +55,7 @@ impl ScriptEngine {
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
Ok(Script(ScriptInner::Lua { script: func }))
}
*/
#[napi]
pub fn build_js_script(&mut self, content: String) -> Result<Script> {
@ -76,6 +78,7 @@ impl ScriptEngine {
Ok(v)
}
/*
fn execute_lua_script<T>(&self, function: &Function) -> Result<T>
where
T: FromLuaMulti,
@ -85,6 +88,7 @@ impl ScriptEngine {
.map_err(|e| napi::Error::from_reason(e.to_string()))?;
Ok(v)
}
*/
fn execute_js_script(&mut self, func: &boa_engine::Script) -> Result<JsValue> {
let v = func
@ -100,9 +104,9 @@ impl ScriptEngine {
ScriptInner::Rhai { script } => {
self.execute_rhai_script::<()>(script)?;
}
ScriptInner::Lua { script } => {
/*ScriptInner::Lua { script } => {
self.execute_lua_script::<()>(script)?;
}
}*/
ScriptInner::Javascript { script } => {
self.execute_js_script(script)?;
}
@ -114,14 +118,15 @@ impl ScriptEngine {
pub fn fetch_strings(&mut self, script: &mut Script) -> Result<Vec<String>> {
Ok(match &script.0 {
ScriptInner::Rhai { script } => self.execute_rhai_script(script)?,
ScriptInner::Lua { script } => self.execute_lua_script(script)?,
//ScriptInner::Lua { script } => self.execute_lua_script(script)?,
ScriptInner::Javascript { script } => {
let v = self.execute_js_script(script)?;
serde_json::from_value(
v.to_json(&mut self.js_engine)
.map_err(|e| napi::Error::from_reason(e.to_string()))?,
).map_err(|e| napi::Error::from_reason(e.to_string()))?
)
.map_err(|e| napi::Error::from_reason(e.to_string()))?
}
})
}