feat(router): implement canLoad

This commit is contained in:
vsavkin
2016-07-26 14:39:02 -07:00
parent fc83bbbe98
commit 62e7c0f464
9 changed files with 282 additions and 49 deletions

View File

@ -10,6 +10,7 @@ import 'rxjs/add/operator/concatAll';
import 'rxjs/add/operator/last';
import {Observable} from 'rxjs/Observable';
import {fromPromise} from 'rxjs/observable/fromPromise';
import {of } from 'rxjs/observable/of';
import {PRIMARY_OUTLET} from '../shared';
@ -115,4 +116,18 @@ export function waitForMap<A, B>(
} else {
return of (res);
}
}
export function andObservables(observables: Observable<Observable<any>>): Observable<boolean> {
return observables.mergeAll().every(result => result === true);
}
export function wrapIntoObservable<T>(value: T | Observable<T>): Observable<T> {
if (value instanceof Observable) {
return value;
} else if (value instanceof Promise) {
return fromPromise(value);
} else {
return of (value);
}
}