///|
pub fn value_to_json(value : RuntimeValue) -> String {
value.to_json().stringify()
}
///|
pub fn value_to_string(value : RuntimeValue) -> String {
value.to_string()
}
///|
pub fn MoonBitVM::create(log? : Bool = false) -> MoonBitVM {
MoonBitVM::new(log~)
}
///|
pub fn eval_result_to_string(result : EvalResult) -> String {
match result {
Success(value, _) => value.to_string()
Error(msg, _) => "Error: " + msg
}
}
///|
pub fn code_to_ast(code : String) -> String {
match @front.parse_code_to_impl(code) {
Ok(i) => i.to_json().stringify()
Err(msg) => msg
}
}
///|
pub fn add_extern_fn(
vm : MoonBitVM,
name : String,
func : @core.RuntimeFunction,
) -> Unit {
vm.interpreter.add_extern_fn(name, func)
}
///|
pub fn add_embedded_fn(
vm : MoonBitVM,
name : String,
func : @core.RuntimeFunction,
) -> Unit {
vm.interpreter.add_embedded_fn(name, func)
}
///|
pub fn add_embedded_method(
vm : MoonBitVM,
name : String,
method_name : String,
func : @core.RuntimeFunction,
) -> Unit {
vm.interpreter.add_embedded_method(name, method_name, func)
}