pub fn run_event_loop_with_timeout( ctx: &mut JSContext, timeout_ms: u64, ) -> Result<EventLoopResult, String>