Skip to main content

posthog_rs/
lib.rs

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