#[cfg(feature = "base64")]
mod base64;
#[cfg(feature = "block")]
mod block;
#[cfg(feature = "compress")]
mod compress;
#[cfg(feature = "frame")]
mod frame;
#[cfg(feature = "hash")]
mod hash;
#[cfg(feature = "hexify")]
mod hexify;
#[cfg(feature = "limit")]
mod limit;
#[cfg(feature = "process")]
mod process;
#[cfg(feature = "rate")]
mod rate;
#[cfg(feature = "tee")]
mod tee;
#[cfg(feature = "throttle")]
mod throttle;
#[cfg(feature = "timeout")]
mod timeout;
#[cfg(feature = "wasm")]
mod wasm;
use tocat_api::Registry;
#[must_use]
pub fn native_registry() -> Registry {
let mut registry = Registry::new();
register_native(&mut registry);
registry
}
pub fn register_native(registry: &mut Registry) {
#[cfg(feature = "base64")]
{
registry.register(base64::Base64Factory);
registry.register(base64::Unbase64Factory);
}
#[cfg(feature = "block")]
registry.register(block::BlockFactory);
#[cfg(feature = "compress")]
{
registry.register(compress::CompressFactory);
registry.register(compress::DecompressFactory);
}
#[cfg(feature = "frame")]
{
registry.register(frame::FrameFactory);
registry.register(frame::UnframeFactory);
}
#[cfg(feature = "hash")]
registry.register(hash::HashFactory);
#[cfg(feature = "hexify")]
{
registry.register(hexify::HexifyFactory);
registry.register(hexify::UnhexifyFactory);
}
#[cfg(feature = "limit")]
registry.register(limit::LimitFactory);
#[cfg(feature = "process")]
registry.register(process::ProcessFactory);
#[cfg(feature = "rate")]
registry.register(rate::RateFactory);
#[cfg(feature = "tee")]
registry.register(tee::TeeFactory);
#[cfg(feature = "throttle")]
registry.register(throttle::ThrottleFactory);
#[cfg(feature = "timeout")]
registry.register(timeout::TimeoutFactory);
#[cfg(feature = "wasm")]
registry.register(wasm::WasmFactory);
let _ = registry;
}