UNPKG

svelte-firebase-state

Version:

Simplify Firebase integration in Svelte and SvelteKit with reactive state management for Firestore and Realtime Database.

31 lines (30 loc) 1.69 kB
import { type Query, type DocumentData, type CollectionReference, type AggregateSpec } from "firebase/firestore"; import { FirestoreState, type FirestoreStateOptions, type PathParam, type QueryParamsFn } from "./FirestoreState.svelte.js"; type CollectionStateOptions<DataDb extends DocumentData, DataApp extends DocumentData> = Omit<FirestoreStateOptions<DataDb, DataApp>, "pathFunctionOrString"> & { path: PathParam; query?: QueryParamsFn; aggregate?: AggregateSpec; }; export declare class CollectionState<DataDb extends DocumentData, DataApp extends DocumentData = DataDb & { id: string; }, AggregateData = any> extends FirestoreState<DataDb, DataApp, DataApp[]> { private readonly queryFunction?; private readonly aggregateState?; private queryRef; private collectionRef; constructor({ auth, firestore, query: queryFunction, path: pathFunctionOrString, listen, fromFirestore, toFirestore, aggregate, converter }: CollectionStateOptions<DataDb, DataApp>); private get_collection_from_path; protected init(): Promise<void>; private setup_query_ref; private map_data; protected fetch_data(): Promise<void>; protected listen_data(callback?: (d: DataApp[]) => void): Promise<void>; add(data: DataDb | DataApp): Promise<string | void>; get aggregateData(): AggregateData | null | undefined; delete(id: string): Promise<void>; get_doc_ref(id: string): import("firebase/firestore").DocumentReference<DataApp, DataDb>; refetch_aggregate_data(): void; get_query_ref(): Promise<Query<DataApp, DataDb> | undefined>; get_collection_ref(): Promise<CollectionReference<DataApp, DataDb> | undefined>; } export {};