MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1#ifndef TIMER_H
2#define TIMER_H
3
4#include "types.h"
5
6ant_value_t timers_library(ant_t *js);
7ant_value_t timers_promises_library(ant_t *js);
8
9void init_timer_module(void);
10void process_microtasks(ant_t *js);
11void process_immediates(ant_t *js);
12void queue_promise_trigger(ant_t *js, ant_value_t promise);
13
14void queue_microtask(ant_t *js, ant_value_t callback);
15void queue_microtask_with_args(ant_t *js, ant_value_t callback, ant_value_t *args, int nargs);
16
17void queue_next_tick(ant_t *js, ant_value_t callback);
18void queue_next_tick_with_args(ant_t *js, ant_value_t callback, ant_value_t *args, int nargs);
19
20bool js_maybe_drain_microtasks(ant_t *js);
21bool js_maybe_drain_microtasks_after_async_settle(ant_t *js);
22
23int has_pending_timers(void);
24int has_pending_microtasks(void);
25int has_pending_immediates(void);
26
27#endif