launchdarkly_server_sdk_evaluation/
lib.rs1#![deny(rustdoc::missing_crate_level_docs)]
8#![deny(missing_docs)]
9
10mod attribute_value;
11mod contexts;
12mod eval;
13mod flag;
14mod flag_value;
15mod rule;
16mod segment;
17mod store;
18mod test_common;
19mod test_data;
20mod util;
21mod variation;
22
23pub use attribute_value::AttributeValue;
24pub use contexts::attribute_reference::Reference;
25pub use contexts::context::{Context, ContextAttributes, Kind};
26pub use contexts::context_builder::{ContextBuilder, MultiContextBuilder};
27pub use eval::*;
28pub use flag::*;
29pub use flag_value::*;
30pub use rule::*;
31pub use segment::*;
32pub use store::*;
33pub use test_data::*;
34pub use variation::*;
35
36pub trait Versioned {
38 fn version(&self) -> u64;
40
41 fn is_greater_than_or_equal(&self, version: u64) -> bool {
44 self.version() >= version
45 }
46}
47
48#[cfg(test)]
49pub(crate) mod proptest_generators {
50 pub(crate) use crate::contexts::attribute_reference::proptest_generators::*;
51 pub(crate) use crate::contexts::context::proptest_generators::*;
52 pub(crate) use crate::rule::proptest_generators::*;
53 pub(crate) use crate::variation::proptest_generators::*;
54}