import { Injectable } from '@angular/core'; import { Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate, } from '@angular/router'; import { Observable } from 'rxjs'; import { map, take } from 'rxjs/operators'; import { MwCompanyService } from '../company.service'; @Injectable() export class MwFeatureFlagGuard implements CanActivate { private featureFlagsState$ = this.companyService.featureFlagsState$.pipe( take(1), map((featureFlagsState) => !!featureFlagsState) ); constructor( public router: Router, private readonly companyService: MwCompanyService ) {} canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): Observable { return this.featureFlagsState$; } }