svelte-firebase-state
Version:
Simplify Firebase integration in Svelte and SvelteKit with reactive state management for Firestore and Realtime Database.
32 lines (31 loc) • 1.31 kB
TypeScript
import { type Auth, type User } from "firebase/auth";
import { WritableState } from "../WritableState.svelte.js";
import type { Database, Unsubscribe } from "firebase/database";
import type { PathParam } from "../firestore/FirestoreState.svelte.js";
export type RealtimeDatabaseStateOptions = {
auth?: Auth;
database: Database;
listen?: boolean;
pathFunctionOrString?: PathParam;
};
export declare class RealtimeDatabaseState<Data> {
protected readonly auth?: Auth;
protected readonly database: Database;
protected readonly listen: boolean;
protected readonly getUserPromise: Promise<User | null>;
protected readonly pathFunctionOrString?: PathParam;
protected readonly dataState: WritableState<Data | null | undefined>;
protected readonly initRefPromise: Promise<void>;
loading: boolean;
protected unsub?: Unsubscribe | undefined;
constructor({ auth, database, listen, pathFunctionOrString }: RealtimeDatabaseStateOptions);
private start;
private stop;
protected get_path_string(): Promise<string | null>;
protected init_ref(): Promise<void>;
protected fetch_data(): Promise<Data | null>;
protected listen_data(): void;
get data(): Data | null | undefined;
set data(data: Data | null);
refetch(): Promise<Data | null>;
}