demo_open_feature/src/main.rs (23 lines of code) (raw):
use std::collections::HashMap;
use open_feature::{EvaluationContext, OpenFeature};
use spotify_confidence_sdk::{APIConfig, Confidence, Region};
use spotify_confidence_openfeature_provider::ConfidenceProvider;
#[tokio::main]
#[warn(unused_must_use)]
async fn main() {
let api_config = APIConfig {
api_key: "API_KEY".to_string(),
region: Region::Global,
};
let confidence = Confidence::new(api_config);
let provider = ConfidenceProvider::new(confidence);
let context = EvaluationContext {
targeting_key: Some("TARGETING_KEY".to_string()),
custom_fields: HashMap::new()
};
let mut api = OpenFeature::singleton_mut().await;
api.set_provider(provider).await;
// wrong type, should return error
let details_string = api
.create_client().get_string_details("hawkflag.message", Some(&context), None).await;
println!("details string -> {:?}", details_string.unwrap().value);
}