1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Feature flagging facade for Rust.
//!
//! This library provides a flexible and extensible way to control feature flags
//! in Rust applications.
//!
//! The core trait of this library is the [`Evaluator`], which is used to evaluate
//! feature flags at runtime.
//!
//! The [`context!`] macro and [`Context`] type can be in evaluators to provide
//! contextual information for feature flag evaluation, such as user ID and session ID.
//!
//! The [`is_enabled!`] macro is the primary way to check if a feature is enabled.
//! This macro takes a feature name and a default value, and returns a boolean
//! indicating whether the feature is enabled or not. Alternatively, the [`feature!`]
//! macro can be used to store a [`Feature`] is a variable or constant, or the
//! [`Feature::new`] or [`Feature::new_with_default_fn`] methods can be used
//! directly to create new feature flags at runtime.
pub use crate::;