pupoxide 0.2.2

A high-performance, memory-safe, declarative configuration management tool inspired by Puppet.
Documentation
use crate::application::StashProvider;
use rhai::Engine;
use std::path::PathBuf;
use std::sync::{Arc, Mutex};

pub mod composition;
pub mod operators;
pub mod resources;
pub mod stash;
pub mod stdlib;
pub mod types;
pub mod utils;

pub fn register_all(
    engine: &mut Engine,
    stash: Option<Arc<dyn StashProvider>>,
    module_path: Arc<Mutex<Option<PathBuf>>>,
) {
    types::register(engine);
    stash::register(engine, stash);
    operators::register(engine);
    composition::register(engine, module_path);
    resources::register(engine);
    stdlib::register(engine);
}