uv_flags/
lib.rs

1use std::sync::OnceLock;
2
3static FLAGS: OnceLock<EnvironmentFlags> = OnceLock::new();
4
5bitflags::bitflags! {
6    #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
7    pub struct EnvironmentFlags: u32 {
8        const SKIP_WHEEL_FILENAME_CHECK = 1 << 0;
9    }
10}
11
12/// Initialize the environment flags.
13#[allow(clippy::result_unit_err)]
14pub fn init(flags: EnvironmentFlags) -> Result<(), ()> {
15    FLAGS.set(flags).map_err(|_| ())
16}
17
18/// Check if a specific environment flag is set.
19pub fn contains(flag: EnvironmentFlags) -> bool {
20    FLAGS.get_or_init(EnvironmentFlags::default).contains(flag)
21}