UNPKG

@tangential/firebase-util

Version:

Utility classes and shared functionality for Tangential services that use Firebase.

35 lines (34 loc) 1.42 kB
import { DatabaseReference, Query, DataSnapshot } from '@firebase/database'; import { Observable } from 'rxjs'; export declare type OnRefKey = 'value' | 'child_added' | 'child_removed' | 'child_changed' | 'child_moved'; export declare const OnRefKeys: { value: OnRefKey; child_added: OnRefKey; child_removed: OnRefKey; child_changed: OnRefKey; child_moved: OnRefKey; }; /** * Prevent typescript casting issues while maintaining/enhancing type safety. */ export declare class FireBlanket { static util: { clean<T extends object>(obj: T, deep?: boolean): T; removeIllegalKeys<T_1 extends object>(obj: T_1): T_1; isLegalFirebaseKey(key: string): boolean; isLegalFirebaseValue(value: any): boolean; isFirebaseGeneratedId(key: string): boolean; }; /** * Read the value once and return. * @param query */ static value(query: Query): Promise<DataSnapshot>; static value$(query: Query): Observable<DataSnapshot>; static awaitValue$(query: Query): Observable<DataSnapshot>; static valueOnce$(query: Query): Observable<DataSnapshot>; static set<T>(ref: DatabaseReference, value: T): Promise<void>; static push<T>(ref: DatabaseReference, value: T): Promise<void>; static update<T extends object>(ref: DatabaseReference, value: T): Promise<void>; static remove<T>(ref: DatabaseReference): Promise<void>; }