CommonLibrary/Telemetry/
CaptureEvent.rs1#![allow(non_snake_case)]
2
3use crate::Telemetry::{Client, DistinctId, IsAllowed};
9
10pub fn Fn(EventName:&str, Properties:Option<Vec<(&str, &str)>>) {
11 if !IsAllowed::PostHog() {
12 return;
13 }
14
15 let Some(C) = Client::CLIENT.get() else { return };
16
17 let TierStr = Client::TIER.get().map(|T| T.AsStr()).unwrap_or("common");
18
19 let mut Event = posthog_rs::Event::new(EventName, &DistinctId::Fn());
20
21 let _ = Event.insert_prop("$app", "land-editor");
22
23 let _ = Event.insert_prop("$app_version", "0.0.1");
24
25 let _ = Event.insert_prop("$build_mode", "debug");
26
27 let _ = Event.insert_prop("$component", TierStr);
28
29 let _ = Event.insert_prop("$tier", TierStr);
30
31 let _ = Event.insert_prop("$lib", "land-common-telemetry");
32
33 if let Some(Props) = Properties {
34 for (Key, Value) in Props {
35 let _ = Event.insert_prop(Key, Value);
36 }
37 }
38
39 let _ = C.capture(Event);
40}