refactor(router): add type definitions for guard functions (#26521)

PR Close #26521
This commit is contained in:
Jason Aden
2018-10-03 15:35:13 -07:00
committed by Matias Niemelä
parent 9f4299d47b
commit 6712492dc2
3 changed files with 29 additions and 12 deletions

View File

@ -7,7 +7,7 @@
*/
import {Type} from '@angular/core';
import {CanActivate, CanActivateChild, CanDeactivate} from '../interfaces';
import {CanActivate, CanActivateChild, CanDeactivate, CanLoad} from '../interfaces';
/**
* Simple function check, but generic so type inference will flow. Example:
@ -26,6 +26,10 @@ export function isFunction<T>(v: any): v is T {
return typeof v === 'function';
}
export function isCanLoad(guard: any): guard is CanLoad {
return guard && isFunction<CanLoad>(guard.canLoad);
}
export function isCanActivate(guard: any): guard is CanActivate {
return guard && isFunction<CanActivate>(guard.canActivate);
}