1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//!
//! Workflow RS framework initializers
//!

use wasm_bindgen::prelude::*;

// #[wasm_bindgen(js_name = "initApplicationFramework")]
pub fn init_workflow(workflow: &JsValue, modules: &JsValue) -> std::result::Result<(), JsValue> {
    let global = js_sys::Object::new();
    js_sys::Reflect::set(&js_sys::global(), &"$workflow$".into(), &global)?;
    js_sys::Reflect::set(&global, &"workflow".into(), workflow)?;
    js_sys::Reflect::set(&global, &"modules".into(), modules)?;

    workflow_log::set_colors_enabled(true);

    Ok(())
}

pub fn global() -> std::result::Result<JsValue, JsValue> {
    js_sys::Reflect::get(&js_sys::global(), &"$workflow$".into())
}

pub fn workflow() -> std::result::Result<JsValue, JsValue> {
    js_sys::Reflect::get(&global()?, &"workflow".into())
}

pub fn modules() -> std::result::Result<JsValue, JsValue> {
    js_sys::Reflect::get(&global()?, &"modules".into())
}