firebase_js_rs/bindings/
auth.rs

1use wasm_bindgen::prelude::*;
2use crate::app::FirebaseApp;
3
4#[wasm_bindgen]
5extern "C" {
6    pub type Auth;
7
8    #[wasm_bindgen(method, js_name = auth)]
9    pub fn auth(_: &FirebaseApp) -> Auth;
10
11    #[wasm_bindgen(method, js_name = onAuthStateChanged)]
12    pub fn on_auth_state_changed(this: &Auth, callback: &Closure<dyn FnMut(JsValue)>);
13
14    #[wasm_bindgen(method, catch, js_name = createUserWithEmailAndPassword)]
15    pub async fn create_user_with_email_and_password(this: &Auth, email: String, password: String) -> Result<JsValue, JsValue>;
16
17    #[wasm_bindgen(catch, method, js_name = signInWithEmailAndPassword)]
18    pub async fn sign_in_with_email_and_password(
19        this: &Auth,
20        email: String,
21        password: String,
22    ) -> Result<JsValue, JsValue>;
23
24    #[wasm_bindgen(catch, method, js_name = signOut)]
25    pub async fn sign_out(this: &Auth) -> Result<JsValue, JsValue>;
26}