shellder/lib.rs
1// Copyright (c) 2025 Saugata Kundu - kundusaugata576@gmail.com
2// Licensed under the Apache-2.0 License
3
4mod container;
5mod errors;
6mod logger;
7pub use logger::{Logger,CliLogger};
8pub use container::Container;
9
10pub use errors::*;
11pub use shellder_macros::{Hooks, Inject, App};
12use once_cell::sync::Lazy;
13
14pub static DEFAULT_CONTAINER: Lazy<Container> = Lazy::new(Container::new);
15
16pub trait Hooks {
17 fn startup(&self);
18 fn run(&self);
19 fn cleanup(&self);
20}
21
22pub trait Lifecycle {
23 fn run_hooks(&self);
24}