refactor(router): remove rootNode function

This commit is contained in:
vsavkin 2016-06-01 13:35:01 -07:00
parent 9ff6b0828f
commit 99f7404d8b
4 changed files with 11 additions and 11 deletions

View File

@ -1,5 +1,5 @@
import { UrlTree, UrlSegment, equalUrlSegments } from './url_tree';
import { TreeNode, rootNode } from './utils/tree';
import { TreeNode } from './utils/tree';
import { forEach, shallowEqual } from './utils/collection';
import { RouterState, ActivatedRoute } from './router_state';
import { Params, PRIMARY_OUTLET } from './shared';
@ -7,7 +7,7 @@ import { Params, PRIMARY_OUTLET } from './shared';
export function createUrlTree(route: ActivatedRoute, urlTree: UrlTree, commands: any[],
queryParameters: Params | undefined, fragment: string | undefined): UrlTree {
if (commands.length === 0) {
return tree(rootNode(urlTree), urlTree, queryParameters, fragment);
return tree(urlTree._root, urlTree, queryParameters, fragment);
}
const normalizedCommands = normalizeCommands(commands);
@ -19,7 +19,7 @@ export function createUrlTree(route: ActivatedRoute, urlTree: UrlTree, commands:
const updated = normalizedCommands.commands.length > 0 ?
updateMany(startingNode.children.slice(0), normalizedCommands.commands) :
[];
const newRoot = constructNewTree(rootNode(urlTree), startingNode, updated);
const newRoot = constructNewTree(urlTree._root, startingNode, updated);
return tree(newRoot, urlTree, queryParameters, fragment);
}
@ -87,11 +87,11 @@ function normalizeCommands(commands: any[]): NormalizedNavigationCommands {
function findStartingNode(normalizedChange: NormalizedNavigationCommands, urlTree: UrlTree,
route: ActivatedRoute): TreeNode<UrlSegment> {
if (normalizedChange.isAbsolute) {
return rootNode(urlTree);
return urlTree._root;
} else {
const urlSegment =
findUrlSegment(route, urlTree, normalizedChange.numberOfDoubleDots);
return findMatchingNode(urlSegment, rootNode(urlTree));
return findMatchingNode(urlSegment, urlTree._root);
}
}

View File

@ -1,6 +1,6 @@
import { UrlTree, UrlSegment } from './url_tree';
import { PRIMARY_OUTLET } from './shared';
import { rootNode, TreeNode } from './utils/tree';
import { TreeNode } from './utils/tree';
/**
* Defines a way to serialize/deserialize a url tree.
@ -27,7 +27,7 @@ export class DefaultUrlSerializer implements UrlSerializer {
}
serialize(tree: UrlTree): string {
const node = serializeUrlTreeNode(rootNode(tree));
const node = serializeUrlTreeNode(tree._root);
const query = serializeQueryParams(tree.queryParameters);
const fragment = tree.fragment !== null ? `#${tree.fragment}` : '';
return `${node}${query}${fragment}`;

View File

@ -34,10 +34,6 @@ export class Tree<T> {
contains(tree: Tree<T>): boolean { return contains(this._root, tree._root); }
}
export function rootNode<T>(tree: Tree<T>): TreeNode<T> {
return tree._root;
}
function findNode<T>(expected: T, c: TreeNode<T>): TreeNode<T> | null {
if (expected === c.value) return c;
for (let cc of c.children) {

View File

@ -2,6 +2,7 @@
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noEmitOnError": false,
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
@ -16,6 +17,8 @@
"src/index.ts",
"src/router.ts",
"src/recognize.ts",
"src/resolve.ts",
"src/create_router_state.ts",
"src/router.ts",
"src/config.ts",
"src/router_outlet_map.ts",
@ -32,6 +35,7 @@
"test/utils/tree.spec.ts",
"test/url_serializer.spec.ts",
"test/recognize.spec.ts",
"test/create_router_state.spec.ts",
"test/create_url_tree.spec.ts",
"test/router.spec.ts",
"typings/index.d.ts"