1#![no_std]
2
3extern crate alloc;
4
5#[macro_use]
6pub(crate) mod macros;
7
8pub(crate) mod any;
9pub(crate) mod cache;
10pub(crate) mod config;
11pub(crate) mod container;
12pub(crate) mod context;
13pub(crate) mod dependency;
14pub(crate) mod dependency_resolver;
15pub(crate) mod errors;
16pub(crate) mod finalizer;
17pub(crate) mod inject;
18pub(crate) mod instantiator;
19pub(crate) mod integrations;
20pub(crate) mod lock;
21pub(crate) mod registry;
22pub(crate) mod scope;
23pub(crate) mod service;
24
25pub mod macros_utils;
26pub mod utils;
27
28#[cfg(feature = "async")]
29pub mod async_impl;
30
31pub use any::TypeInfo;
32pub use config::Config;
33pub use container::Container;
34pub use context::Context;
35pub use dependency::Dependency;
36pub use dependency_resolver::DependencyResolver;
37pub use errors::{InstantiateErrorKind, InstantiatorResult, ResolveErrorKind, ScopeErrorKind, ScopeWithErrorKind};
38pub use finalizer::Finalizer;
39pub use inject::{Inject, InjectTransient};
40pub use instantiator::{instance, Instantiator};
41pub use registry::{InstantiatorData, Registry};
42pub use scope::{DefaultScope, Scope, Scopes};
43
44#[cfg(feature = "axum")]
45pub use integrations::axum;
46
47#[cfg(feature = "dptree")]
48pub use integrations::dptree;
49
50#[cfg(feature = "telers")]
51pub use integrations::telers;