flaga 0.1.1

Flag management engine with support for binary, hex, and enum flags, event triggering, and persistent flag schemas.
Documentation
use crate::impl_descriptor;

// --- Dynamic Descriptor ---
// Uses `String`, meaning names can be created at runtime (e.g., from a database).
impl_descriptor!(
    FlagDescriptor,
    String,
    derives = [serde::Serialize, serde::Deserialize]
);

/// Type alias for easier readability when using String-based descriptors.
pub type Dynamic<T> = FlagDescriptor<T>;


// --- Static Descriptor ---
// Uses `&'static str`, meaning names are hardcoded in the binary.
// This is faster and uses less memory, but is less flexible.
impl_descriptor!(
    FlagDescriptorStatic,
    &'static str,
    derives = [serde::Serialize]
);

/// Type alias for easier readability when using hardcoded string-slice descriptors.
pub type Static<T> = FlagDescriptorStatic<T>;