fix(router): don't mutate route configs (#22358)

Fixes #22203

PR Close #22358
This commit is contained in:
Jason Aden
2018-02-21 10:21:47 -08:00
committed by Victor Berchet
parent b3ffeaa22b
commit 45eff4cc65
5 changed files with 74 additions and 4 deletions

View File

@ -12,7 +12,7 @@ import {fromPromise} from 'rxjs/observable/fromPromise';
import {of } from 'rxjs/observable/of';
import {map} from 'rxjs/operator/map';
import {mergeMap} from 'rxjs/operator/mergeMap';
import {LoadChildren, LoadedRouterConfig, Route} from './config';
import {LoadChildren, LoadedRouterConfig, Route, copyConfig} from './config';
import {flatten, wrapIntoObservable} from './utils/collection';
/**
@ -41,7 +41,7 @@ export class RouterConfigLoader {
const module = factory.create(parentInjector);
return new LoadedRouterConfig(flatten(module.injector.get(ROUTES)), module);
return new LoadedRouterConfig(flatten(module.injector.get(ROUTES)).map(copyConfig), module);
});
}