Skip to main content

trait_kit/kit/
mod.rs

1// Copyright (c) 2026 Kirky.X
2// SPDX-License-Identifier: MIT
3//! Kit — the capability and configuration management center.
4
5pub mod graph;
6#[allow(clippy::module_inception)]
7pub mod kit;
8pub(crate) mod typemap;
9
10#[cfg(feature = "async")]
11pub mod async_kit;
12#[cfg(feature = "async")]
13pub mod async_typemap;
14
15#[cfg(feature = "confers")]
16pub mod config;
17
18pub use graph::{DependencyGraph, GraphError, ModuleEntry};
19pub use kit::{Kit, Ready, Unbuilt};
20pub(crate) use typemap::TypeMap;
21
22#[cfg(feature = "scope")]
23pub mod scope;
24#[cfg(all(feature = "scope", feature = "async"))]
25pub use scope::AsyncScope;
26#[cfg(feature = "scope")]
27pub use scope::Scope;
28
29#[cfg(feature = "async")]
30pub use async_kit::{AsyncKit, Ready as AsyncReady, Unbuilt as AsyncUnbuilt};
31#[cfg(feature = "async")]
32pub use async_typemap::AsyncTypeMap;
33
34#[cfg(feature = "confers-macros")]
35pub use config::Config;
36#[cfg(feature = "confers")]
37pub use config::Configurable;
38#[cfg(feature = "confers-macros")]
39pub use config::ModuleConfig;
40
41#[cfg(feature = "encryption")]
42pub use config::EncryptedBlob;
43#[cfg(feature = "encryption")]
44pub(crate) use config::XChaCha20Crypto;