Skip to main content

statsig_rust/event_logging/
statsig_event.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3use std::collections::HashMap;
4
5pub fn string_metadata_to_value_metadata(
6    metadata: HashMap<String, String>,
7) -> HashMap<String, Value> {
8    metadata
9        .into_iter()
10        .map(|(k, v)| (k, Value::String(v)))
11        .collect()
12}
13
14#[derive(Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct StatsigEvent {
17    pub event_name: String,
18    pub value: Option<Value>,
19    pub metadata: Option<HashMap<String, Value>>,
20    pub statsig_metadata: Option<HashMap<String, Value>>,
21}