UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

29 lines (28 loc) 1.42 kB
import { InjectionToken } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs'; import { FeatureGateService } from '../services/feature-gate.service'; import { SilentlyNavigateService } from '../services/silently-navigate.service'; import * as i0 from "@angular/core"; export type GetCurrentCluster = (route: ActivatedRouteSnapshot) => string; export declare const DEFAULT_FEATURE_FORBIDDEN_URL = "feature-forbidden"; export declare const GET_CURRENT_CLUSTER: InjectionToken<GetCurrentCluster>; /** * ```ts * data: { * path: 'home', * canActivate: [ FeatureGuard ], * data: { featureName: 'ace3', guard_url: 'xxx' } * } * ``` */ export declare class FeatureGuard implements CanActivate, CanActivateChild { private readonly featureGate; private readonly silentlyNavigate; private readonly getCluster; constructor(featureGate: FeatureGateService, silentlyNavigate: SilentlyNavigateService, getCluster: GetCurrentCluster); canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>; canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>; static ɵfac: i0.ɵɵFactoryDeclaration<FeatureGuard, [null, null, { optional: true; }]>; static ɵprov: i0.ɵɵInjectableDeclaration<FeatureGuard>; }