(
guards: CanActivateFn[] | CanActivateChildFn[],
)
| 2409 | |
| 2410 | it('can run functional guards serially', async () => { |
| 2411 | function runSerially( |
| 2412 | guards: CanActivateFn[] | CanActivateChildFn[], |
| 2413 | ): CanActivateFn | CanActivateChildFn { |
| 2414 | return (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => { |
| 2415 | const injector = inject(EnvironmentInjector); |
| 2416 | const observables = guards.map((guard) => { |
| 2417 | const guardResult = injector.runInContext(() => guard(route, state)); |
| 2418 | return wrapIntoObservable(guardResult).pipe(first()); |
| 2419 | }); |
| 2420 | return concat(...observables).pipe( |
| 2421 | takeWhile((v) => v === true), |
| 2422 | last(), |
| 2423 | ); |
| 2424 | }; |
| 2425 | } |
| 2426 | |
| 2427 | const guardDone: string[] = []; |
| 2428 |
no test coverage detected
searching dependent graphs…