Skip to main content

posthog_rs/
lib.rs

1mod client;
2mod endpoints;
3mod error;
4mod event;
5mod feature_flag_evaluations;
6mod feature_flags;
7mod global;
8mod local_evaluation;
9
10// Public interface - any change to this is breaking!
11// Client
12pub use client::client;
13pub use client::Client;
14pub use client::ClientOptions;
15pub use client::ClientOptionsBuilder;
16pub use client::ClientOptionsBuilderError;
17
18// Endpoints
19pub use endpoints::{
20    Endpoint, EndpointManager, DEFAULT_HOST, EU_INGESTION_ENDPOINT, US_INGESTION_ENDPOINT,
21};
22
23// Error
24pub use error::Error;
25
26// Event
27pub use event::Event;
28
29// Feature Flags
30pub use feature_flag_evaluations::{EvaluateFlagsOptions, FeatureFlagEvaluations};
31pub use feature_flags::{
32    match_feature_flag, match_feature_flag_with_context, match_property_with_context,
33    CohortDefinition, EvaluationContext, FeatureFlag, FeatureFlagCondition, FeatureFlagFilters,
34    FeatureFlagsResponse, FlagDetail, FlagMetadata, FlagReason, FlagValue, InconclusiveMatchError,
35    MultivariateFilter, MultivariateVariant, Property,
36};
37
38// Local Evaluation
39pub use local_evaluation::{
40    Cohort, FlagCache, FlagPoller, LocalEvaluationConfig, LocalEvaluationResponse, LocalEvaluator,
41};
42
43#[cfg(feature = "async-client")]
44pub use local_evaluation::AsyncFlagPoller;
45
46// We expose a global capture function as a convenience, that uses a global client
47pub use global::capture;
48pub use global::disable as disable_global;
49pub use global::init_global_client as init_global;
50pub use global::is_disabled as global_is_disabled;