ferrijs-std 0.2.0

Node and web standard library for the ferrijs QuickJS runtime: WHATWG Streams, Events, AbortController, Buffer, crypto, fs, os, url, zlib and the capability model they enforce (partly derived from awslabs/llrt, Apache-2.0).
Documentation
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
#![allow(clippy::new_without_default)]
use crate::events::Emitter;
use crate::utils::primordials::{BasePrimordials, Primordial};
use rquickjs::{Class, Ctx, Result};

pub use self::{abort_controller::AbortController, abort_signal::AbortSignal};

mod abort_controller;
mod abort_signal;

pub fn init(ctx: &Ctx<'_>) -> Result<()> {
    let globals = ctx.globals();

    BasePrimordials::init(ctx)?;

    Class::<AbortController>::define(&globals)?;
    Class::<AbortSignal>::define(&globals)?;

    AbortSignal::add_event_emitter_prototype(ctx)?;
    AbortSignal::add_event_target_prototype(ctx)?;

    Ok(())
}