Skip to main content

Crate liteguard

Crate liteguard 

Source
Expand description

Liteguard SDK for Rust

use liteguard::{Client, ClientOptions, Options, Properties};

#[tokio::main]
async fn main() {
    let client = Client::init("pct-...", ClientOptions {
        environment: Some("production".into()),
        ..Default::default()
    }).await.unwrap();

    let scope = client.create_scope(
        Properties::new()
        .set("user_id", "user-123")
        .set("plan", "pro")
    );

    if scope.is_open_with_options("payments.checkout", &Options {
        properties: Properties::new(),
        fallback: None,
        disable_measurement: false,
    }) {
        // feature is enabled
    }
}

Re-exports§

pub use client::Client;
pub use client::Scope;
pub use decision::Execution;
pub use types::ClientOptions;
pub use types::GetGuardsRequest;
pub use types::GetGuardsResponse;
pub use types::Guard;
pub use types::GuardDecision;
pub use types::GuardDecisionReason;
pub use types::InitError;
pub use types::Operator;
pub use types::Options;
pub use types::Properties;
pub use types::PropertyValue;
pub use types::ProtectedContext;
pub use types::Rule;
pub use types::SendUnadoptedGuardsRequest;
pub use types::SendUnadoptedGuardsResponse;
pub use types::Signal;
pub use types::TraceContext;
pub use types::UnadoptedGuardObservation;

Modules§

client
decision
evaluation
types