@angular/fire
Version:
Angular + Firebase = ❤️
44 lines (40 loc) • 2.15 kB
TypeScript
import * as rxjs from 'rxjs';
import { UnaryFunction, Observable } from 'rxjs';
import * as _firebase_auth from '@firebase/auth';
import * as _angular_router from '@angular/router';
import { ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate, Router } from '@angular/router';
import { Auth } from '@angular/fire/auth';
import { User } from 'firebase/auth';
import * as i0 from '@angular/core';
type AuthPipeGenerator = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthPipe;
type AuthPipe = UnaryFunction<Observable<User | null>, Observable<boolean | string | any[]>>;
declare const loggedIn: AuthPipe;
declare class AuthGuard implements CanActivate {
private router;
private auth;
constructor(router: Router, auth: Auth);
canActivate: (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => Observable<boolean | _angular_router.UrlTree>;
static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuard, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuard>;
}
declare const canActivate: (pipe: AuthPipeGenerator) => {
canActivate: (typeof AuthGuard)[];
data: {
authGuardPipe: AuthPipeGenerator;
};
};
declare const isNotAnonymous: AuthPipe;
declare const idTokenResult: rxjs.OperatorFunction<User, _firebase_auth.IdTokenResult>;
declare const emailVerified: AuthPipe;
declare const customClaims: UnaryFunction<Observable<User>, Observable<any[] | _firebase_auth.ParsedToken>>;
declare const hasCustomClaim: (claim: string) => AuthPipe;
declare const redirectUnauthorizedTo: (redirect: string | any[]) => AuthPipe;
declare const redirectLoggedInTo: (redirect: string | any[]) => AuthPipe;
declare class AuthGuardModule {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuardModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthGuardModule, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<AuthGuardModule>;
}
export { AuthGuard, AuthGuardModule, canActivate, customClaims, emailVerified, hasCustomClaim, idTokenResult, isNotAnonymous, loggedIn, redirectLoggedInTo, redirectUnauthorizedTo };
export type { AuthPipe, AuthPipeGenerator };