1#![crate_type = "lib"]
9#![doc(
10 html_logo_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/logo.png",
11 html_favicon_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/favicon.ico"
12)]
13
14#[doc(no_inline)]
15#[cfg(feature = "config")]
16pub use config;
17
18#[macro_use]
19pub(crate) mod macros {
20 #[macro_use]
21 pub mod config;
22 #[macro_use]
23 pub mod seal;
24}
25
26#[doc(inline)]
27pub use self::{
28 consts::*, error::*, services::prelude::*, traits::prelude::*, types::prelude::*,
29 utils::prelude::*,
30};
31pub mod error;
33pub mod services;
34
35pub mod consts {
37 pub const DEFAULT_ENV_PREFIX: &str = "APP";
39 pub const DEFAULT_ENV_SEPARATOR: &str = "_";
41 pub const ARTIFACTS: &str = ".artifacts";
43 pub const CACHE_DIR: &str = ".cache";
45 pub const CONFIG_DIR: &str = ".config";
47}
48
49pub mod traits {
51 #[doc(inline)]
52 pub use self::prelude::*;
53
54 pub mod configure;
55
56 pub(crate) mod prelude {
57 #[doc(inline)]
58 pub use super::configure::*;
59 }
60}
61pub mod types {
63 #[doc(inline)]
64 pub use self::prelude::*;
65
66 pub mod environment;
67 pub mod log_level;
68 pub mod mode;
69 pub mod network_address;
70 pub mod scope;
71
72 pub(crate) mod prelude {
73 #[doc(inline)]
74 pub use super::environment::*;
75 #[doc(inline)]
76 pub use super::log_level::*;
77 #[doc(inline)]
78 pub use super::mode::*;
79 #[doc(inline)]
80 pub use super::network_address::*;
81 #[doc(inline)]
82 pub use super::scope::*;
83 }
84}
85
86pub mod utils {
87 #[doc(inline)]
88 pub use self::prelude::*;
89
90 pub mod fs;
91 pub mod vars;
92
93 pub(crate) mod prelude {
94 #[allow(unused_imports)]
95 #[doc(inline)]
96 pub use super::fs::*;
97 #[doc(inline)]
98 pub use super::vars::*;
99 }
100}
101
102pub mod prelude {
103 #[doc(no_inline)]
104 pub use crate::consts::*;
105 #[doc(no_inline)]
106 pub use crate::error::*;
107 #[doc(no_inline)]
108 pub use crate::services::prelude::*;
109 #[doc(no_inline)]
110 pub use crate::types::prelude::*;
111 #[doc(no_inline)]
112 pub use crate::utils::prelude::*;
113}