quickjs_runtime/features/
mod.rs1use crate::facades::QuickJsRuntimeFacade;
4use crate::jsutils::JsError;
5#[cfg(feature = "console")]
6pub mod console;
7#[cfg(any(feature = "settimeout", feature = "setinterval"))]
8pub mod set_timeout;
9#[cfg(feature = "setimmediate")]
10pub mod setimmediate;
11
12#[cfg(any(
13 feature = "settimeout",
14 feature = "setinterval",
15 feature = "console",
16 feature = "setimmediate"
17))]
18pub fn init(es_rt: &QuickJsRuntimeFacade) -> Result<(), JsError> {
19 log::trace!("features::init");
20
21 es_rt.exe_rt_task_in_event_loop(move |q_js_rt| {
22 #[cfg(feature = "console")]
23 console::init(q_js_rt)?;
24 #[cfg(feature = "setimmediate")]
25 setimmediate::init(q_js_rt)?;
26
27 #[cfg(any(feature = "settimeout", feature = "setinterval"))]
28 set_timeout::init(q_js_rt)?;
29 Ok(())
30 })
31}