1#![allow(clippy::new_without_default)]
4use crate::events::Emitter;
5use crate::utils::primordials::{BasePrimordials, Primordial};
6use rquickjs::{Class, Ctx, Result};
7
8pub use self::{abort_controller::AbortController, abort_signal::AbortSignal};
9
10mod abort_controller;
11mod abort_signal;
12
13pub fn init(ctx: &Ctx<'_>) -> Result<()> {
14 let globals = ctx.globals();
15
16 BasePrimordials::init(ctx)?;
17
18 Class::<AbortController>::define(&globals)?;
19 Class::<AbortSignal>::define(&globals)?;
20
21 AbortSignal::add_event_emitter_prototype(ctx)?;
22 AbortSignal::add_event_target_prototype(ctx)?;
23
24 Ok(())
25}