feat(router): add support for using classes as guard

This commit is contained in:
vsavkin
2016-06-02 15:29:15 -07:00
parent f04b6978fb
commit f34af4f249
5 changed files with 81 additions and 5 deletions

View File

@ -0,0 +1,16 @@
import {Observable} from 'rxjs/Observable';
import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
/**
* An interface a class can implement to be a guard deciding if a route can be activated.
*/
export interface CanActivate {
canActivate(route:ActivatedRouteSnapshot, state:RouterStateSnapshot):Observable<boolean> | boolean;
}
/**
* An interface a class can implement to be a guard deciding if a route can be deactivated.
*/
export interface CanDeactivate<T> {
canDeactivate(component:T, route:ActivatedRouteSnapshot, state:RouterStateSnapshot):Observable<boolean> | boolean;
}