UNPKG

@angular/fire

Version:
58 lines (52 loc) 2.74 kB
import * as i0 from '@angular/core'; import { NgZone, InjectionToken, ModuleWithProviders } from '@angular/core'; import { Observable } from 'rxjs'; import firebase from 'firebase/compat/app'; import { FirebaseOptions, FirebaseAppSettings } from 'firebase/app'; type MyFunction = (...args: any[]) => any; type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? K : never; }[keyof T]; type ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never; type ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never; type PromiseReturningFunctionPropertyNames<T> = { [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never; }[FunctionPropertyNames<T>]; type NonPromiseReturningFunctionPropertyNames<T> = { [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K; }[FunctionPropertyNames<T>]; type NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? never : K; }[keyof T]; type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]>; } & { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>>; } & { [K in PromiseReturningFunctionPropertyNames<T>]: T[K]; }; declare const ɵlazySDKProxy: (klass: any, observable: Observable<any>, zone: NgZone, options?: { spy?: { get?: ((name: string, it: any) => void); apply?: ((name: string, args: any[], it: any) => void); }; }) => any; declare const ɵapplyMixins: (derivedCtor: any, constructors: any[]) => void; interface FirebaseApp extends firebase.app.App { } declare class FirebaseApp { constructor(app: firebase.app.App); } declare const FIREBASE_OPTIONS: InjectionToken<FirebaseOptions>; declare const FIREBASE_APP_NAME: InjectionToken<string>; declare function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null): FirebaseApp; declare class AngularFireModule { static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule>; constructor(platformId: Object); static ɵfac: i0.ɵɵFactoryDeclaration<AngularFireModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFireModule, never, never, never>; static ɵinj: i0.ɵɵInjectorDeclaration<AngularFireModule>; } declare function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T; export { AngularFireModule, FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseApp, ɵapplyMixins, ɵcacheInstance, ɵfirebaseAppFactory, ɵlazySDKProxy }; export type { ɵPromiseProxy };