* git mv src/wasm-lib rust Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv wasm-lib to workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv kcl-lib Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv derive docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * resolve file paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * move more shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * make yarn build:wasm work Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix scripts Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * better references Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cargo ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix reference Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * cargo sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix script Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix a dep Signed-off-by: Jess Frazelle <github@jessfraz.com> * sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove unused deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "remove unused deps" This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * deps; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
25 lines
714 B
Rust
25 lines
714 B
Rust
use std::sync::Arc;
|
|
|
|
use anyhow::Result;
|
|
use kcl_lib::{ExecState, ExecutorContext};
|
|
use tokio::sync::RwLock;
|
|
|
|
#[cfg(not(target_arch = "wasm32"))]
|
|
mod conn_mock_core;
|
|
|
|
///Converts the given kcl code to an engine test
|
|
pub async fn kcl_to_engine_core(code: &str) -> Result<String> {
|
|
let program = kcl_lib::Program::parse_no_errs(code)?;
|
|
|
|
let result = Arc::new(RwLock::new("".into()));
|
|
let ref_result = Arc::clone(&result);
|
|
|
|
let ctx = ExecutorContext::new_forwarded_mock(Arc::new(Box::new(
|
|
crate::conn_mock_core::EngineConnection::new(ref_result).await?,
|
|
)));
|
|
ctx.run(&program, &mut ExecState::new(&ctx.settings)).await?;
|
|
|
|
let result = result.read().await.clone();
|
|
Ok(result)
|
|
}
|