firebase_js_rs/
config.rs

1use serde::{Deserialize, Serialize};
2use wasm_bindgen::prelude::*;
3
4#[derive(Debug, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct Config {
7    api_key: String,
8    auth_domain: Option<String>,
9    database_url: Option<String>,
10    project_id: Option<String>,
11    storage_bucket: Option<String>,
12    messaging_sender_id: Option<String>,
13    app_id: Option<String>,
14}
15
16impl Config {
17    pub fn initialize(
18        api_key: &str,
19        auth_domain: Option<String>,
20        database_url: Option<String>,
21        project_id: Option<String>,
22        storage_bucket: Option<String>,
23        messaging_sender_id: Option<String>,
24        app_id: Option<String>,
25    ) -> JsValue {
26        let config = Config {
27            api_key: String::from(api_key),
28            auth_domain,
29            database_url,
30            project_id,
31            storage_bucket,
32            messaging_sender_id,
33            app_id,
34        };
35        serde_wasm_bindgen::to_value(&config).unwrap()
36    }
37}