flagsmith_flag_engine/engine_eval/
result.rs1use super::context::{FeatureMetadata, SegmentMetadata};
2use crate::types::FlagsmithValue;
3use serde::{Deserialize, Serialize};
4use std::collections::HashMap;
5
6#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
8pub struct EvaluationResult {
9 pub flags: HashMap<String, FlagResult>,
11
12 #[serde(default)]
14 pub segments: Vec<SegmentResult>,
15}
16
17#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
19pub struct FlagResult {
20 pub enabled: bool,
22
23 pub name: String,
25
26 pub reason: String,
28
29 pub value: FlagsmithValue,
31
32 #[serde(default)]
34 pub metadata: FeatureMetadata,
35}
36
37#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
39pub struct SegmentResult {
40 pub name: String,
42
43 #[serde(default)]
45 pub metadata: SegmentMetadata,
46}