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}