Skip to main content

Crate flagkit

Crate flagkit 

Source
Expand description

FlagKit Rust SDK

Official Rust SDK for FlagKit feature flag management.

§Quick Start

use flagkit::{FlagKit, FlagKitOptions};

#[tokio::main]
async fn main() -> flagkit::Result<()> {
    // Initialize the SDK
    let options = FlagKitOptions::new("sdk_your_api_key");
    FlagKit::initialize(options)?;

    // Initialize connection
    FlagKit::instance().initialize().await?;

    // Identify user
    FlagKit::identify("user-123", None);

    // Evaluate flags
    let dark_mode = FlagKit::get_boolean_value("dark-mode", false, None);
    let theme = FlagKit::get_string_value("theme", "light", None);

    // Cleanup
    FlagKit::close();

    Ok(())
}

Re-exports§

pub use types::EvaluationContext;
pub use types::EvaluationContextBuilder;
pub use types::EvaluationReason;
pub use types::EvaluationResult;
pub use types::FlagState;
pub use types::FlagType;
pub use types::FlagValue;
pub use error::ErrorCode;
pub use error::FlagKitError;
pub use error::Result;
pub use core::BootstrapConfig;
pub use core::BootstrapVerificationConfig;
pub use core::ConnectionLimitErrorCallback;
pub use core::ContextManager;
pub use core::EvaluationJitterConfig;
pub use core::Event;
pub use core::EventQueue;
pub use core::EventQueueConfig;
pub use core::FallbackCallback;
pub use core::FlagDeleteCallback;
pub use core::FlagKitOptions;
pub use core::FlagKitOptionsBuilder;
pub use core::FlagUpdateCallback;
pub use core::FlagsResetCallback;
pub use core::PollCallback;
pub use core::PollingConfig;
pub use core::PollingManager;
pub use core::StreamErrorCode;
pub use core::StreamErrorData;
pub use core::StreamingConfig;
pub use core::StreamingManager;
pub use core::StreamingState;
pub use core::SubscriptionErrorCallback;
pub use http::CircuitBreaker;
pub use http::CircuitState;
pub use http::HttpClient;
pub use http::RetryConfig;
pub use http::SubscriptionStatus;
pub use http::UsageMetrics;
pub use http::UsageUpdateCallback;
pub use utils::compare_versions;
pub use utils::is_version_at_least;
pub use utils::is_version_less_than;
pub use utils::parse_version;
pub use utils::ParsedVersion;

Modules§

core
error
event_persistence
Crash-resilient event persistence using Write-Ahead Logging (WAL).
http
security
Security utilities for FlagKit SDK
types
utils
Utility modules for the FlagKit SDK.

Structs§

FlagKit
Static factory for FlagKit SDK with singleton pattern.
FlagKitClient
The main FlagKit client.
InitMetadata
SDK version and feature metadata from the init response.
InitMetadataFeatures
SDK feature flags metadata from the server.

Constants§

SDK_VERSION
The current SDK version, matching Cargo.toml

Type Aliases§

SharedClient
Shared client type alias.