1pub use evaluation::dynamic_returnable::DynamicReturnable;
2pub use evaluation::dynamic_value::DynamicValue;
3pub use evaluation::evaluation_details::EvaluationDetails;
4pub use evaluation::evaluation_types::SecondaryExposure;
5pub use event_logging_adapter::*;
6pub use gcir::gcir_formatter::GCIRResponseFormat;
7pub use gcir::gcir_options::ClientInitResponseOptions;
8pub use hashing::HashAlgorithm;
9pub use id_lists_adapter::{IdListsAdapter, StatsigHttpIdListsAdapter};
10pub use init_details::{FailureDetails, InitializeDetails};
11pub use initialize_response::InitializeResponse;
12pub use instance_registry::InstanceRegistry;
13pub use observability::{
14 observability_client_adapter::ObservabilityClient, ops_stats::OpsStatsEventObserver,
15 ops_stats::OPS_STATS,
16};
17pub use override_adapter::{
18 override_adapter_trait::OverrideAdapter,
19 statsig_local_override_adapter::StatsigLocalOverrideAdapter,
20};
21pub use persistent_storage::persistent_storage_trait::*;
22pub use spec_store::SpecStore;
23pub use specs_adapter::*;
24pub use statsig::Statsig;
25pub use statsig_core_api_options::{
26 DynamicConfigEvaluationOptions, ExperimentEvaluationOptions, FeatureGateEvaluationOptions,
27 LayerEvaluationOptions, ParameterStoreEvaluationOptions,
28};
29pub use statsig_err::StatsigErr;
30pub use statsig_options::StatsigOptions;
31pub use statsig_runtime::StatsigRuntime;
32#[cfg(feature = "ffi-support")]
33pub use statsig_types::{
34 BulkEvaluationOptions, BulkEvaluationResponse, ResolvedBulkEvaluationOptions,
35};
36pub use user::user_data::{
37 UserCustomMap as StatsigUserCustomMap, UserData as StatsigUserData,
38 UserDataMap as StatsigUserDataMap, UserDataStringMap as StatsigUserDataStringMap,
39 UserUnitIDMap as StatsigUserUnitIDMap,
40};
41pub use user::user_value::UserValue as StatsigUserValue;
42pub use user::{StatsigUser, StatsigUserBuilder};
43
44#[cfg(feature = "gcir-bench-timings")]
45macro_rules! gcir_time {
46 ($label:expr, $body:expr) => {
47 crate::gcir::timing::time($label, || $body)
48 };
49}
50
51#[cfg(not(feature = "gcir-bench-timings"))]
52macro_rules! gcir_time {
53 ($label:expr, $body:expr) => {
54 $body
55 };
56}
57
58pub mod compression;
59pub mod console_capture;
60pub mod data_store_interface;
61pub mod evaluation;
62pub mod event_logging;
63pub mod gcir;
64pub mod global_configs;
65pub mod hashing;
66pub mod init_details;
67pub mod instance_registry;
68pub mod interned_string;
69pub mod interned_values;
70pub mod logging_utils;
71pub mod macros;
72pub mod networking;
73pub mod output_logger;
74pub mod override_adapter;
75pub mod sdk_diagnostics;
76pub mod sdk_event_emitter;
77pub mod specs_response;
78pub mod statsig_core_api_options;
79pub mod statsig_global;
80pub mod statsig_metadata;
81pub mod statsig_options;
82pub mod statsig_runtime;
83pub mod statsig_types;
84pub mod statsig_types_raw;
85pub mod user;
86
87mod dcs_str;
88mod event_logging_adapter;
89mod id_lists_adapter;
90mod initialize_evaluations_response;
91mod initialize_response;
92mod initialize_v2_response;
93mod observability;
94mod persistent_storage;
95mod spec_store;
96mod specs_adapter;
97mod statsig;
98mod statsig_err;
99mod statsig_type_factories;
100mod utils;
101mod value_parsing;
102
103#[cfg(test)]
104mod __tests__;