diff --git a/modules/@angular/router/.gitignore b/modules/@angular/router/.gitignore index 8833d1c5fe..4cdd7657e5 100644 --- a/modules/@angular/router/.gitignore +++ b/modules/@angular/router/.gitignore @@ -2,4 +2,5 @@ node_modules/ dist/ typings/ npm-debug.log -.idea/ \ No newline at end of file +.idea/ +package \ No newline at end of file diff --git a/modules/@angular/router/README.md b/modules/@angular/router/README.md new file mode 100644 index 0000000000..7c4fbbaa59 --- /dev/null +++ b/modules/@angular/router/README.md @@ -0,0 +1 @@ +# Router diff --git a/modules/@angular/router/build/README.md b/modules/@angular/router/build/README.md deleted file mode 100644 index eb02ffb1d1..0000000000 --- a/modules/@angular/router/build/README.md +++ /dev/null @@ -1 +0,0 @@ -# vladivostok diff --git a/modules/@angular/router/build/es6/src/common_router_providers.d.ts b/modules/@angular/router/build/es6/src/common_router_providers.d.ts deleted file mode 100644 index dea74761c8..0000000000 --- a/modules/@angular/router/build/es6/src/common_router_providers.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterConfig } from './config'; -export declare function provideRouter(config: RouterConfig): any[]; diff --git a/modules/@angular/router/build/es6/src/common_router_providers.js b/modules/@angular/router/build/es6/src/common_router_providers.js deleted file mode 100644 index b189f9ae0e..0000000000 --- a/modules/@angular/router/build/es6/src/common_router_providers.js +++ /dev/null @@ -1,30 +0,0 @@ -import { RouterOutletMap } from './router_outlet_map'; -import { UrlSerializer, DefaultUrlSerializer } from './url_serializer'; -import { ActivatedRoute } from './router_state'; -import { Router } from './router'; -import { ComponentResolver, ApplicationRef, Injector } from '@angular/core'; -import { LocationStrategy, PathLocationStrategy, Location } from '@angular/common'; -export function provideRouter(config) { - return [ - Location, - { provide: LocationStrategy, useClass: PathLocationStrategy }, - { provide: UrlSerializer, useClass: DefaultUrlSerializer }, - { - provide: Router, - useFactory: (ref, resolver, urlSerializer, outletMap, location, injector) => { - if (ref.componentTypes.length == 0) { - throw new Error("Bootstrap at least one component before injecting Router."); - } - const componentType = ref.componentTypes[0]; - const r = new Router(componentType, resolver, urlSerializer, outletMap, location, injector); - r.resetConfig(config); - ref.registerDisposeListener(() => r.dispose()); - return r; - }, - deps: [ApplicationRef, ComponentResolver, UrlSerializer, RouterOutletMap, Location, Injector] - }, - RouterOutletMap, - { provide: ActivatedRoute, useFactory: (r) => r.routerState.root, deps: [Router] }, - ]; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUI7T0FDOUMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0I7T0FDL0QsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0I7T0FDeEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVO09BRTFCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWU7T0FDcEUsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUI7QUFvQmxGLDhCQUE4QixNQUFvQjtJQUNoRCxNQUFNLENBQUM7UUFDTCxRQUFRO1FBQ1IsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFDO1FBQzNELEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUM7UUFFeEQ7WUFDRSxPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUTtnQkFDdEUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO2dCQUMvRSxDQUFDO2dCQUNELE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVGLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7U0FDOUY7UUFFRCxlQUFlO1FBQ2YsRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztLQUNqRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlck91dGxldE1hcCB9IGZyb20gJy4vcm91dGVyX291dGxldF9tYXAnO1xuaW1wb3J0IHsgVXJsU2VyaWFsaXplciwgRGVmYXVsdFVybFNlcmlhbGl6ZXIgfSBmcm9tICcuL3VybF9zZXJpYWxpemVyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnLi9yb3V0ZXInO1xuaW1wb3J0IHsgUm91dGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVzb2x2ZXIsIEFwcGxpY2F0aW9uUmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb25TdHJhdGVneSwgUGF0aExvY2F0aW9uU3RyYXRlZ3ksIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBBIGxpc3Qgb2Yge0BsaW5rIFByb3ZpZGVyfXMuIFRvIHVzZSB0aGUgcm91dGVyLCB5b3UgbXVzdCBhZGQgdGhpcyB0byB5b3VyIGFwcGxpY2F0aW9uLlxuICpcbiAqICMjIyBFeGFtcGxlXG4gKlxuICogYGBgXG4gKiBAQ29tcG9uZW50KHtkaXJlY3RpdmVzOiBbUk9VVEVSX0RJUkVDVElWRVNdfSlcbiAqIGNsYXNzIEFwcENtcCB7XG4gKiAgIC8vIC4uLlxuICogfVxuICpcbiAqIGNvbnN0IHJvdXRlciA9IFtcbiAqICAge3BhdGg6ICcvaG9tZScsIGNvbXBvbmVudDogSG9tZX1cbiAqIF07XG4gKlxuICogYm9vdHN0cmFwKEFwcENtcCwgW3Byb3ZpZGVSb3V0ZXIocm91dGVyKV0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUm91dGVyKGNvbmZpZzogUm91dGVyQ29uZmlnKTphbnlbXSB7XG4gIHJldHVybiBbXG4gICAgTG9jYXRpb24sXG4gICAge3Byb3ZpZGU6IExvY2F0aW9uU3RyYXRlZ3ksIHVzZUNsYXNzOiBQYXRoTG9jYXRpb25TdHJhdGVneX0sXG4gICAge3Byb3ZpZGU6IFVybFNlcmlhbGl6ZXIsIHVzZUNsYXNzOiBEZWZhdWx0VXJsU2VyaWFsaXplcn0sXG5cbiAgICB7XG4gICAgICBwcm92aWRlOiBSb3V0ZXIsXG4gICAgICB1c2VGYWN0b3J5OiAocmVmLCByZXNvbHZlciwgdXJsU2VyaWFsaXplciwgb3V0bGV0TWFwLCBsb2NhdGlvbiwgaW5qZWN0b3IpID0+IHtcbiAgICAgICAgaWYgKHJlZi5jb21wb25lbnRUeXBlcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJvb3RzdHJhcCBhdCBsZWFzdCBvbmUgY29tcG9uZW50IGJlZm9yZSBpbmplY3RpbmcgUm91dGVyLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmLmNvbXBvbmVudFR5cGVzWzBdO1xuICAgICAgICBjb25zdCByID0gbmV3IFJvdXRlcihjb21wb25lbnRUeXBlLCByZXNvbHZlciwgdXJsU2VyaWFsaXplciwgb3V0bGV0TWFwLCBsb2NhdGlvbiwgaW5qZWN0b3IpO1xuICAgICAgICByLnJlc2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgICAgIHJlZi5yZWdpc3RlckRpc3Bvc2VMaXN0ZW5lcigoKSA9PiByLmRpc3Bvc2UoKSk7XG4gICAgICAgIHJldHVybiByO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVzb2x2ZXIsIFVybFNlcmlhbGl6ZXIsIFJvdXRlck91dGxldE1hcCwgTG9jYXRpb24sIEluamVjdG9yXVxuICAgIH0sXG5cbiAgICBSb3V0ZXJPdXRsZXRNYXAsXG4gICAge3Byb3ZpZGU6IEFjdGl2YXRlZFJvdXRlLCB1c2VGYWN0b3J5OiAocikgPT4gci5yb3V0ZXJTdGF0ZS5yb290LCBkZXBzOiBbUm91dGVyXX0sXG4gIF07XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/config.d.ts b/modules/@angular/router/build/es6/src/config.d.ts deleted file mode 100644 index 2074d71163..0000000000 --- a/modules/@angular/router/build/es6/src/config.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Type } from '@angular/core'; -export declare type RouterConfig = Route[]; -export interface Route { - index?: boolean; - path?: string; - component: Type | string; - outlet?: string; - canActivate?: any[]; - canDeactivate?: any[]; - children?: Route[]; -} diff --git a/modules/@angular/router/build/es6/src/config.js b/modules/@angular/router/build/es6/src/config.js deleted file mode 100644 index 1d0208cc76..0000000000 --- a/modules/@angular/router/build/es6/src/config.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJDb25maWcgPSBSb3V0ZVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlIHtcbiAgaW5kZXg/OiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xuICBjb21wb25lbnQ6IFR5cGUgfCBzdHJpbmc7XG4gIG91dGxldD86IHN0cmluZztcbiAgY2FuQWN0aXZhdGU/OiBhbnlbXSxcbiAgY2FuRGVhY3RpdmF0ZT86IGFueVtdLFxuICBjaGlsZHJlbj86IFJvdXRlW107XG59Il19 \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/create_router_state.d.ts b/modules/@angular/router/build/es6/src/create_router_state.d.ts deleted file mode 100644 index 4ff54a3c73..0000000000 --- a/modules/@angular/router/build/es6/src/create_router_state.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterStateSnapshot, RouterState } from './router_state'; -export declare function createRouterState(curr: RouterStateSnapshot, prevState: RouterState): RouterState; diff --git a/modules/@angular/router/build/es6/src/create_router_state.js b/modules/@angular/router/build/es6/src/create_router_state.js deleted file mode 100644 index 649da2865f..0000000000 --- a/modules/@angular/router/build/es6/src/create_router_state.js +++ /dev/null @@ -1,40 +0,0 @@ -import { RouterState, ActivatedRoute } from './router_state'; -import { TreeNode } from './utils/tree'; -import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -export function createRouterState(curr, prevState) { - const root = createNode(curr._root, prevState ? prevState._root : undefined); - const queryParams = prevState ? prevState.queryParams : new BehaviorSubject(curr.queryParams); - const fragment = prevState ? prevState.fragment : new BehaviorSubject(curr.fragment); - return new RouterState(root, queryParams, fragment, curr); -} -function createNode(curr, prevState) { - if (prevState && equalRouteSnapshots(prevState.value.snapshot, curr.value)) { - const value = prevState.value; - value._futureSnapshot = curr.value; - const children = createOrReuseChildren(curr, prevState); - return new TreeNode(value, children); - } - else { - const value = createActivatedRoute(curr.value); - const children = curr.children.map(c => createNode(c)); - return new TreeNode(value, children); - } -} -function createOrReuseChildren(curr, prevState) { - return curr.children.map(child => { - const index = prevState.children.findIndex(p => equalRouteSnapshots(p.value.snapshot, child.value)); - if (index >= 0) { - return createNode(child, prevState.children[index]); - } - else { - return createNode(child); - } - }); -} -function createActivatedRoute(c) { - return new ActivatedRoute(new BehaviorSubject(c.urlSegments), new BehaviorSubject(c.params), c.outlet, c.component, c); -} -function equalRouteSnapshots(a, b) { - return a._routeConfig === b._routeConfig; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3JvdXRlcl9zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcmVhdGVfcm91dGVyX3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJPQUFPLEVBQStDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0I7T0FDbEcsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjO09BQ2hDLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCO0FBRXRELGtDQUFrQyxJQUF5QixFQUFFLFNBQXNCO0lBQ2pGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sV0FBVyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RixNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckYsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRCxvQkFBb0IsSUFBcUMsRUFBRSxTQUFtQztJQUM1RixFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVuQyxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFpQixLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFdkQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxRQUFRLENBQWlCLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQztBQUVELCtCQUErQixJQUFxQyxFQUFFLFNBQWtDO0lBQ3RHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLO1FBQzVCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNmLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCw4QkFBOEIsQ0FBd0I7SUFDcEQsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pILENBQUM7QUFFRCw2QkFBNkIsQ0FBeUIsRUFBRSxDQUF5QjtJQUMvRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZSwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL0JlaGF2aW9yU3ViamVjdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSb3V0ZXJTdGF0ZShjdXJyOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBwcmV2U3RhdGU6IFJvdXRlclN0YXRlKTogUm91dGVyU3RhdGUge1xuICBjb25zdCByb290ID0gY3JlYXRlTm9kZShjdXJyLl9yb290LCBwcmV2U3RhdGUgPyBwcmV2U3RhdGUuX3Jvb3QgOiB1bmRlZmluZWQpO1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHByZXZTdGF0ZSA/IHByZXZTdGF0ZS5xdWVyeVBhcmFtcyA6IG5ldyBCZWhhdmlvclN1YmplY3QoY3Vyci5xdWVyeVBhcmFtcyk7XG4gIGNvbnN0IGZyYWdtZW50ID0gcHJldlN0YXRlID8gcHJldlN0YXRlLmZyYWdtZW50IDogbmV3IEJlaGF2aW9yU3ViamVjdChjdXJyLmZyYWdtZW50KTtcbiAgcmV0dXJuIG5ldyBSb3V0ZXJTdGF0ZShyb290LCBxdWVyeVBhcmFtcywgZnJhZ21lbnQsIGN1cnIpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVOb2RlKGN1cnI6VHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4sIHByZXZTdGF0ZT86VHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+KTpUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4ge1xuICBpZiAocHJldlN0YXRlICYmIGVxdWFsUm91dGVTbmFwc2hvdHMocHJldlN0YXRlLnZhbHVlLnNuYXBzaG90LCBjdXJyLnZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlID0gcHJldlN0YXRlLnZhbHVlO1xuICAgIHZhbHVlLl9mdXR1cmVTbmFwc2hvdCA9IGN1cnIudmFsdWU7XG4gICAgXG4gICAgY29uc3QgY2hpbGRyZW4gPSBjcmVhdGVPclJldXNlQ2hpbGRyZW4oY3VyciwgcHJldlN0YXRlKTtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPih2YWx1ZSwgY2hpbGRyZW4pO1xuXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFsdWUgPSBjcmVhdGVBY3RpdmF0ZWRSb3V0ZShjdXJyLnZhbHVlKTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGN1cnIuY2hpbGRyZW4ubWFwKGMgPT4gY3JlYXRlTm9kZShjKSk7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4odmFsdWUsIGNoaWxkcmVuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVPclJldXNlQ2hpbGRyZW4oY3VycjpUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiwgcHJldlN0YXRlOlRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPikge1xuICByZXR1cm4gY3Vyci5jaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gcHJldlN0YXRlLmNoaWxkcmVuLmZpbmRJbmRleChwID0+IGVxdWFsUm91dGVTbmFwc2hvdHMocC52YWx1ZS5zbmFwc2hvdCwgY2hpbGQudmFsdWUpKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgcmV0dXJuIGNyZWF0ZU5vZGUoY2hpbGQsIHByZXZTdGF0ZS5jaGlsZHJlbltpbmRleF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3JlYXRlTm9kZShjaGlsZCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQWN0aXZhdGVkUm91dGUoYzpBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XG4gIHJldHVybiBuZXcgQWN0aXZhdGVkUm91dGUobmV3IEJlaGF2aW9yU3ViamVjdChjLnVybFNlZ21lbnRzKSwgbmV3IEJlaGF2aW9yU3ViamVjdChjLnBhcmFtcyksIGMub3V0bGV0LCBjLmNvbXBvbmVudCwgYyk7XG59XG5cbmZ1bmN0aW9uIGVxdWFsUm91dGVTbmFwc2hvdHMoYTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgYjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICByZXR1cm4gYS5fcm91dGVDb25maWcgPT09IGIuX3JvdXRlQ29uZmlnO1xufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/create_url_tree.d.ts b/modules/@angular/router/build/es6/src/create_url_tree.d.ts deleted file mode 100644 index 999cea0d39..0000000000 --- a/modules/@angular/router/build/es6/src/create_url_tree.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { UrlTree } from './url_tree'; -import { ActivatedRoute } from './router_state'; -import { Params } from './shared'; -export declare function createUrlTree(route: ActivatedRoute, urlTree: UrlTree, commands: any[], queryParameters: Params | undefined, fragment: string | undefined): UrlTree; diff --git a/modules/@angular/router/build/es6/src/create_url_tree.js b/modules/@angular/router/build/es6/src/create_url_tree.js deleted file mode 100644 index 575e656fcf..0000000000 --- a/modules/@angular/router/build/es6/src/create_url_tree.js +++ /dev/null @@ -1,184 +0,0 @@ -import { UrlTree, UrlSegment } from './url_tree'; -import { TreeNode } from './utils/tree'; -import { forEach, shallowEqual } from './utils/collection'; -import { PRIMARY_OUTLET } from './shared'; -export function createUrlTree(route, urlTree, commands, queryParameters, fragment) { - if (commands.length === 0) { - return tree(urlTree._root, urlTree, queryParameters, fragment); - } - const normalizedCommands = normalizeCommands(commands); - if (navigateToRoot(normalizedCommands)) { - return tree(new TreeNode(urlTree.root, []), urlTree, queryParameters, fragment); - } - const startingNode = findStartingNode(normalizedCommands, urlTree, route); - const updated = normalizedCommands.commands.length > 0 ? - updateMany(startingNode.children.slice(0), normalizedCommands.commands) : - []; - const newRoot = constructNewTree(urlTree._root, startingNode, updated); - return tree(newRoot, urlTree, queryParameters, fragment); -} -function tree(root, urlTree, queryParameters, fragment) { - const q = queryParameters ? stringify(queryParameters) : urlTree.queryParameters; - const f = fragment ? fragment : urlTree.fragment; - return new UrlTree(root, q, f); -} -function navigateToRoot(normalizedChange) { - return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 && - normalizedChange.commands[0] == "/"; -} -class NormalizedNavigationCommands { - constructor(isAbsolute, numberOfDoubleDots, commands) { - this.isAbsolute = isAbsolute; - this.numberOfDoubleDots = numberOfDoubleDots; - this.commands = commands; - } -} -function normalizeCommands(commands) { - if ((typeof commands[0] === "string") && commands.length === 1 && commands[0] == "/") { - return new NormalizedNavigationCommands(true, 0, commands); - } - let numberOfDoubleDots = 0; - let isAbsolute = false; - const res = []; - for (let i = 0; i < commands.length; ++i) { - const c = commands[i]; - if (!(typeof c === "string")) { - res.push(c); - continue; - } - const parts = c.split('/'); - for (let j = 0; j < parts.length; ++j) { - let cc = parts[j]; - if (i == 0) { - if (j == 0 && cc == ".") { - } - else if (j == 0 && cc == "") { - isAbsolute = true; - } - else if (cc == "..") { - numberOfDoubleDots++; - } - else if (cc != '') { - res.push(cc); - } - } - else { - if (cc != '') { - res.push(cc); - } - } - } - } - return new NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res); -} -function findStartingNode(normalizedChange, urlTree, route) { - if (normalizedChange.isAbsolute) { - return urlTree._root; - } - else { - const urlSegment = findUrlSegment(route, urlTree, normalizedChange.numberOfDoubleDots); - return findMatchingNode(urlSegment, urlTree._root); - } -} -function findUrlSegment(route, urlTree, numberOfDoubleDots) { - const urlSegment = route.snapshot._lastUrlSegment; - const path = urlTree.pathFromRoot(urlSegment); - if (path.length <= numberOfDoubleDots) { - throw new Error("Invalid number of '../'"); - } - return path[path.length - 1 - numberOfDoubleDots]; -} -function findMatchingNode(segment, node) { - if (node.value === segment) - return node; - for (let c of node.children) { - const r = findMatchingNode(segment, c); - if (r) - return r; - } - throw new Error(`Cannot find url segment '${segment}'`); -} -function constructNewTree(node, original, updated) { - if (node === original) { - return new TreeNode(node.value, updated); - } - else { - return new TreeNode(node.value, node.children.map(c => constructNewTree(c, original, updated))); - } -} -function updateMany(nodes, commands) { - const outlet = getOutlet(commands); - const nodesInRightOutlet = nodes.filter(c => c.value.outlet === outlet); - if (nodesInRightOutlet.length > 0) { - const nodeRightOutlet = nodesInRightOutlet[0]; - nodes[nodes.indexOf(nodeRightOutlet)] = update(nodeRightOutlet, commands); - } - else { - nodes.push(update(null, commands)); - } - return nodes; -} -function getPath(commands) { - if (!(typeof commands[0] === "string")) - return commands[0]; - const parts = commands[0].toString().split(":"); - return parts.length > 1 ? parts[1] : commands[0]; -} -function getOutlet(commands) { - if (!(typeof commands[0] === "string")) - return PRIMARY_OUTLET; - const parts = commands[0].toString().split(":"); - return parts.length > 1 ? parts[0] : PRIMARY_OUTLET; -} -function update(node, commands) { - const rest = commands.slice(1); - const next = rest.length === 0 ? null : rest[0]; - const outlet = getOutlet(commands); - const path = getPath(commands); - if (!node && !(typeof next === 'object')) { - const urlSegment = new UrlSegment(path, {}, outlet); - const children = rest.length === 0 ? [] : [update(null, rest)]; - return new TreeNode(urlSegment, children); - } - else if (!node && typeof next === 'object') { - const urlSegment = new UrlSegment(path, stringify(next), outlet); - return recurse(urlSegment, node, rest.slice(1)); - } - else if (node && outlet !== node.value.outlet) { - return node; - } - else if (node && typeof path === 'object') { - const newSegment = new UrlSegment(node.value.path, stringify(path), node.value.outlet); - return recurse(newSegment, node, rest); - } - else if (node && typeof next === 'object' && compare(path, stringify(next), node.value)) { - return recurse(node.value, node, rest.slice(1)); - } - else if (node && typeof next === 'object') { - const urlSegment = new UrlSegment(path, stringify(next), outlet); - return recurse(urlSegment, node, rest.slice(1)); - } - else if (node && compare(path, {}, node.value)) { - return recurse(node.value, node, rest); - } - else { - const urlSegment = new UrlSegment(path, {}, outlet); - return recurse(urlSegment, node, rest); - } -} -function stringify(params) { - const res = {}; - forEach(params, (v, k) => res[k] = v.toString()); - return res; -} -function compare(path, params, segment) { - return path == segment.path && shallowEqual(params, segment.parameters); -} -function recurse(urlSegment, node, rest) { - if (rest.length === 0) { - return new TreeNode(urlSegment, []); - } - const children = node ? node.children.slice(0) : []; - return new TreeNode(urlSegment, updateMany(children, rest)); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sWUFBWTtPQUMzRCxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWM7T0FDaEMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CO09BRW5ELEVBQVUsY0FBYyxFQUFFLE1BQU0sVUFBVTtBQUVqRCw4QkFBOEIsS0FBcUIsRUFBRSxPQUFnQixFQUFFLFFBQWUsRUFDeEQsZUFBbUMsRUFBRSxRQUE0QjtJQUM3RixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQWEsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUUsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xELFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMs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Q0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELGlCQUFpQixVQUFzQixFQUFFLElBQWlDLEVBQ3hELElBQVc7SUFDM0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEQsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFhLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybFRyZWUsIFVybFNlZ21lbnQsIGVxdWFsVXJsU2VnbWVudHMgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IGZvckVhY2gsIHNoYWxsb3dFcXVhbCB9IGZyb20gJy4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZSwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXJsVHJlZShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybFRyZWU6IFVybFRyZWUsIGNvbW1hbmRzOiBhbnlbXSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnM6IFBhcmFtcyB8IHVuZGVmaW5lZCwgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBpZiAoY29tbWFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRyZWUodXJsVHJlZS5fcm9vdCwgdXJsVHJlZSwgcXVlcnlQYXJhbWV0ZXJzLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29tbWFuZHMgPSBub3JtYWxpemVDb21tYW5kcyhjb21tYW5kcyk7XG4gIGlmIChuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ29tbWFuZHMpKSB7XG4gICAgcmV0dXJuIHRyZWUobmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFRyZWUucm9vdCwgW10pLCB1cmxUcmVlLCBxdWVyeVBhcmFtZXRlcnMsIGZyYWdtZW50KTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0aW5nTm9kZSA9IGZpbmRTdGFydGluZ05vZGUobm9ybWFsaXplZENvbW1hbmRzLCB1cmxUcmVlLCByb3V0ZSk7XG4gIGNvbnN0IHVwZGF0ZWQgPSBub3JtYWxpemVkQ29tbWFuZHMuY29tbWFuZHMubGVuZ3RoID4gMCA/XG4gICAgICB1cGRhdGVNYW55KHN0YXJ0aW5nTm9kZS5jaGlsZHJlbi5zbGljZSgwKSwgbm9ybWFsaXplZENvbW1hbmRzLmNvbW1hbmRzKSA6XG4gICAgICBbXTtcbiAgY29uc3QgbmV3Um9vdCA9IGNvbnN0cnVjdE5ld1RyZWUodXJsVHJlZS5fcm9vdCwgc3RhcnRpbmdOb2RlLCB1cGRhdGVkKTtcblxuICByZXR1cm4gdHJlZShuZXdSb290LCB1cmxUcmVlLCBxdWVyeVBhcmFtZXRlcnMsIGZyYWdtZW50KTtcbn1cblxuZnVuY3Rpb24gdHJlZShyb290OiBUcmVlTm9kZTxVcmxTZWdtZW50PiwgdXJsVHJlZTogVXJsVHJlZSwgcXVlcnlQYXJhbWV0ZXJzOiBQYXJhbXMgfCB1bmRlZmluZWQsIGZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBVcmxUcmVlIHtcbiAgY29uc3QgcSA9IHF1ZXJ5UGFyYW1ldGVycyA/IHN0cmluZ2lmeShxdWVyeVBhcmFtZXRlcnMpIDogdXJsVHJlZS5xdWVyeVBhcmFtZXRlcnM7XG4gIGNvbnN0IGYgPSBmcmFnbWVudCA/IGZyYWdtZW50IDogdXJsVHJlZS5mcmFnbWVudDtcbiAgcmV0dXJuIG5ldyBVcmxUcmVlKHJvb3QsIHEsIGYpO1xufVxuXG5mdW5jdGlvbiBuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ2hhbmdlOiBOb3JtYWxpemVkTmF2aWdhdGlvbkNvbW1hbmRzKTogYm9vbGVhbiB7XG4gIHJldHVybiBub3JtYWxpemVkQ2hhbmdlLmlzQWJzb2x1dGUgJiYgbm9ybWFsaXplZENoYW5nZS5jb21tYW5kcy5sZW5ndGggPT09IDEgJiZcbiAgICBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzWzBdID09IFwiL1wiO1xufVxuXG5jbGFzcyBOb3JtYWxpemVkTmF2aWdhdGlvbkNvbW1hbmRzIHtcbiAgY29uc3RydWN0b3IocHVibGljIGlzQWJzb2x1dGU6IGJvb2xlYW4sIHB1YmxpYyBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlcixcbiAgICAgICAgICAgICAgcHVibGljIGNvbW1hbmRzOiBhbnlbXSkge31cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQ29tbWFuZHMoY29tbWFuZHM6IGFueVtdKTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyB7XG4gIGlmICgodHlwZW9mIGNvbW1hbmRzWzBdID09PSBcInN0cmluZ1wiKSAmJiBjb21tYW5kcy5sZW5ndGggPT09IDEgJiYgY29tbWFuZHNbMF0gPT0gXCIvXCIpIHtcbiAgICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHModHJ1ZSwgMCwgY29tbWFuZHMpO1xuICB9XG5cbiAgbGV0IG51bWJlck9mRG91YmxlRG90cyA9IDA7XG4gIGxldCBpc0Fic29sdXRlID0gZmFsc2U7XG4gIGNvbnN0IHJlcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tbWFuZHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBjID0gY29tbWFuZHNbaV07XG5cbiAgICBpZiAoISh0eXBlb2YgYyA9PT0gXCJzdHJpbmdcIikpIHtcbiAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSBjLnNwbGl0KCcvJyk7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwYXJ0cy5sZW5ndGg7ICsraikge1xuICAgICAgbGV0IGNjID0gcGFydHNbal07XG5cbiAgICAgIC8vIGZpcnN0IGV4cCBpcyB0cmVhdGVkIGluIGEgc3BlY2lhbCB3YXlcbiAgICAgIGlmIChpID09IDApIHtcbiAgICAgICAgaWYgKGogPT0gMCAmJiBjYyA9PSBcIi5cIikgeyAgLy8gICcuL2EnXG4gICAgICAgICAgLy8gc2tpcCBpdFxuICAgICAgICB9IGVsc2UgaWYgKGogPT0gMCAmJiBjYyA9PSBcIlwiKSB7ICAvLyAgJy9hJ1xuICAgICAgICAgIGlzQWJzb2x1dGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGNjID09IFwiLi5cIikgeyAgLy8gICcuLi9hJ1xuICAgICAgICAgIG51bWJlck9mRG91YmxlRG90cysrO1xuICAgICAgICB9IGVsc2UgaWYgKGNjICE9ICcnKSB7XG4gICAgICAgICAgcmVzLnB1c2goY2MpO1xuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyhpc0Fic29sdXRlLCBudW1iZXJPZkRvdWJsZURvdHMsIHJlcyk7XG59XG5cbmZ1bmN0aW9uIGZpbmRTdGFydGluZ05vZGUobm9ybWFsaXplZENoYW5nZTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcywgdXJsVHJlZTogVXJsVHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKG5vcm1hbGl6ZWRDaGFuZ2UuaXNBYnNvbHV0ZSkge1xuICAgIHJldHVybiB1cmxUcmVlLl9yb290O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVybFNlZ21lbnQgPVxuICAgICAgZmluZFVybFNlZ21lbnQocm91dGUsIHVybFRyZWUsIG5vcm1hbGl6ZWRDaGFuZ2UubnVtYmVyT2ZEb3VibGVEb3RzKTtcbiAgICByZXR1cm4gZmluZE1hdGNoaW5nTm9kZSh1cmxTZWdtZW50LCB1cmxUcmVlLl9yb290KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kVXJsU2VnbWVudChyb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybFRyZWU6IFVybFRyZWUsIG51bWJlck9mRG91YmxlRG90czogbnVtYmVyKTogVXJsU2VnbWVudCB7XG4gIGNvbnN0IHVybFNlZ21lbnQgPSByb3V0ZS5zbmFwc2hvdC5fbGFzdFVybFNlZ21lbnQ7XG4gIGNvbnN0IHBhdGggPSB1cmxUcmVlLnBhdGhGcm9tUm9vdCh1cmxTZWdtZW50KTtcbiAgaWYgKHBhdGgubGVuZ3RoIDw9IG51bWJlck9mRG91YmxlRG90cykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgbnVtYmVyIG9mICcuLi8nXCIpO1xuICB9XG4gIHJldHVybiBwYXRoW3BhdGgubGVuZ3RoIC0gMSAtIG51bWJlck9mRG91YmxlRG90c107XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudDogVXJsU2VnbWVudCwgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlLnZhbHVlID09PSBzZWdtZW50KSByZXR1cm4gbm9kZTtcbiAgZm9yIChsZXQgYyBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudCwgYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdXJsIHNlZ21lbnQgJyR7c2VnbWVudH0nYCk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdE5ld1RyZWUobm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4sIG9yaWdpbmFsOiBUcmVlTm9kZTxVcmxTZWdtZW50PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZDogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKG5vZGUgPT09IG9yaWdpbmFsKSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pihub2RlLnZhbHVlLCB1cGRhdGVkKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KFxuICAgICAgbm9kZS52YWx1ZSwgbm9kZS5jaGlsZHJlbi5tYXAoYyA9PiBjb25zdHJ1Y3ROZXdUcmVlKGMsIG9yaWdpbmFsLCB1cGRhdGVkKSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1hbnkobm9kZXM6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10sIGNvbW1hbmRzOiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10ge1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBub2Rlc0luUmlnaHRPdXRsZXQgPSBub2Rlcy5maWx0ZXIoYyA9PiBjLnZhbHVlLm91dGxldCA9PT0gb3V0bGV0KTtcbiAgaWYgKG5vZGVzSW5SaWdodE91dGxldC5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgbm9kZVJpZ2h0T3V0bGV0ID0gbm9kZXNJblJpZ2h0T3V0bGV0WzBdOyAgLy8gdGhlcmUgY2FuIGJlIG9ubHkgb25lXG4gICAgbm9kZXNbbm9kZXMuaW5kZXhPZihub2RlUmlnaHRPdXRsZXQpXSA9IHVwZGF0ZShub2RlUmlnaHRPdXRsZXQsIGNvbW1hbmRzKTtcbiAgfSBlbHNlIHtcbiAgICBub2Rlcy5wdXNoKHVwZGF0ZShudWxsLCBjb21tYW5kcykpO1xuICB9XG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0UGF0aChjb21tYW5kczogYW55W10pOiBhbnkge1xuICBpZiAoISh0eXBlb2YgY29tbWFuZHNbMF0gPT09IFwic3RyaW5nXCIpKSByZXR1cm4gY29tbWFuZHNbMF07XG4gIGNvbnN0IHBhcnRzID0gY29tbWFuZHNbMF0udG9TdHJpbmcoKS5zcGxpdChcIjpcIik7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiBjb21tYW5kc1swXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KGNvbW1hbmRzOiBhbnlbXSk6IHN0cmluZyB7XG4gIGlmICghKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gXCJzdHJpbmdcIikpIHJldHVybiBQUklNQVJZX09VVExFVDtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KFwiOlwiKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1swXSA6IFBSSU1BUllfT1VUTEVUO1xufVxuXG5mdW5jdGlvbiB1cGRhdGUobm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD58bnVsbCwgY29tbWFuZHM6IGFueVtdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBjb25zdCByZXN0ID0gY29tbWFuZHMuc2xpY2UoMSk7XG4gIGNvbnN0IG5leHQgPSByZXN0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXN0WzBdO1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChjb21tYW5kcyk7XG5cbiAgLy8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgdHJlZSA9PiBjcmVhdGUgbmV3IHRyZWUgbm9kZXMuXG4gIGlmICghbm9kZSAmJiAhKHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JykpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZXN0Lmxlbmd0aCA9PT0gMCA/IFtdIDogW3VwZGF0ZShudWxsLCByZXN0KV07XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBjaGlsZHJlbik7XG5cbiAgfSBlbHNlIGlmICghbm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gZGlmZmVyZW50IG91dGxldCA9PiBwcmVzZXJ2ZSB0aGUgc3VidHJlZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgb3V0bGV0ICE9PSBub2RlLnZhbHVlLm91dGxldCkge1xuICAgIHJldHVybiBub2RlO1xuXG4gICAgLy8gcGFyYW1zIGNvbW1hbmRcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBwYXRoID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG5ld1NlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChub2RlLnZhbHVlLnBhdGgsIHN0cmluZ2lmeShwYXRoKSwgbm9kZS52YWx1ZS5vdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKG5ld1NlZ21lbnQsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JyAmJiBjb21wYXJlKHBhdGgsIHN0cmluZ2lmeShuZXh0KSwgbm9kZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gcmVjdXJzZShub2RlLnZhbHVlLCBub2RlLCByZXN0LnNsaWNlKDEpKTtcblxuICAgIC8vIG5leHQgb25lIGlzIGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2FuIHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBjb21wYXJlKHBhdGgsIHt9LCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KHBhdGgsIHt9LCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICBjb25zdCByZXMgPSB7fTtcbiAgZm9yRWFjaChwYXJhbXMsICh2LCBrKSA9PiByZXNba10gPSB2LnRvU3RyaW5nKCkpO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlKHBhdGg6IHN0cmluZywgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSwgc2VnbWVudDogVXJsU2VnbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGF0aCA9PSBzZWdtZW50LnBhdGggJiYgc2hhbGxvd0VxdWFsKHBhcmFtcywgc2VnbWVudC5wYXJhbWV0ZXJzKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZSh1cmxTZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB8IG51bGwsXG4gICAgICAgICAgICAgICAgICByZXN0OiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKHJlc3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBbXSk7XG4gIH1cbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlID8gbm9kZS5jaGlsZHJlbi5zbGljZSgwKSA6IFtdO1xuICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFNlZ21lbnQsIHVwZGF0ZU1hbnkoY2hpbGRyZW4sIHJlc3QpKTtcbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/directives/router_link.d.ts b/modules/@angular/router/build/es6/src/directives/router_link.d.ts deleted file mode 100644 index 5ce81cb7fc..0000000000 --- a/modules/@angular/router/build/es6/src/directives/router_link.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Router } from '../router'; -import { ActivatedRoute } from '../router_state'; -export declare class RouterLink { - private router; - private route; - target: string; - private commands; - href: string; - constructor(router: Router, route: ActivatedRoute); - routerLink: any[] | string; - onClick(): boolean; - private updateTargetUrlAndHref(); -} diff --git a/modules/@angular/router/build/es6/src/directives/router_link.js b/modules/@angular/router/build/es6/src/directives/router_link.js deleted file mode 100644 index 513d9923ec..0000000000 --- a/modules/@angular/router/build/es6/src/directives/router_link.js +++ /dev/null @@ -1,65 +0,0 @@ -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -import { Directive, HostListener, HostBinding, Input } from '@angular/core'; -import { Router } from '../router'; -import { ActivatedRoute } from '../router_state'; -export let RouterLink = class RouterLink { - constructor(router, route) { - this.router = router; - this.route = route; - this.commands = []; - } - set routerLink(data) { - if (Array.isArray(data)) { - this.commands = data; - } - else { - this.commands = [data]; - } - this.updateTargetUrlAndHref(); - } - onClick() { - if (!(typeof this.target === "string") || this.target == '_self') { - this.router.navigate(this.commands, { relativeTo: this.route }); - return false; - } - return true; - } - updateTargetUrlAndHref() { - const tree = this.router.createUrlTree(this.commands, { relativeTo: this.route }); - if (tree) { - this.href = this.router.serializeUrl(tree); - } - } -}; -__decorate([ - Input(), - __metadata('design:type', String) -], RouterLink.prototype, "target", void 0); -__decorate([ - HostBinding(), - __metadata('design:type', String) -], RouterLink.prototype, "href", void 0); -__decorate([ - Input(), - __metadata('design:type', Object), - __metadata('design:paramtypes', [Object]) -], RouterLink.prototype, "routerLink", null); -__decorate([ - HostListener("click"), - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', Boolean) -], RouterLink.prototype, "onClick", null); -RouterLink = __decorate([ - Directive({ selector: '[routerLink]' }), - __metadata('design:paramtypes', [Router, ActivatedRoute]) -], RouterLink); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX2xpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9yb3V0ZXJfbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7T0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTixNQUFNLGVBQWU7T0FDZixFQUFDLE1BQU0sRUFBQyxNQUFNLFdBQVc7T0FDekIsRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUI7QUE0QjlDO0lBVUUsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVJ6RCxhQUFRLEdBQVUsRUFBRSxDQUFDO0lBUXVDLENBQUM7SUFHckUsSUFBSSxVQUFVLENBQUMsSUFBb0I7UUFDakMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR0QsT0FBTztRQUVMLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ2hGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQXJDQztJQUFDLEtBQUssRUFBRTs7MENBQUE7QUFJUjtJQUFDLFdBQVcsRUFBRTs7d0NBQUE7QUFPZDtJQUFDLEtBQUssRUFBRTs7OzRDQUFBO0FBVVI7SUFBQyxZQUFZLENBQUMsT0FBTyxDQUFDOzs7O3lDQUFBO0FBdkJ4QjtJQUFDLFNBQVMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUMsQ0FBQzs7Y0FBQTtBQXVDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJy4uL3JvdXRlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICcuLi9yb3V0ZXJfc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBSb3V0ZXJMaW5rIGRpcmVjdGl2ZSBsZXRzIHlvdSBsaW5rIHRvIHNwZWNpZmljIHBhcnRzIG9mIHlvdXIgYXBwLlxuICpcbiAqIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcm91dGUgY29uZmlndXJhdGlvbjpcblxuICogYGBgXG4gKiBbeyBwYXRoOiAnL3VzZXInLCBjb21wb25lbnQ6IFVzZXJDbXAgfV1cbiAqIGBgYFxuICpcbiAqIFdoZW4gbGlua2luZyB0byB0aGlzIGBVc2VyYCByb3V0ZSwgeW91IGNhbiB3cml0ZTpcbiAqXG4gKiBgYGBcbiAqIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3VzZXInXVwiPmxpbmsgdG8gdXNlciBjb21wb25lbnQ8L2E+XG4gKiBgYGBcbiAqXG4gKiBSb3V0ZXJMaW5rIGV4cGVjdHMgdGhlIHZhbHVlIHRvIGJlIGFuIGFycmF5IG9mIHBhdGggc2VnbWVudHMsIGZvbGxvd2VkIGJ5IHRoZSBwYXJhbXNcbiAqIGZvciB0aGF0IGxldmVsIG9mIHJvdXRpbmcuIEZvciBpbnN0YW5jZSBgWycvdGVhbScsIHt0ZWFtSWQ6IDF9LCAndXNlcicsIHt1c2VySWQ6IDJ9XWBcbiAqIG1lYW5zIHRoYXQgd2Ugd2FudCB0byBnZW5lcmF0ZSBhIGxpbmsgdG8gYC90ZWFtO3RlYW1JZD0xL3VzZXI7dXNlcklkPTJgLlxuICpcbiAqIFRoZSBmaXJzdCBzZWdtZW50IG5hbWUgY2FuIGJlIHByZXBlbmRlZCB3aXRoIGAvYCwgYC4vYCwgb3IgYC4uL2AuXG4gKiBJZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgL2AsIHRoZSByb3V0ZXIgd2lsbCBsb29rIHVwIHRoZSByb3V0ZSBmcm9tIHRoZSByb290IG9mIHRoZSBhcHAuXG4gKiBJZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgLi9gLCBvciBkb2Vzbid0IGJlZ2luIHdpdGggYSBzbGFzaCwgdGhlIHJvdXRlciB3aWxsXG4gKiBpbnN0ZWFkIGxvb2sgaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50J3MgY2hpbGRyZW4gZm9yIHRoZSByb3V0ZS5cbiAqIEFuZCBpZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgLi4vYCwgdGhlIHJvdXRlciB3aWxsIGdvIHVwIG9uZSBsZXZlbC5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbcm91dGVyTGlua10nfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rIHtcbiAgQElucHV0KCkgdGFyZ2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgY29tbWFuZHM6IGFueVtdID0gW107XG5cbiAgLy8gdGhlIHVybCBkaXNwbGF5ZWQgb24gdGhlIGFuY2hvciBlbGVtZW50LlxuICBASG9zdEJpbmRpbmcoKSBocmVmOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHt9XG5cbiAgQElucHV0KClcbiAgc2V0IHJvdXRlckxpbmsoZGF0YTogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgdGhpcy5jb21tYW5kcyA9IGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tbWFuZHMgPSBbZGF0YV07XG4gICAgfVxuICAgIHRoaXMudXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpO1xuICB9XG4gIFxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgb25DbGljaygpOiBib29sZWFuIHtcbiAgICAvLyBJZiBubyB0YXJnZXQsIG9yIGlmIHRhcmdldCBpcyBfc2VsZiwgcHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3JcbiAgICBpZiAoISh0eXBlb2YgdGhpcy50YXJnZXQgPT09IFwic3RyaW5nXCIpIHx8IHRoaXMudGFyZ2V0ID09ICdfc2VsZicpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMuY29tbWFuZHMsIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMuY29tbWFuZHMsIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgaWYgKHRyZWUpIHtcbiAgICAgIHRoaXMuaHJlZiA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/directives/router_outlet.d.ts b/modules/@angular/router/build/es6/src/directives/router_outlet.d.ts deleted file mode 100644 index d67ccb3f79..0000000000 --- a/modules/@angular/router/build/es6/src/directives/router_outlet.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ViewContainerRef, ComponentFactory, ResolvedReflectiveProvider } from '@angular/core'; -import { RouterOutletMap } from '../router_outlet_map'; -export declare class RouterOutlet { - private location; - private activated; - outletMap: RouterOutletMap; - constructor(parentOutletMap: RouterOutletMap, location: ViewContainerRef, name: string); - readonly isActivated: boolean; - readonly component: Object; - deactivate(): void; - activate(factory: ComponentFactory, providers: ResolvedReflectiveProvider[], outletMap: RouterOutletMap): void; -} diff --git a/modules/@angular/router/build/es6/src/directives/router_outlet.js b/modules/@angular/router/build/es6/src/directives/router_outlet.js deleted file mode 100644 index 6843004bdf..0000000000 --- a/modules/@angular/router/build/es6/src/directives/router_outlet.js +++ /dev/null @@ -1,44 +0,0 @@ -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -import { Directive, ViewContainerRef, Attribute, ReflectiveInjector } from '@angular/core'; -import { RouterOutletMap } from '../router_outlet_map'; -import { PRIMARY_OUTLET } from '../shared'; -export let RouterOutlet = class RouterOutlet { - constructor(parentOutletMap, location, name) { - this.location = location; - parentOutletMap.registerOutlet(name ? name : PRIMARY_OUTLET, this); - } - get isActivated() { return !!this.activated; } - get component() { - if (!this.activated) - throw new Error("Outlet is not activated"); - return this.activated.instance; - } - deactivate() { - if (this.activated) { - this.activated.destroy(); - this.activated = null; - } - } - activate(factory, providers, outletMap) { - this.outletMap = outletMap; - const inj = ReflectiveInjector.fromResolvedProviders(providers, this.location.parentInjector); - this.activated = this.location.createComponent(factory, this.location.length, inj, []); - } -}; -RouterOutlet = __decorate([ - Directive({ selector: 'router-outlet' }), - __param(2, Attribute('name')), - __metadata('design:paramtypes', [RouterOutletMap, ViewContainerRef, String]) -], RouterOutlet); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX291dGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL3JvdXRlcl9vdXRsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O09BQU8sRUFBVyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUE4RCxrQkFBa0IsRUFBQyxNQUFNLGVBQWU7T0FDdkosRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0I7T0FDN0MsRUFBQyxjQUFjLEVBQUMsTUFBTSxXQUFXO0FBR3hDO0lBT0UsWUFBWSxlQUErQixFQUFVLFFBQXlCLEVBQy9DLElBQVc7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1RSxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLFdBQVcsS0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQUksU0FBUztRQUNYLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVU7UUFDUixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQThCLEVBQUUsU0FBdUMsRUFDdkUsU0FBMEI7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7QUFDSCxDQUFDO0FBaENEO0lBQUMsU0FBUyxDQUFDLEVBQUMsUUFBUSxFQUFFLGVBQWUsRUFBQyxDQUFDO2VBU3hCLFNBQVMsQ0FBQyxNQUFNLENBQUM7O2dCQVRPO0FBZ0N0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQXR0cmlidXRlLCBDb21wb25lbnRSZWYsIENvbXBvbmVudEZhY3RvcnksIFJlc29sdmVkUmVmbGVjdGl2ZVByb3ZpZGVyLCBSZWZsZWN0aXZlSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXRNYXB9IGZyb20gJy4uL3JvdXRlcl9vdXRsZXRfbWFwJztcbmltcG9ydCB7UFJJTUFSWV9PVVRMRVR9IGZyb20gJy4uL3NoYXJlZCc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAncm91dGVyLW91dGxldCd9KVxuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldCB7XG4gIHByaXZhdGUgYWN0aXZhdGVkOkNvbXBvbmVudFJlZjxhbnk+fG51bGw7XG4gIHB1YmxpYyBvdXRsZXRNYXA6Um91dGVyT3V0bGV0TWFwO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKHBhcmVudE91dGxldE1hcDpSb3V0ZXJPdXRsZXRNYXAsIHByaXZhdGUgbG9jYXRpb246Vmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgQEF0dHJpYnV0ZSgnbmFtZScpIG5hbWU6c3RyaW5nKSB7XG4gICAgcGFyZW50T3V0bGV0TWFwLnJlZ2lzdGVyT3V0bGV0KG5hbWUgPyBuYW1lIDogUFJJTUFSWV9PVVRMRVQsIHRoaXMpO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZhdGVkKCk6IGJvb2xlYW4geyByZXR1cm4gISF0aGlzLmFjdGl2YXRlZDsgfVxuICBnZXQgY29tcG9uZW50KCk6IE9iamVjdCB7XG4gICAgaWYgKCF0aGlzLmFjdGl2YXRlZCkgdGhyb3cgbmV3IEVycm9yKFwiT3V0bGV0IGlzIG5vdCBhY3RpdmF0ZWRcIik7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVkLmluc3RhbmNlO1xuICB9XG5cbiAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmF0ZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVkLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuYWN0aXZhdGVkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhY3RpdmF0ZShmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT4sIHByb3ZpZGVyczogUmVzb2x2ZWRSZWZsZWN0aXZlUHJvdmlkZXJbXSxcbiAgICAgICAgICAgb3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXApOiB2b2lkIHtcbiAgICB0aGlzLm91dGxldE1hcCA9IG91dGxldE1hcDtcbiAgICBjb25zdCBpbmogPSBSZWZsZWN0aXZlSW5qZWN0b3IuZnJvbVJlc29sdmVkUHJvdmlkZXJzKHByb3ZpZGVycywgdGhpcy5sb2NhdGlvbi5wYXJlbnRJbmplY3Rvcik7XG4gICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLmxvY2F0aW9uLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCB0aGlzLmxvY2F0aW9uLmxlbmd0aCwgaW5qLCBbXSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/index.d.ts b/modules/@angular/router/build/es6/src/index.d.ts deleted file mode 100644 index f0c682f846..0000000000 --- a/modules/@angular/router/build/es6/src/index.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { Router, Event, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from './router'; -export { UrlSerializer, DefaultUrlSerializer } from './url_serializer'; -export { RouterState, ActivatedRoute, RouterStateSnapshot, ActivatedRouteSnapshot } from './router_state'; -export { UrlTree, UrlSegment } from './url_tree'; -export { RouterOutletMap } from './router_outlet_map'; -export { RouterConfig, Route } from './config'; -export { Params, PRIMARY_OUTLET } from './shared'; -export { provideRouter } from './router_providers'; -export { CanActivate, CanDeactivate } from './interfaces'; -import { RouterOutlet } from './directives/router_outlet'; -import { RouterLink } from './directives/router_link'; -export declare const ROUTER_DIRECTIVES: (typeof RouterOutlet | typeof RouterLink)[]; diff --git a/modules/@angular/router/build/es6/src/index.js b/modules/@angular/router/build/es6/src/index.js deleted file mode 100644 index ffe29979a1..0000000000 --- a/modules/@angular/router/build/es6/src/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export { Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from './router'; -export { UrlSerializer, DefaultUrlSerializer } from './url_serializer'; -export { RouterState, ActivatedRoute, RouterStateSnapshot, ActivatedRouteSnapshot } from './router_state'; -export { UrlTree, UrlSegment } from './url_tree'; -export { RouterOutletMap } from './router_outlet_map'; -export { PRIMARY_OUTLET } from './shared'; -export { provideRouter } from './router_providers'; -import { RouterOutlet } from './directives/router_outlet'; -import { RouterLink } from './directives/router_link'; -export const ROUTER_DIRECTIVES = [RouterOutlet, RouterLink]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxNQUFNLEVBQVMsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLFFBQVEsVUFBVSxDQUFDO0FBQzVHLFNBQVMsYUFBYSxFQUFFLG9CQUFvQixRQUFRLGtCQUFrQixDQUFDO0FBQ3ZFLFNBQVMsV0FBVyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsUUFBUSxnQkFBZ0IsQ0FBQztBQUMxRyxTQUFTLE9BQU8sRUFBRSxVQUFVLFFBQU8sWUFBWSxDQUFDO0FBQ2hELFNBQVMsZUFBZSxRQUFRLHFCQUFxQixDQUFDO0FBRXRELFNBQWlCLGNBQWMsUUFBUSxVQUFVLENBQUM7QUFDbEQsU0FBUyxhQUFhLFFBQVEsb0JBQW9CLENBQUM7QUFDTyxPQUVuRCxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QjtPQUNsRCxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQjtBQUVyRCxPQUFPLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSb3V0ZXIsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FcnJvciB9IGZyb20gJy4vcm91dGVyJztcbmV4cG9ydCB7IFVybFNlcmlhbGl6ZXIsIERlZmF1bHRVcmxTZXJpYWxpemVyIH0gZnJvbSAnLi91cmxfc2VyaWFsaXplcic7XG5leHBvcnQgeyBSb3V0ZXJTdGF0ZSwgQWN0aXZhdGVkUm91dGUsIFJvdXRlclN0YXRlU25hcHNob3QsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5leHBvcnQgeyBVcmxUcmVlLCBVcmxTZWdtZW50fSBmcm9tICcuL3VybF90cmVlJztcbmV4cG9ydCB7IFJvdXRlck91dGxldE1hcCB9IGZyb20gJy4vcm91dGVyX291dGxldF9tYXAnO1xuZXhwb3J0IHsgUm91dGVyQ29uZmlnLCBSb3V0ZSB9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7IFBhcmFtcywgUFJJTUFSWV9PVVRMRVQgfSBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgeyBwcm92aWRlUm91dGVyIH0gZnJvbSAnLi9yb3V0ZXJfcHJvdmlkZXJzJztcbmV4cG9ydCB7IENhbkFjdGl2YXRlLCBDYW5EZWFjdGl2YXRlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JvdXRlcl9vdXRsZXQnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJy4vZGlyZWN0aXZlcy9yb3V0ZXJfbGluayc7XG5cbmV4cG9ydCBjb25zdCBST1VURVJfRElSRUNUSVZFUyA9IFtSb3V0ZXJPdXRsZXQsIFJvdXRlckxpbmtdOyJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/interfaces.d.ts b/modules/@angular/router/build/es6/src/interfaces.d.ts deleted file mode 100644 index ded9c1ede9..0000000000 --- a/modules/@angular/router/build/es6/src/interfaces.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Observable } from 'rxjs/Observable'; -import { ActivatedRouteSnapshot, RouterStateSnapshot } from './router_state'; -export interface CanActivate { - canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; -} -export interface CanDeactivate { - canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; -} diff --git a/modules/@angular/router/build/es6/src/interfaces.js b/modules/@angular/router/build/es6/src/interfaces.js deleted file mode 100644 index 39aff3b19f..0000000000 --- a/modules/@angular/router/build/es6/src/interfaces.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3R9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgYSBjbGFzcyBjYW4gaW1wbGVtZW50IHRvIGJlIGEgZ3VhcmQgZGVjaWRpbmcgaWYgYSByb3V0ZSBjYW4gYmUgYWN0aXZhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbkFjdGl2YXRlIHtcbiAgY2FuQWN0aXZhdGUocm91dGU6QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6Um91dGVyU3RhdGVTbmFwc2hvdCk6T2JzZXJ2YWJsZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGEgY2xhc3MgY2FuIGltcGxlbWVudCB0byBiZSBhIGd1YXJkIGRlY2lkaW5nIGlmIGEgcm91dGUgY2FuIGJlIGRlYWN0aXZhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbkRlYWN0aXZhdGU8VD4ge1xuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDpULCByb3V0ZTpBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTpSb3V0ZXJTdGF0ZVNuYXBzaG90KTpPYnNlcnZhYmxlPGJvb2xlYW4+IHwgYm9vbGVhbjtcbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/recognize.d.ts b/modules/@angular/router/build/es6/src/recognize.d.ts deleted file mode 100644 index fbfa415c1f..0000000000 --- a/modules/@angular/router/build/es6/src/recognize.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UrlTree } from './url_tree'; -import { RouterStateSnapshot } from './router_state'; -import { RouterConfig } from './config'; -import { Type } from '@angular/core'; -import { Observable } from 'rxjs/Observable'; -export declare function recognize(rootComponentType: Type, config: RouterConfig, url: UrlTree): Observable; diff --git a/modules/@angular/router/build/es6/src/recognize.js b/modules/@angular/router/build/es6/src/recognize.js deleted file mode 100644 index 88bd4fee6a..0000000000 --- a/modules/@angular/router/build/es6/src/recognize.js +++ /dev/null @@ -1,163 +0,0 @@ -import { flatten, first, merge } from './utils/collection'; -import { TreeNode } from './utils/tree'; -import { RouterStateSnapshot, ActivatedRouteSnapshot } from './router_state'; -import { PRIMARY_OUTLET } from './shared'; -import { Observable } from 'rxjs/Observable'; -export function recognize(rootComponentType, config, url) { - try { - const match = new MatchResult(rootComponentType, config, [url.root], {}, url._root.children, [], PRIMARY_OUTLET, null, url.root); - const roots = constructActivatedRoute(match); - const res = new RouterStateSnapshot(roots[0], url.queryParameters, url.fragment); - return new Observable(obs => { - obs.next(res); - obs.complete(); - }); - } - catch (e) { - return new Observable(obs => obs.error(e)); - } -} -function constructActivatedRoute(match) { - const activatedRoute = createActivatedRouteSnapshot(match); - const children = match.leftOverUrl.length > 0 ? - recognizeMany(match.children, match.leftOverUrl) : recognizeLeftOvers(match.children, match.lastUrlSegment); - checkOutletNameUniqueness(children); - children.sort((a, b) => { - if (a.value.outlet === PRIMARY_OUTLET) - return -1; - if (b.value.outlet === PRIMARY_OUTLET) - return 1; - return a.value.outlet.localeCompare(b.value.outlet); - }); - return [new TreeNode(activatedRoute, children)]; -} -function recognizeLeftOvers(config, lastUrlSegment) { - if (!config) - return []; - const mIndex = matchIndex(config, [], lastUrlSegment); - return mIndex ? constructActivatedRoute(mIndex) : []; -} -function recognizeMany(config, urls) { - return flatten(urls.map(url => recognizeOne(config, url))); -} -function createActivatedRouteSnapshot(match) { - return new ActivatedRouteSnapshot(match.consumedUrlSegments, match.parameters, match.outlet, match.component, match.route, match.lastUrlSegment); -} -function recognizeOne(config, url) { - const m = match(config, url); - const primary = constructActivatedRoute(m); - const secondary = recognizeMany(config, m.secondary); - const res = primary.concat(secondary); - checkOutletNameUniqueness(res); - return res; -} -function checkOutletNameUniqueness(nodes) { - let names = {}; - nodes.forEach(n => { - let routeWithSameOutletName = names[n.value.outlet]; - if (routeWithSameOutletName) { - const p = routeWithSameOutletName.urlSegments.map(s => s.toString()).join("/"); - const c = n.value.urlSegments.map(s => s.toString()).join("/"); - throw new Error(`Two segments cannot have the same outlet name: '${p}' and '${c}'.`); - } - names[n.value.outlet] = n.value; - }); - return nodes; -} -function match(config, url) { - const m = matchNonIndex(config, url); - if (m) - return m; - const mIndex = matchIndex(config, [url], url.value); - if (mIndex) - return mIndex; - const availableRoutes = config.map(r => { - const outlet = !r.outlet ? '' : `${r.outlet}:`; - return `'${outlet}${r.path}'`; - }).join(", "); - throw new Error(`Cannot match any routes. Current segment: '${url.value}'. Available routes: [${availableRoutes}].`); -} -function matchNonIndex(config, url) { - for (let r of config) { - let m = matchWithParts(r, url); - if (m) - return m; - } - return null; -} -function matchIndex(config, leftOverUrls, lastUrlSegment) { - for (let r of config) { - if (r.index) { - const outlet = r.outlet ? r.outlet : PRIMARY_OUTLET; - const children = r.children ? r.children : []; - return new MatchResult(r.component, children, [], lastUrlSegment.parameters, leftOverUrls, [], outlet, r, lastUrlSegment); - } - } - return null; -} -function matchWithParts(route, url) { - if (!route.path) - return null; - if ((route.outlet ? route.outlet : PRIMARY_OUTLET) !== url.value.outlet) - return null; - const path = route.path.startsWith("/") ? route.path.substring(1) : route.path; - if (path === "**") { - const consumedUrl = []; - let u = url; - while (u) { - consumedUrl.push(u.value); - u = first(u.children); - } - const last = consumedUrl[consumedUrl.length - 1]; - return new MatchResult(route.component, [], consumedUrl, last.parameters, [], [], PRIMARY_OUTLET, route, last); - } - const parts = path.split("/"); - const positionalParams = {}; - const consumedUrlSegments = []; - let lastParent = null; - let lastSegment = null; - let current = url; - for (let i = 0; i < parts.length; ++i) { - if (!current) - return null; - const p = parts[i]; - const isLastSegment = i === parts.length - 1; - const isLastParent = i === parts.length - 2; - const isPosParam = p.startsWith(":"); - if (!isPosParam && p != current.value.path) - return null; - if (isLastSegment) { - lastSegment = current; - } - if (isLastParent) { - lastParent = current; - } - if (isPosParam) { - positionalParams[p.substring(1)] = current.value.path; - } - consumedUrlSegments.push(current.value); - current = first(current.children); - } - if (!lastSegment) - throw "Cannot be reached"; - const p = lastSegment.value.parameters; - const parameters = merge(p, positionalParams); - const secondarySubtrees = lastParent ? lastParent.children.slice(1) : []; - const children = route.children ? route.children : []; - const outlet = route.outlet ? route.outlet : PRIMARY_OUTLET; - return new MatchResult(route.component, children, consumedUrlSegments, parameters, lastSegment.children, secondarySubtrees, outlet, route, lastSegment.value); -} -class MatchResult { - constructor(component, children, consumedUrlSegments, parameters, leftOverUrl, secondary, outlet, route, lastUrlSegment) { - this.component = component; - this.children = children; - this.consumedUrlSegments = consumedUrlSegments; - this.parameters = parameters; - this.leftOverUrl = leftOverUrl; - this.secondary = secondary; - this.outlet = outlet; - this.route = route; - this.lastUrlSegment = lastUrlSegment; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb2duaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlY29nbml6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FDTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CO09BQ25ELEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYztPQUNoQyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCO09BQ3JFLEVBQVUsY0FBYyxFQUFFLE1BQU0sVUFBVTtPQUcxQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQjtBQUU1QywwQkFBMEIsaUJBQXVCLEVBQUUsTUFBb0IsRUFBRSxHQUFZO0lBQ25GLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pJLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBc0IsR0FBRztZQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBRTtJQUFBLEtBQUssQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDVixNQUFNLENBQUMsSUFB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akIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFjO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNuQyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBWTtJQUMxQyxDQUFDO0FBQ04sQ0FBQztBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXJsVHJlZSwgVXJsU2VnbWVudCB9IGZyb20gJy4vdXJsX3RyZWUnO1xuaW1wb3J0IHsgZmxhdHRlbiwgZmlyc3QsIG1lcmdlIH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IFJvdXRlclN0YXRlU25hcHNob3QsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHsgUm91dGVyQ29uZmlnLCBSb3V0ZSB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVjb2duaXplKHJvb3RDb21wb25lbnRUeXBlOiBUeXBlLCBjb25maWc6IFJvdXRlckNvbmZpZywgdXJsOiBVcmxUcmVlKTogT2JzZXJ2YWJsZTxSb3V0ZXJTdGF0ZVNuYXBzaG90PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWF0Y2ggPSBuZXcgTWF0Y2hSZXN1bHQocm9vdENvbXBvbmVudFR5cGUsIGNvbmZpZywgW3VybC5yb290XSwge30sIHVybC5fcm9vdC5jaGlsZHJlbiwgW10sIFBSSU1BUllfT1VUTEVULCBudWxsLCB1cmwucm9vdCk7XG4gICAgY29uc3Qgcm9vdHMgPSBjb25zdHJ1Y3RBY3RpdmF0ZWRSb3V0ZShtYXRjaCk7XG4gICAgY29uc3QgcmVzID0gbmV3IFJvdXRlclN0YXRlU25hcHNob3Qocm9vdHNbMF0sIHVybC5xdWVyeVBhcmFtZXRlcnMsIHVybC5mcmFnbWVudCk7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFJvdXRlclN0YXRlU25hcHNob3Q+KG9icyA9PiB7XG4gICAgICBvYnMubmV4dChyZXMpO1xuICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH0gY2F0Y2goZSkge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxSb3V0ZXJTdGF0ZVNuYXBzaG90PihvYnMgPT4gb2JzLmVycm9yKGUpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RBY3RpdmF0ZWRSb3V0ZShtYXRjaDogTWF0Y2hSZXN1bHQpOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PltdIHtcbiAgY29uc3QgYWN0aXZhdGVkUm91dGUgPSBjcmVhdGVBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KG1hdGNoKTtcbiAgY29uc3QgY2hpbGRyZW4gPSBtYXRjaC5sZWZ0T3ZlclVybC5sZW5ndGggPiAwID9cbiAgICByZWNvZ25pemVNYW55KG1hdGNoLmNoaWxkcmVuLCBtYXRjaC5sZWZ0T3ZlclVybCkgOiByZWNvZ25pemVMZWZ0T3ZlcnMobWF0Y2guY2hpbGRyZW4sIG1hdGNoLmxhc3RVcmxTZWdtZW50KTtcbiAgY2hlY2tPdXRsZXROYW1lVW5pcXVlbmVzcyhjaGlsZHJlbik7XG4gIGNoaWxkcmVuLnNvcnQoKGEsIGIpID0+IHtcbiAgICBpZiAoYS52YWx1ZS5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSByZXR1cm4gLTE7XG4gICAgaWYgKGIudmFsdWUub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgcmV0dXJuIDE7XG4gICAgcmV0dXJuIGEudmFsdWUub3V0bGV0LmxvY2FsZUNvbXBhcmUoYi52YWx1ZS5vdXRsZXQpXG4gIH0pO1xuICByZXR1cm4gW25ldyBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PihhY3RpdmF0ZWRSb3V0ZSwgY2hpbGRyZW4pXTtcbn1cblxuZnVuY3Rpb24gcmVjb2duaXplTGVmdE92ZXJzKGNvbmZpZzogUm91dGVbXSwgbGFzdFVybFNlZ21lbnQ6IFVybFNlZ21lbnQpOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PltdIHtcbiAgaWYgKCFjb25maWcpIHJldHVybiBbXTtcbiAgY29uc3QgbUluZGV4ID0gbWF0Y2hJbmRleChjb25maWcsIFtdLCBsYXN0VXJsU2VnbWVudCk7XG4gIHJldHVybiBtSW5kZXggPyBjb25zdHJ1Y3RBY3RpdmF0ZWRSb3V0ZShtSW5kZXgpIDogW107XG59XG5cbmZ1bmN0aW9uIHJlY29nbml6ZU1hbnkoY29uZmlnOiBSb3V0ZVtdLCB1cmxzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD5bXSB7XG4gIHJldHVybiBmbGF0dGVuKHVybHMubWFwKHVybCA9PiByZWNvZ25pemVPbmUoY29uZmlnLCB1cmwpKSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFjdGl2YXRlZFJvdXRlU25hcHNob3QobWF0Y2g6IE1hdGNoUmVzdWx0KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gIHJldHVybiBuZXcgQWN0aXZhdGVkUm91dGVTbmFwc2hvdChtYXRjaC5jb25zdW1lZFVybFNlZ21lbnRzLCBtYXRjaC5wYXJhbWV0ZXJzLCBtYXRjaC5vdXRsZXQsIG1hdGNoLmNvbXBvbmVudCwgbWF0Y2gucm91dGUsIG1hdGNoLmxhc3RVcmxTZWdtZW50KTtcbn1cblxuZnVuY3Rpb24gcmVjb2duaXplT25lKGNvbmZpZzogUm91dGVbXSwgdXJsOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+W10ge1xuICBjb25zdCBtID0gbWF0Y2goY29uZmlnLCB1cmwpO1xuICBjb25zdCBwcmltYXJ5ID0gY29uc3RydWN0QWN0aXZhdGVkUm91dGUobSk7XG4gIGNvbnN0IHNlY29uZGFyeSA9IHJlY29nbml6ZU1hbnkoY29uZmlnLCBtLnNlY29uZGFyeSk7XG4gIGNvbnN0IHJlcyA9IHByaW1hcnkuY29uY2F0KHNlY29uZGFyeSk7XG4gIGNoZWNrT3V0bGV0TmFtZVVuaXF1ZW5lc3MocmVzKTtcbiAgcmV0dXJuIHJlcztcbn1cblxuZnVuY3Rpb24gY2hlY2tPdXRsZXROYW1lVW5pcXVlbmVzcyhub2RlczogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD5bXSk6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+W10ge1xuICBsZXQgbmFtZXMgPSB7fTtcbiAgbm9kZXMuZm9yRWFjaChuID0+IHtcbiAgICBsZXQgcm91dGVXaXRoU2FtZU91dGxldE5hbWUgPSBuYW1lc1tuLnZhbHVlLm91dGxldF07XG4gICAgaWYgKHJvdXRlV2l0aFNhbWVPdXRsZXROYW1lKSB7XG4gICAgICBjb25zdCBwID0gcm91dGVXaXRoU2FtZU91dGxldE5hbWUudXJsU2VnbWVudHMubWFwKHMgPT4gcy50b1N0cmluZygpKS5qb2luKFwiL1wiKTtcbiAgICAgIGNvbnN0IGMgPSBuLnZhbHVlLnVybFNlZ21lbnRzLm1hcChzID0+IHMudG9TdHJpbmcoKSkuam9pbihcIi9cIik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFR3byBzZWdtZW50cyBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBvdXRsZXQgbmFtZTogJyR7cH0nIGFuZCAnJHtjfScuYCk7XG4gICAgfVxuICAgIG5hbWVzW24udmFsdWUub3V0bGV0XSA9IG4udmFsdWU7XG4gIH0pO1xuICByZXR1cm4gbm9kZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoKGNvbmZpZzogUm91dGVbXSwgdXJsOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IE1hdGNoUmVzdWx0IHtcbiAgY29uc3QgbSA9IG1hdGNoTm9uSW5kZXgoY29uZmlnLCB1cmwpO1xuICBpZiAobSkgcmV0dXJuIG07XG5cbiAgY29uc3QgbUluZGV4ID0gbWF0Y2hJbmRleChjb25maWcsIFt1cmxdLCB1cmwudmFsdWUpO1xuICBpZiAobUluZGV4KSByZXR1cm4gbUluZGV4O1xuXG4gIGNvbnN0IGF2YWlsYWJsZVJvdXRlcyA9IGNvbmZpZy5tYXAociA9PiB7XG4gICAgY29uc3Qgb3V0bGV0ID0gIXIub3V0bGV0ID8gJycgOiBgJHtyLm91dGxldH06YDtcbiAgICByZXR1cm4gYCcke291dGxldH0ke3IucGF0aH0nYDtcbiAgfSkuam9pbihcIiwgXCIpO1xuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYENhbm5vdCBtYXRjaCBhbnkgcm91dGVzLiBDdXJyZW50IHNlZ21lbnQ6ICcke3VybC52YWx1ZX0nLiBBdmFpbGFibGUgcm91dGVzOiBbJHthdmFpbGFibGVSb3V0ZXN9XS5gKTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hOb25JbmRleChjb25maWc6IFJvdXRlW10sIHVybDogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBNYXRjaFJlc3VsdCB8IG51bGwge1xuICBmb3IgKGxldCByIG9mIGNvbmZpZykge1xuICAgIGxldCBtID0gbWF0Y2hXaXRoUGFydHMociwgdXJsKTtcbiAgICBpZiAobSkgcmV0dXJuIG07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1hdGNoSW5kZXgoY29uZmlnOiBSb3V0ZVtdLCBsZWZ0T3ZlclVybHM6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10sIGxhc3RVcmxTZWdtZW50OiBVcmxTZWdtZW50KTogTWF0Y2hSZXN1bHQgfCBudWxsIHtcbiAgZm9yIChsZXQgciBvZiBjb25maWcpIHtcbiAgICBpZiAoci5pbmRleCkge1xuICAgICAgY29uc3Qgb3V0bGV0ID0gci5vdXRsZXQgPyByLm91dGxldCA6IFBSSU1BUllfT1VUTEVUO1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSByLmNoaWxkcmVuID8gci5jaGlsZHJlbiA6IFtdO1xuICAgICAgcmV0dXJuIG5ldyBNYXRjaFJlc3VsdChyLmNvbXBvbmVudCwgY2hpbGRyZW4sIFtdLCBsYXN0VXJsU2VnbWVudC5wYXJhbWV0ZXJzLCBsZWZ0T3ZlclVybHMsIFtdLCBvdXRsZXQsIHIsIGxhc3RVcmxTZWdtZW50KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1hdGNoV2l0aFBhcnRzKHJvdXRlOiBSb3V0ZSwgdXJsOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IE1hdGNoUmVzdWx0IHwgbnVsbCB7XG4gIGlmICghcm91dGUucGF0aCkgcmV0dXJuIG51bGw7XG4gIGlmICgocm91dGUub3V0bGV0ID8gcm91dGUub3V0bGV0IDogUFJJTUFSWV9PVVRMRVQpICE9PSB1cmwudmFsdWUub3V0bGV0KSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwYXRoID0gcm91dGUucGF0aC5zdGFydHNXaXRoKFwiL1wiKSA/IHJvdXRlLnBhdGguc3Vic3RyaW5nKDEpIDogcm91dGUucGF0aDtcbiAgaWYgKHBhdGggPT09IFwiKipcIikge1xuICAgIGNvbnN0IGNvbnN1bWVkVXJsID0gW107XG4gICAgbGV0IHU6VHJlZU5vZGU8VXJsU2VnbWVudD58bnVsbCA9IHVybDtcbiAgICB3aGlsZSAodSkge1xuICAgICAgY29uc3VtZWRVcmwucHVzaCh1LnZhbHVlKTtcbiAgICAgIHUgPSBmaXJzdCh1LmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgbGFzdCA9IGNvbnN1bWVkVXJsW2NvbnN1bWVkVXJsLmxlbmd0aCAtIDFdO1xuICAgIHJldHVybiBuZXcgTWF0Y2hSZXN1bHQocm91dGUuY29tcG9uZW50LCBbXSwgY29uc3VtZWRVcmwsIGxhc3QucGFyYW1ldGVycywgW10sIFtdLCBQUklNQVJZX09VVExFVCwgcm91dGUsIGxhc3QpO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKTtcbiAgY29uc3QgcG9zaXRpb25hbFBhcmFtcyA9IHt9O1xuICBjb25zdCBjb25zdW1lZFVybFNlZ21lbnRzID0gW107XG5cbiAgbGV0IGxhc3RQYXJlbnQ6IFRyZWVOb2RlPFVybFNlZ21lbnQ+fG51bGwgPSBudWxsO1xuICBsZXQgbGFzdFNlZ21lbnQ6IFRyZWVOb2RlPFVybFNlZ21lbnQ+fG51bGwgPSBudWxsO1xuXG4gIGxldCBjdXJyZW50OiBUcmVlTm9kZTxVcmxTZWdtZW50PnxudWxsID0gdXJsO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKCFjdXJyZW50KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHAgPSBwYXJ0c1tpXTtcbiAgICBjb25zdCBpc0xhc3RTZWdtZW50ID0gaSA9PT0gcGFydHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBpc0xhc3RQYXJlbnQgPSBpID09PSBwYXJ0cy5sZW5ndGggLSAyO1xuICAgIGNvbnN0IGlzUG9zUGFyYW0gPSBwLnN0YXJ0c1dpdGgoXCI6XCIpO1xuXG4gICAgaWYgKCFpc1Bvc1BhcmFtICYmIHAgIT0gY3VycmVudC52YWx1ZS5wYXRoKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoaXNMYXN0U2VnbWVudCkge1xuICAgICAgbGFzdFNlZ21lbnQgPSBjdXJyZW50O1xuICAgIH1cbiAgICBpZiAoaXNMYXN0UGFyZW50KSB7XG4gICAgICBsYXN0UGFyZW50ID0gY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoaXNQb3NQYXJhbSkge1xuICAgICAgcG9zaXRpb25hbFBhcmFtc1twLnN1YnN0cmluZygxKV0gPSBjdXJyZW50LnZhbHVlLnBhdGg7XG4gICAgfVxuXG4gICAgY29uc3VtZWRVcmxTZWdtZW50cy5wdXNoKGN1cnJlbnQudmFsdWUpO1xuXG4gICAgY3VycmVudCA9IGZpcnN0KGN1cnJlbnQuY2hpbGRyZW4pO1xuICB9XG5cbiAgaWYgKCFsYXN0U2VnbWVudCkgdGhyb3cgXCJDYW5ub3QgYmUgcmVhY2hlZFwiO1xuXG4gIGNvbnN0IHAgPSBsYXN0U2VnbWVudC52YWx1ZS5wYXJhbWV0ZXJzO1xuICBjb25zdCBwYXJhbWV0ZXJzID0gPHtba2V5OiBzdHJpbmddOiBzdHJpbmd9Pm1lcmdlKHAsIHBvc2l0aW9uYWxQYXJhbXMpO1xuICBjb25zdCBzZWNvbmRhcnlTdWJ0cmVlcyA9IGxhc3RQYXJlbnQgPyBsYXN0UGFyZW50LmNoaWxkcmVuLnNsaWNlKDEpIDogW107XG4gIGNvbnN0IGNoaWxkcmVuID0gcm91dGUuY2hpbGRyZW4gPyByb3V0ZS5jaGlsZHJlbiA6IFtdO1xuICBjb25zdCBvdXRsZXQgPSByb3V0ZS5vdXRsZXQgPyByb3V0ZS5vdXRsZXQgOiBQUklNQVJZX09VVExFVDtcblxuICByZXR1cm4gbmV3IE1hdGNoUmVzdWx0KHJvdXRlLmNvbXBvbmVudCwgY2hpbGRyZW4sIGNvbnN1bWVkVXJsU2VnbWVudHMsIHBhcmFtZXRlcnMsIGxhc3RTZWdtZW50LmNoaWxkcmVuLFxuICAgIHNlY29uZGFyeVN1YnRyZWVzLCBvdXRsZXQsIHJvdXRlLCBsYXN0U2VnbWVudC52YWx1ZSk7XG59XG5cbmNsYXNzIE1hdGNoUmVzdWx0IHtcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogVHlwZSB8IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIGNoaWxkcmVuOiBSb3V0ZVtdLFxuICAgICAgICAgICAgICBwdWJsaWMgY29uc3VtZWRVcmxTZWdtZW50czogVXJsU2VnbWVudFtdLFxuICAgICAgICAgICAgICBwdWJsaWMgcGFyYW1ldGVyczoge1trZXk6IHN0cmluZ106IHN0cmluZ30sXG4gICAgICAgICAgICAgIHB1YmxpYyBsZWZ0T3ZlclVybDogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSxcbiAgICAgICAgICAgICAgcHVibGljIHNlY29uZGFyeTogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSxcbiAgICAgICAgICAgICAgcHVibGljIG91dGxldDogc3RyaW5nLFxuICAgICAgICAgICAgICBwdWJsaWMgcm91dGU6IFJvdXRlIHwgbnVsbCxcbiAgICAgICAgICAgICAgcHVibGljIGxhc3RVcmxTZWdtZW50OiBVcmxTZWdtZW50XG4gICkge31cbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/resolve.d.ts b/modules/@angular/router/build/es6/src/resolve.d.ts deleted file mode 100644 index edd764fbc7..0000000000 --- a/modules/@angular/router/build/es6/src/resolve.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { RouterStateSnapshot } from './router_state'; -import { ComponentResolver } from '@angular/core'; -import { Observable } from 'rxjs/Observable'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/toPromise'; -export declare function resolve(resolver: ComponentResolver, state: RouterStateSnapshot): Observable; diff --git a/modules/@angular/router/build/es6/src/resolve.js b/modules/@angular/router/build/es6/src/resolve.js deleted file mode 100644 index d66341025d..0000000000 --- a/modules/@angular/router/build/es6/src/resolve.js +++ /dev/null @@ -1,23 +0,0 @@ -import 'rxjs/add/operator/map'; -import { forkJoin } from 'rxjs/observable/forkJoin'; -import { fromPromise } from 'rxjs/observable/fromPromise'; -import 'rxjs/add/operator/toPromise'; -export function resolve(resolver, state) { - return resolveNode(resolver, state._root).map(_ => state); -} -function resolveNode(resolver, node) { - if (node.children.length === 0) { - return fromPromise(resolver.resolveComponent(node.value.component).then(factory => { - node.value._resolvedComponentFactory = factory; - return node.value; - })); - } - else { - const c = node.children.map(c => resolveNode(resolver, c).toPromise()); - return forkJoin(c).map(_ => resolver.resolveComponent(node.value.component).then(factory => { - node.value._resolvedComponentFactory = factory; - return node.value; - })); - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJPQUlPLHVCQUF1QjtPQUN2QixFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQjtPQUMxQyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZCQUE2QjtPQUNoRCw2QkFBNkI7QUFFcEMsd0JBQXdCLFFBQTJCLEVBQUUsS0FBMEI7SUFDN0UsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELHFCQUFxQixRQUEyQixFQUFFLElBQXNDO0lBQ3RGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNsRixJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRU4sQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN2RSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDM0YsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxPQUFPLENBQUM7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyU3RhdGVTbmFwc2hvdCwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IENvbXBvbmVudFJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCB7Zm9ya0pvaW59IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mb3JrSm9pbic7XG5pbXBvcnQge2Zyb21Qcm9taXNlfSBmcm9tICdyeGpzL29ic2VydmFibGUvZnJvbVByb21pc2UnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci90b1Byb21pc2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShyZXNvbHZlcjogQ29tcG9uZW50UmVzb2x2ZXIsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxSb3V0ZXJTdGF0ZVNuYXBzaG90PiB7XG4gIHJldHVybiByZXNvbHZlTm9kZShyZXNvbHZlciwgc3RhdGUuX3Jvb3QpLm1hcChfID0+IHN0YXRlKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU5vZGUocmVzb2x2ZXI6IENvbXBvbmVudFJlc29sdmVyLCBub2RlOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90Pik6IE9ic2VydmFibGU8YW55PiB7XG4gIGlmIChub2RlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBmcm9tUHJvbWlzZShyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50KDxhbnk+bm9kZS52YWx1ZS5jb21wb25lbnQpLnRoZW4oZmFjdG9yeSA9PiB7XG4gICAgICBub2RlLnZhbHVlLl9yZXNvbHZlZENvbXBvbmVudEZhY3RvcnkgPSBmYWN0b3J5O1xuICAgICAgcmV0dXJuIG5vZGUudmFsdWU7XG4gICAgfSkpO1xuICAgIFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGMgPSBub2RlLmNoaWxkcmVuLm1hcChjID0+IHJlc29sdmVOb2RlKHJlc29sdmVyLCBjKS50b1Byb21pc2UoKSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGMpLm1hcChfID0+IHJlc29sdmVyLnJlc29sdmVDb21wb25lbnQoPGFueT5ub2RlLnZhbHVlLmNvbXBvbmVudCkudGhlbihmYWN0b3J5ID0+IHtcbiAgICAgIG5vZGUudmFsdWUuX3Jlc29sdmVkQ29tcG9uZW50RmFjdG9yeSA9IGZhY3Rvcnk7XG4gICAgICByZXR1cm4gbm9kZS52YWx1ZTtcbiAgICB9KSk7XG4gIH1cbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/router.d.ts b/modules/@angular/router/build/es6/src/router.d.ts deleted file mode 100644 index 79f6a5a224..0000000000 --- a/modules/@angular/router/build/es6/src/router.d.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { ComponentResolver, Type, Injector } from '@angular/core'; -import { Location } from '@angular/common'; -import { UrlSerializer } from './url_serializer'; -import { RouterOutletMap } from './router_outlet_map'; -import { UrlTree } from './url_tree'; -import { Params } from './shared'; -import { RouterState, ActivatedRoute } from './router_state'; -import { RouterConfig } from './config'; -import { Observable } from 'rxjs/Observable'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/scan'; -import 'rxjs/add/operator/mergeMap'; -import 'rxjs/add/operator/concat'; -import 'rxjs/add/operator/concatMap'; -export interface NavigationExtras { - relativeTo?: ActivatedRoute; - queryParameters?: Params; - fragment?: string; -} -export declare class NavigationStart { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationEnd { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationCancel { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationError { - id: number; - url: UrlTree; - error: any; - constructor(id: number, url: UrlTree, error: any); -} -export declare type Event = NavigationStart | NavigationEnd | NavigationCancel | NavigationError; -export declare class Router { - private rootComponentType; - private resolver; - private urlSerializer; - private outletMap; - private location; - private injector; - private currentUrlTree; - private currentRouterState; - private config; - private locationSubscription; - private routerEvents; - private navigationId; - constructor(rootComponentType: Type, resolver: ComponentResolver, urlSerializer: UrlSerializer, outletMap: RouterOutletMap, location: Location, injector: Injector); - readonly routerState: RouterState; - readonly urlTree: UrlTree; - readonly events: Observable; - navigateByUrl(url: string): Promise; - resetConfig(config: RouterConfig): void; - dispose(): void; - createUrlTree(commands: any[], {relativeTo, queryParameters, fragment}?: NavigationExtras): UrlTree; - navigate(commands: any[], extras?: NavigationExtras): Promise; - serializeUrl(url: UrlTree): string; - parseUrl(url: string): UrlTree; - private scheduleNavigation(url, pop); - private setUpLocationChangeListener(); - private runNavigate(url, pop, id); -} diff --git a/modules/@angular/router/build/es6/src/router.js b/modules/@angular/router/build/es6/src/router.js deleted file mode 100644 index 907945ab99..0000000000 --- a/modules/@angular/router/build/es6/src/router.js +++ /dev/null @@ -1,303 +0,0 @@ -import { ReflectiveInjector } from '@angular/core'; -import { RouterOutletMap } from './router_outlet_map'; -import { recognize } from './recognize'; -import { resolve } from './resolve'; -import { createRouterState } from './create_router_state'; -import { createEmptyUrlTree } from './url_tree'; -import { PRIMARY_OUTLET } from './shared'; -import { createEmptyState, ActivatedRoute, advanceActivatedRoute } from './router_state'; -import { createUrlTree } from './create_url_tree'; -import { forEach, and, shallowEqual } from './utils/collection'; -import { Subject } from 'rxjs/Subject'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/scan'; -import 'rxjs/add/operator/mergeMap'; -import 'rxjs/add/operator/concat'; -import 'rxjs/add/operator/concatMap'; -import { of } from 'rxjs/observable/of'; -import { forkJoin } from 'rxjs/observable/forkJoin'; -export class NavigationStart { - constructor(id, url) { - this.id = id; - this.url = url; - } -} -export class NavigationEnd { - constructor(id, url) { - this.id = id; - this.url = url; - } -} -export class NavigationCancel { - constructor(id, url) { - this.id = id; - this.url = url; - } -} -export class NavigationError { - constructor(id, url, error) { - this.id = id; - this.url = url; - this.error = error; - } -} -export class Router { - constructor(rootComponentType, resolver, urlSerializer, outletMap, location, injector) { - this.rootComponentType = rootComponentType; - this.resolver = resolver; - this.urlSerializer = urlSerializer; - this.outletMap = outletMap; - this.location = location; - this.injector = injector; - this.navigationId = 0; - this.routerEvents = new Subject(); - this.currentUrlTree = createEmptyUrlTree(); - this.currentRouterState = createEmptyState(rootComponentType); - this.setUpLocationChangeListener(); - this.navigateByUrl(this.location.path()); - } - get routerState() { - return this.currentRouterState; - } - get urlTree() { - return this.currentUrlTree; - } - get events() { - return this.routerEvents; - } - navigateByUrl(url) { - const urlTree = this.urlSerializer.parse(url); - return this.scheduleNavigation(urlTree, false); - } - resetConfig(config) { - this.config = config; - } - dispose() { this.locationSubscription.unsubscribe(); } - createUrlTree(commands, { relativeTo, queryParameters, fragment } = {}) { - const a = relativeTo ? relativeTo : this.routerState.root; - return createUrlTree(a, this.currentUrlTree, commands, queryParameters, fragment); - } - navigate(commands, extras = {}) { - return this.scheduleNavigation(this.createUrlTree(commands, extras), false); - } - serializeUrl(url) { return this.urlSerializer.serialize(url); } - parseUrl(url) { return this.urlSerializer.parse(url); } - scheduleNavigation(url, pop) { - const id = ++this.navigationId; - this.routerEvents.next(new NavigationStart(id, url)); - return Promise.resolve().then((_) => this.runNavigate(url, false, id)); - } - setUpLocationChangeListener() { - this.locationSubscription = this.location.subscribe((change) => { - return this.scheduleNavigation(this.urlSerializer.parse(change['url']), change['pop']); - }); - } - runNavigate(url, pop, id) { - if (id !== this.navigationId) { - this.routerEvents.next(new NavigationCancel(id, url)); - return Promise.resolve(false); - } - return new Promise((resolvePromise, rejectPromise) => { - let state; - recognize(this.rootComponentType, this.config, url).mergeMap((newRouterStateSnapshot) => { - return resolve(this.resolver, newRouterStateSnapshot); - }).map((routerStateSnapshot) => { - return createRouterState(routerStateSnapshot, this.currentRouterState); - }).map((newState) => { - state = newState; - }).mergeMap(_ => { - return new GuardChecks(state.snapshot, this.currentRouterState.snapshot, this.injector).check(this.outletMap); - }).forEach((shouldActivate) => { - if (!shouldActivate || id !== this.navigationId) { - this.routerEvents.next(new NavigationCancel(id, url)); - return Promise.resolve(false); - } - new ActivateRoutes(state, this.currentRouterState).activate(this.outletMap); - this.currentUrlTree = url; - this.currentRouterState = state; - if (!pop) { - this.location.go(this.urlSerializer.serialize(url)); - } - }).then(() => { - this.routerEvents.next(new NavigationEnd(id, url)); - resolvePromise(true); - }, e => { - this.routerEvents.next(new NavigationError(id, url, e)); - rejectPromise(e); - }); - }); - } -} -class CanActivate { - constructor(route) { - this.route = route; - } -} -class CanDeactivate { - constructor(component, route) { - this.component = component; - this.route = route; - } -} -class GuardChecks { - constructor(future, curr, injector) { - this.future = future; - this.curr = curr; - this.injector = injector; - this.checks = []; - } - check(parentOutletMap) { - const futureRoot = this.future._root; - const currRoot = this.curr ? this.curr._root : null; - this.traverseChildRoutes(futureRoot, currRoot, parentOutletMap); - if (this.checks.length === 0) - return of(true); - return forkJoin(this.checks.map(s => { - if (s instanceof CanActivate) { - return this.runCanActivate(s.route); - } - else if (s instanceof CanDeactivate) { - return this.runCanDeactivate(s.component, s.route); - } - else { - throw new Error("Cannot be reached"); - } - })).map(and); - } - traverseChildRoutes(futureNode, currNode, outletMap) { - const prevChildren = nodeChildrenAsMap(currNode); - futureNode.children.forEach(c => { - this.traverseRoutes(c, prevChildren[c.value.outlet], outletMap); - delete prevChildren[c.value.outlet]; - }); - forEach(prevChildren, (v, k) => this.deactivateOutletAndItChildren(v, outletMap._outlets[k])); - } - traverseRoutes(futureNode, currNode, parentOutletMap) { - const future = futureNode.value; - const curr = currNode ? currNode.value : null; - const outlet = parentOutletMap ? parentOutletMap._outlets[futureNode.value.outlet] : null; - if (curr && future._routeConfig === curr._routeConfig) { - if (!shallowEqual(future.params, curr.params)) { - this.checks.push(new CanDeactivate(outlet.component, curr), new CanActivate(future)); - } - this.traverseChildRoutes(futureNode, currNode, outlet ? outlet.outletMap : null); - } - else { - this.deactivateOutletAndItChildren(curr, outlet); - this.checks.push(new CanActivate(future)); - this.traverseChildRoutes(futureNode, null, outlet ? outlet.outletMap : null); - } - } - deactivateOutletAndItChildren(route, outlet) { - if (outlet && outlet.isActivated) { - forEach(outlet.outletMap._outlets, (v, k) => this.deactivateOutletAndItChildren(v, outlet.outletMap._outlets[k])); - this.checks.push(new CanDeactivate(outlet.component, route)); - } - } - runCanActivate(future) { - const canActivate = future._routeConfig ? future._routeConfig.canActivate : null; - if (!canActivate || canActivate.length === 0) - return of(true); - return forkJoin(canActivate.map(c => { - const guard = this.injector.get(c); - if (guard.canActivate) { - return of(guard.canActivate(future, this.future)); - } - else { - return of(guard(future, this.future)); - } - })).map(and); - } - runCanDeactivate(component, curr) { - const canDeactivate = curr._routeConfig ? curr._routeConfig.canDeactivate : null; - if (!canDeactivate || canDeactivate.length === 0) - return of(true); - return forkJoin(canDeactivate.map(c => { - const guard = this.injector.get(c); - if (guard.canDeactivate) { - return of(guard.canDeactivate(component, curr, this.curr)); - } - else { - return of(guard(component, curr, this.curr)); - } - })).map(and); - } -} -class ActivateRoutes { - constructor(futureState, currState) { - this.futureState = futureState; - this.currState = currState; - } - activate(parentOutletMap) { - const futureRoot = this.futureState._root; - const currRoot = this.currState ? this.currState._root : null; - pushQueryParamsAndFragment(this.futureState); - this.activateChildRoutes(futureRoot, currRoot, parentOutletMap); - } - activateChildRoutes(futureNode, currNode, outletMap) { - const prevChildren = nodeChildrenAsMap(currNode); - futureNode.children.forEach(c => { - this.activateRoutes(c, prevChildren[c.value.outlet], outletMap); - delete prevChildren[c.value.outlet]; - }); - forEach(prevChildren, (v, k) => this.deactivateOutletAndItChildren(outletMap._outlets[k])); - } - activateRoutes(futureNode, currNode, parentOutletMap) { - const future = futureNode.value; - const curr = currNode ? currNode.value : null; - const outlet = getOutlet(parentOutletMap, futureNode.value); - if (future === curr) { - advanceActivatedRoute(future); - this.activateChildRoutes(futureNode, currNode, outlet.outletMap); - } - else { - this.deactivateOutletAndItChildren(outlet); - const outletMap = new RouterOutletMap(); - this.activateNewRoutes(outletMap, future, outlet); - this.activateChildRoutes(futureNode, null, outletMap); - } - } - activateNewRoutes(outletMap, future, outlet) { - const resolved = ReflectiveInjector.resolve([ - { provide: ActivatedRoute, useValue: future }, - { provide: RouterOutletMap, useValue: outletMap } - ]); - outlet.activate(future._futureSnapshot._resolvedComponentFactory, resolved, outletMap); - advanceActivatedRoute(future); - } - deactivateOutletAndItChildren(outlet) { - if (outlet && outlet.isActivated) { - forEach(outlet.outletMap._outlets, (v, k) => this.deactivateOutletAndItChildren(v)); - outlet.deactivate(); - } - } -} -function pushQueryParamsAndFragment(state) { - if (!shallowEqual(state.snapshot.queryParams, state.queryParams.value)) { - state.queryParams.next(state.snapshot.queryParams); - } - if (state.snapshot.fragment !== state.fragment.value) { - state.fragment.next(state.snapshot.fragment); - } -} -function nodeChildrenAsMap(node) { - return node ? - node.children.reduce((m, c) => { - m[c.value.outlet] = c; - return m; - }, {}) : - {}; -} -function getOutlet(outletMap, route) { - let outlet = outletMap._outlets[route.outlet]; - if (!outlet) { - if (route.outlet === PRIMARY_OUTLET) { - throw new Error(`Cannot find primary outlet`); - } - else { - throw new Error(`Cannot find the outlet ${route.outlet}`); - } - } - return outlet; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FBTyxFQUFxQixrQkFBa0IsRUFBa0IsTUFBTSxlQUFlO09BRzlFLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCO09BQzlDLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYTtPQUNoQyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVc7T0FDNUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QjtPQUVsRCxFQUFXLGtCQUFrQixFQUFFLE1BQU0sWUFBWTtPQUNqRCxFQUFFLGNBQWMsRUFBVSxNQUFNLFVBQVU7T0FDMUMsRUFBRSxnQkFBZ0IsRUFBb0MsY0FBYyxFQUEwQixxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQjtPQUcxSSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQjtPQUMxQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CO09BR3hELEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYztPQUMvQix1QkFBdUI7T0FDdkIsd0JBQXdCO09BQ3hCLDRCQUE0QjtPQUM1QiwwQkFBMEI7T0FDMUIsNkJBQTZCO09BQzdCLEVBQUMsRUFBRSxFQUFDLE1BQU0sb0JBQW9CO09BQzlCLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCO0FBT2pEO0lBQStCLFlBQW1CLEVBQVMsRUFBUyxHQUFXO1FBQTdCLE9BQUUsR0FBRixFQUFFLENBQU87UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFRO0lBQUcsQ0FBQztBQUFDLENBQUM7QUFLckY7SUFBNkIsWUFBbUIsRUFBUyxFQUFTLEdBQVc7UUFBN0IsT0FBRSxHQUFGLEVBQUUsQ0FBTztRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7SUFBRyxDQUFDO0FBQUMsQ0FBQztBQUtuRjtJQUFnQyxZQUFtQixFQUFTLEVBQVMsR0FBVztRQUE3QixPQUFFLEdBQUYs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QUcsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQ0QsRUFBRSxDQUFDO1FBQ1AsRUFBRSxDQUFDO0FBQ0wsQ0FBQztBQUVELG1CQUFtQixTQUEwQixFQUFFLEtBQXFCO0lBQ2xFLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNaLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZXNvbHZlciwgUmVmbGVjdGl2ZUluamVjdG9yLCBUeXBlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXJsU2VyaWFsaXplciB9IGZyb20gJy4vdXJsX3NlcmlhbGl6ZXInO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0TWFwIH0gZnJvbSAnLi9yb3V0ZXJfb3V0bGV0X21hcCc7XG5pbXBvcnQgeyByZWNvZ25pemUgfSBmcm9tICcuL3JlY29nbml6ZSc7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAnLi9yZXNvbHZlJztcbmltcG9ydCB7IGNyZWF0ZVJvdXRlclN0YXRlIH0gZnJvbSAnLi9jcmVhdGVfcm91dGVyX3N0YXRlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IFVybFRyZWUsIGNyZWF0ZUVtcHR5VXJsVHJlZSB9IGZyb20gJy4vdXJsX3RyZWUnO1xuaW1wb3J0IHsgUFJJTUFSWV9PVVRMRVQsIFBhcmFtcyB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5U3RhdGUsIFJvdXRlclN0YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgYWR2YW5jZUFjdGl2YXRlZFJvdXRlfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBSb3V0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcm91dGVyX291dGxldCc7XG5pbXBvcnQgeyBjcmVhdGVVcmxUcmVlIH0gZnJvbSAnLi9jcmVhdGVfdXJsX3RyZWUnO1xuaW1wb3J0IHsgZm9yRWFjaCwgYW5kLCBzaGFsbG93RXF1YWwgfSBmcm9tICcuL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcy9TdWJqZWN0JztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3Ivc2Nhbic7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL21lcmdlTWFwJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY29uY2F0JztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY29uY2F0TWFwJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQge2ZvcmtKb2lufSBmcm9tICdyeGpzL29ic2VydmFibGUvZm9ya0pvaW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25FeHRyYXMgeyByZWxhdGl2ZVRvPzogQWN0aXZhdGVkUm91dGU7IHF1ZXJ5UGFyYW1ldGVycz86IFBhcmFtczsgZnJhZ21lbnQ/OiBzdHJpbmc7IH1cblxuLyoqXG4gKiBBbiBldmVudCB0cmlnZ2VyZWQgd2hlbiBhIG5hdmlnYXRpb24gc3RhcnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU3RhcnQgeyBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6bnVtYmVyLCBwdWJsaWMgdXJsOlVybFRyZWUpIHt9IH1cblxuLyoqXG4gKiBBbiBldmVudCB0cmlnZ2VyZWQgd2hlbiBhIG5hdmlnYXRpb24gZW5kcyBzdWNjZXNzZnVsbHlcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQgeyBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6bnVtYmVyLCBwdWJsaWMgdXJsOlVybFRyZWUpIHt9IH1cblxuLyoqXG4gKiBBbiBldmVudCB0cmlnZ2VyZWQgd2hlbiBhIG5hdmlnYXRpb24gaXMgY2FuY2VsZWRcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25DYW5jZWwgeyBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6bnVtYmVyLCBwdWJsaWMgdXJsOlVybFRyZWUpIHt9IH1cblxuLyoqXG4gKiBBbiBldmVudCB0cmlnZ2VyZWQgd2hlbiBhIG5hdmlnYXRpb24gZmFpbHMgZHVlIHRvIHVuZXhwZWN0ZWQgZXJyb3JcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FcnJvciB7IGNvbnN0cnVjdG9yKHB1YmxpYyBpZDpudW1iZXIsIHB1YmxpYyB1cmw6VXJsVHJlZSwgcHVibGljIGVycm9yOmFueSkge30gfVxuXG5leHBvcnQgdHlwZSBFdmVudCA9IE5hdmlnYXRpb25TdGFydCB8IE5hdmlnYXRpb25FbmQgfCBOYXZpZ2F0aW9uQ2FuY2VsIHwgTmF2aWdhdGlvbkVycm9yO1xuXG4vKipcbiAqIFRoZSBgUm91dGVyYCBpcyByZXNwb25zaWJsZSBmb3IgbWFwcGluZyBVUkxzIHRvIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXIge1xuICBwcml2YXRlIGN1cnJlbnRVcmxUcmVlOiBVcmxUcmVlO1xuICBwcml2YXRlIGN1cnJlbnRSb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGU7XG4gIHByaXZhdGUgY29uZmlnOiBSb3V0ZXJDb25maWc7XG4gIHByaXZhdGUgbG9jYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByb3V0ZXJFdmVudHM6IFN1YmplY3Q8RXZlbnQ+O1xuICBwcml2YXRlIG5hdmlnYXRpb25JZDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3RDb21wb25lbnRUeXBlOlR5cGUsIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudFJlc29sdmVyLCBwcml2YXRlIHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsIHByaXZhdGUgb3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXAsIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMucm91dGVyRXZlbnRzID0gbmV3IFN1YmplY3Q8RXZlbnQ+KCk7XG4gICAgdGhpcy5jdXJyZW50VXJsVHJlZSA9IGNyZWF0ZUVtcHR5VXJsVHJlZSgpO1xuICAgIHRoaXMuY3VycmVudFJvdXRlclN0YXRlID0gY3JlYXRlRW1wdHlTdGF0ZShyb290Q29tcG9uZW50VHlwZSk7XG4gICAgdGhpcy5zZXRVcExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIoKTtcbiAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5sb2NhdGlvbi5wYXRoKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgcm91dGUgc3RhdGUuXG4gICAqL1xuICBnZXQgcm91dGVyU3RhdGUoKTogUm91dGVyU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRSb3V0ZXJTdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHVybCB0cmVlLlxuICAgKi9cbiAgZ2V0IHVybFRyZWUoKTogVXJsVHJlZSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVybFRyZWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIHJvdXRlIGV2ZW50c1xuICAgKi9cbiAgZ2V0IGV2ZW50cygpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyRXZlbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB1cmwuIFRoaXMgbmF2aWdhdGlvbiBpcyBhbHdheXMgYWJzb2x1dGUuXG4gICAqXG4gICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQ6XG4gICAqIC0gaXMgcmVzb2x2ZWQgd2l0aCAndHJ1ZScgd2hlbiBuYXZpZ2F0aW9uIHN1Y2NlZWRzXG4gICAqIC0gaXMgcmVzb2x2ZWQgd2l0aCAnZmFsc2UnIHdoZW4gbmF2aWdhdGlvbiBmYWlsc1xuICAgKiAtIGlzIHJlamVjdGVkIHdoZW4gYW4gZXJyb3IgaGFwcGVuc1xuICAgKlxuICAgKiAjIyMgVXNhZ2VcbiAgICpcbiAgICogYGBgXG4gICAqIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL3RlYW0vMzMvdXNlci8xMVwiKTtcbiAgICogYGBgXG4gICAqL1xuICBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMudXJsU2VyaWFsaXplci5wYXJzZSh1cmwpO1xuICAgIHJldHVybiB0aGlzLnNjaGVkdWxlTmF2aWdhdGlvbih1cmxUcmVlLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjb25maWd1cmF0aW9uIHVzZWQgZm9yIG5hdmlnYXRpb24gYW5kIGdlbmVyYXRpbmcgbGlua3MuXG4gICAqXG4gICAqICMjIyBVc2FnZVxuICAgKlxuICAgKiBgYGBcbiAgICogcm91dGVyLnJlc2V0Q29uZmlnKFtcbiAgICogIHsgcGF0aDogJ3RlYW0vOmlkJywgY29tcG9uZW50OiBUZWFtQ21wLCBjaGlsZHJlbjogW1xuICAgKiAgICB7IHBhdGg6ICdzaW1wbGUnLCBjb21wb25lbnQ6IFNpbXBsZUNtcCB9LFxuICAgKiAgICB7IHBhdGg6ICd1c2VyLzpuYW1lJywgY29tcG9uZW50OiBVc2VyQ21wIH1cbiAgICogIF0gfVxuICAgKiBdKTtcbiAgICogYGBgXG4gICAqL1xuICByZXNldENvbmZpZyhjb25maWc6IFJvdXRlckNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZGlzcG9zZSgpOiB2b2lkIHsgdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpOyB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgYW4gYXJyYXkgb2YgY29tbWFuZHMgdG8gdGhlIGN1cnJlbnQgdXJsIHRyZWUgYW5kIGNyZWF0ZXNcbiAgICogYSBuZXcgdXJsIHRyZWUuXG4gICAqXG4gICAqIFdoZW4gZ2l2ZW4gYW4gYWN0aXZhdGUgcm91dGUsIGFwcGxpZXMgdGhlIGdpdmVuIGNvbW1hbmRzIHN0YXJ0aW5nIGZyb20gdGhlIHJvdXRlLlxuICAgKiBXaGVuIG5vdCBnaXZlbiBhIHJvdXRlLCBhcHBsaWVzIHRoZSBnaXZlbiBjb21tYW5kIHN0YXJ0aW5nIGZyb20gdGhlIHJvb3QuXG4gICAqXG4gICAqICMjIyBVc2FnZVxuICAgKlxuICAgKiBgYGBcbiAgICogLy8gY3JlYXRlIC90ZWFtLzMzL3VzZXIvMTFcbiAgICogcm91dGVyLmNyZWF0ZVVybFRyZWUoWycvdGVhbScsIDMzLCAndXNlcicsIDExXSk7XG4gICAqXG4gICAqIC8vIGNyZWF0ZSAvdGVhbS8zMztleHBhbmQ9dHJ1ZS91c2VyLzExXG4gICAqIHJvdXRlci5jcmVhdGVVcmxUcmVlKFsnL3RlYW0nLCAzMywge2V4cGFuZDogdHJ1ZX0sICd1c2VyJywgMTFdKTtcbiAgICpcbiAgICogLy8geW91IGNhbiBjb2xsYXBzZSBzdGF0aWMgZnJhZ21lbnRzIGxpa2UgdGhpc1xuICAgKiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy90ZWFtLzMzL3VzZXInLCB1c2VySWRdKTtcbiAgICpcbiAgICogLy8gYXNzdW1pbmcgdGhlIGN1cnJlbnQgdXJsIGlzIGAvdGVhbS8zMy91c2VyLzExYCBhbmQgdGhlIHJvdXRlIHBvaW50cyB0byBgdXNlci8xMWBcbiAgICpcbiAgICogLy8gbmF2aWdhdGUgdG8gL3RlYW0vMzMvdXNlci8xMS9kZXRhaWxzXG4gICAqIHJvdXRlci5jcmVhdGVVcmxUcmVlKFsnZGV0YWlscyddLCB7cmVsYXRpdmVUbzogcm91dGV9KTtcbiAgICpcbiAgICogLy8gbmF2aWdhdGUgdG8gL3RlYW0vMzMvdXNlci8yMlxuICAgKiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLzIyJ10sIHtyZWxhdGl2ZVRvOiByb3V0ZX0pO1xuICAgKlxuICAgKiAvLyBuYXZpZ2F0ZSB0byAvdGVhbS80NC91c2VyLzIyXG4gICAqIHJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4vLi4vdGVhbS80NC91c2VyLzIyJ10sIHtyZWxhdGl2ZVRvOiByb3V0ZX0pO1xuICAgKiBgYGBcbiAgICovXG4gIGNyZWF0ZVVybFRyZWUoY29tbWFuZHM6IGFueVtdLCB7cmVsYXRpdmVUbywgcXVlcnlQYXJhbWV0ZXJzLCBmcmFnbWVudH06IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFVybFRyZWUge1xuICAgIGNvbnN0IGEgPSByZWxhdGl2ZVRvID8gcmVsYXRpdmVUbyA6IHRoaXMucm91dGVyU3RhdGUucm9vdDtcbiAgICByZXR1cm4gY3JlYXRlVXJsVHJlZShhLCB0aGlzLmN1cnJlbnRVcmxUcmVlLCBjb21tYW5kcywgcXVlcnlQYXJhbWV0ZXJzLCBmcmFnbWVudCk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXJyYXkgb2YgY29tbWFuZHMgYW5kIGEgc3RhcnRpbmcgcG9pbnQuXG4gICAqIElmIG5vIHN0YXJ0aW5nIHJvdXRlIGlzIHByb3ZpZGVkLCB0aGUgbmF2aWdhdGlvbiBpcyBhYnNvbHV0ZS5cbiAgICpcbiAgICogUmV0dXJucyBhIHByb21pc2UgdGhhdDpcbiAgICogLSBpcyByZXNvbHZlZCB3aXRoICd0cnVlJyB3aGVuIG5hdmlnYXRpb24gc3VjY2VlZHNcbiAgICogLSBpcyByZXNvbHZlZCB3aXRoICdmYWxzZScgd2hlbiBuYXZpZ2F0aW9uIGZhaWxzXG4gICAqIC0gaXMgcmVqZWN0ZWQgd2hlbiBhbiBlcnJvciBoYXBwZW5zXG4gICAqXG4gICAqICMjIyBVc2FnZVxuICAgKlxuICAgKiBgYGBcbiAgICogcm91dGVyLm5hdmlnYXRlKFsndGVhbScsIDMzLCAndGVhbScsICcxMV0sIHtyZWxhdGl2ZVRvOiByb3V0ZX0pO1xuICAgKiBgYGBcbiAgICovXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiBhbnlbXSwgZXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZU5hdmlnYXRpb24odGhpcy5jcmVhdGVVcmxUcmVlKGNvbW1hbmRzLCBleHRyYXMpLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyBhIHtAbGluayBVcmxUcmVlfSBpbnRvIGEgc3RyaW5nLlxuICAgKi9cbiAgc2VyaWFsaXplVXJsKHVybDogVXJsVHJlZSk6IHN0cmluZyB7IHJldHVybiB0aGlzLnVybFNlcmlhbGl6ZXIuc2VyaWFsaXplKHVybCk7IH1cblxuICAvKipcbiAgICogUGFyc2UgYSBzdHJpbmcgaW50byBhIHtAbGluayBVcmxUcmVlfS5cbiAgICovXG4gIHBhcnNlVXJsKHVybDogc3RyaW5nKTogVXJsVHJlZSB7IHJldHVybiB0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UodXJsKTsgfVxuXG4gIHByaXZhdGUgc2NoZWR1bGVOYXZpZ2F0aW9uKHVybDogVXJsVHJlZSwgcG9wOiBib29sZWFuKTpQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBpZCA9ICsrIHRoaXMubmF2aWdhdGlvbklkO1xuICAgIHRoaXMucm91dGVyRXZlbnRzLm5leHQobmV3IE5hdmlnYXRpb25TdGFydChpZCwgdXJsKSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKF8pID0+IHRoaXMucnVuTmF2aWdhdGUodXJsLCBmYWxzZSwgaWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24gPSA8YW55PnRoaXMubG9jYXRpb24uc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlTmF2aWdhdGlvbih0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UoY2hhbmdlWyd1cmwnXSksIGNoYW5nZVsncG9wJ10pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5OYXZpZ2F0ZSh1cmw6IFVybFRyZWUsIHBvcDogYm9vbGVhbiwgaWQ6IG51bWJlcik6UHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKGlkICE9PSB0aGlzLm5hdmlnYXRpb25JZCkge1xuICAgICAgdGhpcy5yb3V0ZXJFdmVudHMubmV4dChuZXcgTmF2aWdhdGlvbkNhbmNlbChpZCwgdXJsKSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmVQcm9taXNlLCByZWplY3RQcm9taXNlKSA9PiB7XG4gICAgICBsZXQgc3RhdGU7XG4gICAgICByZWNvZ25pemUodGhpcy5yb290Q29tcG9uZW50VHlwZSwgdGhpcy5jb25maWcsIHVybCkubWVyZ2VNYXAoKG5ld1JvdXRlclN0YXRlU25hcHNob3QpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5yZXNvbHZlciwgbmV3Um91dGVyU3RhdGVTbmFwc2hvdCk7XG5cbiAgICAgIH0pLm1hcCgocm91dGVyU3RhdGVTbmFwc2hvdCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlUm91dGVyU3RhdGUocm91dGVyU3RhdGVTbmFwc2hvdCwgdGhpcy5jdXJyZW50Um91dGVyU3RhdGUpO1xuXG4gICAgICB9KS5tYXAoKG5ld1N0YXRlOlJvdXRlclN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlID0gbmV3U3RhdGU7XG5cbiAgICAgIH0pLm1lcmdlTWFwKF8gPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEd1YXJkQ2hlY2tzKHN0YXRlLnNuYXBzaG90LCB0aGlzLmN1cnJlbnRSb3V0ZXJTdGF0ZS5zbmFwc2hvdCwgdGhpcy5pbmplY3RvcikuY2hlY2sodGhpcy5vdXRsZXRNYXApO1xuXG4gICAgICB9KS5mb3JFYWNoKChzaG91bGRBY3RpdmF0ZSkgPT4ge1xuICAgICAgICBpZiAoIXNob3VsZEFjdGl2YXRlIHx8IGlkICE9PSB0aGlzLm5hdmlnYXRpb25JZCkge1xuICAgICAgICAgIHRoaXMucm91dGVyRXZlbnRzLm5leHQobmV3IE5hdmlnYXRpb25DYW5jZWwoaWQsIHVybCkpO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgbmV3IEFjdGl2YXRlUm91dGVzKHN0YXRlLCB0aGlzLmN1cnJlbnRSb3V0ZXJTdGF0ZSkuYWN0aXZhdGUodGhpcy5vdXRsZXRNYXApO1xuXG4gICAgICAgIHRoaXMuY3VycmVudFVybFRyZWUgPSB1cmw7XG4gICAgICAgIHRoaXMuY3VycmVudFJvdXRlclN0YXRlID0gc3RhdGU7XG4gICAgICAgIGlmICghcG9wKSB7XG4gICAgICAgICAgdGhpcy5sb2NhdGlvbi5nbyh0aGlzLnVybFNlcmlhbGl6ZXIuc2VyaWFsaXplKHVybCkpO1xuICAgICAgICB9XG4gICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXJFdmVudHMubmV4dChuZXcgTmF2aWdhdGlvbkVuZChpZCwgdXJsKSk7XG4gICAgICAgIHJlc29sdmVQcm9taXNlKHRydWUpO1xuXG4gICAgICB9LCBlID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXJFdmVudHMubmV4dChuZXcgTmF2aWdhdGlvbkVycm9yKGlkLCB1cmwsIGUpKTtcbiAgICAgICAgcmVqZWN0UHJvbWlzZShlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIENhbkFjdGl2YXRlIHsgY29uc3RydWN0b3IocHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7fX1cbmNsYXNzIENhbkRlYWN0aXZhdGUgeyBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcG9uZW50OiBPYmplY3QsIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge319XG5cbmNsYXNzIEd1YXJkQ2hlY2tzIHtcbiAgcHJpdmF0ZSBjaGVja3MgPSBbXTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmdXR1cmU6IFJvdXRlclN0YXRlU25hcHNob3QsIHByaXZhdGUgY3VycjogUm91dGVyU3RhdGVTbmFwc2hvdCwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgY2hlY2socGFyZW50T3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmdXR1cmVSb290ID0gdGhpcy5mdXR1cmUuX3Jvb3Q7XG4gICAgY29uc3QgY3VyclJvb3QgPSB0aGlzLmN1cnIgPyB0aGlzLmN1cnIuX3Jvb3QgOiBudWxsO1xuICAgIHRoaXMudHJhdmVyc2VDaGlsZFJvdXRlcyhmdXR1cmVSb290LCBjdXJyUm9vdCwgcGFyZW50T3V0bGV0TWFwKTtcbiAgICBpZiAodGhpcy5jaGVja3MubGVuZ3RoID09PSAwKSByZXR1cm4gb2YodHJ1ZSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKHRoaXMuY2hlY2tzLm1hcChzID0+IHtcbiAgICAgIGlmIChzIGluc3RhbmNlb2YgQ2FuQWN0aXZhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuQ2FuQWN0aXZhdGUocy5yb3V0ZSlcbiAgICAgIH0gZWxzZSBpZiAocyBpbnN0YW5jZW9mIENhbkRlYWN0aXZhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuQ2FuRGVhY3RpdmF0ZShzLmNvbXBvbmVudCwgcy5yb3V0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYmUgcmVhY2hlZFwiKTtcbiAgICAgIH1cbiAgICB9KSkubWFwKGFuZCk7XG4gIH1cblxuICBwcml2YXRlIHRyYXZlcnNlQ2hpbGRSb3V0ZXMoZnV0dXJlTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4gfCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXAgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgcHJldkNoaWxkcmVuID0gbm9kZUNoaWxkcmVuQXNNYXAoY3Vyck5vZGUpO1xuICAgIGZ1dHVyZU5vZGUuY2hpbGRyZW4uZm9yRWFjaChjID0+IHtcbiAgICAgIHRoaXMudHJhdmVyc2VSb3V0ZXMoYywgcHJldkNoaWxkcmVuW2MudmFsdWUub3V0bGV0XSwgb3V0bGV0TWFwKTtcbiAgICAgIGRlbGV0ZSBwcmV2Q2hpbGRyZW5bYy52YWx1ZS5vdXRsZXRdO1xuICAgIH0pO1xuICAgIGZvckVhY2gocHJldkNoaWxkcmVuLCAodiwgaykgPT4gdGhpcy5kZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbih2LCBvdXRsZXRNYXAuX291dGxldHNba10pKTtcbiAgfVxuXG4gIHRyYXZlcnNlUm91dGVzKGZ1dHVyZU5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+LCBjdXJyTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4gfCBudWxsLFxuICAgICAgICAgICAgICAgICBwYXJlbnRPdXRsZXRNYXA6IFJvdXRlck91dGxldE1hcCB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBmdXR1cmUgPSBmdXR1cmVOb2RlLnZhbHVlO1xuICAgIGNvbnN0IGN1cnIgPSBjdXJyTm9kZSA/IGN1cnJOb2RlLnZhbHVlIDogbnVsbDtcbiAgICBjb25zdCBvdXRsZXQgPSBwYXJlbnRPdXRsZXRNYXAgPyBwYXJlbnRPdXRsZXRNYXAuX291dGxldHNbZnV0dXJlTm9kZS52YWx1ZS5vdXRsZXRdIDogbnVsbDtcblxuICAgIGlmIChjdXJyICYmIGZ1dHVyZS5fcm91dGVDb25maWcgPT09IGN1cnIuX3JvdXRlQ29uZmlnKSB7XG4gICAgICBpZiAoIXNoYWxsb3dFcXVhbChmdXR1cmUucGFyYW1zLCBjdXJyLnBhcmFtcykpIHtcbiAgICAgICAgdGhpcy5jaGVja3MucHVzaChuZXcgQ2FuRGVhY3RpdmF0ZShvdXRsZXQuY29tcG9uZW50LCBjdXJyKSwgbmV3IENhbkFjdGl2YXRlKGZ1dHVyZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy50cmF2ZXJzZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGUsIGN1cnJOb2RlLCBvdXRsZXQgPyBvdXRsZXQub3V0bGV0TWFwIDogbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVhY3RpdmF0ZU91dGxldEFuZEl0Q2hpbGRyZW4oY3Vyciwgb3V0bGV0KTtcbiAgICAgIHRoaXMuY2hlY2tzLnB1c2gobmV3IENhbkFjdGl2YXRlKGZ1dHVyZSkpO1xuICAgICAgdGhpcy50cmF2ZXJzZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGUsIG51bGwsIG91dGxldCA/IG91dGxldC5vdXRsZXRNYXAgOiBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBvdXRsZXQ6IFJvdXRlck91dGxldCk6IHZvaWQge1xuICAgIGlmIChvdXRsZXQgJiYgb3V0bGV0LmlzQWN0aXZhdGVkKSB7XG4gICAgICBmb3JFYWNoKG91dGxldC5vdXRsZXRNYXAuX291dGxldHMsICh2LCBrKSA9PiB0aGlzLmRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKHYsIG91dGxldC5vdXRsZXRNYXAuX291dGxldHNba10pKTtcbiAgICAgIHRoaXMuY2hlY2tzLnB1c2gobmV3IENhbkRlYWN0aXZhdGUob3V0bGV0LmNvbXBvbmVudCwgcm91dGUpKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcnVuQ2FuQWN0aXZhdGUoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FuQWN0aXZhdGUgPSBmdXR1cmUuX3JvdXRlQ29uZmlnID8gZnV0dXJlLl9yb3V0ZUNvbmZpZy5jYW5BY3RpdmF0ZSA6IG51bGw7XG4gICAgaWYgKCFjYW5BY3RpdmF0ZSB8fCBjYW5BY3RpdmF0ZS5sZW5ndGggPT09IDApIHJldHVybiBvZih0cnVlKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oY2FuQWN0aXZhdGUubWFwKGMgPT4ge1xuICAgICAgY29uc3QgZ3VhcmQgPSB0aGlzLmluamVjdG9yLmdldChjKTtcbiAgICAgIGlmIChndWFyZC5jYW5BY3RpdmF0ZSkge1xuICAgICAgICByZXR1cm4gb2YoZ3VhcmQuY2FuQWN0aXZhdGUoZnV0dXJlLCB0aGlzLmZ1dHVyZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKGd1YXJkKGZ1dHVyZSwgdGhpcy5mdXR1cmUpKTtcbiAgICAgIH1cbiAgICB9KSkubWFwKGFuZCk7XG4gIH1cblxuICBwcml2YXRlIHJ1bkNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBPYmplY3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYW5EZWFjdGl2YXRlID0gY3Vyci5fcm91dGVDb25maWcgPyBjdXJyLl9yb3V0ZUNvbmZpZy5jYW5EZWFjdGl2YXRlIDogbnVsbDtcbiAgICBpZiAoIWNhbkRlYWN0aXZhdGUgfHwgY2FuRGVhY3RpdmF0ZS5sZW5ndGggPT09IDApIHJldHVybiBvZih0cnVlKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oY2FuRGVhY3RpdmF0ZS5tYXAoYyA9PiB7XG4gICAgICBjb25zdCBndWFyZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KGMpO1xuICAgICAgaWYgKGd1YXJkLmNhbkRlYWN0aXZhdGUpIHtcbiAgICAgICAgcmV0dXJuIG9mKGd1YXJkLmNhbkRlYWN0aXZhdGUoY29tcG9uZW50LCBjdXJyLCB0aGlzLmN1cnIpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihndWFyZChjb21wb25lbnQsIGN1cnIsIHRoaXMuY3VycikpO1xuICAgICAgfVxuICAgIH0pKS5tYXAoYW5kKTtcbiAgfVxufVxuXG5jbGFzcyBBY3RpdmF0ZVJvdXRlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnV0dXJlU3RhdGU6IFJvdXRlclN0YXRlLCBwcml2YXRlIGN1cnJTdGF0ZTogUm91dGVyU3RhdGUpIHt9XG5cbiAgYWN0aXZhdGUocGFyZW50T3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXApOnZvaWQge1xuICAgIGNvbnN0IGZ1dHVyZVJvb3QgPSB0aGlzLmZ1dHVyZVN0YXRlLl9yb290O1xuICAgIGNvbnN0IGN1cnJSb290ID0gdGhpcy5jdXJyU3RhdGUgPyB0aGlzLmN1cnJTdGF0ZS5fcm9vdCA6IG51bGw7XG5cbiAgICBwdXNoUXVlcnlQYXJhbXNBbmRGcmFnbWVudCh0aGlzLmZ1dHVyZVN0YXRlKTtcbiAgICB0aGlzLmFjdGl2YXRlQ2hpbGRSb3V0ZXMoZnV0dXJlUm9vdCwgY3VyclJvb3QsIHBhcmVudE91dGxldE1hcCk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlQ2hpbGRSb3V0ZXMoZnV0dXJlTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyck5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPiB8IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsZXRNYXA6IFJvdXRlck91dGxldE1hcCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZDaGlsZHJlbiA9IG5vZGVDaGlsZHJlbkFzTWFwKGN1cnJOb2RlKTtcbiAgICBmdXR1cmVOb2RlLmNoaWxkcmVuLmZvckVhY2goYyA9PiB7XG4gICAgICB0aGlzLmFjdGl2YXRlUm91dGVzKGMsIHByZXZDaGlsZHJlbltjLnZhbHVlLm91dGxldF0sIG91dGxldE1hcCk7XG4gICAgICBkZWxldGUgcHJldkNoaWxkcmVuW2MudmFsdWUub3V0bGV0XTtcbiAgICB9KTtcbiAgICBmb3JFYWNoKHByZXZDaGlsZHJlbiwgKHYsIGspID0+IHRoaXMuZGVhY3RpdmF0ZU91dGxldEFuZEl0Q2hpbGRyZW4ob3V0bGV0TWFwLl9vdXRsZXRzW2tdKSk7XG4gIH1cblxuICBhY3RpdmF0ZVJvdXRlcyhmdXR1cmVOb2RlOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4sIGN1cnJOb2RlOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4gfCBudWxsLFxuICAgICAgICAgICAgICAgICBwYXJlbnRPdXRsZXRNYXA6IFJvdXRlck91dGxldE1hcCk6IHZvaWQge1xuICAgIGNvbnN0IGZ1dHVyZSA9IGZ1dHVyZU5vZGUudmFsdWU7XG4gICAgY29uc3QgY3VyciA9IGN1cnJOb2RlID8gY3Vyck5vZGUudmFsdWUgOiBudWxsO1xuICAgIGNvbnN0IG91dGxldCA9IGdldE91dGxldChwYXJlbnRPdXRsZXRNYXAsIGZ1dHVyZU5vZGUudmFsdWUpO1xuXG4gICAgaWYgKGZ1dHVyZSA9PT0gY3Vycikge1xuICAgICAgYWR2YW5jZUFjdGl2YXRlZFJvdXRlKGZ1dHVyZSk7XG4gICAgICB0aGlzLmFjdGl2YXRlQ2hpbGRSb3V0ZXMoZnV0dXJlTm9kZSwgY3Vyck5vZGUsIG91dGxldC5vdXRsZXRNYXApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKG91dGxldCk7XG4gICAgICBjb25zdCBvdXRsZXRNYXAgPSBuZXcgUm91dGVyT3V0bGV0TWFwKCk7XG4gICAgICB0aGlzLmFjdGl2YXRlTmV3Um91dGVzKG91dGxldE1hcCwgZnV0dXJlLCBvdXRsZXQpO1xuICAgICAgdGhpcy5hY3RpdmF0ZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGUsIG51bGwsIG91dGxldE1hcCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZU5ld1JvdXRlcyhvdXRsZXRNYXA6IFJvdXRlck91dGxldE1hcCwgZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZSwgb3V0bGV0OiBSb3V0ZXJPdXRsZXQpOiB2b2lkIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IFJlZmxlY3RpdmVJbmplY3Rvci5yZXNvbHZlKFtcbiAgICAgIHtwcm92aWRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXNlVmFsdWU6IGZ1dHVyZX0sXG4gICAgICB7cHJvdmlkZTogUm91dGVyT3V0bGV0TWFwLCB1c2VWYWx1ZTogb3V0bGV0TWFwfVxuICAgIF0pO1xuICAgIG91dGxldC5hY3RpdmF0ZShmdXR1cmUuX2Z1dHVyZVNuYXBzaG90Ll9yZXNvbHZlZENvbXBvbmVudEZhY3RvcnksIHJlc29sdmVkLCBvdXRsZXRNYXApO1xuICAgIGFkdmFuY2VBY3RpdmF0ZWRSb3V0ZShmdXR1cmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbihvdXRsZXQ6IFJvdXRlck91dGxldCk6IHZvaWQge1xuICAgIGlmIChvdXRsZXQgJiYgb3V0bGV0LmlzQWN0aXZhdGVkKSB7XG4gICAgICBmb3JFYWNoKG91dGxldC5vdXRsZXRNYXAuX291dGxldHMsICh2LCBrKSA9PiB0aGlzLmRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKHYpKTtcbiAgICAgIG91dGxldC5kZWFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHB1c2hRdWVyeVBhcmFtc0FuZEZyYWdtZW50KHN0YXRlOiBSb3V0ZXJTdGF0ZSk6IHZvaWQge1xuICBpZiAoIXNoYWxsb3dFcXVhbChzdGF0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcywgKDxhbnk+c3RhdGUucXVlcnlQYXJhbXMpLnZhbHVlKSkge1xuICAgICg8YW55PnN0YXRlLnF1ZXJ5UGFyYW1zKS5uZXh0KHN0YXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIGlmIChzdGF0ZS5zbmFwc2hvdC5mcmFnbWVudCAhPT0gKDxhbnk+c3RhdGUuZnJhZ21lbnQpLnZhbHVlKSB7XG4gICAgKDxhbnk+c3RhdGUuZnJhZ21lbnQpLm5leHQoc3RhdGUuc25hcHNob3QuZnJhZ21lbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG5vZGVDaGlsZHJlbkFzTWFwKG5vZGU6IFRyZWVOb2RlPGFueT58bnVsbCkge1xuICByZXR1cm4gbm9kZSA/XG4gICAgbm9kZS5jaGlsZHJlbi5yZWR1Y2UoXG4gICAgICAobSwgYykgPT4ge1xuICAgICAgICBtW2MudmFsdWUub3V0bGV0XSA9IGM7XG4gICAgICAgIHJldHVybiBtO1xuICAgICAgfSxcbiAgICAgIHt9KSA6XG4gIHt9O1xufVxuXG5mdW5jdGlvbiBnZXRPdXRsZXQob3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXAsIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IFJvdXRlck91dGxldCB7XG4gIGxldCBvdXRsZXQgPSBvdXRsZXRNYXAuX291dGxldHNbcm91dGUub3V0bGV0XTtcbiAgaWYgKCFvdXRsZXQpIHtcbiAgICBpZiAocm91dGUub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmltYXJ5IG91dGxldGApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHRoZSBvdXRsZXQgJHtyb3V0ZS5vdXRsZXR9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXRsZXQ7XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/router_outlet_map.d.ts b/modules/@angular/router/build/es6/src/router_outlet_map.d.ts deleted file mode 100644 index df50474269..0000000000 --- a/modules/@angular/router/build/es6/src/router_outlet_map.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { RouterOutlet } from './directives/router_outlet'; -export declare class RouterOutletMap { - _outlets: { - [name: string]: RouterOutlet; - }; - registerOutlet(name: string, outlet: RouterOutlet): void; -} diff --git a/modules/@angular/router/build/es6/src/router_outlet_map.js b/modules/@angular/router/build/es6/src/router_outlet_map.js deleted file mode 100644 index 111d0035ab..0000000000 --- a/modules/@angular/router/build/es6/src/router_outlet_map.js +++ /dev/null @@ -1,7 +0,0 @@ -export class RouterOutletMap { - constructor() { - this._outlets = {}; - } - registerOutlet(name, outlet) { this._outlets[name] = outlet; } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX291dGxldF9tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVyX291dGxldF9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7SUFBQTtRQUVFLGFBQVEsR0FBbUMsRUFBRSxDQUFDO0lBRWhELENBQUM7SUFEQyxjQUFjLENBQUMsSUFBWSxFQUFFLE1BQW9CLElBQVUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJy4vZGlyZWN0aXZlcy9yb3V0ZXJfb3V0bGV0JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldE1hcCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX291dGxldHM6IHtbbmFtZTogc3RyaW5nXTogUm91dGVyT3V0bGV0fSA9IHt9O1xuICByZWdpc3Rlck91dGxldChuYW1lOiBzdHJpbmcsIG91dGxldDogUm91dGVyT3V0bGV0KTogdm9pZCB7IHRoaXMuX291dGxldHNbbmFtZV0gPSBvdXRsZXQ7IH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/router_providers.d.ts b/modules/@angular/router/build/es6/src/router_providers.d.ts deleted file mode 100644 index dea74761c8..0000000000 --- a/modules/@angular/router/build/es6/src/router_providers.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterConfig } from './config'; -export declare function provideRouter(config: RouterConfig): any[]; diff --git a/modules/@angular/router/build/es6/src/router_providers.js b/modules/@angular/router/build/es6/src/router_providers.js deleted file mode 100644 index 621d815f6f..0000000000 --- a/modules/@angular/router/build/es6/src/router_providers.js +++ /dev/null @@ -1,10 +0,0 @@ -import * as common from './common_router_providers'; -import { BrowserPlatformLocation } from '@angular/platform-browser'; -import { PlatformLocation } from '@angular/common'; -export function provideRouter(config) { - return [ - { provide: PlatformLocation, useClass: BrowserPlatformLocation }, - ...common.provideRouter(config) - ]; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX3Byb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXJfcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJPQUNPLEtBQUssTUFBTSxNQUFNLDJCQUEyQjtPQUM1QyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkJBQTJCO09BQzFELEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUI7QUFvQmhELDhCQUE4QixNQUFvQjtJQUNoRCxNQUFNLENBQUM7UUFDTCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUM7UUFDOUQsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztLQUNoQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCAqIGFzIGNvbW1vbiBmcm9tICcuL2NvbW1vbl9yb3V0ZXJfcHJvdmlkZXJzJztcbmltcG9ydCB7QnJvd3NlclBsYXRmb3JtTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtQbGF0Zm9ybUxvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEEgbGlzdCBvZiB7QGxpbmsgUHJvdmlkZXJ9cy4gVG8gdXNlIHRoZSByb3V0ZXIsIHlvdSBtdXN0IGFkZCB0aGlzIHRvIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBcbiAqIEBDb21wb25lbnQoe2RpcmVjdGl2ZXM6IFtST1VURVJfRElSRUNUSVZFU119KVxuICogY2xhc3MgQXBwQ21wIHtcbiAqICAgLy8gLi4uXG4gKiB9XG4gKiBcbiAqIGNvbnN0IHJvdXRlciA9IFtcbiAqICAge3BhdGg6ICcvaG9tZScsIGNvbXBvbmVudDogSG9tZX1cbiAqIF07XG4gKlxuICogYm9vdHN0cmFwKEFwcENtcCwgW3Byb3ZpZGVSb3V0ZXIocm91dGVyKV0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUm91dGVyKGNvbmZpZzogUm91dGVyQ29uZmlnKTphbnlbXSB7XG4gIHJldHVybiBbXG4gICAge3Byb3ZpZGU6IFBsYXRmb3JtTG9jYXRpb24sIHVzZUNsYXNzOiBCcm93c2VyUGxhdGZvcm1Mb2NhdGlvbn0sXG4gICAgLi4uY29tbW9uLnByb3ZpZGVSb3V0ZXIoY29uZmlnKVxuICBdO1xufVxuIl19 \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/router_state.d.ts b/modules/@angular/router/build/es6/src/router_state.d.ts deleted file mode 100644 index 0a2493803c..0000000000 --- a/modules/@angular/router/build/es6/src/router_state.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -import { UrlSegment } from './url_tree'; -import { Route } from './config'; -import { Params } from './shared'; -import { Observable } from 'rxjs/Observable'; -import { Type, ComponentFactory } from '@angular/core'; -export declare class RouterState extends Tree { - queryParams: Observable; - fragment: Observable; - snapshot: RouterStateSnapshot; - constructor(root: TreeNode, queryParams: Observable, fragment: Observable, snapshot: RouterStateSnapshot); -} -export declare function createEmptyState(rootComponent: Type): RouterState; -export declare class ActivatedRoute { - urlSegments: Observable; - params: Observable; - outlet: string; - component: Type | string; - _futureSnapshot: ActivatedRouteSnapshot; - snapshot: ActivatedRouteSnapshot; - constructor(urlSegments: Observable, params: Observable, outlet: string, component: Type | string, futureSnapshot: ActivatedRouteSnapshot); -} -export declare class ActivatedRouteSnapshot { - urlSegments: UrlSegment[]; - params: Params; - outlet: string; - component: Type | string; - _resolvedComponentFactory: ComponentFactory; - _routeConfig: Route | null; - _lastUrlSegment: UrlSegment; - constructor(urlSegments: UrlSegment[], params: Params, outlet: string, component: Type | string, routeConfig: Route | null, lastUrlSegment: UrlSegment); -} -export declare class RouterStateSnapshot extends Tree { - queryParams: Params; - fragment: string | null; - constructor(root: TreeNode, queryParams: Params, fragment: string | null); -} -export declare function advanceActivatedRoute(route: ActivatedRoute): void; diff --git a/modules/@angular/router/build/es6/src/router_state.js b/modules/@angular/router/build/es6/src/router_state.js deleted file mode 100644 index 4c8b23b4a8..0000000000 --- a/modules/@angular/router/build/es6/src/router_state.js +++ /dev/null @@ -1,69 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -import { shallowEqual } from './utils/collection'; -import { UrlSegment } from './url_tree'; -import { PRIMARY_OUTLET } from './shared'; -import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -export class RouterState extends Tree { - constructor(root, queryParams, fragment, snapshot) { - super(root); - this.queryParams = queryParams; - this.fragment = fragment; - this.snapshot = snapshot; - } -} -export function createEmptyState(rootComponent) { - const snapshot = createEmptyStateSnapshot(rootComponent); - const emptyUrl = new BehaviorSubject([new UrlSegment("", {}, PRIMARY_OUTLET)]); - const emptyParams = new BehaviorSubject({}); - const emptyQueryParams = new BehaviorSubject({}); - const fragment = new BehaviorSubject(""); - const activated = new ActivatedRoute(emptyUrl, emptyParams, PRIMARY_OUTLET, rootComponent, snapshot.root); - activated.snapshot = snapshot.root; - return new RouterState(new TreeNode(activated, []), emptyQueryParams, fragment, snapshot); -} -function createEmptyStateSnapshot(rootComponent) { - const rootUrlSegment = new UrlSegment("", {}, PRIMARY_OUTLET); - const emptyUrl = [rootUrlSegment]; - const emptyParams = {}; - const emptyQueryParams = {}; - const fragment = ""; - const activated = new ActivatedRouteSnapshot(emptyUrl, emptyParams, PRIMARY_OUTLET, rootComponent, null, rootUrlSegment); - return new RouterStateSnapshot(new TreeNode(activated, []), emptyQueryParams, fragment); -} -export class ActivatedRoute { - constructor(urlSegments, params, outlet, component, futureSnapshot) { - this.urlSegments = urlSegments; - this.params = params; - this.outlet = outlet; - this.component = component; - this._futureSnapshot = futureSnapshot; - } -} -export class ActivatedRouteSnapshot { - constructor(urlSegments, params, outlet, component, routeConfig, lastUrlSegment) { - this.urlSegments = urlSegments; - this.params = params; - this.outlet = outlet; - this.component = component; - this._routeConfig = routeConfig; - this._lastUrlSegment = lastUrlSegment; - } -} -export class RouterStateSnapshot extends Tree { - constructor(root, queryParams, fragment) { - super(root); - this.queryParams = queryParams; - this.fragment = fragment; - } -} -export function advanceActivatedRoute(route) { - if (route.snapshot && !shallowEqual(route.snapshot.params, route._futureSnapshot.params)) { - route.snapshot = route._futureSnapshot; - route.urlSegments.next(route.snapshot.urlSegments); - route.params.next(route.snapshot.params); - } - else { - route.snapshot = route._futureSnapshot; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcl9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjO09BQ3RDLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CO09BQzFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWTtPQUVoQyxFQUFVLGNBQWMsRUFBRSxNQUFNLFVBQVU7T0FFMUMsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0I7QUFrQnRELGlDQUFpQyxJQUFJO0lBSW5DLFlBQVksSUFBOEIsRUFBUyxXQUErQixFQUFTLFFBQTRCLEVBQVMsUUFBNkI7UUFDM0osTUFBTSxJQUFJLENBQUMsQ0FBQztRQURxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQXFCO0lBRTdKLENBQUM7QUFDSCxDQUFDO0FBRUQsaUNBQWlDLGFBQW1CO0lBQ2xELE1BQU0sUUFBUSxHQUFHLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFHLFNBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNuQyxNQUFNLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxRQUFRLENBQWlCLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUcsQ0FBQztBQUVELGtDQUFrQyxhQUFtQjtJQUNuRCxNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzlELE1BQU0sUUFBUSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekgsTUFBTSxDQUFDLElBQUksbUJBQW1CLENBQUMsSUFBSSxRQUFRLENBQXlCLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsSCxDQUFDO0FBZ0JEO0lBUUUsWUFBbUIsV0FBcUMsRUFDckMsTUFBMEIsRUFDMUIsTUFBYyxFQUNkLFNBQXdCLEVBQy9CLGNBQXNDO1FBSi9CLGdCQUFXLEdBQVgsV0FBVyxDQUEwQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUd6QyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0FBQ0gsQ0FBQztBQWVEO0lBZUUsWUFBbUIsV0FBeUIsRUFDekIsTUFBYyxFQUNkLE1BQWMsRUFDZCxTQUF3QixFQUMvQixXQUF5QixFQUN6QixjQUEwQjtRQUxuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFHekMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztBQUNILENBQUM7QUFlRCx5Q0FBeUMsSUFBSTtJQUkzQyxZQUFZLElBQXNDLEVBQVMsV0FBbUIsRUFBUyxRQUF1QjtRQUM1RyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRDZDLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZTtJQUU5RyxDQUFDO0FBQ0gsQ0FBQztBQU9ELHNDQUFzQyxLQUFxQjtJQUN6RCxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUNqQyxLQUFLLENBQUMsV0FBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZSwgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuaW1wb3J0IHsgc2hhbGxvd0VxdWFsIH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFVybFNlZ21lbnQgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgUGFyYW1zLCBQUklNQVJZX09VVExFVCB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcy9CZWhhdmlvclN1YmplY3QnO1xuaW1wb3J0IHsgVHlwZSwgQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBzdGF0ZSBvZiB0aGUgcm91dGVyLlxuICpcbiAqICMjIyBVc2FnZVxuICpcbiAqIGBgYFxuICogY2xhc3MgTXlDb21wb25lbnQge1xuICogICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFJvdXRlcikge1xuICogICAgIGNvbnN0IHN0YXRlID0gcm91dGVyLnJvdXRlclN0YXRlO1xuICogICAgIGNvbnN0IGlkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSBzdGF0ZS5maXJzdENoaWxkKHN0YXRlLnJvb3QpLnBhcmFtcy5tYXAocCA9PiBwLmlkKTtcbiAqICAgICBjb25zdCBpc0RlYnVnOiBPYnNlcnZhYmxlPHN0cmluZz4gPSBzdGF0ZS5xdWVyeVBhcmFtcy5tYXAocSA9PiBxLmRlYnVnKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBleHRlbmRzIFRyZWU8QWN0aXZhdGVkUm91dGU+IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3Iocm9vdDogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+LCBwdWJsaWMgcXVlcnlQYXJhbXM6IE9ic2VydmFibGU8UGFyYW1zPiwgcHVibGljIGZyYWdtZW50OiBPYnNlcnZhYmxlPHN0cmluZz4sIHB1YmxpYyBzbmFwc2hvdDogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHN1cGVyKHJvb3QpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbXB0eVN0YXRlKHJvb3RDb21wb25lbnQ6IFR5cGUpOiBSb3V0ZXJTdGF0ZSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gY3JlYXRlRW1wdHlTdGF0ZVNuYXBzaG90KHJvb3RDb21wb25lbnQpO1xuICBjb25zdCBlbXB0eVVybCA9IG5ldyBCZWhhdmlvclN1YmplY3QoW25ldyBVcmxTZWdtZW50KFwiXCIsIHt9LCBQUklNQVJZX09VVExFVCldKTtcbiAgY29uc3QgZW1wdHlQYXJhbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgY29uc3QgZW1wdHlRdWVyeVBhcmFtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICBjb25zdCBmcmFnbWVudCA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGNvbnN0IGFjdGl2YXRlZCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZShlbXB0eVVybCwgZW1wdHlQYXJhbXMsIFBSSU1BUllfT1VUTEVULCByb290Q29tcG9uZW50LCBzbmFwc2hvdC5yb290KTtcbiAgYWN0aXZhdGVkLnNuYXBzaG90ID0gc25hcHNob3Qucm9vdDtcbiAgcmV0dXJuIG5ldyBSb3V0ZXJTdGF0ZShuZXcgVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+KGFjdGl2YXRlZCwgW10pLCBlbXB0eVF1ZXJ5UGFyYW1zLCBmcmFnbWVudCwgc25hcHNob3QpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbXB0eVN0YXRlU25hcHNob3Qocm9vdENvbXBvbmVudDogVHlwZSk6IFJvdXRlclN0YXRlU25hcHNob3Qge1xuICBjb25zdCByb290VXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KFwiXCIsIHt9LCBQUklNQVJZX09VVExFVCk7XG4gIGNvbnN0IGVtcHR5VXJsID0gW3Jvb3RVcmxTZWdtZW50XTtcbiAgY29uc3QgZW1wdHlQYXJhbXMgPSB7fTtcbiAgY29uc3QgZW1wdHlRdWVyeVBhcmFtcyA9IHt9O1xuICBjb25zdCBmcmFnbWVudCA9IFwiXCI7XG4gIGNvbnN0IGFjdGl2YXRlZCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KGVtcHR5VXJsLCBlbXB0eVBhcmFtcywgUFJJTUFSWV9PVVRMRVQsIHJvb3RDb21wb25lbnQsIG51bGwsIHJvb3RVcmxTZWdtZW50KTtcbiAgcmV0dXJuIG5ldyBSb3V0ZXJTdGF0ZVNuYXBzaG90KG5ldyBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PihhY3RpdmF0ZWQsIFtdKSwgZW1wdHlRdWVyeVBhcmFtcywgZnJhZ21lbnQpO1xufVxuXG4vKipcbiAqIENvbnRhaW5zIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbXBvbmVudCBsb2FkZWQgaW4gYW4gb3V0bGV0LiBUaGUgaW5mb3JtYXRpb24gaXMgcHJvdmlkZWQgdGhyb3VnaFxuICogdGhlIHBhcmFtcyBhbmQgdXJsU2VnbWVudHMgb2JzZXJ2YWJsZXMuXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgXG4gKiBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGNvbnN0cnVjdG9yKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICogICAgIGNvbnN0IGlkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSByb3V0ZS5wYXJhbXMubWFwKHAgPT4gcC5pZCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQWN0aXZhdGVkUm91dGUge1xuICAvKiogQGludGVybmFsICovXG4gIF9mdXR1cmVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcbiAgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Q7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHVybFNlZ21lbnRzOiBPYnNlcnZhYmxlPFVybFNlZ21lbnRbXT4sXG4gICAgICAgICAgICAgIHB1YmxpYyBwYXJhbXM6IE9ic2VydmFibGU8UGFyYW1zPixcbiAgICAgICAgICAgICAgcHVibGljIG91dGxldDogc3RyaW5nLFxuICAgICAgICAgICAgICBwdWJsaWMgY29tcG9uZW50OiBUeXBlIHwgc3RyaW5nLFxuICAgICAgICAgICAgICBmdXR1cmVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICApIHtcbiAgICB0aGlzLl9mdXR1cmVTbmFwc2hvdCA9IGZ1dHVyZVNuYXBzaG90O1xuICB9XG59XG5cbi8qKlxuICogQ29udGFpbnMgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY29tcG9uZW50IGxvYWRlZCBpbiBhbiBvdXRsZXQgYXQgYSBwYXJ0aWN1bGFyIG1vbWVudCBpbiB0aW1lLlxuICpcbiAqICMjIyBVc2FnZVxuICpcbiAqIGBgYFxuICogY2xhc3MgTXlDb21wb25lbnQge1xuICogICBjb25zdHJ1Y3Rvcihyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAqICAgICBjb25zdCBpZDogc3RyaW5nID0gcm91dGUuc25hcHNob3QucGFyYW1zLmlkO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfcmVzb2x2ZWRDb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT47XG4gIFxuICAvKiogQGludGVybmFsICoqL1xuICBfcm91dGVDb25maWc6IFJvdXRlIHwgbnVsbDtcblxuICAvKiogQGludGVybmFsICoqL1xuICBfbGFzdFVybFNlZ21lbnQ6IFVybFNlZ21lbnQ7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10sXG4gICAgICAgICAgICAgIHB1YmxpYyBwYXJhbXM6IFBhcmFtcyxcbiAgICAgICAgICAgICAgcHVibGljIG91dGxldDogc3RyaW5nLFxuICAgICAgICAgICAgICBwdWJsaWMgY29tcG9uZW50OiBUeXBlIHwgc3RyaW5nLCBcbiAgICAgICAgICAgICAgcm91dGVDb25maWc6IFJvdXRlIHwgbnVsbCxcbiAgICAgICAgICAgICAgbGFzdFVybFNlZ21lbnQ6IFVybFNlZ21lbnQpIHtcbiAgICB0aGlzLl9yb3V0ZUNvbmZpZyA9IHJvdXRlQ29uZmlnO1xuICAgIHRoaXMuX2xhc3RVcmxTZWdtZW50ID0gbGFzdFVybFNlZ21lbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgc3RhdGUgb2YgdGhlIHJvdXRlciBhdCBhIHBhcnRpY3VsYXIgbW9tZW50IGluIHRpbWUuXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgXG4gKiBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyKSB7XG4gKiAgICAgY29uc3Qgc25hcHNob3QgPSByb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyU3RhdGVTbmFwc2hvdCBleHRlbmRzIFRyZWU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihyb290OiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiwgcHVibGljIHF1ZXJ5UGFyYW1zOiBQYXJhbXMsIHB1YmxpYyBmcmFnbWVudDogc3RyaW5nIHwgbnVsbCkge1xuICAgIHN1cGVyKHJvb3QpO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGV4cGVjdGF0aW9uIGlzIHRoYXQgdGhlIGFjdGl2YXRlIHJvdXRlIGlzIGNyZWF0ZWQgd2l0aCB0aGUgcmlnaHQgc2V0IG9mIHBhcmFtZXRlcnMuXG4gKiBTbyB3ZSBwdXNoIG5ldyB2YWx1ZXMgaW50byB0aGUgb2JzZXJ2YWJsZXMgb25seSB3aGVuIHRoZXkgYXJlIG5vdCB0aGUgaW5pdGlhbCB2YWx1ZXMuXG4gKiBBbmQgd2UgZGV0ZWN0IHRoYXQgYnkgY2hlY2tpbmcgaWYgdGhlIHNuYXBzaG90IGZpZWxkIGlzIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkdmFuY2VBY3RpdmF0ZWRSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiB2b2lkIHtcbiAgaWYgKHJvdXRlLnNuYXBzaG90ICYmICFzaGFsbG93RXF1YWwocm91dGUuc25hcHNob3QucGFyYW1zLCByb3V0ZS5fZnV0dXJlU25hcHNob3QucGFyYW1zKSkge1xuICAgIHJvdXRlLnNuYXBzaG90ID0gcm91dGUuX2Z1dHVyZVNuYXBzaG90O1xuICAgICg8YW55PnJvdXRlLnVybFNlZ21lbnRzKS5uZXh0KHJvdXRlLnNuYXBzaG90LnVybFNlZ21lbnRzKTtcbiAgICAoPGFueT5yb3V0ZS5wYXJhbXMpLm5leHQocm91dGUuc25hcHNob3QucGFyYW1zKTtcbiAgfSBlbHNlIHtcbiAgICByb3V0ZS5zbmFwc2hvdCA9IHJvdXRlLl9mdXR1cmVTbmFwc2hvdDtcbiAgfVxufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/shared.d.ts b/modules/@angular/router/build/es6/src/shared.d.ts deleted file mode 100644 index 2aacfdf7a6..0000000000 --- a/modules/@angular/router/build/es6/src/shared.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const PRIMARY_OUTLET: string; -export declare type Params = { - [key: string]: string; -}; diff --git a/modules/@angular/router/build/es6/src/shared.js b/modules/@angular/router/build/es6/src/shared.js deleted file mode 100644 index 9cc0b44dc9..0000000000 --- a/modules/@angular/router/build/es6/src/shared.js +++ /dev/null @@ -1,2 +0,0 @@ -export const PRIMARY_OUTLET = "PRIMARY_OUTLET"; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLE1BQU0sY0FBYyxHQUFXLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYW1lIG9mIHRoZSBwcmltYXJ5IG91dGxldC5cbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBQUklNQVJZX09VVExFVDogc3RyaW5nID0gXCJQUklNQVJZX09VVExFVFwiO1xuXG4vKipcbiAqIEEgY29sbGVjdGlvbiBvZiBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuIl19 \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/url_serializer.d.ts b/modules/@angular/router/build/es6/src/url_serializer.d.ts deleted file mode 100644 index 509f6b4ea0..0000000000 --- a/modules/@angular/router/build/es6/src/url_serializer.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UrlTree, UrlSegment } from './url_tree'; -export declare abstract class UrlSerializer { - abstract parse(url: string): UrlTree; - abstract serialize(tree: UrlTree): string; -} -export declare class DefaultUrlSerializer implements UrlSerializer { - parse(url: string): UrlTree; - serialize(tree: UrlTree): string; -} -export declare function serializeSegment(segment: UrlSegment): string; diff --git a/modules/@angular/router/build/es6/src/url_serializer.js b/modules/@angular/router/build/es6/src/url_serializer.js deleted file mode 100644 index 6a0ec4c9b7..0000000000 --- a/modules/@angular/router/build/es6/src/url_serializer.js +++ /dev/null @@ -1,212 +0,0 @@ -import { UrlTree, UrlSegment } from './url_tree'; -import { PRIMARY_OUTLET } from './shared'; -import { TreeNode } from './utils/tree'; -export class UrlSerializer { -} -export class DefaultUrlSerializer { - parse(url) { - const p = new UrlParser(url); - return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment()); - } - serialize(tree) { - const node = serializeUrlTreeNode(tree._root); - const query = serializeQueryParams(tree.queryParameters); - const fragment = tree.fragment !== null ? `#${tree.fragment}` : ''; - return `${node}${query}${fragment}`; - } -} -function serializeUrlTreeNode(node) { - return `${serializeSegment(node.value)}${serializeChildren(node)}`; -} -function serializeUrlTreeNodes(nodes) { - const primary = serializeSegment(nodes[0].value); - const secondaryNodes = nodes.slice(1); - const secondary = secondaryNodes.length > 0 ? `(${secondaryNodes.map(serializeUrlTreeNode).join("//")})` : ""; - const children = serializeChildren(nodes[0]); - return `${primary}${secondary}${children}`; -} -function serializeChildren(node) { - if (node.children.length > 0) { - return `/${serializeUrlTreeNodes(node.children)}`; - } - else { - return ""; - } -} -export function serializeSegment(segment) { - const outlet = segment.outlet === PRIMARY_OUTLET ? '' : `${segment.outlet}:`; - return `${outlet}${segment.path}${serializeParams(segment.parameters)}`; -} -function serializeParams(params) { - return pairs(params).map(p => `;${p.first}=${p.second}`).join(""); -} -function serializeQueryParams(params) { - const strs = pairs(params).map(p => `${p.first}=${p.second}`); - return strs.length > 0 ? `?${strs.join("&")}` : ""; -} -class Pair { - constructor(first, second) { - this.first = first; - this.second = second; - } -} -function pairs(obj) { - const res = []; - for (let prop in obj) { - if (obj.hasOwnProperty(prop)) { - res.push(new Pair(prop, obj[prop])); - } - } - return res; -} -const SEGMENT_RE = /^[^\/\(\)\?;=&#]+/; -function matchUrlSegment(str) { - SEGMENT_RE.lastIndex = 0; - var match = SEGMENT_RE.exec(str); - return match ? match[0] : ''; -} -const QUERY_PARAM_VALUE_RE = /^[^\(\)\?;&#]+/; -function matchUrlQueryParamValue(str) { - QUERY_PARAM_VALUE_RE.lastIndex = 0; - const match = QUERY_PARAM_VALUE_RE.exec(str); - return match ? match[0] : ''; -} -class UrlParser { - constructor(remaining) { - this.remaining = remaining; - } - peekStartsWith(str) { return this.remaining.startsWith(str); } - capture(str) { - if (!this.remaining.startsWith(str)) { - throw new Error(`Expected "${str}".`); - } - this.remaining = this.remaining.substring(str.length); - } - parseRootSegment() { - if (this.remaining == '' || this.remaining == '/') { - return new TreeNode(new UrlSegment('', {}, PRIMARY_OUTLET), []); - } - else { - const segments = this.parseSegments(false); - return new TreeNode(new UrlSegment('', {}, PRIMARY_OUTLET), segments); - } - } - parseSegments(hasOutletName) { - if (this.remaining.length == 0) { - return []; - } - if (this.peekStartsWith('/')) { - this.capture('/'); - } - let path = matchUrlSegment(this.remaining); - this.capture(path); - let outletName; - if (hasOutletName) { - if (path.indexOf(":") === -1) { - throw new Error("Not outlet name is provided"); - } - if (path.indexOf(":") > -1 && hasOutletName) { - let parts = path.split(":"); - outletName = parts[0]; - path = parts[1]; - } - } - else { - if (path.indexOf(":") > -1) { - throw new Error("Not outlet name is allowed"); - } - outletName = PRIMARY_OUTLET; - } - let matrixParams = {}; - if (this.peekStartsWith(';')) { - matrixParams = this.parseMatrixParams(); - } - let secondary = []; - if (this.peekStartsWith('(')) { - secondary = this.parseSecondarySegments(); - } - let children = []; - if (this.peekStartsWith('/') && !this.peekStartsWith('//')) { - this.capture('/'); - children = this.parseSegments(false); - } - const segment = new UrlSegment(path, matrixParams, outletName); - const node = new TreeNode(segment, children); - return [node].concat(secondary); - } - parseQueryParams() { - var params = {}; - if (this.peekStartsWith('?')) { - this.capture('?'); - this.parseQueryParam(params); - while (this.remaining.length > 0 && this.peekStartsWith('&')) { - this.capture('&'); - this.parseQueryParam(params); - } - } - return params; - } - parseFragment() { - if (this.peekStartsWith('#')) { - return this.remaining.substring(1); - } - else { - return null; - } - } - parseMatrixParams() { - var params = {}; - while (this.remaining.length > 0 && this.peekStartsWith(';')) { - this.capture(';'); - this.parseParam(params); - } - return params; - } - parseParam(params) { - var key = matchUrlSegment(this.remaining); - if (!key) { - return; - } - this.capture(key); - var value = "true"; - if (this.peekStartsWith('=')) { - this.capture('='); - var valueMatch = matchUrlSegment(this.remaining); - if (valueMatch) { - value = valueMatch; - this.capture(value); - } - } - params[key] = value; - } - parseQueryParam(params) { - var key = matchUrlSegment(this.remaining); - if (!key) { - return; - } - this.capture(key); - var value = "true"; - if (this.peekStartsWith('=')) { - this.capture('='); - var valueMatch = matchUrlQueryParamValue(this.remaining); - if (valueMatch) { - value = valueMatch; - this.capture(value); - } - } - params[key] = value; - } - parseSecondarySegments() { - var segments = []; - this.capture('('); - while (!this.peekStartsWith(')') && this.remaining.length > 0) { - segments = segments.concat(this.parseSegments(true)); - if (this.peekStartsWith('//')) { - this.capture('//'); - } - } - this.capture(')'); - return segments; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsX3NlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXJsX3NlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWTtPQUN6QyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVU7T0FDbEMsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjO0FBS3ZDO0FBVUEsQ0FBQztBQUtEO0lBQ0UsS0FBSyxDQUFDLEdBQVc7UUFDZixNQUFNLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ25FLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztBQUNILENBQUM7QUFFRCw4QkFBOEIsSUFBMEI7SUFDdEQsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDckUsQ0FBQztBQUVELCtCQUErQixLQUE2QjtJQUMxRCxNQUFNLE9BQU8s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LEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsS0FBSyxHQUFHLFVBQVUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybFRyZWUsIFVybFNlZ21lbnQgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuXG4vKipcbiAqIERlZmluZXMgYSB3YXkgdG8gc2VyaWFsaXplL2Rlc2VyaWFsaXplIGEgdXJsIHRyZWUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVcmxTZXJpYWxpemVyIHtcbiAgLyoqXG4gICAqIFBhcnNlIGEgdXJsIGludG8gYSB7QExpbmsgVXJsVHJlZX1cbiAgICovXG4gIGFic3RyYWN0IHBhcnNlKHVybDogc3RyaW5nKTogVXJsVHJlZTtcblxuICAvKipcbiAgICogQ29udmVydHMgYSB7QExpbmsgVXJsVHJlZX0gaW50byBhIHVybFxuICAgKi9cbiAgYWJzdHJhY3Qgc2VyaWFsaXplKHRyZWU6IFVybFRyZWUpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBzZXJpYWxpemF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdFVybFNlcmlhbGl6ZXIgaW1wbGVtZW50cyBVcmxTZXJpYWxpemVyIHtcbiAgcGFyc2UodXJsOiBzdHJpbmcpOiBVcmxUcmVlIHtcbiAgICBjb25zdCBwID0gbmV3IFVybFBhcnNlcih1cmwpO1xuICAgIHJldHVybiBuZXcgVXJsVHJlZShwLnBhcnNlUm9vdFNlZ21lbnQoKSwgcC5wYXJzZVF1ZXJ5UGFyYW1zKCksIHAucGFyc2VGcmFnbWVudCgpKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSh0cmVlOiBVcmxUcmVlKTogc3RyaW5nIHsgXG4gICAgY29uc3Qgbm9kZSA9IHNlcmlhbGl6ZVVybFRyZWVOb2RlKHRyZWUuX3Jvb3QpO1xuICAgIGNvbnN0IHF1ZXJ5ID0gc2VyaWFsaXplUXVlcnlQYXJhbXModHJlZS5xdWVyeVBhcmFtZXRlcnMpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gdHJlZS5mcmFnbWVudCAhPT0gbnVsbCA/IGAjJHt0cmVlLmZyYWdtZW50fWAgOiAnJztcbiAgICByZXR1cm4gYCR7bm9kZX0ke3F1ZXJ5fSR7ZnJhZ21lbnR9YDtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVVcmxUcmVlTm9kZShub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZXJpYWxpemVTZWdtZW50KG5vZGUudmFsdWUpfSR7c2VyaWFsaXplQ2hpbGRyZW4obm9kZSl9YDtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplVXJsVHJlZU5vZGVzKG5vZGVzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogc3RyaW5nIHtcbiAgY29uc3QgcHJpbWFyeSA9IHNlcmlhbGl6ZVNlZ21lbnQobm9kZXNbMF0udmFsdWUpO1xuICBjb25zdCBzZWNvbmRhcnlOb2RlcyA9IG5vZGVzLnNsaWNlKDEpO1xuICBjb25zdCBzZWNvbmRhcnkgPSBzZWNvbmRhcnlOb2Rlcy5sZW5ndGggPiAwID8gYCgke3NlY29uZGFyeU5vZGVzLm1hcChzZXJpYWxpemVVcmxUcmVlTm9kZSkuam9pbihcIi8vXCIpfSlgIDogXCJcIjtcbiAgY29uc3QgY2hpbGRyZW4gPSBzZXJpYWxpemVDaGlsZHJlbihub2Rlc1swXSk7XG4gIHJldHVybiBgJHtwcmltYXJ5fSR7c2Vjb25kYXJ5fSR7Y2hpbGRyZW59YDtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplQ2hpbGRyZW4obm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBzdHJpbmcge1xuICBpZiAobm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGAvJHtzZXJpYWxpemVVcmxUcmVlTm9kZXMobm9kZS5jaGlsZHJlbil9YDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplU2VnbWVudChzZWdtZW50OiBVcmxTZWdtZW50KTogc3RyaW5nIHtcbiAgY29uc3Qgb3V0bGV0ID0gc2VnbWVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUID8gJycgOiBgJHtzZWdtZW50Lm91dGxldH06YDtcbiAgcmV0dXJuIGAke291dGxldH0ke3NlZ21lbnQucGF0aH0ke3NlcmlhbGl6ZVBhcmFtcyhzZWdtZW50LnBhcmFtZXRlcnMpfWA7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZVBhcmFtcyhwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhaXJzKHBhcmFtcykubWFwKHAgPT4gYDske3AuZmlyc3R9PSR7cC5zZWNvbmR9YCkuam9pbihcIlwiKTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplUXVlcnlQYXJhbXMocGFyYW1zOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSk6IHN0cmluZyB7XG4gIGNvbnN0IHN0cnMgPSBwYWlycyhwYXJhbXMpLm1hcChwID0+IGAke3AuZmlyc3R9PSR7cC5zZWNvbmR9YCk7XG4gIHJldHVybiBzdHJzLmxlbmd0aCA+IDAgPyBgPyR7c3Rycy5qb2luKFwiJlwiKX1gIDogXCJcIjtcbn1cblxuY2xhc3MgUGFpcjxBLEI+IHsgY29uc3RydWN0b3IocHVibGljIGZpcnN0OkEsIHB1YmxpYyBzZWNvbmQ6Qikge30gfVxuZnVuY3Rpb24gcGFpcnM8VD4ob2JqOiB7W2tleTogc3RyaW5nXTogVH0pOlBhaXI8c3RyaW5nLFQ+W10ge1xuICBjb25zdCByZXMgPSBbXTtcbiAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICByZXMucHVzaChuZXcgUGFpcjxzdHJpbmcsIFQ+KHByb3AsIG9ialtwcm9wXSkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jb25zdCBTRUdNRU5UX1JFID0gL15bXlxcL1xcKFxcKVxcPzs9JiNdKy87XG5mdW5jdGlvbiBtYXRjaFVybFNlZ21lbnQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBTRUdNRU5UX1JFLmxhc3RJbmRleCA9IDA7XG4gIHZhciBtYXRjaCA9IFNFR01FTlRfUkUuZXhlYyhzdHIpO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6ICcnO1xufVxuXG5jb25zdCBRVUVSWV9QQVJBTV9WQUxVRV9SRSA9IC9eW15cXChcXClcXD87JiNdKy87XG5mdW5jdGlvbiBtYXRjaFVybFF1ZXJ5UGFyYW1WYWx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIFFVRVJZX1BBUkFNX1ZBTFVFX1JFLmxhc3RJbmRleCA9IDA7XG4gIGNvbnN0IG1hdGNoID0gUVVFUllfUEFSQU1fVkFMVUVfUkUuZXhlYyhzdHIpO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6ICcnO1xufVxuXG5jbGFzcyBVcmxQYXJzZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbWFpbmluZzogc3RyaW5nKSB7fVxuXG4gIHBlZWtTdGFydHNXaXRoKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnJlbWFpbmluZy5zdGFydHNXaXRoKHN0cik7IH1cblxuICBjYXB0dXJlKHN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlbWFpbmluZy5zdGFydHNXaXRoKHN0cikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgXCIke3N0cn1cIi5gKTtcbiAgICB9XG4gICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLnJlbWFpbmluZy5zdWJzdHJpbmcoc3RyLmxlbmd0aCk7XG4gIH1cblxuICBwYXJzZVJvb3RTZWdtZW50KCk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgICBpZiAodGhpcy5yZW1haW5pbmcgID09ICcnIHx8IHRoaXMucmVtYWluaW5nID09ICcvJykge1xuICAgICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50PihuZXcgVXJsU2VnbWVudCgnJywge30sIFBSSU1BUllfT1VUTEVUKSwgW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMucGFyc2VTZWdtZW50cyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KG5ldyBVcmxTZWdtZW50KCcnLCB7fSwgUFJJTUFSWV9PVVRMRVQpLCBzZWdtZW50cyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTZWdtZW50cyhoYXNPdXRsZXROYW1lOiBib29sZWFuKTogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSB7XG4gICAgaWYgKHRoaXMucmVtYWluaW5nLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmICh0aGlzLnBlZWtTdGFydHNXaXRoKCcvJykpIHtcbiAgICAgIHRoaXMuY2FwdHVyZSgnLycpO1xuICAgIH1cbiAgICBsZXQgcGF0aCA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgdGhpcy5jYXB0dXJlKHBhdGgpO1xuXG4gICAgbGV0IG91dGxldE5hbWU7XG4gICAgaWYgKGhhc091dGxldE5hbWUpIHtcbiAgICAgIGlmIChwYXRoLmluZGV4T2YoXCI6XCIpID09PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3Qgb3V0bGV0IG5hbWUgaXMgcHJvdmlkZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAocGF0aC5pbmRleE9mKFwiOlwiKSA+IC0xICYmIGhhc091dGxldE5hbWUpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gcGF0aC5zcGxpdChcIjpcIik7XG4gICAgICAgIG91dGxldE5hbWUgPSBwYXJ0c1swXTtcbiAgICAgICAgcGF0aCA9IHBhcnRzWzFdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGF0aC5pbmRleE9mKFwiOlwiKSA+IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBvdXRsZXQgbmFtZSBpcyBhbGxvd2VkXCIpO1xuICAgICAgfVxuICAgICAgb3V0bGV0TmFtZSA9IFBSSU1BUllfT1VUTEVUO1xuICAgIH1cblxuICAgIGxldCBtYXRyaXhQYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge307XG4gICAgaWYgKHRoaXMucGVla1N0YXJ0c1dpdGgoJzsnKSkge1xuICAgICAgbWF0cml4UGFyYW1zID0gdGhpcy5wYXJzZU1hdHJpeFBhcmFtcygpO1xuICAgIH1cblxuICAgIGxldCBzZWNvbmRhcnkgPSBbXTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnKCcpKSB7XG4gICAgICBzZWNvbmRhcnkgPSB0aGlzLnBhcnNlU2Vjb25kYXJ5U2VnbWVudHMoKTtcbiAgICB9XG5cbiAgICBsZXQgY2hpbGRyZW46IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10gPSBbXTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnLycpICYmICF0aGlzLnBlZWtTdGFydHNXaXRoKCcvLycpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJy8nKTtcbiAgICAgIGNoaWxkcmVuID0gdGhpcy5wYXJzZVNlZ21lbnRzKGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgbWF0cml4UGFyYW1zLCBvdXRsZXROYW1lKTtcbiAgICBjb25zdCBub2RlID0gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHNlZ21lbnQsIGNoaWxkcmVuKTtcbiAgICByZXR1cm4gW25vZGVdLmNvbmNhdChzZWNvbmRhcnkpO1xuICB9XG5cbiAgcGFyc2VRdWVyeVBhcmFtcygpOiB7W2tleTogc3RyaW5nXTogYW55fSB7XG4gICAgdmFyIHBhcmFtczoge1trZXk6IHN0cmluZ106IGFueX0gPSB7fTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnPycpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJz8nKTtcbiAgICAgIHRoaXMucGFyc2VRdWVyeVBhcmFtKHBhcmFtcyk7XG4gICAgICB3aGlsZSAodGhpcy5yZW1haW5pbmcubGVuZ3RoID4gMCAmJiB0aGlzLnBlZWtTdGFydHNXaXRoKCcmJykpIHtcbiAgICAgICAgdGhpcy5jYXB0dXJlKCcmJyk7XG4gICAgICAgIHRoaXMucGFyc2VRdWVyeVBhcmFtKHBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwYXJzZUZyYWdtZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLnBlZWtTdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbWFpbmluZy5zdWJzdHJpbmcoMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlTWF0cml4UGFyYW1zKCk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHtcbiAgICB2YXIgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSA9IHt9O1xuICAgIHdoaWxlICh0aGlzLnJlbWFpbmluZy5sZW5ndGggPiAwICYmIHRoaXMucGVla1N0YXJ0c1dpdGgoJzsnKSkge1xuICAgICAgdGhpcy5jYXB0dXJlKCc7Jyk7XG4gICAgICB0aGlzLnBhcnNlUGFyYW0ocGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHBhcnNlUGFyYW0ocGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSk6IHZvaWQge1xuICAgIHZhciBrZXkgPSBtYXRjaFVybFNlZ21lbnQodGhpcy5yZW1haW5pbmcpO1xuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2FwdHVyZShrZXkpO1xuICAgIHZhciB2YWx1ZTogYW55ID0gXCJ0cnVlXCI7XG4gICAgaWYgKHRoaXMucGVla1N0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgdGhpcy5jYXB0dXJlKCc9Jyk7XG4gICAgICB2YXIgdmFsdWVNYXRjaCA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgICBpZiAodmFsdWVNYXRjaCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlTWF0Y2g7XG4gICAgICAgIHRoaXMuY2FwdHVyZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHBhcnNlUXVlcnlQYXJhbShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KTogdm9pZCB7XG4gICAgdmFyIGtleSA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYXB0dXJlKGtleSk7XG4gICAgdmFyIHZhbHVlOiBhbnkgPSBcInRydWVcIjtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJz0nKTtcbiAgICAgIHZhciB2YWx1ZU1hdGNoID0gbWF0Y2hVcmxRdWVyeVBhcmFtVmFsdWUodGhpcy5yZW1haW5pbmcpO1xuICAgICAgaWYgKHZhbHVlTWF0Y2gpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU1hdGNoO1xuICAgICAgICB0aGlzLmNhcHR1cmUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBwYXJhbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcGFyc2VTZWNvbmRhcnlTZWdtZW50cygpOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdIHtcbiAgICB2YXIgc2VnbWVudHMgPSBbXTtcbiAgICB0aGlzLmNhcHR1cmUoJygnKTtcblxuICAgIHdoaWxlICghdGhpcy5wZWVrU3RhcnRzV2l0aCgnKScpICYmIHRoaXMucmVtYWluaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIHNlZ21lbnRzID0gc2VnbWVudHMuY29uY2F0KHRoaXMucGFyc2VTZWdtZW50cyh0cnVlKSk7XG4gICAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnLy8nKSkge1xuICAgICAgICB0aGlzLmNhcHR1cmUoJy8vJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2FwdHVyZSgnKScpO1xuXG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/url_tree.d.ts b/modules/@angular/router/build/es6/src/url_tree.d.ts deleted file mode 100644 index f9ea224dae..0000000000 --- a/modules/@angular/router/build/es6/src/url_tree.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -export declare function createEmptyUrlTree(): UrlTree; -export declare class UrlTree extends Tree { - queryParameters: { - [key: string]: string; - }; - fragment: string | null; - constructor(root: TreeNode, queryParameters: { - [key: string]: string; - }, fragment: string | null); -} -export declare class UrlSegment { - path: string; - parameters: { - [key: string]: string; - }; - outlet: string; - constructor(path: string, parameters: { - [key: string]: string; - }, outlet: string); - toString(): string; -} -export declare function equalUrlSegments(a: UrlSegment[], b: UrlSegment[]): boolean; diff --git a/modules/@angular/router/build/es6/src/url_tree.js b/modules/@angular/router/build/es6/src/url_tree.js deleted file mode 100644 index 197485284e..0000000000 --- a/modules/@angular/router/build/es6/src/url_tree.js +++ /dev/null @@ -1,43 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -import { shallowEqual } from './utils/collection'; -import { PRIMARY_OUTLET } from './shared'; -export function createEmptyUrlTree() { - return new UrlTree(new TreeNode(new UrlSegment("", {}, PRIMARY_OUTLET), []), {}, null); -} -export class UrlTree extends Tree { - constructor(root, queryParameters, fragment) { - super(root); - this.queryParameters = queryParameters; - this.fragment = fragment; - } -} -export class UrlSegment { - constructor(path, parameters, outlet) { - this.path = path; - this.parameters = parameters; - this.outlet = outlet; - } - toString() { - const params = []; - for (let prop in this.parameters) { - if (this.parameters.hasOwnProperty(prop)) { - params.push(`${prop}=${this.parameters[prop]}`); - } - } - const paramsString = params.length > 0 ? `(${params.join(',')})` : ''; - const outlet = this.outlet === PRIMARY_OUTLET ? '' : `${this.outlet}:`; - return `${outlet}${this.path}${paramsString}`; - } -} -export function equalUrlSegments(a, b) { - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; ++i) { - if (a[i].path !== b[i].path) - return false; - if (!shallowEqual(a[i].parameters, b[i].parameters)) - return false; - } - return true; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsX3RyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXJsX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYztPQUN0QyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQjtPQUMxQyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVU7QUFFekM7SUFDRSxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxRQUFRLENBQWEsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUtELDZCQUE2QixJQUFJO0lBSS9CLFlBQVksSUFBMEIsRUFBUyxlQUF3QyxFQUFTLFFBQXVCO1FBQ3JILE1BQU0sSUFBSSxDQUFDLENBQUM7UUFEaUMsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZTtJQUV2SCxDQUFDO0FBQ0gsQ0FBQztBQUVEO0lBSUUsWUFBbUIsSUFBWSxFQUFTLFVBQW1DLEVBQVMsTUFBYztRQUEvRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0RyxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdkUsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUM7QUFFRCxpQ0FBaUMsQ0FBZSxFQUFFLENBQWU7SUFDL0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmVlLCBUcmVlTm9kZSB9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5pbXBvcnQgeyBzaGFsbG93RXF1YWwgfSBmcm9tICcuL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgUFJJTUFSWV9PVVRMRVQgfSBmcm9tICcuL3NoYXJlZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbXB0eVVybFRyZWUoKSB7XG4gIHJldHVybiBuZXcgVXJsVHJlZShuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4obmV3IFVybFNlZ21lbnQoXCJcIiwge30sIFBSSU1BUllfT1VUTEVUKSwgW10pLCB7fSwgbnVsbCk7XG59XG5cbi8qKlxuICogQSBVUkwgaW4gdGhlIHRyZWUgZm9ybS5cbiAqL1xuZXhwb3J0IGNsYXNzIFVybFRyZWUgZXh0ZW5kcyBUcmVlPFVybFNlZ21lbnQ+IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3Iocm9vdDogVHJlZU5vZGU8VXJsU2VnbWVudD4sIHB1YmxpYyBxdWVyeVBhcmFtZXRlcnM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCBwdWJsaWMgZnJhZ21lbnQ6IHN0cmluZyB8IG51bGwpIHtcbiAgICBzdXBlcihyb290KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXJsU2VnbWVudCB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXRoOiBzdHJpbmcsIHB1YmxpYyBwYXJhbWV0ZXJzOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSwgcHVibGljIG91dGxldDogc3RyaW5nKSB7fVxuXG4gIHRvU3RyaW5nKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGZvciAobGV0IHByb3AgaW4gdGhpcy5wYXJhbWV0ZXJzKSB7XG4gICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKGAke3Byb3B9PSR7dGhpcy5wYXJhbWV0ZXJzW3Byb3BdfWApO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwYXJhbXNTdHJpbmcgPSBwYXJhbXMubGVuZ3RoID4gMCA/IGAoJHtwYXJhbXMuam9pbignLCcpfSlgIDogJyc7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUID8gJycgOiBgJHt0aGlzLm91dGxldH06YDtcbiAgICByZXR1cm4gYCR7b3V0bGV0fSR7dGhpcy5wYXRofSR7cGFyYW1zU3RyaW5nfWA7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsVXJsU2VnbWVudHMoYTogVXJsU2VnbWVudFtdLCBiOiBVcmxTZWdtZW50W10pOiBib29sZWFuIHtcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoYVtpXS5wYXRoICE9PSBiW2ldLnBhdGgpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIXNoYWxsb3dFcXVhbChhW2ldLnBhcmFtZXRlcnMsIGJbaV0ucGFyYW1ldGVycykpIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/utils/collection.d.ts b/modules/@angular/router/build/es6/src/utils/collection.d.ts deleted file mode 100644 index 8b0d7d8a67..0000000000 --- a/modules/@angular/router/build/es6/src/utils/collection.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export declare function shallowEqual(a: { - [x: string]: any; -}, b: { - [x: string]: any; -}): boolean; -export declare function flatten(a: T[][]): T[]; -export declare function first(a: T[]): T | null; -export declare function and(bools: boolean[]): boolean; -export declare function merge(m1: { - [key: string]: V; -}, m2: { - [key: string]: V; -}): { - [key: string]: V; -}; -export declare function forEach(map: { - [key: string]: V; -}, callback: Function): void; diff --git a/modules/@angular/router/build/es6/src/utils/collection.js b/modules/@angular/router/build/es6/src/utils/collection.js deleted file mode 100644 index f3ed6e7aec..0000000000 --- a/modules/@angular/router/build/es6/src/utils/collection.js +++ /dev/null @@ -1,52 +0,0 @@ -export function shallowEqual(a, b) { - var k1 = Object.keys(a); - var k2 = Object.keys(b); - if (k1.length != k2.length) { - return false; - } - var key; - for (var i = 0; i < k1.length; i++) { - key = k1[i]; - if (a[key] !== b[key]) { - return false; - } - } - return true; -} -export function flatten(a) { - const target = []; - for (let i = 0; i < a.length; ++i) { - for (let j = 0; j < a[i].length; ++j) { - target.push(a[i][j]); - } - } - return target; -} -export function first(a) { - return a.length > 0 ? a[0] : null; -} -export function and(bools) { - return bools.reduce((a, b) => a && b, true); -} -export function merge(m1, m2) { - var m = {}; - for (var attr in m1) { - if (m1.hasOwnProperty(attr)) { - m[attr] = m1[attr]; - } - } - for (var attr in m2) { - if (m2.hasOwnProperty(attr)) { - m[attr] = m2[attr]; - } - } - return m; -} -export function forEach(map, callback) { - for (var prop in map) { - if (map.hasOwnProperty(prop)) { - callback(map[prop], prop); - } - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QixDQUFtQixFQUFFLENBQW1CO0lBQ25FLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUM7SUFDUixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNuQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1osRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCx3QkFBMkIsQ0FBUTtJQUNqQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELHNCQUF5QixDQUFNO0lBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxvQkFBb0IsS0FBZ0I7SUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELHNCQUF5QixFQUFzQixFQUFFLEVBQXNCO0lBQ3JFLElBQUksQ0FBQyxHQUF1QixFQUFFLENBQUM7SUFFL0IsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCx3QkFBOEIsR0FBdUIsRUFBRSxRQUFxQztJQUMxRixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dFcXVhbChhOiB7W3g6c3RyaW5nXTphbnl9LCBiOiB7W3g6c3RyaW5nXTphbnl9KTogYm9vbGVhbiB7XG4gIHZhciBrMSA9IE9iamVjdC5rZXlzKGEpO1xuICB2YXIgazIgPSBPYmplY3Qua2V5cyhiKTtcbiAgaWYgKGsxLmxlbmd0aCAhPSBrMi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIGtleTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrMS5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IGsxW2ldO1xuICAgIGlmIChhW2tleV0gIT09IGJba2V5XSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW48VD4oYTogVFtdW10pOiBUW10ge1xuICBjb25zdCB0YXJnZXQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBhW2ldLmxlbmd0aDsgKytqKSB7XG4gICAgICB0YXJnZXQucHVzaChhW2ldW2pdKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0PFQ+KGE6IFRbXSk6IFQgfCBudWxsIHtcbiAgcmV0dXJuIGEubGVuZ3RoID4gMCA/IGFbMF0gOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYW5kKGJvb2xzOiBib29sZWFuW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGJvb2xzLnJlZHVjZSgoYSxiKSA9PiBhICYmIGIsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8Vj4obTE6IHtba2V5OiBzdHJpbmddOiBWfSwgbTI6IHtba2V5OiBzdHJpbmddOiBWfSk6IHtba2V5OiBzdHJpbmddOiBWfSB7XG4gIHZhciBtOiB7W2tleTogc3RyaW5nXTogVn0gPSB7fTtcblxuICBmb3IgKHZhciBhdHRyIGluIG0xKSB7XG4gICAgaWYgKG0xLmhhc093blByb3BlcnR5KGF0dHIpKSB7XG4gICAgICBtW2F0dHJdID0gbTFbYXR0cl07XG4gICAgfVxuICB9XG5cbiAgZm9yICh2YXIgYXR0ciBpbiBtMikge1xuICAgIGlmIChtMi5oYXNPd25Qcm9wZXJ0eShhdHRyKSkge1xuICAgICAgbVthdHRyXSA9IG0yW2F0dHJdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaDxLLCBWPihtYXA6IHtba2V5OiBzdHJpbmddOiBWfSwgY2FsbGJhY2s6IC8qKFYsIEspID0+IHZvaWQqLyBGdW5jdGlvbik6IHZvaWQge1xuICBmb3IgKHZhciBwcm9wIGluIG1hcCkge1xuICAgIGlmIChtYXAuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgIGNhbGxiYWNrKG1hcFtwcm9wXSwgcHJvcCk7XG4gICAgfVxuICB9XG59Il19 \ No newline at end of file diff --git a/modules/@angular/router/build/es6/src/utils/tree.d.ts b/modules/@angular/router/build/es6/src/utils/tree.d.ts deleted file mode 100644 index 1b28a53874..0000000000 --- a/modules/@angular/router/build/es6/src/utils/tree.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export declare class Tree { - _root: TreeNode; - constructor(root: TreeNode); - readonly root: T; - parent(t: T): T | null; - children(t: T): T[]; - firstChild(t: T): T | null; - siblings(t: T): T[]; - pathFromRoot(t: T): T[]; - contains(tree: Tree): boolean; -} -export declare class TreeNode { - value: T; - children: TreeNode[]; - constructor(value: T, children: TreeNode[]); -} diff --git a/modules/@angular/router/build/es6/src/utils/tree.js b/modules/@angular/router/build/es6/src/utils/tree.js deleted file mode 100644 index 20926871fa..0000000000 --- a/modules/@angular/router/build/es6/src/utils/tree.js +++ /dev/null @@ -1,68 +0,0 @@ -export class Tree { - constructor(root) { - this._root = root; - } - get root() { return this._root.value; } - parent(t) { - const p = this.pathFromRoot(t); - return p.length > 1 ? p[p.length - 2] : null; - } - children(t) { - const n = findNode(t, this._root); - return n ? n.children.map(t => t.value) : []; - } - firstChild(t) { - const n = findNode(t, this._root); - return n && n.children.length > 0 ? n.children[0].value : null; - } - siblings(t) { - const p = findPath(t, this._root, []); - if (p.length < 2) - return []; - const c = p[p.length - 2].children.map(c => c.value); - return c.filter(cc => cc !== t); - } - pathFromRoot(t) { return findPath(t, this._root, []).map(s => s.value); } - contains(tree) { return contains(this._root, tree._root); } -} -function findNode(expected, c) { - if (expected === c.value) - return c; - for (let cc of c.children) { - const r = findNode(expected, cc); - if (r) - return r; - } - return null; -} -function findPath(expected, c, collected) { - collected.push(c); - if (expected === c.value) - return collected; - for (let cc of c.children) { - const cloned = collected.slice(0); - const r = findPath(expected, cc, cloned); - if (r) - return r; - } - return []; -} -function contains(tree, subtree) { - if (tree.value !== subtree.value) - return false; - for (let subtreeNode of subtree.children) { - const s = tree.children.filter(child => child.value === subtreeNode.value); - if (s.length === 0) - return false; - if (!contains(s[0], subtreeNode)) - return false; - } - return true; -} -export class TreeNode { - constructor(value, children) { - this.value = value; - this.children = children; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBSUUsWUFBWSxJQUFpQjtRQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQUMsQ0FBQztJQUVyRCxJQUFJLElBQUksS0FBUSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxDQUFJO1FBQ1QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBSTtRQUNYLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxDQUFJO1FBQ2IsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBSTtRQUNYLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FB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QUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEO0lBQ0UsWUFBbUIsS0FBUSxFQUFTLFFBQXVCO1FBQXhDLFVBQUssR0FBTCxLQUFLLENBQUc7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFlO0lBQUcsQ0FBQztBQUNqRSxDQUFDO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVHJlZTxUPiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3Jvb3Q6IFRyZWVOb2RlPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKHJvb3Q6IFRyZWVOb2RlPFQ+KSB7IHRoaXMuX3Jvb3QgPSByb290OyB9XG5cbiAgZ2V0IHJvb3QoKTogVCB7IHJldHVybiB0aGlzLl9yb290LnZhbHVlOyB9XG5cbiAgcGFyZW50KHQ6IFQpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgcCA9IHRoaXMucGF0aEZyb21Sb290KHQpO1xuICAgIHJldHVybiBwLmxlbmd0aCA+IDEgPyBwW3AubGVuZ3RoIC0gMl0gOiBudWxsO1xuICB9XG5cbiAgY2hpbGRyZW4odDogVCk6IFRbXSB7XG4gICAgY29uc3QgbiA9IGZpbmROb2RlKHQsIHRoaXMuX3Jvb3QpO1xuICAgIHJldHVybiBuID8gbi5jaGlsZHJlbi5tYXAodCA9PiB0LnZhbHVlKSA6IFtdO1xuICB9XG5cbiAgZmlyc3RDaGlsZCh0OiBUKTogVCB8IG51bGwge1xuICAgIGNvbnN0IG4gPSBmaW5kTm9kZSh0LCB0aGlzLl9yb290KTtcbiAgICByZXR1cm4gbiAmJiBuLmNoaWxkcmVuLmxlbmd0aCA+IDAgPyBuLmNoaWxkcmVuWzBdLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIHNpYmxpbmdzKHQ6IFQpOiBUW10ge1xuICAgIGNvbnN0IHAgPSBmaW5kUGF0aCh0LCB0aGlzLl9yb290LCBbXSk7XG4gICAgaWYgKHAubGVuZ3RoIDwgMikgcmV0dXJuIFtdO1xuXG4gICAgY29uc3QgYyA9IHBbcC5sZW5ndGggLSAyXS5jaGlsZHJlbi5tYXAoYyA9PiBjLnZhbHVlKTtcbiAgICByZXR1cm4gYy5maWx0ZXIoY2MgPT4gY2MgIT09IHQpO1xuICB9XG5cbiAgcGF0aEZyb21Sb290KHQ6IFQpOiBUW10geyByZXR1cm4gZmluZFBhdGgodCwgdGhpcy5fcm9vdCwgW10pLm1hcChzID0+IHMudmFsdWUpOyB9XG5cbiAgY29udGFpbnModHJlZTogVHJlZTxUPik6IGJvb2xlYW4geyByZXR1cm4gY29udGFpbnModGhpcy5fcm9vdCwgdHJlZS5fcm9vdCk7IH1cbn1cblxuZnVuY3Rpb24gZmluZE5vZGU8VD4oZXhwZWN0ZWQ6IFQsIGM6IFRyZWVOb2RlPFQ+KTogVHJlZU5vZGU8VD4gfCBudWxsIHtcbiAgaWYgKGV4cGVjdGVkID09PSBjLnZhbHVlKSByZXR1cm4gYztcbiAgZm9yIChsZXQgY2Mgb2YgYy5jaGlsZHJlbikge1xuICAgIGNvbnN0IHIgPSBmaW5kTm9kZShleHBlY3RlZCwgY2MpO1xuICAgIGlmIChyKSByZXR1cm4gcjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZFBhdGg8VD4oZXhwZWN0ZWQ6IFQsIGM6IFRyZWVOb2RlPFQ+LCBjb2xsZWN0ZWQ6IFRyZWVOb2RlPFQ+W10pOiBUcmVlTm9kZTxUPltdIHtcbiAgY29sbGVjdGVkLnB1c2goYyk7XG4gIGlmIChleHBlY3RlZCA9PT0gYy52YWx1ZSkgcmV0dXJuIGNvbGxlY3RlZDtcblxuICBmb3IgKGxldCBjYyBvZiBjLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgY2xvbmVkID0gY29sbGVjdGVkLnNsaWNlKDApO1xuICAgIGNvbnN0IHIgPSBmaW5kUGF0aChleHBlY3RlZCwgY2MsIGNsb25lZCk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG5cbiAgcmV0dXJuIFtdO1xufVxuXG5mdW5jdGlvbiBjb250YWluczxUPih0cmVlOiBUcmVlTm9kZTxUPiwgc3VidHJlZTogVHJlZU5vZGU8VD4pOiBib29sZWFuIHtcbiAgaWYgKHRyZWUudmFsdWUgIT09IHN1YnRyZWUudmFsdWUpIHJldHVybiBmYWxzZTtcblxuICBmb3IgKGxldCBzdWJ0cmVlTm9kZSBvZiBzdWJ0cmVlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgcyA9IHRyZWUuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IGNoaWxkLnZhbHVlID09PSBzdWJ0cmVlTm9kZS52YWx1ZSk7XG4gICAgaWYgKHMubGVuZ3RoID09PSAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFjb250YWlucyhzWzBdLCBzdWJ0cmVlTm9kZSkpIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY2xhc3MgVHJlZU5vZGU8VD4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQsIHB1YmxpYyBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXSkge31cbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/package.json b/modules/@angular/router/build/package.json deleted file mode 100644 index 312420f918..0000000000 --- a/modules/@angular/router/build/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "vladivostok", - "version": "0.9.1", - "description": "", - "main": "./build/src/index.js", - "jsnext:main": "./build/es6/index.js", - "scripts": { - "karma": "karma start", - "test": "npm run build; karma start", - "build_watch": "rm -rf dist; tsc -w", - "build": "rm -rf dist; tsc", - "build_npm": "rm -rf dist && tsc -p tsconfig.publish.es5.json && tsc -p tsconfig.publish.es6.json", - "postbuild_npm": "cp package.json README.md dist/ && npm run rewrite_npm_package", - "rewrite_npm_package": "node --harmony_destructuring tools/rewrite-published-package.js", - "build_bundle": "cp -r src router && tsc typings/index.d.ts src/router.ts --rootDir . --module system -t es5 --outFile dist/bundles/router.js --moduleResolution node --emitDecoratorMetadata --experimentalDecorators" - }, - "keywords": [ - "angular2", - "angular", - "router" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/angular/vladivostok.git" - }, - "author": "vsavkin", - "license": "MIT", - "bugs": { - "url": "https://github.com/angular/vladivostok/issues" - }, - "homepage": "https://github.com/angular/vladivostok#readme", - "devDependencies": { - "es6-module-loader": "^0.17.10", - "es6-shim": "^0.35.0", - "gulp": "^3.9.0", - "gulp-jasmine": "^2.2.1", - "gulp-typescript": "^2.10.0", - "http-server": "^0.8.5", - "jasmine": "^2.4.1", - "jasmine-core": "^2.4.1", - "json": "^9.0.3", - "karma": "^0.13.19", - "karma-chrome-launcher": "^0.2.2", - "karma-firefox-launcher": "^0.1.7", - "karma-jasmine": "^0.3.6", - "karma-systemjs": "^0.10.0", - "karma-sourcemap-loader": "~0.3", - "parse5": "^1.3.2", - "protractor": "3.0.0", - "reflect-metadata": "0.1.2", - "systemjs": "^0.19.16", - "systemjs-builder": "^0.15.7", - "traceur": "0.0.96", - "tsd": "^0.6.5", - "typescript": "^1.9.0-dev.20160409", - "typings": "^1.0.4", - "zone.js": "^0.6.6" - }, - "typings": "router.d.ts", - "peerDependencies": { - "@angular/common": "2.0.0-rc.1", - "@angular/compiler": "2.0.0-rc.1", - "@angular/core": "2.0.0-rc.1", - "@angular/platform-browser": "2.0.0-rc.1", - "@angular/platform-browser-dynamic": "2.0.0-rc.1", - "rxjs": "5.0.0-beta.6" - } -} \ No newline at end of file diff --git a/modules/@angular/router/build/src/common_router_providers.d.ts b/modules/@angular/router/build/src/common_router_providers.d.ts deleted file mode 100644 index dea74761c8..0000000000 --- a/modules/@angular/router/build/src/common_router_providers.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterConfig } from './config'; -export declare function provideRouter(config: RouterConfig): any[]; diff --git a/modules/@angular/router/build/src/common_router_providers.js b/modules/@angular/router/build/src/common_router_providers.js deleted file mode 100644 index 7f29cf6abb..0000000000 --- a/modules/@angular/router/build/src/common_router_providers.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -var router_outlet_map_1 = require('./router_outlet_map'); -var url_serializer_1 = require('./url_serializer'); -var router_state_1 = require('./router_state'); -var router_1 = require('./router'); -var core_1 = require('@angular/core'); -var common_1 = require('@angular/common'); -function provideRouter(config) { - return [ - common_1.Location, - { provide: common_1.LocationStrategy, useClass: common_1.PathLocationStrategy }, - { provide: url_serializer_1.UrlSerializer, useClass: url_serializer_1.DefaultUrlSerializer }, - { - provide: router_1.Router, - useFactory: function (ref, resolver, urlSerializer, outletMap, location, injector) { - if (ref.componentTypes.length == 0) { - throw new Error("Bootstrap at least one component before injecting Router."); - } - var componentType = ref.componentTypes[0]; - var r = new router_1.Router(componentType, resolver, urlSerializer, outletMap, location, injector); - r.resetConfig(config); - ref.registerDisposeListener(function () { return r.dispose(); }); - return r; - }, - deps: [core_1.ApplicationRef, core_1.ComponentResolver, url_serializer_1.UrlSerializer, router_outlet_map_1.RouterOutletMap, common_1.Location, core_1.Injector] - }, - router_outlet_map_1.RouterOutletMap, - { provide: router_state_1.ActivatedRoute, useFactory: function (r) { return r.routerState.root; }, deps: [router_1.Router] }, - ]; -} -exports.provideRouter = provideRouter; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGtDQUFnQyxxQkFBcUIsQ0FBQyxDQUFBO0FBQ3RELCtCQUFvRCxrQkFBa0IsQ0FBQyxDQUFBO0FBQ3ZFLDZCQUErQixnQkFBZ0IsQ0FBQyxDQUFBO0FBQ2hELHVCQUF1QixVQUFVLENBQUMsQ0FBQTtBQUVsQyxxQkFBNEQsZUFBZSxDQUFDLENBQUE7QUFDNUUsdUJBQWlFLGlCQUFpQixDQUFDLENBQUE7QUFvQm5GLHVCQUE4QixNQUFvQjtJQUNoRCxNQUFNLENBQUM7UUFDTCxpQkFBUTtRQUNSLEVBQUMsT0FBTyxFQUFFLHlCQUFnQixFQUFFLFFBQVEsRUFBRSw2QkFBb0IsRUFBQztRQUMzRCxFQUFDLE9BQU8sRUFBRSw4QkFBYSxFQUFFLFFBQVEsRUFBRSxxQ0FBb0IsRUFBQztRQUV4RDtZQUNFLE9BQU8sRUFBRSxlQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRO2dCQUN0RSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7Z0JBQy9FLENBQUM7Z0JBQ0QsSUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBTSxDQUFDLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUYsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEIsR0FBRyxDQUFDLHVCQUF1QixDQUFDLGNBQU0sT0FBQSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQVgsQ0FBVyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMscUJBQWMsRUFBRSx3QkFBaUIsRUFBRSw4QkFBYSxFQUFFLG1DQUFlLEVBQUUsaUJBQVEsRUFBRSxlQUFRLENBQUM7U0FDOUY7UUFFRCxtQ0FBZTtRQUNmLEVBQUMsT0FBTyxFQUFFLDZCQUFjLEVBQUUsVUFBVSxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQWxCLENBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBTSxDQUFDLEVBQUM7S0FDakYsQ0FBQztBQUNKLENBQUM7QUF4QmUscUJBQWEsZ0JBd0I1QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyT3V0bGV0TWFwIH0gZnJvbSAnLi9yb3V0ZXJfb3V0bGV0X21hcCc7XG5pbXBvcnQgeyBVcmxTZXJpYWxpemVyLCBEZWZhdWx0VXJsU2VyaWFsaXplciB9IGZyb20gJy4vdXJsX3NlcmlhbGl6ZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICcuL3JvdXRlcic7XG5pbXBvcnQgeyBSb3V0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBDb21wb25lbnRSZXNvbHZlciwgQXBwbGljYXRpb25SZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5LCBQYXRoTG9jYXRpb25TdHJhdGVneSwgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEEgbGlzdCBvZiB7QGxpbmsgUHJvdmlkZXJ9cy4gVG8gdXNlIHRoZSByb3V0ZXIsIHlvdSBtdXN0IGFkZCB0aGlzIHRvIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBcbiAqIEBDb21wb25lbnQoe2RpcmVjdGl2ZXM6IFtST1VURVJfRElSRUNUSVZFU119KVxuICogY2xhc3MgQXBwQ21wIHtcbiAqICAgLy8gLi4uXG4gKiB9XG4gKlxuICogY29uc3Qgcm91dGVyID0gW1xuICogICB7cGF0aDogJy9ob21lJywgY29tcG9uZW50OiBIb21lfVxuICogXTtcbiAqXG4gKiBib290c3RyYXAoQXBwQ21wLCBbcHJvdmlkZVJvdXRlcihyb3V0ZXIpXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVSb3V0ZXIoY29uZmlnOiBSb3V0ZXJDb25maWcpOmFueVtdIHtcbiAgcmV0dXJuIFtcbiAgICBMb2NhdGlvbixcbiAgICB7cHJvdmlkZTogTG9jYXRpb25TdHJhdGVneSwgdXNlQ2xhc3M6IFBhdGhMb2NhdGlvblN0cmF0ZWd5fSxcbiAgICB7cHJvdmlkZTogVXJsU2VyaWFsaXplciwgdXNlQ2xhc3M6IERlZmF1bHRVcmxTZXJpYWxpemVyfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvdXRlcixcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWYsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3RvcikgPT4ge1xuICAgICAgICBpZiAocmVmLmNvbXBvbmVudFR5cGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQm9vdHN0cmFwIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgYmVmb3JlIGluamVjdGluZyBSb3V0ZXIuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWYuY29tcG9uZW50VHlwZXNbMF07XG4gICAgICAgIGNvbnN0IHIgPSBuZXcgUm91dGVyKGNvbXBvbmVudFR5cGUsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3Rvcik7XG4gICAgICAgIHIucmVzZXRDb25maWcoY29uZmlnKTtcbiAgICAgICAgcmVmLnJlZ2lzdGVyRGlzcG9zZUxpc3RlbmVyKCgpID0+IHIuZGlzcG9zZSgpKTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgICB9LFxuICAgICAgZGVwczogW0FwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZXNvbHZlciwgVXJsU2VyaWFsaXplciwgUm91dGVyT3V0bGV0TWFwLCBMb2NhdGlvbiwgSW5qZWN0b3JdXG4gICAgfSxcblxuICAgIFJvdXRlck91dGxldE1hcCxcbiAgICB7cHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZUZhY3Rvcnk6IChyKSA9PiByLnJvdXRlclN0YXRlLnJvb3QsIGRlcHM6IFtSb3V0ZXJdfSxcbiAgXTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/config.d.ts b/modules/@angular/router/build/src/config.d.ts deleted file mode 100644 index 2074d71163..0000000000 --- a/modules/@angular/router/build/src/config.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Type } from '@angular/core'; -export declare type RouterConfig = Route[]; -export interface Route { - index?: boolean; - path?: string; - component: Type | string; - outlet?: string; - canActivate?: any[]; - canDeactivate?: any[]; - children?: Route[]; -} diff --git a/modules/@angular/router/build/src/config.js b/modules/@angular/router/build/src/config.js deleted file mode 100644 index b6bbebb9a9..0000000000 --- a/modules/@angular/router/build/src/config.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJDb25maWcgPSBSb3V0ZVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlIHtcbiAgaW5kZXg/OiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xuICBjb21wb25lbnQ6IFR5cGUgfCBzdHJpbmc7XG4gIG91dGxldD86IHN0cmluZztcbiAgY2FuQWN0aXZhdGU/OiBhbnlbXSxcbiAgY2FuRGVhY3RpdmF0ZT86IGFueVtdLFxuICBjaGlsZHJlbj86IFJvdXRlW107XG59Il19 \ No newline at end of file diff --git a/modules/@angular/router/build/src/create_router_state.d.ts b/modules/@angular/router/build/src/create_router_state.d.ts deleted file mode 100644 index 4ff54a3c73..0000000000 --- a/modules/@angular/router/build/src/create_router_state.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterStateSnapshot, RouterState } from './router_state'; -export declare function createRouterState(curr: RouterStateSnapshot, prevState: RouterState): RouterState; diff --git a/modules/@angular/router/build/src/create_router_state.js b/modules/@angular/router/build/src/create_router_state.js deleted file mode 100644 index a78bf13a11..0000000000 --- a/modules/@angular/router/build/src/create_router_state.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -var router_state_1 = require('./router_state'); -var tree_1 = require('./utils/tree'); -var BehaviorSubject_1 = require('rxjs/BehaviorSubject'); -function createRouterState(curr, prevState) { - var root = createNode(curr._root, prevState ? prevState._root : undefined); - var queryParams = prevState ? prevState.queryParams : new BehaviorSubject_1.BehaviorSubject(curr.queryParams); - var fragment = prevState ? prevState.fragment : new BehaviorSubject_1.BehaviorSubject(curr.fragment); - return new router_state_1.RouterState(root, queryParams, fragment, curr); -} -exports.createRouterState = createRouterState; -function createNode(curr, prevState) { - if (prevState && equalRouteSnapshots(prevState.value.snapshot, curr.value)) { - var value = prevState.value; - value._futureSnapshot = curr.value; - var children = createOrReuseChildren(curr, prevState); - return new tree_1.TreeNode(value, children); - } - else { - var value = createActivatedRoute(curr.value); - var children = curr.children.map(function (c) { return createNode(c); }); - return new tree_1.TreeNode(value, children); - } -} -function createOrReuseChildren(curr, prevState) { - return curr.children.map(function (child) { - var index = prevState.children.findIndex(function (p) { return equalRouteSnapshots(p.value.snapshot, child.value); }); - if (index >= 0) { - return createNode(child, prevState.children[index]); - } - else { - return createNode(child); - } - }); -} -function createActivatedRoute(c) { - return new router_state_1.ActivatedRoute(new BehaviorSubject_1.BehaviorSubject(c.urlSegments), new BehaviorSubject_1.BehaviorSubject(c.params), c.outlet, c.component, c); -} -function equalRouteSnapshots(a, b) { - return a._routeConfig === b._routeConfig; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3JvdXRlcl9zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcmVhdGVfcm91dGVyX3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2QkFBeUYsZ0JBQWdCLENBQUMsQ0FBQTtBQUMxRyxxQkFBeUIsY0FBYyxDQUFDLENBQUE7QUFDeEMsZ0NBQWdDLHNCQUFzQixDQUFDLENBQUE7QUFFdkQsMkJBQWtDLElBQXlCLEVBQUUsU0FBc0I7SUFDakYsSUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDN0UsSUFBTSxXQUFXLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RixJQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sQ0FBQyxJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUxlLHlCQUFpQixvQkFLaEMsQ0FBQTtBQUVELG9CQUFvQixJQUFxQyxFQUFFLFNBQW1DO0lBQzVGLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRW5DLElBQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxlQUFRLENBQWlCLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV2RCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixJQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQWIsQ0FBYSxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksZUFBUSxDQUFpQixLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUM7QUFFRCwrQkFBK0IsSUFBcUMsRUFBRSxTQUFrQztJQUN0RyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLO1FBQzVCLElBQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFsRCxDQUFrRCxDQUFDLENBQUM7UUFDcEcsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsOEJBQThCLENBQXdCO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLDZCQUFjLENBQUMsSUFBSSxpQ0FBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLGlDQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6SCxDQUFDO0FBRUQsNkJBQTZCLENBQXlCLEVBQUUsQ0FBeUI7SUFDL0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyU3RhdGVTbmFwc2hvdCwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGUsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcy9CZWhhdmlvclN1YmplY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVyU3RhdGUoY3VycjogUm91dGVyU3RhdGVTbmFwc2hvdCwgcHJldlN0YXRlOiBSb3V0ZXJTdGF0ZSk6IFJvdXRlclN0YXRlIHtcbiAgY29uc3Qgcm9vdCA9IGNyZWF0ZU5vZGUoY3Vyci5fcm9vdCwgcHJldlN0YXRlID8gcHJldlN0YXRlLl9yb290IDogdW5kZWZpbmVkKTtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBwcmV2U3RhdGUgPyBwcmV2U3RhdGUucXVlcnlQYXJhbXMgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGN1cnIucXVlcnlQYXJhbXMpO1xuICBjb25zdCBmcmFnbWVudCA9IHByZXZTdGF0ZSA/IHByZXZTdGF0ZS5mcmFnbWVudCA6IG5ldyBCZWhhdmlvclN1YmplY3QoY3Vyci5mcmFnbWVudCk7XG4gIHJldHVybiBuZXcgUm91dGVyU3RhdGUocm9vdCwgcXVlcnlQYXJhbXMsIGZyYWdtZW50LCBjdXJyKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTm9kZShjdXJyOlRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+LCBwcmV2U3RhdGU/OlRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPik6VHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+IHtcbiAgaWYgKHByZXZTdGF0ZSAmJiBlcXVhbFJvdXRlU25hcHNob3RzKHByZXZTdGF0ZS52YWx1ZS5zbmFwc2hvdCwgY3Vyci52YWx1ZSkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHByZXZTdGF0ZS52YWx1ZTtcbiAgICB2YWx1ZS5fZnV0dXJlU25hcHNob3QgPSBjdXJyLnZhbHVlO1xuICAgIFxuICAgIGNvbnN0IGNoaWxkcmVuID0gY3JlYXRlT3JSZXVzZUNoaWxkcmVuKGN1cnIsIHByZXZTdGF0ZSk7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4odmFsdWUsIGNoaWxkcmVuKTtcblxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZhbHVlID0gY3JlYXRlQWN0aXZhdGVkUm91dGUoY3Vyci52YWx1ZSk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBjdXJyLmNoaWxkcmVuLm1hcChjID0+IGNyZWF0ZU5vZGUoYykpO1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+KHZhbHVlLCBjaGlsZHJlbik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlT3JSZXVzZUNoaWxkcmVuKGN1cnI6VHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4sIHByZXZTdGF0ZTpUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4pIHtcbiAgcmV0dXJuIGN1cnIuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHtcbiAgICBjb25zdCBpbmRleCA9IHByZXZTdGF0ZS5jaGlsZHJlbi5maW5kSW5kZXgocCA9PiBlcXVhbFJvdXRlU25hcHNob3RzKHAudmFsdWUuc25hcHNob3QsIGNoaWxkLnZhbHVlKSk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHJldHVybiBjcmVhdGVOb2RlKGNoaWxkLCBwcmV2U3RhdGUuY2hpbGRyZW5baW5kZXhdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNyZWF0ZU5vZGUoY2hpbGQpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFjdGl2YXRlZFJvdXRlKGM6QWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICByZXR1cm4gbmV3IEFjdGl2YXRlZFJvdXRlKG5ldyBCZWhhdmlvclN1YmplY3QoYy51cmxTZWdtZW50cyksIG5ldyBCZWhhdmlvclN1YmplY3QoYy5wYXJhbXMpLCBjLm91dGxldCwgYy5jb21wb25lbnQsIGMpO1xufVxuXG5mdW5jdGlvbiBlcXVhbFJvdXRlU25hcHNob3RzKGE6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgcmV0dXJuIGEuX3JvdXRlQ29uZmlnID09PSBiLl9yb3V0ZUNvbmZpZztcbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/create_url_tree.d.ts b/modules/@angular/router/build/src/create_url_tree.d.ts deleted file mode 100644 index 999cea0d39..0000000000 --- a/modules/@angular/router/build/src/create_url_tree.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { UrlTree } from './url_tree'; -import { ActivatedRoute } from './router_state'; -import { Params } from './shared'; -export declare function createUrlTree(route: ActivatedRoute, urlTree: UrlTree, commands: any[], queryParameters: Params | undefined, fragment: string | undefined): UrlTree; diff --git a/modules/@angular/router/build/src/create_url_tree.js b/modules/@angular/router/build/src/create_url_tree.js deleted file mode 100644 index 018ee86192..0000000000 --- a/modules/@angular/router/build/src/create_url_tree.js +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; -var url_tree_1 = require('./url_tree'); -var tree_1 = require('./utils/tree'); -var collection_1 = require('./utils/collection'); -var shared_1 = require('./shared'); -function createUrlTree(route, urlTree, commands, queryParameters, fragment) { - if (commands.length === 0) { - return tree(urlTree._root, urlTree, queryParameters, fragment); - } - var normalizedCommands = normalizeCommands(commands); - if (navigateToRoot(normalizedCommands)) { - return tree(new tree_1.TreeNode(urlTree.root, []), urlTree, queryParameters, fragment); - } - var startingNode = findStartingNode(normalizedCommands, urlTree, route); - var updated = normalizedCommands.commands.length > 0 ? - updateMany(startingNode.children.slice(0), normalizedCommands.commands) : - []; - var newRoot = constructNewTree(urlTree._root, startingNode, updated); - return tree(newRoot, urlTree, queryParameters, fragment); -} -exports.createUrlTree = createUrlTree; -function tree(root, urlTree, queryParameters, fragment) { - var q = queryParameters ? stringify(queryParameters) : urlTree.queryParameters; - var f = fragment ? fragment : urlTree.fragment; - return new url_tree_1.UrlTree(root, q, f); -} -function navigateToRoot(normalizedChange) { - return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 && - normalizedChange.commands[0] == "/"; -} -var NormalizedNavigationCommands = (function () { - function NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, commands) { - this.isAbsolute = isAbsolute; - this.numberOfDoubleDots = numberOfDoubleDots; - this.commands = commands; - } - return NormalizedNavigationCommands; -}()); -function normalizeCommands(commands) { - if ((typeof commands[0] === "string") && commands.length === 1 && commands[0] == "/") { - return new NormalizedNavigationCommands(true, 0, commands); - } - var numberOfDoubleDots = 0; - var isAbsolute = false; - var res = []; - for (var i = 0; i < commands.length; ++i) { - var c = commands[i]; - if (!(typeof c === "string")) { - res.push(c); - continue; - } - var parts = c.split('/'); - for (var j = 0; j < parts.length; ++j) { - var cc = parts[j]; - if (i == 0) { - if (j == 0 && cc == ".") { - } - else if (j == 0 && cc == "") { - isAbsolute = true; - } - else if (cc == "..") { - numberOfDoubleDots++; - } - else if (cc != '') { - res.push(cc); - } - } - else { - if (cc != '') { - res.push(cc); - } - } - } - } - return new NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res); -} -function findStartingNode(normalizedChange, urlTree, route) { - if (normalizedChange.isAbsolute) { - return urlTree._root; - } - else { - var urlSegment = findUrlSegment(route, urlTree, normalizedChange.numberOfDoubleDots); - return findMatchingNode(urlSegment, urlTree._root); - } -} -function findUrlSegment(route, urlTree, numberOfDoubleDots) { - var urlSegment = route.snapshot._lastUrlSegment; - var path = urlTree.pathFromRoot(urlSegment); - if (path.length <= numberOfDoubleDots) { - throw new Error("Invalid number of '../'"); - } - return path[path.length - 1 - numberOfDoubleDots]; -} -function findMatchingNode(segment, node) { - if (node.value === segment) - return node; - for (var _i = 0, _a = node.children; _i < _a.length; _i++) { - var c = _a[_i]; - var r = findMatchingNode(segment, c); - if (r) - return r; - } - throw new Error("Cannot find url segment '" + segment + "'"); -} -function constructNewTree(node, original, updated) { - if (node === original) { - return new tree_1.TreeNode(node.value, updated); - } - else { - return new tree_1.TreeNode(node.value, node.children.map(function (c) { return constructNewTree(c, original, updated); })); - } -} -function updateMany(nodes, commands) { - var outlet = getOutlet(commands); - var nodesInRightOutlet = nodes.filter(function (c) { return c.value.outlet === outlet; }); - if (nodesInRightOutlet.length > 0) { - var nodeRightOutlet = nodesInRightOutlet[0]; - nodes[nodes.indexOf(nodeRightOutlet)] = update(nodeRightOutlet, commands); - } - else { - nodes.push(update(null, commands)); - } - return nodes; -} -function getPath(commands) { - if (!(typeof commands[0] === "string")) - return commands[0]; - var parts = commands[0].toString().split(":"); - return parts.length > 1 ? parts[1] : commands[0]; -} -function getOutlet(commands) { - if (!(typeof commands[0] === "string")) - return shared_1.PRIMARY_OUTLET; - var parts = commands[0].toString().split(":"); - return parts.length > 1 ? parts[0] : shared_1.PRIMARY_OUTLET; -} -function update(node, commands) { - var rest = commands.slice(1); - var next = rest.length === 0 ? null : rest[0]; - var outlet = getOutlet(commands); - var path = getPath(commands); - if (!node && !(typeof next === 'object')) { - var urlSegment = new url_tree_1.UrlSegment(path, {}, outlet); - var children = rest.length === 0 ? [] : [update(null, rest)]; - return new tree_1.TreeNode(urlSegment, children); - } - else if (!node && typeof next === 'object') { - var urlSegment = new url_tree_1.UrlSegment(path, stringify(next), outlet); - return recurse(urlSegment, node, rest.slice(1)); - } - else if (node && outlet !== node.value.outlet) { - return node; - } - else if (node && typeof path === 'object') { - var newSegment = new url_tree_1.UrlSegment(node.value.path, stringify(path), node.value.outlet); - return recurse(newSegment, node, rest); - } - else if (node && typeof next === 'object' && compare(path, stringify(next), node.value)) { - return recurse(node.value, node, rest.slice(1)); - } - else if (node && typeof next === 'object') { - var urlSegment = new url_tree_1.UrlSegment(path, stringify(next), outlet); - return recurse(urlSegment, node, rest.slice(1)); - } - else if (node && compare(path, {}, node.value)) { - return recurse(node.value, node, rest); - } - else { - var urlSegment = new url_tree_1.UrlSegment(path, {}, outlet); - return recurse(urlSegment, node, rest); - } -} -function stringify(params) { - var res = {}; - collection_1.forEach(params, function (v, k) { return res[k] = v.toString(); }); - return res; -} -function compare(path, params, segment) { - return path == segment.path && collection_1.shallowEqual(params, segment.parameters); -} -function recurse(urlSegment, node, rest) { - if (rest.length === 0) { - return new tree_1.TreeNode(urlSegment, []); - } - var children = node ? node.children.slice(0) : []; - return new tree_1.TreeNode(urlSegment, updateMany(children, rest)); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUJBQXNELFlBQVksQ0FBQyxDQUFBO0FBQ25FLHFCQUF5QixjQUFjLENBQUMsQ0FBQTtBQUN4QywyQkFBc0Msb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCx1QkFBdUMsVUFBVSxDQUFDLENBQUE7QUFFbEQsdUJBQThCLEtBQXFCLEVBQUUsT0FBZ0IsRUFBRSxRQUFlLEVBQ3hELGVBQW1DLEVBQUUsUUFBNEI7SUFDN0YsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksZUFBUSxDQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsSUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFFLElBQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNsRCxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBQ3ZFLEVB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SSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLElBQUksZUFBUSxDQUFhLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV4RCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBTSxVQUFVLEdBQUcsSUFBSSxxQkFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFHZCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQU0sVUFBVSxHQUFHLElBQUkscUJBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFHekMsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFHbEQsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBR2xELENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUd6QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixJQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFFRCxtQkFBbUIsTUFBNEI7SUFDN0MsSUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2Ysb0JBQU8sQ0FBQyxNQUFNLEVBQUUsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsaUJBQWlCLElBQVksRUFBRSxNQUE0QixFQUFFLE9BQW1CO0lBQzlFLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELGlCQUFpQixVQUFzQixFQUFFLElBQWlDLEVBQ3hELElBQVc7SUFDM0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLGVBQVEsQ0FBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQU0sUUFBUSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEQsTUFBTSxDQUFDLElBQUksZUFBUSxDQUFhLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybFRyZWUsIFVybFNlZ21lbnQsIGVxdWFsVXJsU2VnbWVudHMgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IGZvckVhY2gsIHNoYWxsb3dFcXVhbCB9IGZyb20gJy4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZSwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXJsVHJlZShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybFRyZWU6IFVybFRyZWUsIGNvbW1hbmRzOiBhbnlbXSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnM6IFBhcmFtcyB8IHVuZGVmaW5lZCwgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBpZiAoY29tbWFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRyZWUodXJsVHJlZS5fcm9vdCwgdXJsVHJlZSwgcXVlcnlQYXJhbWV0ZXJzLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29tbWFuZHMgPSBub3JtYWxpemVDb21tYW5kcyhjb21tYW5kcyk7XG4gIGlmIChuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ29tbWFuZHMpKSB7XG4gICAgcmV0dXJuIHRyZWUobmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFRyZWUucm9vdCwgW10pLCB1cmxUcmVlLCBxdWVyeVBhcmFtZXRlcnMsIGZyYWdtZW50KTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0aW5nTm9kZSA9IGZpbmRTdGFydGluZ05vZGUobm9ybWFsaXplZENvbW1hbmRzLCB1cmxUcmVlLCByb3V0ZSk7XG4gIGNvbnN0IHVwZGF0ZWQgPSBub3JtYWxpemVkQ29tbWFuZHMuY29tbWFuZHMubGVuZ3RoID4gMCA/XG4gICAgICB1cGRhdGVNYW55KHN0YXJ0aW5nTm9kZS5jaGlsZHJlbi5zbGljZSgwKSwgbm9ybWFsaXplZENvbW1hbmRzLmNvbW1hbmRzKSA6XG4gICAgICBbXTtcbiAgY29uc3QgbmV3Um9vdCA9IGNvbnN0cnVjdE5ld1RyZWUodXJsVHJlZS5fcm9vdCwgc3RhcnRpbmdOb2RlLCB1cGRhdGVkKTtcblxuICByZXR1cm4gdHJlZShuZXdSb290LCB1cmxUcmVlLCBxdWVyeVBhcmFtZXRlcnMsIGZyYWdtZW50KTtcbn1cblxuZnVuY3Rpb24gdHJlZShyb290OiBUcmVlTm9kZTxVcmxTZWdtZW50PiwgdXJsVHJlZTogVXJsVHJlZSwgcXVlcnlQYXJhbWV0ZXJzOiBQYXJhbXMgfCB1bmRlZmluZWQsIGZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBVcmxUcmVlIHtcbiAgY29uc3QgcSA9IHF1ZXJ5UGFyYW1ldGVycyA/IHN0cmluZ2lmeShxdWVyeVBhcmFtZXRlcnMpIDogdXJsVHJlZS5xdWVyeVBhcmFtZXRlcnM7XG4gIGNvbnN0IGYgPSBmcmFnbWVudCA/IGZyYWdtZW50IDogdXJsVHJlZS5mcmFnbWVudDtcbiAgcmV0dXJuIG5ldyBVcmxUcmVlKHJvb3QsIHEsIGYpO1xufVxuXG5mdW5jdGlvbiBuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ2hhbmdlOiBOb3JtYWxpemVkTmF2aWdhdGlvbkNvbW1hbmRzKTogYm9vbGVhbiB7XG4gIHJldHVybiBub3JtYWxpemVkQ2hhbmdlLmlzQWJzb2x1dGUgJiYgbm9ybWFsaXplZENoYW5nZS5jb21tYW5kcy5sZW5ndGggPT09IDEgJiZcbiAgICBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzWzBdID09IFwiL1wiO1xufVxuXG5jbGFzcyBOb3JtYWxpemVkTmF2aWdhdGlvbkNvbW1hbmRzIHtcbiAgY29uc3RydWN0b3IocHVibGljIGlzQWJzb2x1dGU6IGJvb2xlYW4sIHB1YmxpYyBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlcixcbiAgICAgICAgICAgICAgcHVibGljIGNvbW1hbmRzOiBhbnlbXSkge31cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQ29tbWFuZHMoY29tbWFuZHM6IGFueVtdKTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyB7XG4gIGlmICgodHlwZW9mIGNvbW1hbmRzWzBdID09PSBcInN0cmluZ1wiKSAmJiBjb21tYW5kcy5sZW5ndGggPT09IDEgJiYgY29tbWFuZHNbMF0gPT0gXCIvXCIpIHtcbiAgICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHModHJ1ZSwgMCwgY29tbWFuZHMpO1xuICB9XG5cbiAgbGV0IG51bWJlck9mRG91YmxlRG90cyA9IDA7XG4gIGxldCBpc0Fic29sdXRlID0gZmFsc2U7XG4gIGNvbnN0IHJlcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tbWFuZHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBjID0gY29tbWFuZHNbaV07XG5cbiAgICBpZiAoISh0eXBlb2YgYyA9PT0gXCJzdHJpbmdcIikpIHtcbiAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSBjLnNwbGl0KCcvJyk7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwYXJ0cy5sZW5ndGg7ICsraikge1xuICAgICAgbGV0IGNjID0gcGFydHNbal07XG5cbiAgICAgIC8vIGZpcnN0IGV4cCBpcyB0cmVhdGVkIGluIGEgc3BlY2lhbCB3YXlcbiAgICAgIGlmIChpID09IDApIHtcbiAgICAgICAgaWYgKGogPT0gMCAmJiBjYyA9PSBcIi5cIikgeyAgLy8gICcuL2EnXG4gICAgICAgICAgLy8gc2tpcCBpdFxuICAgICAgICB9IGVsc2UgaWYgKGogPT0gMCAmJiBjYyA9PSBcIlwiKSB7ICAvLyAgJy9hJ1xuICAgICAgICAgIGlzQWJzb2x1dGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGNjID09IFwiLi5cIikgeyAgLy8gICcuLi9hJ1xuICAgICAgICAgIG51bWJlck9mRG91YmxlRG90cysrO1xuICAgICAgICB9IGVsc2UgaWYgKGNjICE9ICcnKSB7XG4gICAgICAgICAgcmVzLnB1c2goY2MpO1xuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyhpc0Fic29sdXRlLCBudW1iZXJPZkRvdWJsZURvdHMsIHJlcyk7XG59XG5cbmZ1bmN0aW9uIGZpbmRTdGFydGluZ05vZGUobm9ybWFsaXplZENoYW5nZTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcywgdXJsVHJlZTogVXJsVHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKG5vcm1hbGl6ZWRDaGFuZ2UuaXNBYnNvbHV0ZSkge1xuICAgIHJldHVybiB1cmxUcmVlLl9yb290O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVybFNlZ21lbnQgPVxuICAgICAgZmluZFVybFNlZ21lbnQocm91dGUsIHVybFRyZWUsIG5vcm1hbGl6ZWRDaGFuZ2UubnVtYmVyT2ZEb3VibGVEb3RzKTtcbiAgICByZXR1cm4gZmluZE1hdGNoaW5nTm9kZSh1cmxTZWdtZW50LCB1cmxUcmVlLl9yb290KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kVXJsU2VnbWVudChyb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybFRyZWU6IFVybFRyZWUsIG51bWJlck9mRG91YmxlRG90czogbnVtYmVyKTogVXJsU2VnbWVudCB7XG4gIGNvbnN0IHVybFNlZ21lbnQgPSByb3V0ZS5zbmFwc2hvdC5fbGFzdFVybFNlZ21lbnQ7XG4gIGNvbnN0IHBhdGggPSB1cmxUcmVlLnBhdGhGcm9tUm9vdCh1cmxTZWdtZW50KTtcbiAgaWYgKHBhdGgubGVuZ3RoIDw9IG51bWJlck9mRG91YmxlRG90cykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgbnVtYmVyIG9mICcuLi8nXCIpO1xuICB9XG4gIHJldHVybiBwYXRoW3BhdGgubGVuZ3RoIC0gMSAtIG51bWJlck9mRG91YmxlRG90c107XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudDogVXJsU2VnbWVudCwgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlLnZhbHVlID09PSBzZWdtZW50KSByZXR1cm4gbm9kZTtcbiAgZm9yIChsZXQgYyBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudCwgYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdXJsIHNlZ21lbnQgJyR7c2VnbWVudH0nYCk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdE5ld1RyZWUobm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4sIG9yaWdpbmFsOiBUcmVlTm9kZTxVcmxTZWdtZW50PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZDogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKG5vZGUgPT09IG9yaWdpbmFsKSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pihub2RlLnZhbHVlLCB1cGRhdGVkKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KFxuICAgICAgbm9kZS52YWx1ZSwgbm9kZS5jaGlsZHJlbi5tYXAoYyA9PiBjb25zdHJ1Y3ROZXdUcmVlKGMsIG9yaWdpbmFsLCB1cGRhdGVkKSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1hbnkobm9kZXM6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10sIGNvbW1hbmRzOiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10ge1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBub2Rlc0luUmlnaHRPdXRsZXQgPSBub2Rlcy5maWx0ZXIoYyA9PiBjLnZhbHVlLm91dGxldCA9PT0gb3V0bGV0KTtcbiAgaWYgKG5vZGVzSW5SaWdodE91dGxldC5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgbm9kZVJpZ2h0T3V0bGV0ID0gbm9kZXNJblJpZ2h0T3V0bGV0WzBdOyAgLy8gdGhlcmUgY2FuIGJlIG9ubHkgb25lXG4gICAgbm9kZXNbbm9kZXMuaW5kZXhPZihub2RlUmlnaHRPdXRsZXQpXSA9IHVwZGF0ZShub2RlUmlnaHRPdXRsZXQsIGNvbW1hbmRzKTtcbiAgfSBlbHNlIHtcbiAgICBub2Rlcy5wdXNoKHVwZGF0ZShudWxsLCBjb21tYW5kcykpO1xuICB9XG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0UGF0aChjb21tYW5kczogYW55W10pOiBhbnkge1xuICBpZiAoISh0eXBlb2YgY29tbWFuZHNbMF0gPT09IFwic3RyaW5nXCIpKSByZXR1cm4gY29tbWFuZHNbMF07XG4gIGNvbnN0IHBhcnRzID0gY29tbWFuZHNbMF0udG9TdHJpbmcoKS5zcGxpdChcIjpcIik7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiBjb21tYW5kc1swXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KGNvbW1hbmRzOiBhbnlbXSk6IHN0cmluZyB7XG4gIGlmICghKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gXCJzdHJpbmdcIikpIHJldHVybiBQUklNQVJZX09VVExFVDtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KFwiOlwiKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1swXSA6IFBSSU1BUllfT1VUTEVUO1xufVxuXG5mdW5jdGlvbiB1cGRhdGUobm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD58bnVsbCwgY29tbWFuZHM6IGFueVtdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBjb25zdCByZXN0ID0gY29tbWFuZHMuc2xpY2UoMSk7XG4gIGNvbnN0IG5leHQgPSByZXN0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXN0WzBdO1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChjb21tYW5kcyk7XG5cbiAgLy8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgdHJlZSA9PiBjcmVhdGUgbmV3IHRyZWUgbm9kZXMuXG4gIGlmICghbm9kZSAmJiAhKHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JykpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZXN0Lmxlbmd0aCA9PT0gMCA/IFtdIDogW3VwZGF0ZShudWxsLCByZXN0KV07XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBjaGlsZHJlbik7XG5cbiAgfSBlbHNlIGlmICghbm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gZGlmZmVyZW50IG91dGxldCA9PiBwcmVzZXJ2ZSB0aGUgc3VidHJlZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgb3V0bGV0ICE9PSBub2RlLnZhbHVlLm91dGxldCkge1xuICAgIHJldHVybiBub2RlO1xuXG4gICAgLy8gcGFyYW1zIGNvbW1hbmRcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBwYXRoID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG5ld1NlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChub2RlLnZhbHVlLnBhdGgsIHN0cmluZ2lmeShwYXRoKSwgbm9kZS52YWx1ZS5vdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKG5ld1NlZ21lbnQsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JyAmJiBjb21wYXJlKHBhdGgsIHN0cmluZ2lmeShuZXh0KSwgbm9kZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gcmVjdXJzZShub2RlLnZhbHVlLCBub2RlLCByZXN0LnNsaWNlKDEpKTtcblxuICAgIC8vIG5leHQgb25lIGlzIGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2FuIHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBjb21wYXJlKHBhdGgsIHt9LCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KHBhdGgsIHt9LCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICBjb25zdCByZXMgPSB7fTtcbiAgZm9yRWFjaChwYXJhbXMsICh2LCBrKSA9PiByZXNba10gPSB2LnRvU3RyaW5nKCkpO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlKHBhdGg6IHN0cmluZywgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSwgc2VnbWVudDogVXJsU2VnbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGF0aCA9PSBzZWdtZW50LnBhdGggJiYgc2hhbGxvd0VxdWFsKHBhcmFtcywgc2VnbWVudC5wYXJhbWV0ZXJzKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZSh1cmxTZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB8IG51bGwsXG4gICAgICAgICAgICAgICAgICByZXN0OiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKHJlc3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBbXSk7XG4gIH1cbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlID8gbm9kZS5jaGlsZHJlbi5zbGljZSgwKSA6IFtdO1xuICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFNlZ21lbnQsIHVwZGF0ZU1hbnkoY2hpbGRyZW4sIHJlc3QpKTtcbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/directives/router_link.d.ts b/modules/@angular/router/build/src/directives/router_link.d.ts deleted file mode 100644 index 5ce81cb7fc..0000000000 --- a/modules/@angular/router/build/src/directives/router_link.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Router } from '../router'; -import { ActivatedRoute } from '../router_state'; -export declare class RouterLink { - private router; - private route; - target: string; - private commands; - href: string; - constructor(router: Router, route: ActivatedRoute); - routerLink: any[] | string; - onClick(): boolean; - private updateTargetUrlAndHref(); -} diff --git a/modules/@angular/router/build/src/directives/router_link.js b/modules/@angular/router/build/src/directives/router_link.js deleted file mode 100644 index 663942d01f..0000000000 --- a/modules/@angular/router/build/src/directives/router_link.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var core_1 = require('@angular/core'); -var router_1 = require('../router'); -var router_state_1 = require('../router_state'); -var RouterLink = (function () { - function RouterLink(router, route) { - this.router = router; - this.route = route; - this.commands = []; - } - Object.defineProperty(RouterLink.prototype, "routerLink", { - set: function (data) { - if (Array.isArray(data)) { - this.commands = data; - } - else { - this.commands = [data]; - } - this.updateTargetUrlAndHref(); - }, - enumerable: true, - configurable: true - }); - RouterLink.prototype.onClick = function () { - if (!(typeof this.target === "string") || this.target == '_self') { - this.router.navigate(this.commands, { relativeTo: this.route }); - return false; - } - return true; - }; - RouterLink.prototype.updateTargetUrlAndHref = function () { - var tree = this.router.createUrlTree(this.commands, { relativeTo: this.route }); - if (tree) { - this.href = this.router.serializeUrl(tree); - } - }; - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], RouterLink.prototype, "target", void 0); - __decorate([ - core_1.HostBinding(), - __metadata('design:type', String) - ], RouterLink.prototype, "href", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object), - __metadata('design:paramtypes', [Object]) - ], RouterLink.prototype, "routerLink", null); - __decorate([ - core_1.HostListener("click"), - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', Boolean) - ], RouterLink.prototype, "onClick", null); - RouterLink = __decorate([ - core_1.Directive({ selector: '[routerLink]' }), - __metadata('design:paramtypes', [router_1.Router, router_state_1.ActivatedRoute]) - ], RouterLink); - return RouterLink; -}()); -exports.RouterLink = RouterLink; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX2xpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9yb3V0ZXJfbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEscUJBS08sZUFBZSxDQUFDLENBQUE7QUFDdkIsdUJBQXFCLFdBQVcsQ0FBQyxDQUFBO0FBQ2pDLDZCQUE2QixpQkFBaUIsQ0FBQyxDQUFBO0FBNEIvQztJQVVFLG9CQUFvQixNQUFjLEVBQVUsS0FBcUI7UUFBN0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBUnpELGFBQVEsR0FBVSxFQUFFLENBQUM7SUFRdUMsQ0FBQztJQUdyRSxzQkFBSSxrQ0FBVTthQUFkLFVBQWUsSUFBb0I7WUFDakMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7OztPQUFBO0lBR0QsNEJBQU8sR0FBUDtRQUVFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLDJDQUFzQixHQUE5QjtRQUNFLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDaEYsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFwQ0Q7UUFBQyxZQUFLLEVBQUU7OzhDQUFBO0lBSVI7UUFBQyxrQkFBVyxFQUFFOzs0Q0FBQTtJQU9kO1FBQUMsWUFBSyxFQUFFOzs7Z0RBQUE7SUFVUjtRQUFDLG1CQUFZLENBQUMsT0FBTyxDQUFDOzs7OzZDQUFBO0lBdkJ4QjtRQUFDLGdCQUFTLENBQUMsRUFBQyxRQUFRLEVBQUUsY0FBYyxFQUFDLENBQUM7O2tCQUFBO0lBdUN0QyxpQkFBQztBQUFELENBQUMsQUF0Q0QsSUFzQ0M7QUF0Q1ksa0JBQVUsYUFzQ3RCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJy4uL3JvdXRlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICcuLi9yb3V0ZXJfc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBSb3V0ZXJMaW5rIGRpcmVjdGl2ZSBsZXRzIHlvdSBsaW5rIHRvIHNwZWNpZmljIHBhcnRzIG9mIHlvdXIgYXBwLlxuICpcbiAqIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcm91dGUgY29uZmlndXJhdGlvbjpcblxuICogYGBgXG4gKiBbeyBwYXRoOiAnL3VzZXInLCBjb21wb25lbnQ6IFVzZXJDbXAgfV1cbiAqIGBgYFxuICpcbiAqIFdoZW4gbGlua2luZyB0byB0aGlzIGBVc2VyYCByb3V0ZSwgeW91IGNhbiB3cml0ZTpcbiAqXG4gKiBgYGBcbiAqIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3VzZXInXVwiPmxpbmsgdG8gdXNlciBjb21wb25lbnQ8L2E+XG4gKiBgYGBcbiAqXG4gKiBSb3V0ZXJMaW5rIGV4cGVjdHMgdGhlIHZhbHVlIHRvIGJlIGFuIGFycmF5IG9mIHBhdGggc2VnbWVudHMsIGZvbGxvd2VkIGJ5IHRoZSBwYXJhbXNcbiAqIGZvciB0aGF0IGxldmVsIG9mIHJvdXRpbmcuIEZvciBpbnN0YW5jZSBgWycvdGVhbScsIHt0ZWFtSWQ6IDF9LCAndXNlcicsIHt1c2VySWQ6IDJ9XWBcbiAqIG1lYW5zIHRoYXQgd2Ugd2FudCB0byBnZW5lcmF0ZSBhIGxpbmsgdG8gYC90ZWFtO3RlYW1JZD0xL3VzZXI7dXNlcklkPTJgLlxuICpcbiAqIFRoZSBmaXJzdCBzZWdtZW50IG5hbWUgY2FuIGJlIHByZXBlbmRlZCB3aXRoIGAvYCwgYC4vYCwgb3IgYC4uL2AuXG4gKiBJZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgL2AsIHRoZSByb3V0ZXIgd2lsbCBsb29rIHVwIHRoZSByb3V0ZSBmcm9tIHRoZSByb290IG9mIHRoZSBhcHAuXG4gKiBJZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgLi9gLCBvciBkb2Vzbid0IGJlZ2luIHdpdGggYSBzbGFzaCwgdGhlIHJvdXRlciB3aWxsXG4gKiBpbnN0ZWFkIGxvb2sgaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50J3MgY2hpbGRyZW4gZm9yIHRoZSByb3V0ZS5cbiAqIEFuZCBpZiB0aGUgc2VnbWVudCBiZWdpbnMgd2l0aCBgLi4vYCwgdGhlIHJvdXRlciB3aWxsIGdvIHVwIG9uZSBsZXZlbC5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbcm91dGVyTGlua10nfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rIHtcbiAgQElucHV0KCkgdGFyZ2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgY29tbWFuZHM6IGFueVtdID0gW107XG5cbiAgLy8gdGhlIHVybCBkaXNwbGF5ZWQgb24gdGhlIGFuY2hvciBlbGVtZW50LlxuICBASG9zdEJpbmRpbmcoKSBocmVmOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHt9XG5cbiAgQElucHV0KClcbiAgc2V0IHJvdXRlckxpbmsoZGF0YTogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgdGhpcy5jb21tYW5kcyA9IGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tbWFuZHMgPSBbZGF0YV07XG4gICAgfVxuICAgIHRoaXMudXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpO1xuICB9XG4gIFxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgb25DbGljaygpOiBib29sZWFuIHtcbiAgICAvLyBJZiBubyB0YXJnZXQsIG9yIGlmIHRhcmdldCBpcyBfc2VsZiwgcHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3JcbiAgICBpZiAoISh0eXBlb2YgdGhpcy50YXJnZXQgPT09IFwic3RyaW5nXCIpIHx8IHRoaXMudGFyZ2V0ID09ICdfc2VsZicpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMuY29tbWFuZHMsIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMuY29tbWFuZHMsIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgaWYgKHRyZWUpIHtcbiAgICAgIHRoaXMuaHJlZiA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/directives/router_outlet.d.ts b/modules/@angular/router/build/src/directives/router_outlet.d.ts deleted file mode 100644 index d67ccb3f79..0000000000 --- a/modules/@angular/router/build/src/directives/router_outlet.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ViewContainerRef, ComponentFactory, ResolvedReflectiveProvider } from '@angular/core'; -import { RouterOutletMap } from '../router_outlet_map'; -export declare class RouterOutlet { - private location; - private activated; - outletMap: RouterOutletMap; - constructor(parentOutletMap: RouterOutletMap, location: ViewContainerRef, name: string); - readonly isActivated: boolean; - readonly component: Object; - deactivate(): void; - activate(factory: ComponentFactory, providers: ResolvedReflectiveProvider[], outletMap: RouterOutletMap): void; -} diff --git a/modules/@angular/router/build/src/directives/router_outlet.js b/modules/@angular/router/build/src/directives/router_outlet.js deleted file mode 100644 index be86483d03..0000000000 --- a/modules/@angular/router/build/src/directives/router_outlet.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -var core_1 = require('@angular/core'); -var router_outlet_map_1 = require('../router_outlet_map'); -var shared_1 = require('../shared'); -var RouterOutlet = (function () { - function RouterOutlet(parentOutletMap, location, name) { - this.location = location; - parentOutletMap.registerOutlet(name ? name : shared_1.PRIMARY_OUTLET, this); - } - Object.defineProperty(RouterOutlet.prototype, "isActivated", { - get: function () { return !!this.activated; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(RouterOutlet.prototype, "component", { - get: function () { - if (!this.activated) - throw new Error("Outlet is not activated"); - return this.activated.instance; - }, - enumerable: true, - configurable: true - }); - RouterOutlet.prototype.deactivate = function () { - if (this.activated) { - this.activated.destroy(); - this.activated = null; - } - }; - RouterOutlet.prototype.activate = function (factory, providers, outletMap) { - this.outletMap = outletMap; - var inj = core_1.ReflectiveInjector.fromResolvedProviders(providers, this.location.parentInjector); - this.activated = this.location.createComponent(factory, this.location.length, inj, []); - }; - RouterOutlet = __decorate([ - core_1.Directive({ selector: 'router-outlet' }), - __param(2, core_1.Attribute('name')), - __metadata('design:paramtypes', [router_outlet_map_1.RouterOutletMap, core_1.ViewContainerRef, String]) - ], RouterOutlet); - return RouterOutlet; -}()); -exports.RouterOutlet = RouterOutlet; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX291dGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL3JvdXRlcl9vdXRsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFCQUErSSxlQUFlLENBQUMsQ0FBQTtBQUMvSixrQ0FBOEIsc0JBQXNCLENBQUMsQ0FBQTtBQUNyRCx1QkFBNkIsV0FBVyxDQUFDLENBQUE7QUFHekM7SUFPRSxzQkFBWSxlQUErQixFQUFVLFFBQXlCLEVBQy9DLElBQVc7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1RSxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsdUJBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsc0JBQUkscUNBQVc7YUFBZixjQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTtJQUN2RCxzQkFBSSxtQ0FBUzthQUFiO1lBQ0UsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDakMsQ0FBQzs7O09BQUE7SUFFRCxpQ0FBVSxHQUFWO1FBQ0UsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELCtCQUFRLEdBQVIsVUFBUyxPQUE4QixFQUFFLFNBQXVDLEVBQ3ZFLFNBQTBCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQU0sR0FBRyxHQUFHLHlCQUFrQixDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBL0JIO1FBQUMsZ0JBQVMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsQ0FBQzttQkFTeEIsZ0JBQVMsQ0FBQyxNQUFNLENBQUM7O29CQVRPO0lBZ0N2QyxtQkFBQztBQUFELENBQUMsQUEvQkQsSUErQkM7QUEvQlksb0JBQVksZUErQnhCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yLCBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIEF0dHJpYnV0ZSwgQ29tcG9uZW50UmVmLCBDb21wb25lbnRGYWN0b3J5LCBSZXNvbHZlZFJlZmxlY3RpdmVQcm92aWRlciwgUmVmbGVjdGl2ZUluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyT3V0bGV0TWFwfSBmcm9tICcuLi9yb3V0ZXJfb3V0bGV0X21hcCc7XG5pbXBvcnQge1BSSU1BUllfT1VUTEVUfSBmcm9tICcuLi9zaGFyZWQnO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ3JvdXRlci1vdXRsZXQnfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJPdXRsZXQge1xuICBwcml2YXRlIGFjdGl2YXRlZDpDb21wb25lbnRSZWY8YW55PnxudWxsO1xuICBwdWJsaWMgb3V0bGV0TWFwOlJvdXRlck91dGxldE1hcDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwYXJlbnRPdXRsZXRNYXA6Um91dGVyT3V0bGV0TWFwLCBwcml2YXRlIGxvY2F0aW9uOlZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBuYW1lOnN0cmluZykge1xuICAgIHBhcmVudE91dGxldE1hcC5yZWdpc3Rlck91dGxldChuYW1lID8gbmFtZSA6IFBSSU1BUllfT1VUTEVULCB0aGlzKTtcbiAgfVxuXG4gIGdldCBpc0FjdGl2YXRlZCgpOiBib29sZWFuIHsgcmV0dXJuICEhdGhpcy5hY3RpdmF0ZWQ7IH1cbiAgZ2V0IGNvbXBvbmVudCgpOiBPYmplY3Qge1xuICAgIGlmICghdGhpcy5hY3RpdmF0ZWQpIHRocm93IG5ldyBFcnJvcihcIk91dGxldCBpcyBub3QgYWN0aXZhdGVkXCIpO1xuICAgIHJldHVybiB0aGlzLmFjdGl2YXRlZC5pbnN0YW5jZTtcbiAgfVxuXG4gIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZhdGVkKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlZC5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFjdGl2YXRlZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgYWN0aXZhdGUoZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxhbnk+LCBwcm92aWRlcnM6IFJlc29sdmVkUmVmbGVjdGl2ZVByb3ZpZGVyW10sXG4gICAgICAgICAgIG91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwKTogdm9pZCB7XG4gICAgdGhpcy5vdXRsZXRNYXAgPSBvdXRsZXRNYXA7XG4gICAgY29uc3QgaW5qID0gUmVmbGVjdGl2ZUluamVjdG9yLmZyb21SZXNvbHZlZFByb3ZpZGVycyhwcm92aWRlcnMsIHRoaXMubG9jYXRpb24ucGFyZW50SW5qZWN0b3IpO1xuICAgIHRoaXMuYWN0aXZhdGVkID0gdGhpcy5sb2NhdGlvbi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgdGhpcy5sb2NhdGlvbi5sZW5ndGgsIGluaiwgW10pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/index.d.ts b/modules/@angular/router/build/src/index.d.ts deleted file mode 100644 index f0c682f846..0000000000 --- a/modules/@angular/router/build/src/index.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { Router, Event, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from './router'; -export { UrlSerializer, DefaultUrlSerializer } from './url_serializer'; -export { RouterState, ActivatedRoute, RouterStateSnapshot, ActivatedRouteSnapshot } from './router_state'; -export { UrlTree, UrlSegment } from './url_tree'; -export { RouterOutletMap } from './router_outlet_map'; -export { RouterConfig, Route } from './config'; -export { Params, PRIMARY_OUTLET } from './shared'; -export { provideRouter } from './router_providers'; -export { CanActivate, CanDeactivate } from './interfaces'; -import { RouterOutlet } from './directives/router_outlet'; -import { RouterLink } from './directives/router_link'; -export declare const ROUTER_DIRECTIVES: (typeof RouterOutlet | typeof RouterLink)[]; diff --git a/modules/@angular/router/build/src/index.js b/modules/@angular/router/build/src/index.js deleted file mode 100644 index 6e03a0c2c2..0000000000 --- a/modules/@angular/router/build/src/index.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var router_1 = require('./router'); -exports.Router = router_1.Router; -exports.NavigationStart = router_1.NavigationStart; -exports.NavigationEnd = router_1.NavigationEnd; -exports.NavigationCancel = router_1.NavigationCancel; -exports.NavigationError = router_1.NavigationError; -var url_serializer_1 = require('./url_serializer'); -exports.UrlSerializer = url_serializer_1.UrlSerializer; -exports.DefaultUrlSerializer = url_serializer_1.DefaultUrlSerializer; -var router_state_1 = require('./router_state'); -exports.RouterState = router_state_1.RouterState; -exports.ActivatedRoute = router_state_1.ActivatedRoute; -exports.RouterStateSnapshot = router_state_1.RouterStateSnapshot; -exports.ActivatedRouteSnapshot = router_state_1.ActivatedRouteSnapshot; -var url_tree_1 = require('./url_tree'); -exports.UrlTree = url_tree_1.UrlTree; -exports.UrlSegment = url_tree_1.UrlSegment; -var router_outlet_map_1 = require('./router_outlet_map'); -exports.RouterOutletMap = router_outlet_map_1.RouterOutletMap; -var shared_1 = require('./shared'); -exports.PRIMARY_OUTLET = shared_1.PRIMARY_OUTLET; -var router_providers_1 = require('./router_providers'); -exports.provideRouter = router_providers_1.provideRouter; -var router_outlet_1 = require('./directives/router_outlet'); -var router_link_1 = require('./directives/router_link'); -exports.ROUTER_DIRECTIVES = [router_outlet_1.RouterOutlet, router_link_1.RouterLink]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUFpRyxVQUFVLENBQUM7QUFBbkcsaUNBQU07QUFBUyxtREFBZTtBQUFFLCtDQUFhO0FBQUUscURBQWdCO0FBQUUsbURBQWtDO0FBQzVHLCtCQUFvRCxrQkFBa0IsQ0FBQztBQUE5RCx1REFBYTtBQUFFLHFFQUErQztBQUN2RSw2QkFBeUYsZ0JBQWdCLENBQUM7QUFBakcsaURBQVc7QUFBRSx1REFBYztBQUFFLGlFQUFtQjtBQUFFLHVFQUErQztBQUMxRyx5QkFBbUMsWUFBWSxDQUFDO0FBQXZDLHFDQUFPO0FBQUUsMkNBQThCO0FBQ2hELGtDQUFnQyxxQkFBcUIsQ0FBQztBQUE3Qyw4REFBNkM7QUFFdEQsdUJBQXVDLFVBQVUsQ0FBQztBQUFqQyxpREFBaUM7QUFDbEQsaUNBQThCLG9CQUFvQixDQUFDO0FBQTFDLHlEQUEwQztBQUduRCw4QkFBNkIsNEJBQTRCLENBQUMsQ0FBQTtBQUMxRCw0QkFBMkIsMEJBQTBCLENBQUMsQ0FBQTtBQUV6Qyx5QkFBaUIsR0FBRyxDQUFDLDRCQUFZLEVBQUUsd0JBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUm91dGVyLCBFdmVudCwgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRXJyb3IgfSBmcm9tICcuL3JvdXRlcic7XG5leHBvcnQgeyBVcmxTZXJpYWxpemVyLCBEZWZhdWx0VXJsU2VyaWFsaXplciB9IGZyb20gJy4vdXJsX3NlcmlhbGl6ZXInO1xuZXhwb3J0IHsgUm91dGVyU3RhdGUsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuZXhwb3J0IHsgVXJsVHJlZSwgVXJsU2VnbWVudH0gZnJvbSAnLi91cmxfdHJlZSc7XG5leHBvcnQgeyBSb3V0ZXJPdXRsZXRNYXAgfSBmcm9tICcuL3JvdXRlcl9vdXRsZXRfbWFwJztcbmV4cG9ydCB7IFJvdXRlckNvbmZpZywgUm91dGUgfSBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgeyBQYXJhbXMsIFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0IHsgcHJvdmlkZVJvdXRlciB9IGZyb20gJy4vcm91dGVyX3Byb3ZpZGVycyc7XG5leHBvcnQgeyBDYW5BY3RpdmF0ZSwgQ2FuRGVhY3RpdmF0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJy4vZGlyZWN0aXZlcy9yb3V0ZXJfb3V0bGV0JztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcm91dGVyX2xpbmsnO1xuXG5leHBvcnQgY29uc3QgUk9VVEVSX0RJUkVDVElWRVMgPSBbUm91dGVyT3V0bGV0LCBSb3V0ZXJMaW5rXTsiXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/interfaces.d.ts b/modules/@angular/router/build/src/interfaces.d.ts deleted file mode 100644 index ded9c1ede9..0000000000 --- a/modules/@angular/router/build/src/interfaces.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Observable } from 'rxjs/Observable'; -import { ActivatedRouteSnapshot, RouterStateSnapshot } from './router_state'; -export interface CanActivate { - canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; -} -export interface CanDeactivate { - canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; -} diff --git a/modules/@angular/router/build/src/interfaces.js b/modules/@angular/router/build/src/interfaces.js deleted file mode 100644 index 55b1366458..0000000000 --- a/modules/@angular/router/build/src/interfaces.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3R9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgYSBjbGFzcyBjYW4gaW1wbGVtZW50IHRvIGJlIGEgZ3VhcmQgZGVjaWRpbmcgaWYgYSByb3V0ZSBjYW4gYmUgYWN0aXZhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbkFjdGl2YXRlIHtcbiAgY2FuQWN0aXZhdGUocm91dGU6QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6Um91dGVyU3RhdGVTbmFwc2hvdCk6T2JzZXJ2YWJsZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGEgY2xhc3MgY2FuIGltcGxlbWVudCB0byBiZSBhIGd1YXJkIGRlY2lkaW5nIGlmIGEgcm91dGUgY2FuIGJlIGRlYWN0aXZhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbkRlYWN0aXZhdGU8VD4ge1xuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDpULCByb3V0ZTpBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTpSb3V0ZXJTdGF0ZVNuYXBzaG90KTpPYnNlcnZhYmxlPGJvb2xlYW4+IHwgYm9vbGVhbjtcbn0iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/recognize.d.ts b/modules/@angular/router/build/src/recognize.d.ts deleted file mode 100644 index fbfa415c1f..0000000000 --- a/modules/@angular/router/build/src/recognize.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UrlTree } from './url_tree'; -import { RouterStateSnapshot } from './router_state'; -import { RouterConfig } from './config'; -import { Type } from '@angular/core'; -import { Observable } from 'rxjs/Observable'; -export declare function recognize(rootComponentType: Type, config: RouterConfig, url: UrlTree): Observable; diff --git a/modules/@angular/router/build/src/recognize.js b/modules/@angular/router/build/src/recognize.js deleted file mode 100644 index fc75901e7d..0000000000 --- a/modules/@angular/router/build/src/recognize.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -var collection_1 = require('./utils/collection'); -var tree_1 = require('./utils/tree'); -var router_state_1 = require('./router_state'); -var shared_1 = require('./shared'); -var Observable_1 = require('rxjs/Observable'); -function recognize(rootComponentType, config, url) { - try { - var match_1 = new MatchResult(rootComponentType, config, [url.root], {}, url._root.children, [], shared_1.PRIMARY_OUTLET, null, url.root); - var roots = constructActivatedRoute(match_1); - var res_1 = new router_state_1.RouterStateSnapshot(roots[0], url.queryParameters, url.fragment); - return new Observable_1.Observable(function (obs) { - obs.next(res_1); - obs.complete(); - }); - } - catch (e) { - return new Observable_1.Observable(function (obs) { return obs.error(e); }); - } -} -exports.recognize = recognize; -function constructActivatedRoute(match) { - var activatedRoute = createActivatedRouteSnapshot(match); - var children = match.leftOverUrl.length > 0 ? - recognizeMany(match.children, match.leftOverUrl) : recognizeLeftOvers(match.children, match.lastUrlSegment); - checkOutletNameUniqueness(children); - children.sort(function (a, b) { - if (a.value.outlet === shared_1.PRIMARY_OUTLET) - return -1; - if (b.value.outlet === shared_1.PRIMARY_OUTLET) - return 1; - return a.value.outlet.localeCompare(b.value.outlet); - }); - return [new tree_1.TreeNode(activatedRoute, children)]; -} -function recognizeLeftOvers(config, lastUrlSegment) { - if (!config) - return []; - var mIndex = matchIndex(config, [], lastUrlSegment); - return mIndex ? constructActivatedRoute(mIndex) : []; -} -function recognizeMany(config, urls) { - return collection_1.flatten(urls.map(function (url) { return recognizeOne(config, url); })); -} -function createActivatedRouteSnapshot(match) { - return new router_state_1.ActivatedRouteSnapshot(match.consumedUrlSegments, match.parameters, match.outlet, match.component, match.route, match.lastUrlSegment); -} -function recognizeOne(config, url) { - var m = match(config, url); - var primary = constructActivatedRoute(m); - var secondary = recognizeMany(config, m.secondary); - var res = primary.concat(secondary); - checkOutletNameUniqueness(res); - return res; -} -function checkOutletNameUniqueness(nodes) { - var names = {}; - nodes.forEach(function (n) { - var routeWithSameOutletName = names[n.value.outlet]; - if (routeWithSameOutletName) { - var p = routeWithSameOutletName.urlSegments.map(function (s) { return s.toString(); }).join("/"); - var c = n.value.urlSegments.map(function (s) { return s.toString(); }).join("/"); - throw new Error("Two segments cannot have the same outlet name: '" + p + "' and '" + c + "'."); - } - names[n.value.outlet] = n.value; - }); - return nodes; -} -function match(config, url) { - var m = matchNonIndex(config, url); - if (m) - return m; - var mIndex = matchIndex(config, [url], url.value); - if (mIndex) - return mIndex; - var availableRoutes = config.map(function (r) { - var outlet = !r.outlet ? '' : r.outlet + ":"; - return "'" + outlet + r.path + "'"; - }).join(", "); - throw new Error("Cannot match any routes. Current segment: '" + url.value + "'. Available routes: [" + availableRoutes + "]."); -} -function matchNonIndex(config, url) { - for (var _i = 0, config_1 = config; _i < config_1.length; _i++) { - var r = config_1[_i]; - var m = matchWithParts(r, url); - if (m) - return m; - } - return null; -} -function matchIndex(config, leftOverUrls, lastUrlSegment) { - for (var _i = 0, config_2 = config; _i < config_2.length; _i++) { - var r = config_2[_i]; - if (r.index) { - var outlet = r.outlet ? r.outlet : shared_1.PRIMARY_OUTLET; - var children = r.children ? r.children : []; - return new MatchResult(r.component, children, [], lastUrlSegment.parameters, leftOverUrls, [], outlet, r, lastUrlSegment); - } - } - return null; -} -function matchWithParts(route, url) { - if (!route.path) - return null; - if ((route.outlet ? route.outlet : shared_1.PRIMARY_OUTLET) !== url.value.outlet) - return null; - var path = route.path.startsWith("/") ? route.path.substring(1) : route.path; - if (path === "**") { - var consumedUrl = []; - var u = url; - while (u) { - consumedUrl.push(u.value); - u = collection_1.first(u.children); - } - var last = consumedUrl[consumedUrl.length - 1]; - return new MatchResult(route.component, [], consumedUrl, last.parameters, [], [], shared_1.PRIMARY_OUTLET, route, last); - } - var parts = path.split("/"); - var positionalParams = {}; - var consumedUrlSegments = []; - var lastParent = null; - var lastSegment = null; - var current = url; - for (var i = 0; i < parts.length; ++i) { - if (!current) - return null; - var p_1 = parts[i]; - var isLastSegment = i === parts.length - 1; - var isLastParent = i === parts.length - 2; - var isPosParam = p_1.startsWith(":"); - if (!isPosParam && p_1 != current.value.path) - return null; - if (isLastSegment) { - lastSegment = current; - } - if (isLastParent) { - lastParent = current; - } - if (isPosParam) { - positionalParams[p_1.substring(1)] = current.value.path; - } - consumedUrlSegments.push(current.value); - current = collection_1.first(current.children); - } - if (!lastSegment) - throw "Cannot be reached"; - var p = lastSegment.value.parameters; - var parameters = collection_1.merge(p, positionalParams); - var secondarySubtrees = lastParent ? lastParent.children.slice(1) : []; - var children = route.children ? route.children : []; - var outlet = route.outlet ? route.outlet : shared_1.PRIMARY_OUTLET; - return new MatchResult(route.component, children, consumedUrlSegments, parameters, lastSegment.children, secondarySubtrees, outlet, route, lastSegment.value); -} -var MatchResult = (function () { - function MatchResult(component, children, consumedUrlSegments, parameters, leftOverUrl, secondary, outlet, route, lastUrlSegment) { - this.component = component; - this.children = children; - this.consumedUrlSegments = consumedUrlSegments; - this.parameters = parameters; - this.leftOverUrl = leftOverUrl; - this.secondary = secondary; - this.outlet = outlet; - this.route = route; - this.lastUrlSegment = lastUrlSegment; - } - return MatchResult; -}()); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb2duaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlY29nbml6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsMkJBQXNDLG9CQUFvQixDQUFDLENBQUE7QUFDM0QscUJBQXlCLGNBQWMsQ0FBQyxDQUFBO0FBQ3hDLDZCQUE0RCxnQkFBZ0IsQ0FBQyxDQUFBO0FBQzdFLHVCQUF1QyxVQUFVLENBQUMsQ0FBQTtBQUdsRCwyQkFBMkIsaUJBQWlCLENBQUMsQ0FBQTtBQUU3QyxtQkFBMEIsaUJBQXVCLEVBQUUsTUFBb0IsRUFBRSxHQUFZO0lBQ25GLElBQUksQ0FBQztRQUNILElBQU0sT0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLHVCQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqSSxJQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxPQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFNLEtBQUcsR0FBRyxJQUFJLGtDQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRixNQUFNLENBQUMsSUFBSSx1QkFBVSxDQUFzQixVQUFBLEdBQUc7WUFDNUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFHLENBQUMsQ0FBQztZQUNkLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUU7SUFBQSxLQUFLLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1YsTUFBTSxDQUFDLElBQUksdUJBQVUsQ0FBc0IsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMs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QyxVQUFtQyxFQUNuQyxXQUFtQyxFQUNuQyxTQUFpQyxFQUNqQyxNQUFjLEVBQ2QsS0FBbUIsRUFDbkIsY0FBMEI7UUFSMUIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBYztRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQVk7SUFDMUMsQ0FBQztJQUNOLGtCQUFDO0FBQUQsQ0FBQyxBQVhELElBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcmxUcmVlLCBVcmxTZWdtZW50IH0gZnJvbSAnLi91cmxfdHJlZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBmaXJzdCwgbWVyZ2UgfSBmcm9tICcuL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuaW1wb3J0IHsgUm91dGVyU3RhdGVTbmFwc2hvdCwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcbmltcG9ydCB7IFBhcmFtcywgUFJJTUFSWV9PVVRMRVQgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBSb3V0ZXJDb25maWcsIFJvdXRlIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWNvZ25pemUocm9vdENvbXBvbmVudFR5cGU6IFR5cGUsIGNvbmZpZzogUm91dGVyQ29uZmlnLCB1cmw6IFVybFRyZWUpOiBPYnNlcnZhYmxlPFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtYXRjaCA9IG5ldyBNYXRjaFJlc3VsdChyb290Q29tcG9uZW50VHlwZSwgY29uZmlnLCBbdXJsLnJvb3RdLCB7fSwgdXJsLl9yb290LmNoaWxkcmVuLCBbXSwgUFJJTUFSWV9PVVRMRVQsIG51bGwsIHVybC5yb290KTtcbiAgICBjb25zdCByb290cyA9IGNvbnN0cnVjdEFjdGl2YXRlZFJvdXRlKG1hdGNoKTtcbiAgICBjb25zdCByZXMgPSBuZXcgUm91dGVyU3RhdGVTbmFwc2hvdChyb290c1swXSwgdXJsLnF1ZXJ5UGFyYW1ldGVycywgdXJsLmZyYWdtZW50KTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Um91dGVyU3RhdGVTbmFwc2hvdD4ob2JzID0+IHtcbiAgICAgIG9icy5uZXh0KHJlcyk7XG4gICAgICBvYnMuY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfSBjYXRjaChlKSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFJvdXRlclN0YXRlU25hcHNob3Q+KG9icyA9PiBvYnMuZXJyb3IoZSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdEFjdGl2YXRlZFJvdXRlKG1hdGNoOiBNYXRjaFJlc3VsdCk6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+W10ge1xuICBjb25zdCBhY3RpdmF0ZWRSb3V0ZSA9IGNyZWF0ZUFjdGl2YXRlZFJvdXRlU25hcHNob3QobWF0Y2gpO1xuICBjb25zdCBjaGlsZHJlbiA9IG1hdGNoLmxlZnRPdmVyVXJsLmxlbmd0aCA+IDAgP1xuICAgIHJlY29nbml6ZU1hbnkobWF0Y2guY2hpbGRyZW4sIG1hdGNoLmxlZnRPdmVyVXJsKSA6IHJlY29nbml6ZUxlZnRPdmVycyhtYXRjaC5jaGlsZHJlbiwgbWF0Y2gubGFzdFVybFNlZ21lbnQpO1xuICBjaGVja091dGxldE5hbWVVbmlxdWVuZXNzKGNoaWxkcmVuKTtcbiAgY2hpbGRyZW4uc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChhLnZhbHVlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQpIHJldHVybiAtMTtcbiAgICBpZiAoYi52YWx1ZS5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSByZXR1cm4gMTtcbiAgICByZXR1cm4gYS52YWx1ZS5vdXRsZXQubG9jYWxlQ29tcGFyZShiLnZhbHVlLm91dGxldClcbiAgfSk7XG4gIHJldHVybiBbbmV3IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+KGFjdGl2YXRlZFJvdXRlLCBjaGlsZHJlbildO1xufVxuXG5mdW5jdGlvbiByZWNvZ25pemVMZWZ0T3ZlcnMoY29uZmlnOiBSb3V0ZVtdLCBsYXN0VXJsU2VnbWVudDogVXJsU2VnbWVudCk6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+W10ge1xuICBpZiAoIWNvbmZpZykgcmV0dXJuIFtdO1xuICBjb25zdCBtSW5kZXggPSBtYXRjaEluZGV4KGNvbmZpZywgW10sIGxhc3RVcmxTZWdtZW50KTtcbiAgcmV0dXJuIG1JbmRleCA/IGNvbnN0cnVjdEFjdGl2YXRlZFJvdXRlKG1JbmRleCkgOiBbXTtcbn1cblxuZnVuY3Rpb24gcmVjb2duaXplTWFueShjb25maWc6IFJvdXRlW10sIHVybHM6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10pOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PltdIHtcbiAgcmV0dXJuIGZsYXR0ZW4odXJscy5tYXAodXJsID0+IHJlY29nbml6ZU9uZShjb25maWcsIHVybCkpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQWN0aXZhdGVkUm91dGVTbmFwc2hvdChtYXRjaDogTWF0Y2hSZXN1bHQpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHtcbiAgcmV0dXJuIG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KG1hdGNoLmNvbnN1bWVkVXJsU2VnbWVudHMsIG1hdGNoLnBhcmFtZXRlcnMsIG1hdGNoLm91dGxldCwgbWF0Y2guY29tcG9uZW50LCBtYXRjaC5yb3V0ZSwgbWF0Y2gubGFzdFVybFNlZ21lbnQpO1xufVxuXG5mdW5jdGlvbiByZWNvZ25pemVPbmUoY29uZmlnOiBSb3V0ZVtdLCB1cmw6IFRyZWVOb2RlPFVybFNlZ21lbnQ+KTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD5bXSB7XG4gIGNvbnN0IG0gPSBtYXRjaChjb25maWcsIHVybCk7XG4gIGNvbnN0IHByaW1hcnkgPSBjb25zdHJ1Y3RBY3RpdmF0ZWRSb3V0ZShtKTtcbiAgY29uc3Qgc2Vjb25kYXJ5ID0gcmVjb2duaXplTWFueShjb25maWcsIG0uc2Vjb25kYXJ5KTtcbiAgY29uc3QgcmVzID0gcHJpbWFyeS5jb25jYXQoc2Vjb25kYXJ5KTtcbiAgY2hlY2tPdXRsZXROYW1lVW5pcXVlbmVzcyhyZXMpO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjaGVja091dGxldE5hbWVVbmlxdWVuZXNzKG5vZGVzOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PltdKTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD5bXSB7XG4gIGxldCBuYW1lcyA9IHt9O1xuICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgIGxldCByb3V0ZVdpdGhTYW1lT3V0bGV0TmFtZSA9IG5hbWVzW24udmFsdWUub3V0bGV0XTtcbiAgICBpZiAocm91dGVXaXRoU2FtZU91dGxldE5hbWUpIHtcbiAgICAgIGNvbnN0IHAgPSByb3V0ZVdpdGhTYW1lT3V0bGV0TmFtZS51cmxTZWdtZW50cy5tYXAocyA9PiBzLnRvU3RyaW5nKCkpLmpvaW4oXCIvXCIpO1xuICAgICAgY29uc3QgYyA9IG4udmFsdWUudXJsU2VnbWVudHMubWFwKHMgPT4gcy50b1N0cmluZygpKS5qb2luKFwiL1wiKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVHdvIHNlZ21lbnRzIGNhbm5vdCBoYXZlIHRoZSBzYW1lIG91dGxldCBuYW1lOiAnJHtwfScgYW5kICcke2N9Jy5gKTtcbiAgICB9XG4gICAgbmFtZXNbbi52YWx1ZS5vdXRsZXRdID0gbi52YWx1ZTtcbiAgfSk7XG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2goY29uZmlnOiBSb3V0ZVtdLCB1cmw6IFRyZWVOb2RlPFVybFNlZ21lbnQ+KTogTWF0Y2hSZXN1bHQge1xuICBjb25zdCBtID0gbWF0Y2hOb25JbmRleChjb25maWcsIHVybCk7XG4gIGlmIChtKSByZXR1cm4gbTtcblxuICBjb25zdCBtSW5kZXggPSBtYXRjaEluZGV4KGNvbmZpZywgW3VybF0sIHVybC52YWx1ZSk7XG4gIGlmIChtSW5kZXgpIHJldHVybiBtSW5kZXg7XG5cbiAgY29uc3QgYXZhaWxhYmxlUm91dGVzID0gY29uZmlnLm1hcChyID0+IHtcbiAgICBjb25zdCBvdXRsZXQgPSAhci5vdXRsZXQgPyAnJyA6IGAke3Iub3V0bGV0fTpgO1xuICAgIHJldHVybiBgJyR7b3V0bGV0fSR7ci5wYXRofSdgO1xuICB9KS5qb2luKFwiLCBcIik7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgQ2Fubm90IG1hdGNoIGFueSByb3V0ZXMuIEN1cnJlbnQgc2VnbWVudDogJyR7dXJsLnZhbHVlfScuIEF2YWlsYWJsZSByb3V0ZXM6IFske2F2YWlsYWJsZVJvdXRlc31dLmApO1xufVxuXG5mdW5jdGlvbiBtYXRjaE5vbkluZGV4KGNvbmZpZzogUm91dGVbXSwgdXJsOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IE1hdGNoUmVzdWx0IHwgbnVsbCB7XG4gIGZvciAobGV0IHIgb2YgY29uZmlnKSB7XG4gICAgbGV0IG0gPSBtYXRjaFdpdGhQYXJ0cyhyLCB1cmwpO1xuICAgIGlmIChtKSByZXR1cm4gbTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hJbmRleChjb25maWc6IFJvdXRlW10sIGxlZnRPdmVyVXJsczogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSwgbGFzdFVybFNlZ21lbnQ6IFVybFNlZ21lbnQpOiBNYXRjaFJlc3VsdCB8IG51bGwge1xuICBmb3IgKGxldCByIG9mIGNvbmZpZykge1xuICAgIGlmIChyLmluZGV4KSB7XG4gICAgICBjb25zdCBvdXRsZXQgPSByLm91dGxldCA/IHIub3V0bGV0IDogUFJJTUFSWV9PVVRMRVQ7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHIuY2hpbGRyZW4gPyByLmNoaWxkcmVuIDogW107XG4gICAgICByZXR1cm4gbmV3IE1hdGNoUmVzdWx0KHIuY29tcG9uZW50LCBjaGlsZHJlbiwgW10sIGxhc3RVcmxTZWdtZW50LnBhcmFtZXRlcnMsIGxlZnRPdmVyVXJscywgW10sIG91dGxldCwgciwgbGFzdFVybFNlZ21lbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hXaXRoUGFydHMocm91dGU6IFJvdXRlLCB1cmw6IFRyZWVOb2RlPFVybFNlZ21lbnQ+KTogTWF0Y2hSZXN1bHQgfCBudWxsIHtcbiAgaWYgKCFyb3V0ZS5wYXRoKSByZXR1cm4gbnVsbDtcbiAgaWYgKChyb3V0ZS5vdXRsZXQgPyByb3V0ZS5vdXRsZXQgOiBQUklNQVJZX09VVExFVCkgIT09IHVybC52YWx1ZS5vdXRsZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBhdGggPSByb3V0ZS5wYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gcm91dGUucGF0aC5zdWJzdHJpbmcoMSkgOiByb3V0ZS5wYXRoO1xuICBpZiAocGF0aCA9PT0gXCIqKlwiKSB7XG4gICAgY29uc3QgY29uc3VtZWRVcmwgPSBbXTtcbiAgICBsZXQgdTpUcmVlTm9kZTxVcmxTZWdtZW50PnxudWxsID0gdXJsO1xuICAgIHdoaWxlICh1KSB7XG4gICAgICBjb25zdW1lZFVybC5wdXNoKHUudmFsdWUpO1xuICAgICAgdSA9IGZpcnN0KHUuY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBsYXN0ID0gY29uc3VtZWRVcmxbY29uc3VtZWRVcmwubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIG5ldyBNYXRjaFJlc3VsdChyb3V0ZS5jb21wb25lbnQsIFtdLCBjb25zdW1lZFVybCwgbGFzdC5wYXJhbWV0ZXJzLCBbXSwgW10sIFBSSU1BUllfT1VUTEVULCByb3V0ZSwgbGFzdCk7XG4gIH1cblxuICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuICBjb25zdCBwb3NpdGlvbmFsUGFyYW1zID0ge307XG4gIGNvbnN0IGNvbnN1bWVkVXJsU2VnbWVudHMgPSBbXTtcblxuICBsZXQgbGFzdFBhcmVudDogVHJlZU5vZGU8VXJsU2VnbWVudD58bnVsbCA9IG51bGw7XG4gIGxldCBsYXN0U2VnbWVudDogVHJlZU5vZGU8VXJsU2VnbWVudD58bnVsbCA9IG51bGw7XG5cbiAgbGV0IGN1cnJlbnQ6IFRyZWVOb2RlPFVybFNlZ21lbnQ+fG51bGwgPSB1cmw7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoIWN1cnJlbnQpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcCA9IHBhcnRzW2ldO1xuICAgIGNvbnN0IGlzTGFzdFNlZ21lbnQgPSBpID09PSBwYXJ0cy5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGlzTGFzdFBhcmVudCA9IGkgPT09IHBhcnRzLmxlbmd0aCAtIDI7XG4gICAgY29uc3QgaXNQb3NQYXJhbSA9IHAuc3RhcnRzV2l0aChcIjpcIik7XG5cbiAgICBpZiAoIWlzUG9zUGFyYW0gJiYgcCAhPSBjdXJyZW50LnZhbHVlLnBhdGgpIHJldHVybiBudWxsO1xuICAgIGlmIChpc0xhc3RTZWdtZW50KSB7XG4gICAgICBsYXN0U2VnbWVudCA9IGN1cnJlbnQ7XG4gICAgfVxuICAgIGlmIChpc0xhc3RQYXJlbnQpIHtcbiAgICAgIGxhc3RQYXJlbnQgPSBjdXJyZW50O1xuICAgIH1cblxuICAgIGlmIChpc1Bvc1BhcmFtKSB7XG4gICAgICBwb3NpdGlvbmFsUGFyYW1zW3Auc3Vic3RyaW5nKDEpXSA9IGN1cnJlbnQudmFsdWUucGF0aDtcbiAgICB9XG5cbiAgICBjb25zdW1lZFVybFNlZ21lbnRzLnB1c2goY3VycmVudC52YWx1ZSk7XG5cbiAgICBjdXJyZW50ID0gZmlyc3QoY3VycmVudC5jaGlsZHJlbik7XG4gIH1cblxuICBpZiAoIWxhc3RTZWdtZW50KSB0aHJvdyBcIkNhbm5vdCBiZSByZWFjaGVkXCI7XG5cbiAgY29uc3QgcCA9IGxhc3RTZWdtZW50LnZhbHVlLnBhcmFtZXRlcnM7XG4gIGNvbnN0IHBhcmFtZXRlcnMgPSA8e1trZXk6IHN0cmluZ106IHN0cmluZ30+bWVyZ2UocCwgcG9zaXRpb25hbFBhcmFtcyk7XG4gIGNvbnN0IHNlY29uZGFyeVN1YnRyZWVzID0gbGFzdFBhcmVudCA/IGxhc3RQYXJlbnQuY2hpbGRyZW4uc2xpY2UoMSkgOiBbXTtcbiAgY29uc3QgY2hpbGRyZW4gPSByb3V0ZS5jaGlsZHJlbiA/IHJvdXRlLmNoaWxkcmVuIDogW107XG4gIGNvbnN0IG91dGxldCA9IHJvdXRlLm91dGxldCA/IHJvdXRlLm91dGxldCA6IFBSSU1BUllfT1VUTEVUO1xuXG4gIHJldHVybiBuZXcgTWF0Y2hSZXN1bHQocm91dGUuY29tcG9uZW50LCBjaGlsZHJlbiwgY29uc3VtZWRVcmxTZWdtZW50cywgcGFyYW1ldGVycywgbGFzdFNlZ21lbnQuY2hpbGRyZW4sXG4gICAgc2Vjb25kYXJ5U3VidHJlZXMsIG91dGxldCwgcm91dGUsIGxhc3RTZWdtZW50LnZhbHVlKTtcbn1cblxuY2xhc3MgTWF0Y2hSZXN1bHQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcG9uZW50OiBUeXBlIHwgc3RyaW5nLFxuICAgICAgICAgICAgICBwdWJsaWMgY2hpbGRyZW46IFJvdXRlW10sXG4gICAgICAgICAgICAgIHB1YmxpYyBjb25zdW1lZFVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10sXG4gICAgICAgICAgICAgIHB1YmxpYyBwYXJhbWV0ZXJzOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSxcbiAgICAgICAgICAgICAgcHVibGljIGxlZnRPdmVyVXJsOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdLFxuICAgICAgICAgICAgICBwdWJsaWMgc2Vjb25kYXJ5OiBUcmVlTm9kZTxVcmxTZWdtZW50PltdLFxuICAgICAgICAgICAgICBwdWJsaWMgb3V0bGV0OiBzdHJpbmcsXG4gICAgICAgICAgICAgIHB1YmxpYyByb3V0ZTogUm91dGUgfCBudWxsLFxuICAgICAgICAgICAgICBwdWJsaWMgbGFzdFVybFNlZ21lbnQ6IFVybFNlZ21lbnRcbiAgKSB7fVxufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/resolve.d.ts b/modules/@angular/router/build/src/resolve.d.ts deleted file mode 100644 index edd764fbc7..0000000000 --- a/modules/@angular/router/build/src/resolve.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { RouterStateSnapshot } from './router_state'; -import { ComponentResolver } from '@angular/core'; -import { Observable } from 'rxjs/Observable'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/toPromise'; -export declare function resolve(resolver: ComponentResolver, state: RouterStateSnapshot): Observable; diff --git a/modules/@angular/router/build/src/resolve.js b/modules/@angular/router/build/src/resolve.js deleted file mode 100644 index 1cbe87af3d..0000000000 --- a/modules/@angular/router/build/src/resolve.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -require('rxjs/add/operator/map'); -var forkJoin_1 = require('rxjs/observable/forkJoin'); -var fromPromise_1 = require('rxjs/observable/fromPromise'); -require('rxjs/add/operator/toPromise'); -function resolve(resolver, state) { - return resolveNode(resolver, state._root).map(function (_) { return state; }); -} -exports.resolve = resolve; -function resolveNode(resolver, node) { - if (node.children.length === 0) { - return fromPromise_1.fromPromise(resolver.resolveComponent(node.value.component).then(function (factory) { - node.value._resolvedComponentFactory = factory; - return node.value; - })); - } - else { - var c = node.children.map(function (c) { return resolveNode(resolver, c).toPromise(); }); - return forkJoin_1.forkJoin(c).map(function (_) { return resolver.resolveComponent(node.value.component).then(function (factory) { - node.value._resolvedComponentFactory = factory; - return node.value; - }); }); - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxRQUFPLHVCQUF1QixDQUFDLENBQUE7QUFDL0IseUJBQXVCLDBCQUEwQixDQUFDLENBQUE7QUFDbEQsNEJBQTBCLDZCQUE2QixDQUFDLENBQUE7QUFDeEQsUUFBTyw2QkFBNkIsQ0FBQyxDQUFBO0FBRXJDLGlCQUF3QixRQUEyQixFQUFFLEtBQTBCO0lBQzdFLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUZlLGVBQU8sVUFFdEIsQ0FBQTtBQUVELHFCQUFxQixRQUEyQixFQUFFLElBQXNDO0lBQ3RGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLHlCQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsT0FBTztZQUNsRixJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRU4sQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sSUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFwQyxDQUFvQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLG1CQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsUUFBUSxDQUFDLGdCQUFnQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsT0FBTztZQUMzRixJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsRUFIMEIsQ0FHMUIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVzb2x2ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9tYXAnO1xuaW1wb3J0IHtmb3JrSm9pbn0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL2ZvcmtKb2luJztcbmltcG9ydCB7ZnJvbVByb21pc2V9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mcm9tUHJvbWlzZSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3RvUHJvbWlzZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKHJlc29sdmVyOiBDb21wb25lbnRSZXNvbHZlciwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgcmV0dXJuIHJlc29sdmVOb2RlKHJlc29sdmVyLCBzdGF0ZS5fcm9vdCkubWFwKF8gPT4gc3RhdGUpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTm9kZShyZXNvbHZlcjogQ29tcG9uZW50UmVzb2x2ZXIsIG5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgaWYgKG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGZyb21Qcm9taXNlKHJlc29sdmVyLnJlc29sdmVDb21wb25lbnQoPGFueT5ub2RlLnZhbHVlLmNvbXBvbmVudCkudGhlbihmYWN0b3J5ID0+IHtcbiAgICAgIG5vZGUudmFsdWUuX3Jlc29sdmVkQ29tcG9uZW50RmFjdG9yeSA9IGZhY3Rvcnk7XG4gICAgICByZXR1cm4gbm9kZS52YWx1ZTtcbiAgICB9KSk7XG4gICAgXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYyA9IG5vZGUuY2hpbGRyZW4ubWFwKGMgPT4gcmVzb2x2ZU5vZGUocmVzb2x2ZXIsIGMpLnRvUHJvbWlzZSgpKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oYykubWFwKF8gPT4gcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudCg8YW55Pm5vZGUudmFsdWUuY29tcG9uZW50KS50aGVuKGZhY3RvcnkgPT4ge1xuICAgICAgbm9kZS52YWx1ZS5fcmVzb2x2ZWRDb21wb25lbnRGYWN0b3J5ID0gZmFjdG9yeTtcbiAgICAgIHJldHVybiBub2RlLnZhbHVlO1xuICAgIH0pKTtcbiAgfVxufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/router.d.ts b/modules/@angular/router/build/src/router.d.ts deleted file mode 100644 index 79f6a5a224..0000000000 --- a/modules/@angular/router/build/src/router.d.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { ComponentResolver, Type, Injector } from '@angular/core'; -import { Location } from '@angular/common'; -import { UrlSerializer } from './url_serializer'; -import { RouterOutletMap } from './router_outlet_map'; -import { UrlTree } from './url_tree'; -import { Params } from './shared'; -import { RouterState, ActivatedRoute } from './router_state'; -import { RouterConfig } from './config'; -import { Observable } from 'rxjs/Observable'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/scan'; -import 'rxjs/add/operator/mergeMap'; -import 'rxjs/add/operator/concat'; -import 'rxjs/add/operator/concatMap'; -export interface NavigationExtras { - relativeTo?: ActivatedRoute; - queryParameters?: Params; - fragment?: string; -} -export declare class NavigationStart { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationEnd { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationCancel { - id: number; - url: UrlTree; - constructor(id: number, url: UrlTree); -} -export declare class NavigationError { - id: number; - url: UrlTree; - error: any; - constructor(id: number, url: UrlTree, error: any); -} -export declare type Event = NavigationStart | NavigationEnd | NavigationCancel | NavigationError; -export declare class Router { - private rootComponentType; - private resolver; - private urlSerializer; - private outletMap; - private location; - private injector; - private currentUrlTree; - private currentRouterState; - private config; - private locationSubscription; - private routerEvents; - private navigationId; - constructor(rootComponentType: Type, resolver: ComponentResolver, urlSerializer: UrlSerializer, outletMap: RouterOutletMap, location: Location, injector: Injector); - readonly routerState: RouterState; - readonly urlTree: UrlTree; - readonly events: Observable; - navigateByUrl(url: string): Promise; - resetConfig(config: RouterConfig): void; - dispose(): void; - createUrlTree(commands: any[], {relativeTo, queryParameters, fragment}?: NavigationExtras): UrlTree; - navigate(commands: any[], extras?: NavigationExtras): Promise; - serializeUrl(url: UrlTree): string; - parseUrl(url: string): UrlTree; - private scheduleNavigation(url, pop); - private setUpLocationChangeListener(); - private runNavigate(url, pop, id); -} diff --git a/modules/@angular/router/build/src/router.js b/modules/@angular/router/build/src/router.js deleted file mode 100644 index e8d716b32a..0000000000 --- a/modules/@angular/router/build/src/router.js +++ /dev/null @@ -1,342 +0,0 @@ -"use strict"; -var core_1 = require('@angular/core'); -var router_outlet_map_1 = require('./router_outlet_map'); -var recognize_1 = require('./recognize'); -var resolve_1 = require('./resolve'); -var create_router_state_1 = require('./create_router_state'); -var url_tree_1 = require('./url_tree'); -var shared_1 = require('./shared'); -var router_state_1 = require('./router_state'); -var create_url_tree_1 = require('./create_url_tree'); -var collection_1 = require('./utils/collection'); -var Subject_1 = require('rxjs/Subject'); -require('rxjs/add/operator/map'); -require('rxjs/add/operator/scan'); -require('rxjs/add/operator/mergeMap'); -require('rxjs/add/operator/concat'); -require('rxjs/add/operator/concatMap'); -var of_1 = require('rxjs/observable/of'); -var forkJoin_1 = require('rxjs/observable/forkJoin'); -var NavigationStart = (function () { - function NavigationStart(id, url) { - this.id = id; - this.url = url; - } - return NavigationStart; -}()); -exports.NavigationStart = NavigationStart; -var NavigationEnd = (function () { - function NavigationEnd(id, url) { - this.id = id; - this.url = url; - } - return NavigationEnd; -}()); -exports.NavigationEnd = NavigationEnd; -var NavigationCancel = (function () { - function NavigationCancel(id, url) { - this.id = id; - this.url = url; - } - return NavigationCancel; -}()); -exports.NavigationCancel = NavigationCancel; -var NavigationError = (function () { - function NavigationError(id, url, error) { - this.id = id; - this.url = url; - this.error = error; - } - return NavigationError; -}()); -exports.NavigationError = NavigationError; -var Router = (function () { - function Router(rootComponentType, resolver, urlSerializer, outletMap, location, injector) { - this.rootComponentType = rootComponentType; - this.resolver = resolver; - this.urlSerializer = urlSerializer; - this.outletMap = outletMap; - this.location = location; - this.injector = injector; - this.navigationId = 0; - this.routerEvents = new Subject_1.Subject(); - this.currentUrlTree = url_tree_1.createEmptyUrlTree(); - this.currentRouterState = router_state_1.createEmptyState(rootComponentType); - this.setUpLocationChangeListener(); - this.navigateByUrl(this.location.path()); - } - Object.defineProperty(Router.prototype, "routerState", { - get: function () { - return this.currentRouterState; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Router.prototype, "urlTree", { - get: function () { - return this.currentUrlTree; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Router.prototype, "events", { - get: function () { - return this.routerEvents; - }, - enumerable: true, - configurable: true - }); - Router.prototype.navigateByUrl = function (url) { - var urlTree = this.urlSerializer.parse(url); - return this.scheduleNavigation(urlTree, false); - }; - Router.prototype.resetConfig = function (config) { - this.config = config; - }; - Router.prototype.dispose = function () { this.locationSubscription.unsubscribe(); }; - Router.prototype.createUrlTree = function (commands, _a) { - var _b = _a === void 0 ? {} : _a, relativeTo = _b.relativeTo, queryParameters = _b.queryParameters, fragment = _b.fragment; - var a = relativeTo ? relativeTo : this.routerState.root; - return create_url_tree_1.createUrlTree(a, this.currentUrlTree, commands, queryParameters, fragment); - }; - Router.prototype.navigate = function (commands, extras) { - if (extras === void 0) { extras = {}; } - return this.scheduleNavigation(this.createUrlTree(commands, extras), false); - }; - Router.prototype.serializeUrl = function (url) { return this.urlSerializer.serialize(url); }; - Router.prototype.parseUrl = function (url) { return this.urlSerializer.parse(url); }; - Router.prototype.scheduleNavigation = function (url, pop) { - var _this = this; - var id = ++this.navigationId; - this.routerEvents.next(new NavigationStart(id, url)); - return Promise.resolve().then(function (_) { return _this.runNavigate(url, false, id); }); - }; - Router.prototype.setUpLocationChangeListener = function () { - var _this = this; - this.locationSubscription = this.location.subscribe(function (change) { - return _this.scheduleNavigation(_this.urlSerializer.parse(change['url']), change['pop']); - }); - }; - Router.prototype.runNavigate = function (url, pop, id) { - var _this = this; - if (id !== this.navigationId) { - this.routerEvents.next(new NavigationCancel(id, url)); - return Promise.resolve(false); - } - return new Promise(function (resolvePromise, rejectPromise) { - var state; - recognize_1.recognize(_this.rootComponentType, _this.config, url).mergeMap(function (newRouterStateSnapshot) { - return resolve_1.resolve(_this.resolver, newRouterStateSnapshot); - }).map(function (routerStateSnapshot) { - return create_router_state_1.createRouterState(routerStateSnapshot, _this.currentRouterState); - }).map(function (newState) { - state = newState; - }).mergeMap(function (_) { - return new GuardChecks(state.snapshot, _this.currentRouterState.snapshot, _this.injector).check(_this.outletMap); - }).forEach(function (shouldActivate) { - if (!shouldActivate || id !== _this.navigationId) { - _this.routerEvents.next(new NavigationCancel(id, url)); - return Promise.resolve(false); - } - new ActivateRoutes(state, _this.currentRouterState).activate(_this.outletMap); - _this.currentUrlTree = url; - _this.currentRouterState = state; - if (!pop) { - _this.location.go(_this.urlSerializer.serialize(url)); - } - }).then(function () { - _this.routerEvents.next(new NavigationEnd(id, url)); - resolvePromise(true); - }, function (e) { - _this.routerEvents.next(new NavigationError(id, url, e)); - rejectPromise(e); - }); - }); - }; - return Router; -}()); -exports.Router = Router; -var CanActivate = (function () { - function CanActivate(route) { - this.route = route; - } - return CanActivate; -}()); -var CanDeactivate = (function () { - function CanDeactivate(component, route) { - this.component = component; - this.route = route; - } - return CanDeactivate; -}()); -var GuardChecks = (function () { - function GuardChecks(future, curr, injector) { - this.future = future; - this.curr = curr; - this.injector = injector; - this.checks = []; - } - GuardChecks.prototype.check = function (parentOutletMap) { - var _this = this; - var futureRoot = this.future._root; - var currRoot = this.curr ? this.curr._root : null; - this.traverseChildRoutes(futureRoot, currRoot, parentOutletMap); - if (this.checks.length === 0) - return of_1.of(true); - return forkJoin_1.forkJoin(this.checks.map(function (s) { - if (s instanceof CanActivate) { - return _this.runCanActivate(s.route); - } - else if (s instanceof CanDeactivate) { - return _this.runCanDeactivate(s.component, s.route); - } - else { - throw new Error("Cannot be reached"); - } - })).map(collection_1.and); - }; - GuardChecks.prototype.traverseChildRoutes = function (futureNode, currNode, outletMap) { - var _this = this; - var prevChildren = nodeChildrenAsMap(currNode); - futureNode.children.forEach(function (c) { - _this.traverseRoutes(c, prevChildren[c.value.outlet], outletMap); - delete prevChildren[c.value.outlet]; - }); - collection_1.forEach(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(v, outletMap._outlets[k]); }); - }; - GuardChecks.prototype.traverseRoutes = function (futureNode, currNode, parentOutletMap) { - var future = futureNode.value; - var curr = currNode ? currNode.value : null; - var outlet = parentOutletMap ? parentOutletMap._outlets[futureNode.value.outlet] : null; - if (curr && future._routeConfig === curr._routeConfig) { - if (!collection_1.shallowEqual(future.params, curr.params)) { - this.checks.push(new CanDeactivate(outlet.component, curr), new CanActivate(future)); - } - this.traverseChildRoutes(futureNode, currNode, outlet ? outlet.outletMap : null); - } - else { - this.deactivateOutletAndItChildren(curr, outlet); - this.checks.push(new CanActivate(future)); - this.traverseChildRoutes(futureNode, null, outlet ? outlet.outletMap : null); - } - }; - GuardChecks.prototype.deactivateOutletAndItChildren = function (route, outlet) { - var _this = this; - if (outlet && outlet.isActivated) { - collection_1.forEach(outlet.outletMap._outlets, function (v, k) { return _this.deactivateOutletAndItChildren(v, outlet.outletMap._outlets[k]); }); - this.checks.push(new CanDeactivate(outlet.component, route)); - } - }; - GuardChecks.prototype.runCanActivate = function (future) { - var _this = this; - var canActivate = future._routeConfig ? future._routeConfig.canActivate : null; - if (!canActivate || canActivate.length === 0) - return of_1.of(true); - return forkJoin_1.forkJoin(canActivate.map(function (c) { - var guard = _this.injector.get(c); - if (guard.canActivate) { - return of_1.of(guard.canActivate(future, _this.future)); - } - else { - return of_1.of(guard(future, _this.future)); - } - })).map(collection_1.and); - }; - GuardChecks.prototype.runCanDeactivate = function (component, curr) { - var _this = this; - var canDeactivate = curr._routeConfig ? curr._routeConfig.canDeactivate : null; - if (!canDeactivate || canDeactivate.length === 0) - return of_1.of(true); - return forkJoin_1.forkJoin(canDeactivate.map(function (c) { - var guard = _this.injector.get(c); - if (guard.canDeactivate) { - return of_1.of(guard.canDeactivate(component, curr, _this.curr)); - } - else { - return of_1.of(guard(component, curr, _this.curr)); - } - })).map(collection_1.and); - }; - return GuardChecks; -}()); -var ActivateRoutes = (function () { - function ActivateRoutes(futureState, currState) { - this.futureState = futureState; - this.currState = currState; - } - ActivateRoutes.prototype.activate = function (parentOutletMap) { - var futureRoot = this.futureState._root; - var currRoot = this.currState ? this.currState._root : null; - pushQueryParamsAndFragment(this.futureState); - this.activateChildRoutes(futureRoot, currRoot, parentOutletMap); - }; - ActivateRoutes.prototype.activateChildRoutes = function (futureNode, currNode, outletMap) { - var _this = this; - var prevChildren = nodeChildrenAsMap(currNode); - futureNode.children.forEach(function (c) { - _this.activateRoutes(c, prevChildren[c.value.outlet], outletMap); - delete prevChildren[c.value.outlet]; - }); - collection_1.forEach(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(outletMap._outlets[k]); }); - }; - ActivateRoutes.prototype.activateRoutes = function (futureNode, currNode, parentOutletMap) { - var future = futureNode.value; - var curr = currNode ? currNode.value : null; - var outlet = getOutlet(parentOutletMap, futureNode.value); - if (future === curr) { - router_state_1.advanceActivatedRoute(future); - this.activateChildRoutes(futureNode, currNode, outlet.outletMap); - } - else { - this.deactivateOutletAndItChildren(outlet); - var outletMap = new router_outlet_map_1.RouterOutletMap(); - this.activateNewRoutes(outletMap, future, outlet); - this.activateChildRoutes(futureNode, null, outletMap); - } - }; - ActivateRoutes.prototype.activateNewRoutes = function (outletMap, future, outlet) { - var resolved = core_1.ReflectiveInjector.resolve([ - { provide: router_state_1.ActivatedRoute, useValue: future }, - { provide: router_outlet_map_1.RouterOutletMap, useValue: outletMap } - ]); - outlet.activate(future._futureSnapshot._resolvedComponentFactory, resolved, outletMap); - router_state_1.advanceActivatedRoute(future); - }; - ActivateRoutes.prototype.deactivateOutletAndItChildren = function (outlet) { - var _this = this; - if (outlet && outlet.isActivated) { - collection_1.forEach(outlet.outletMap._outlets, function (v, k) { return _this.deactivateOutletAndItChildren(v); }); - outlet.deactivate(); - } - }; - return ActivateRoutes; -}()); -function pushQueryParamsAndFragment(state) { - if (!collection_1.shallowEqual(state.snapshot.queryParams, state.queryParams.value)) { - state.queryParams.next(state.snapshot.queryParams); - } - if (state.snapshot.fragment !== state.fragment.value) { - state.fragment.next(state.snapshot.fragment); - } -} -function nodeChildrenAsMap(node) { - return node ? - node.children.reduce(function (m, c) { - m[c.value.outlet] = c; - return m; - }, {}) : - {}; -} -function getOutlet(outletMap, route) { - var outlet = outletMap._outlets[route.outlet]; - if (!outlet) { - if (route.outlet === shared_1.PRIMARY_OUTLET) { - throw new Error("Cannot find primary outlet"); - } - else { - throw new Error("Cannot find the outlet " + route.outlet); - } - } - return outlet; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUJBQXNFLGVBQWUsQ0FBQyxDQUFBO0FBR3RGLGtDQUFnQyxxQkFBcUIsQ0FBQyxDQUFBO0FBQ3RELDBCQUEwQixhQUFhLENBQUMsQ0FBQTtBQUN4Qyx3QkFBd0IsV0FBVyxDQUFDLENBQUE7QUFDcEMsb0NBQWtDLHVCQUF1QixDQUFDLENBQUE7QUFFMUQseUJBQTRDLFlBQVksQ0FBQyxDQUFBO0FBQ3pELHVCQUF1QyxVQUFVLENBQUMsQ0FBQTtBQUNsRCw2QkFBaUksZ0JBQWdCLENBQUMsQ0FBQTtBQUdsSixnQ0FBOEIsbUJBQW1CLENBQUMsQ0FBQTtBQUNsRCwyQkFBMkMsb0JBQW9CLENBQUMsQ0FBQTtBQUdoRSx3QkFBd0IsY0FBYyxDQUFDLENBQUE7QUFDdkMsUUFBTyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLFFBQU8sd0JBQXdCLENBQUMsQ0FBQTtBQUNoQyxRQUFPLDRCQUE0QixDQUFDLENBQUE7QUFDcEMsUUFBTywwQkFBMEIsQ0FBQyxDQUFBO0FBQ2xDLFFBQU8sNkJBQTZCLENBQUMsQ0FBQTtBQUNyQyxtQkFBaUIsb0JBQW9CLENBQUMsQ0FBQTtBQUN0Qyx5QkFBdUIsMEJBQTBCLENBQUMsQ0FBQTtBQU9sRDtJQUErQix5QkFBbUIsRUFBUyxFQUFTLEdBQVc7UUFBN0IsT0FBRSxHQUFGLEVBQUUsQ0FBTztRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7SUFBRyxDQUFDO0lBQUMsc0JBQUM7QUFBRCxDQUFDLEFBQXJGLElBQXFGO0FBQXhFLHVCQUFlLGtCQUF5RCxDQUFBO0FBS3JGO0lBQTZCLHVCQUFtQixFQUFTLEVBQVMsR0FBVztRQUE3QixPQUFFLEdBQUYsRUFBRSxDQUFPO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUFHLENBQUM7SUFBQyxvQkFBQztBQUFELENBQUMsQUFBbkYsSUFB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LEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ1osRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyx1QkFBYyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBMEIsS0FBSyxDQUFDLE1BQVEsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVzb2x2ZXIsIFJlZmxlY3RpdmVJbmplY3RvciwgVHlwZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVybFNlcmlhbGl6ZXIgfSBmcm9tICcuL3VybF9zZXJpYWxpemVyJztcbmltcG9ydCB7IFJvdXRlck91dGxldE1hcCB9IGZyb20gJy4vcm91dGVyX291dGxldF9tYXAnO1xuaW1wb3J0IHsgcmVjb2duaXplIH0gZnJvbSAnLi9yZWNvZ25pemUnO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJy4vcmVzb2x2ZSc7XG5pbXBvcnQgeyBjcmVhdGVSb3V0ZXJTdGF0ZSB9IGZyb20gJy4vY3JlYXRlX3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5pbXBvcnQgeyBVcmxUcmVlLCBjcmVhdGVFbXB0eVVybFRyZWUgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFBSSU1BUllfT1VUTEVULCBQYXJhbXMgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eVN0YXRlLCBSb3V0ZXJTdGF0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGFkdmFuY2VBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHsgUm91dGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JvdXRlcl9vdXRsZXQnO1xuaW1wb3J0IHsgY3JlYXRlVXJsVHJlZSB9IGZyb20gJy4vY3JlYXRlX3VybF90cmVlJztcbmltcG9ydCB7IGZvckVhY2gsIGFuZCwgc2hhbGxvd0VxdWFsIH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvU3ViamVjdCc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL21hcCc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3NjYW4nO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9tZXJnZU1hcCc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL2NvbmNhdCc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL2NvbmNhdE1hcCc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHtmb3JrSm9pbn0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL2ZvcmtKb2luJztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uRXh0cmFzIHsgcmVsYXRpdmVUbz86IEFjdGl2YXRlZFJvdXRlOyBxdWVyeVBhcmFtZXRlcnM/OiBQYXJhbXM7IGZyYWdtZW50Pzogc3RyaW5nOyB9XG5cbi8qKlxuICogQW4gZXZlbnQgdHJpZ2dlcmVkIHdoZW4gYSBuYXZpZ2F0aW9uIHN0YXJ0c1xuICovXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IHsgY29uc3RydWN0b3IocHVibGljIGlkOm51bWJlciwgcHVibGljIHVybDpVcmxUcmVlKSB7fSB9XG5cbi8qKlxuICogQW4gZXZlbnQgdHJpZ2dlcmVkIHdoZW4gYSBuYXZpZ2F0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5XG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRW5kIHsgY29uc3RydWN0b3IocHVibGljIGlkOm51bWJlciwgcHVibGljIHVybDpVcmxUcmVlKSB7fSB9XG5cbi8qKlxuICogQW4gZXZlbnQgdHJpZ2dlcmVkIHdoZW4gYSBuYXZpZ2F0aW9uIGlzIGNhbmNlbGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2FuY2VsIHsgY29uc3RydWN0b3IocHVibGljIGlkOm51bWJlciwgcHVibGljIHVybDpVcmxUcmVlKSB7fSB9XG5cbi8qKlxuICogQW4gZXZlbnQgdHJpZ2dlcmVkIHdoZW4gYSBuYXZpZ2F0aW9uIGZhaWxzIGR1ZSB0byB1bmV4cGVjdGVkIGVycm9yXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRXJyb3IgeyBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6bnVtYmVyLCBwdWJsaWMgdXJsOlVybFRyZWUsIHB1YmxpYyBlcnJvcjphbnkpIHt9IH1cblxuZXhwb3J0IHR5cGUgRXZlbnQgPSBOYXZpZ2F0aW9uU3RhcnQgfCBOYXZpZ2F0aW9uRW5kIHwgTmF2aWdhdGlvbkNhbmNlbCB8IE5hdmlnYXRpb25FcnJvcjtcblxuLyoqXG4gKiBUaGUgYFJvdXRlcmAgaXMgcmVzcG9uc2libGUgZm9yIG1hcHBpbmcgVVJMcyB0byBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyIHtcbiAgcHJpdmF0ZSBjdXJyZW50VXJsVHJlZTogVXJsVHJlZTtcbiAgcHJpdmF0ZSBjdXJyZW50Um91dGVyU3RhdGU6IFJvdXRlclN0YXRlO1xuICBwcml2YXRlIGNvbmZpZzogUm91dGVyQ29uZmlnO1xuICBwcml2YXRlIGxvY2F0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcm91dGVyRXZlbnRzOiBTdWJqZWN0PEV2ZW50PjtcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uSWQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290Q29tcG9uZW50VHlwZTpUeXBlLCBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRSZXNvbHZlciwgcHJpdmF0ZSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLCBwcml2YXRlIG91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwLCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnJvdXRlckV2ZW50cyA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuICAgIHRoaXMuY3VycmVudFVybFRyZWUgPSBjcmVhdGVFbXB0eVVybFRyZWUoKTtcbiAgICB0aGlzLmN1cnJlbnRSb3V0ZXJTdGF0ZSA9IGNyZWF0ZUVtcHR5U3RhdGUocm9vdENvbXBvbmVudFR5cGUpO1xuICAgIHRoaXMuc2V0VXBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMubG9jYXRpb24ucGF0aCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJvdXRlIHN0YXRlLlxuICAgKi9cbiAgZ2V0IHJvdXRlclN0YXRlKCk6IFJvdXRlclN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50Um91dGVyU3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCB1cmwgdHJlZS5cbiAgICovXG4gIGdldCB1cmxUcmVlKCk6IFVybFRyZWUge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVcmxUcmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiByb3V0ZSBldmVudHNcbiAgICovXG4gIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlckV2ZW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdXJsLiBUaGlzIG5hdmlnYXRpb24gaXMgYWx3YXlzIGFic29sdXRlLlxuICAgKlxuICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0OlxuICAgKiAtIGlzIHJlc29sdmVkIHdpdGggJ3RydWUnIHdoZW4gbmF2aWdhdGlvbiBzdWNjZWVkc1xuICAgKiAtIGlzIHJlc29sdmVkIHdpdGggJ2ZhbHNlJyB3aGVuIG5hdmlnYXRpb24gZmFpbHNcbiAgICogLSBpcyByZWplY3RlZCB3aGVuIGFuIGVycm9yIGhhcHBlbnNcbiAgICpcbiAgICogIyMjIFVzYWdlXG4gICAqXG4gICAqIGBgYFxuICAgKiByb3V0ZXIubmF2aWdhdGVCeVVybChcIi90ZWFtLzMzL3VzZXIvMTFcIik7XG4gICAqIGBgYFxuICAgKi9cbiAgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UodXJsKTtcbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZU5hdmlnYXRpb24odXJsVHJlZSwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgY29uZmlndXJhdGlvbiB1c2VkIGZvciBuYXZpZ2F0aW9uIGFuZCBnZW5lcmF0aW5nIGxpbmtzLlxuICAgKlxuICAgKiAjIyMgVXNhZ2VcbiAgICpcbiAgICogYGBgXG4gICAqIHJvdXRlci5yZXNldENvbmZpZyhbXG4gICAqICB7IHBhdGg6ICd0ZWFtLzppZCcsIGNvbXBvbmVudDogVGVhbUNtcCwgY2hpbGRyZW46IFtcbiAgICogICAgeyBwYXRoOiAnc2ltcGxlJywgY29tcG9uZW50OiBTaW1wbGVDbXAgfSxcbiAgICogICAgeyBwYXRoOiAndXNlci86bmFtZScsIGNvbXBvbmVudDogVXNlckNtcCB9XG4gICAqICBdIH1cbiAgICogXSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcmVzZXRDb25maWcoY29uZmlnOiBSb3V0ZXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGRpc3Bvc2UoKTogdm9pZCB7IHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGFuIGFycmF5IG9mIGNvbW1hbmRzIHRvIHRoZSBjdXJyZW50IHVybCB0cmVlIGFuZCBjcmVhdGVzXG4gICAqIGEgbmV3IHVybCB0cmVlLlxuICAgKlxuICAgKiBXaGVuIGdpdmVuIGFuIGFjdGl2YXRlIHJvdXRlLCBhcHBsaWVzIHRoZSBnaXZlbiBjb21tYW5kcyBzdGFydGluZyBmcm9tIHRoZSByb3V0ZS5cbiAgICogV2hlbiBub3QgZ2l2ZW4gYSByb3V0ZSwgYXBwbGllcyB0aGUgZ2l2ZW4gY29tbWFuZCBzdGFydGluZyBmcm9tIHRoZSByb290LlxuICAgKlxuICAgKiAjIyMgVXNhZ2VcbiAgICpcbiAgICogYGBgXG4gICAqIC8vIGNyZWF0ZSAvdGVhbS8zMy91c2VyLzExXG4gICAqIHJvdXRlci5jcmVhdGVVcmxUcmVlKFsnL3RlYW0nLCAzMywgJ3VzZXInLCAxMV0pO1xuICAgKlxuICAgKiAvLyBjcmVhdGUgL3RlYW0vMzM7ZXhwYW5kPXRydWUvdXNlci8xMVxuICAgKiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy90ZWFtJywgMzMsIHtleHBhbmQ6IHRydWV9LCAndXNlcicsIDExXSk7XG4gICAqXG4gICAqIC8vIHlvdSBjYW4gY29sbGFwc2Ugc3RhdGljIGZyYWdtZW50cyBsaWtlIHRoaXNcbiAgICogcm91dGVyLmNyZWF0ZVVybFRyZWUoWycvdGVhbS8zMy91c2VyJywgdXNlcklkXSk7XG4gICAqXG4gICAqIC8vIGFzc3VtaW5nIHRoZSBjdXJyZW50IHVybCBpcyBgL3RlYW0vMzMvdXNlci8xMWAgYW5kIHRoZSByb3V0ZSBwb2ludHMgdG8gYHVzZXIvMTFgXG4gICAqXG4gICAqIC8vIG5hdmlnYXRlIHRvIC90ZWFtLzMzL3VzZXIvMTEvZGV0YWlsc1xuICAgKiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJ2RldGFpbHMnXSwge3JlbGF0aXZlVG86IHJvdXRlfSk7XG4gICAqXG4gICAqIC8vIG5hdmlnYXRlIHRvIC90ZWFtLzMzL3VzZXIvMjJcbiAgICogcm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8yMiddLCB7cmVsYXRpdmVUbzogcm91dGV9KTtcbiAgICpcbiAgICogLy8gbmF2aWdhdGUgdG8gL3RlYW0vNDQvdXNlci8yMlxuICAgKiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uL3RlYW0vNDQvdXNlci8yMiddLCB7cmVsYXRpdmVUbzogcm91dGV9KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGVVcmxUcmVlKGNvbW1hbmRzOiBhbnlbXSwge3JlbGF0aXZlVG8sIHF1ZXJ5UGFyYW1ldGVycywgZnJhZ21lbnR9OiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBVcmxUcmVlIHtcbiAgICBjb25zdCBhID0gcmVsYXRpdmVUbyA/IHJlbGF0aXZlVG8gOiB0aGlzLnJvdXRlclN0YXRlLnJvb3Q7XG4gICAgcmV0dXJuIGNyZWF0ZVVybFRyZWUoYSwgdGhpcy5jdXJyZW50VXJsVHJlZSwgY29tbWFuZHMsIHF1ZXJ5UGFyYW1ldGVycywgZnJhZ21lbnQpO1xuICB9XG5cblxuICAvKipcbiAgICogTmF2aWdhdGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFycmF5IG9mIGNvbW1hbmRzIGFuZCBhIHN0YXJ0aW5nIHBvaW50LlxuICAgKiBJZiBubyBzdGFydGluZyByb3V0ZSBpcyBwcm92aWRlZCwgdGhlIG5hdmlnYXRpb24gaXMgYWJzb2x1dGUuXG4gICAqXG4gICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQ6XG4gICAqIC0gaXMgcmVzb2x2ZWQgd2l0aCAndHJ1ZScgd2hlbiBuYXZpZ2F0aW9uIHN1Y2NlZWRzXG4gICAqIC0gaXMgcmVzb2x2ZWQgd2l0aCAnZmFsc2UnIHdoZW4gbmF2aWdhdGlvbiBmYWlsc1xuICAgKiAtIGlzIHJlamVjdGVkIHdoZW4gYW4gZXJyb3IgaGFwcGVuc1xuICAgKlxuICAgKiAjIyMgVXNhZ2VcbiAgICpcbiAgICogYGBgXG4gICAqIHJvdXRlci5uYXZpZ2F0ZShbJ3RlYW0nLCAzMywgJ3RlYW0nLCAnMTFdLCB7cmVsYXRpdmVUbzogcm91dGV9KTtcbiAgICogYGBgXG4gICAqL1xuICBuYXZpZ2F0ZShjb21tYW5kczogYW55W10sIGV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVOYXZpZ2F0aW9uKHRoaXMuY3JlYXRlVXJsVHJlZShjb21tYW5kcywgZXh0cmFzKSwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgYSB7QGxpbmsgVXJsVHJlZX0gaW50byBhIHN0cmluZy5cbiAgICovXG4gIHNlcmlhbGl6ZVVybCh1cmw6IFVybFRyZWUpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy51cmxTZXJpYWxpemVyLnNlcmlhbGl6ZSh1cmwpOyB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgc3RyaW5nIGludG8gYSB7QGxpbmsgVXJsVHJlZX0uXG4gICAqL1xuICBwYXJzZVVybCh1cmw6IHN0cmluZyk6IFVybFRyZWUgeyByZXR1cm4gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHVybCk7IH1cblxuICBwcml2YXRlIHNjaGVkdWxlTmF2aWdhdGlvbih1cmw6IFVybFRyZWUsIHBvcDogYm9vbGVhbik6UHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaWQgPSArKyB0aGlzLm5hdmlnYXRpb25JZDtcbiAgICB0aGlzLnJvdXRlckV2ZW50cy5uZXh0KG5ldyBOYXZpZ2F0aW9uU3RhcnQoaWQsIHVybCkpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKChfKSA9PiB0aGlzLnJ1bk5hdmlnYXRlKHVybCwgZmFsc2UsIGlkKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFVwTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uU3Vic2NyaXB0aW9uID0gPGFueT50aGlzLmxvY2F0aW9uLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZU5hdmlnYXRpb24odGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKGNoYW5nZVsndXJsJ10pLCBjaGFuZ2VbJ3BvcCddKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuTmF2aWdhdGUodXJsOiBVcmxUcmVlLCBwb3A6IGJvb2xlYW4sIGlkOiBudW1iZXIpOlByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChpZCAhPT0gdGhpcy5uYXZpZ2F0aW9uSWQpIHtcbiAgICAgIHRoaXMucm91dGVyRXZlbnRzLm5leHQobmV3IE5hdmlnYXRpb25DYW5jZWwoaWQsIHVybCkpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlUHJvbWlzZSwgcmVqZWN0UHJvbWlzZSkgPT4ge1xuICAgICAgbGV0IHN0YXRlO1xuICAgICAgcmVjb2duaXplKHRoaXMucm9vdENvbXBvbmVudFR5cGUsIHRoaXMuY29uZmlnLCB1cmwpLm1lcmdlTWFwKChuZXdSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHRoaXMucmVzb2x2ZXIsIG5ld1JvdXRlclN0YXRlU25hcHNob3QpO1xuXG4gICAgICB9KS5tYXAoKHJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJvdXRlclN0YXRlKHJvdXRlclN0YXRlU25hcHNob3QsIHRoaXMuY3VycmVudFJvdXRlclN0YXRlKTtcblxuICAgICAgfSkubWFwKChuZXdTdGF0ZTpSb3V0ZXJTdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZSA9IG5ld1N0YXRlO1xuXG4gICAgICB9KS5tZXJnZU1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBHdWFyZENoZWNrcyhzdGF0ZS5zbmFwc2hvdCwgdGhpcy5jdXJyZW50Um91dGVyU3RhdGUuc25hcHNob3QsIHRoaXMuaW5qZWN0b3IpLmNoZWNrKHRoaXMub3V0bGV0TWFwKTtcblxuICAgICAgfSkuZm9yRWFjaCgoc2hvdWxkQWN0aXZhdGUpID0+IHtcbiAgICAgICAgaWYgKCFzaG91bGRBY3RpdmF0ZSB8fCBpZCAhPT0gdGhpcy5uYXZpZ2F0aW9uSWQpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlckV2ZW50cy5uZXh0KG5ldyBOYXZpZ2F0aW9uQ2FuY2VsKGlkLCB1cmwpKTtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBBY3RpdmF0ZVJvdXRlcyhzdGF0ZSwgdGhpcy5jdXJyZW50Um91dGVyU3RhdGUpLmFjdGl2YXRlKHRoaXMub3V0bGV0TWFwKTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRVcmxUcmVlID0gdXJsO1xuICAgICAgICB0aGlzLmN1cnJlbnRSb3V0ZXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICBpZiAoIXBvcCkge1xuICAgICAgICAgIHRoaXMubG9jYXRpb24uZ28odGhpcy51cmxTZXJpYWxpemVyLnNlcmlhbGl6ZSh1cmwpKTtcbiAgICAgICAgfVxuICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzLm5leHQobmV3IE5hdmlnYXRpb25FbmQoaWQsIHVybCkpO1xuICAgICAgICByZXNvbHZlUHJvbWlzZSh0cnVlKTtcblxuICAgICAgfSwgZSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzLm5leHQobmV3IE5hdmlnYXRpb25FcnJvcihpZCwgdXJsLCBlKSk7XG4gICAgICAgIHJlamVjdFByb21pc2UoZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBDYW5BY3RpdmF0ZSB7IGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge319XG5jbGFzcyBDYW5EZWFjdGl2YXRlIHsgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogT2JqZWN0LCBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHt9fVxuXG5jbGFzcyBHdWFyZENoZWNrcyB7XG4gIHByaXZhdGUgY2hlY2tzID0gW107XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnV0dXJlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBwcml2YXRlIGN1cnI6IFJvdXRlclN0YXRlU25hcHNob3QsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGNoZWNrKHBhcmVudE91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgZnV0dXJlUm9vdCA9IHRoaXMuZnV0dXJlLl9yb290O1xuICAgIGNvbnN0IGN1cnJSb290ID0gdGhpcy5jdXJyID8gdGhpcy5jdXJyLl9yb290IDogbnVsbDtcbiAgICB0aGlzLnRyYXZlcnNlQ2hpbGRSb3V0ZXMoZnV0dXJlUm9vdCwgY3VyclJvb3QsIHBhcmVudE91dGxldE1hcCk7XG4gICAgaWYgKHRoaXMuY2hlY2tzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG9mKHRydWUpO1xuICAgIHJldHVybiBmb3JrSm9pbih0aGlzLmNoZWNrcy5tYXAocyA9PiB7XG4gICAgICBpZiAocyBpbnN0YW5jZW9mIENhbkFjdGl2YXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJ1bkNhbkFjdGl2YXRlKHMucm91dGUpXG4gICAgICB9IGVsc2UgaWYgKHMgaW5zdGFuY2VvZiBDYW5EZWFjdGl2YXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJ1bkNhbkRlYWN0aXZhdGUocy5jb21wb25lbnQsIHMucm91dGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGJlIHJlYWNoZWRcIik7XG4gICAgICB9XG4gICAgfSkpLm1hcChhbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmF2ZXJzZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyck5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+IHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZDaGlsZHJlbiA9IG5vZGVDaGlsZHJlbkFzTWFwKGN1cnJOb2RlKTtcbiAgICBmdXR1cmVOb2RlLmNoaWxkcmVuLmZvckVhY2goYyA9PiB7XG4gICAgICB0aGlzLnRyYXZlcnNlUm91dGVzKGMsIHByZXZDaGlsZHJlbltjLnZhbHVlLm91dGxldF0sIG91dGxldE1hcCk7XG4gICAgICBkZWxldGUgcHJldkNoaWxkcmVuW2MudmFsdWUub3V0bGV0XTtcbiAgICB9KTtcbiAgICBmb3JFYWNoKHByZXZDaGlsZHJlbiwgKHYsIGspID0+IHRoaXMuZGVhY3RpdmF0ZU91dGxldEFuZEl0Q2hpbGRyZW4odiwgb3V0bGV0TWFwLl9vdXRsZXRzW2tdKSk7XG4gIH1cblxuICB0cmF2ZXJzZVJvdXRlcyhmdXR1cmVOb2RlOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiwgY3Vyck5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+IHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgcGFyZW50T3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXAgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZnV0dXJlID0gZnV0dXJlTm9kZS52YWx1ZTtcbiAgICBjb25zdCBjdXJyID0gY3Vyck5vZGUgPyBjdXJyTm9kZS52YWx1ZSA6IG51bGw7XG4gICAgY29uc3Qgb3V0bGV0ID0gcGFyZW50T3V0bGV0TWFwID8gcGFyZW50T3V0bGV0TWFwLl9vdXRsZXRzW2Z1dHVyZU5vZGUudmFsdWUub3V0bGV0XSA6IG51bGw7XG5cbiAgICBpZiAoY3VyciAmJiBmdXR1cmUuX3JvdXRlQ29uZmlnID09PSBjdXJyLl9yb3V0ZUNvbmZpZykge1xuICAgICAgaWYgKCFzaGFsbG93RXF1YWwoZnV0dXJlLnBhcmFtcywgY3Vyci5wYXJhbXMpKSB7XG4gICAgICAgIHRoaXMuY2hlY2tzLnB1c2gobmV3IENhbkRlYWN0aXZhdGUob3V0bGV0LmNvbXBvbmVudCwgY3VyciksIG5ldyBDYW5BY3RpdmF0ZShmdXR1cmUpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJhdmVyc2VDaGlsZFJvdXRlcyhmdXR1cmVOb2RlLCBjdXJyTm9kZSwgb3V0bGV0ID8gb3V0bGV0Lm91dGxldE1hcCA6IG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKGN1cnIsIG91dGxldCk7XG4gICAgICB0aGlzLmNoZWNrcy5wdXNoKG5ldyBDYW5BY3RpdmF0ZShmdXR1cmUpKTtcbiAgICAgIHRoaXMudHJhdmVyc2VDaGlsZFJvdXRlcyhmdXR1cmVOb2RlLCBudWxsLCBvdXRsZXQgPyBvdXRsZXQub3V0bGV0TWFwIDogbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgb3V0bGV0OiBSb3V0ZXJPdXRsZXQpOiB2b2lkIHtcbiAgICBpZiAob3V0bGV0ICYmIG91dGxldC5pc0FjdGl2YXRlZCkge1xuICAgICAgZm9yRWFjaChvdXRsZXQub3V0bGV0TWFwLl9vdXRsZXRzLCAodiwgaykgPT4gdGhpcy5kZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbih2LCBvdXRsZXQub3V0bGV0TWFwLl9vdXRsZXRzW2tdKSk7XG4gICAgICB0aGlzLmNoZWNrcy5wdXNoKG5ldyBDYW5EZWFjdGl2YXRlKG91dGxldC5jb21wb25lbnQsIHJvdXRlKSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJ1bkNhbkFjdGl2YXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNhbkFjdGl2YXRlID0gZnV0dXJlLl9yb3V0ZUNvbmZpZyA/IGZ1dHVyZS5fcm91dGVDb25maWcuY2FuQWN0aXZhdGUgOiBudWxsO1xuICAgIGlmICghY2FuQWN0aXZhdGUgfHwgY2FuQWN0aXZhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gb2YodHJ1ZSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGNhbkFjdGl2YXRlLm1hcChjID0+IHtcbiAgICAgIGNvbnN0IGd1YXJkID0gdGhpcy5pbmplY3Rvci5nZXQoYyk7XG4gICAgICBpZiAoZ3VhcmQuY2FuQWN0aXZhdGUpIHtcbiAgICAgICAgcmV0dXJuIG9mKGd1YXJkLmNhbkFjdGl2YXRlKGZ1dHVyZSwgdGhpcy5mdXR1cmUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihndWFyZChmdXR1cmUsIHRoaXMuZnV0dXJlKSk7XG4gICAgICB9XG4gICAgfSkpLm1hcChhbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5DYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogT2JqZWN0LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FuRGVhY3RpdmF0ZSA9IGN1cnIuX3JvdXRlQ29uZmlnID8gY3Vyci5fcm91dGVDb25maWcuY2FuRGVhY3RpdmF0ZSA6IG51bGw7XG4gICAgaWYgKCFjYW5EZWFjdGl2YXRlIHx8IGNhbkRlYWN0aXZhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gb2YodHJ1ZSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGNhbkRlYWN0aXZhdGUubWFwKGMgPT4ge1xuICAgICAgY29uc3QgZ3VhcmQgPSB0aGlzLmluamVjdG9yLmdldChjKTtcbiAgICAgIGlmIChndWFyZC5jYW5EZWFjdGl2YXRlKSB7XG4gICAgICAgIHJldHVybiBvZihndWFyZC5jYW5EZWFjdGl2YXRlKGNvbXBvbmVudCwgY3VyciwgdGhpcy5jdXJyKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoZ3VhcmQoY29tcG9uZW50LCBjdXJyLCB0aGlzLmN1cnIpKTtcbiAgICAgIH1cbiAgICB9KSkubWFwKGFuZCk7XG4gIH1cbn1cblxuY2xhc3MgQWN0aXZhdGVSb3V0ZXMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1dHVyZVN0YXRlOiBSb3V0ZXJTdGF0ZSwgcHJpdmF0ZSBjdXJyU3RhdGU6IFJvdXRlclN0YXRlKSB7fVxuXG4gIGFjdGl2YXRlKHBhcmVudE91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwKTp2b2lkIHtcbiAgICBjb25zdCBmdXR1cmVSb290ID0gdGhpcy5mdXR1cmVTdGF0ZS5fcm9vdDtcbiAgICBjb25zdCBjdXJyUm9vdCA9IHRoaXMuY3VyclN0YXRlID8gdGhpcy5jdXJyU3RhdGUuX3Jvb3QgOiBudWxsO1xuXG4gICAgcHVzaFF1ZXJ5UGFyYW1zQW5kRnJhZ21lbnQodGhpcy5mdXR1cmVTdGF0ZSk7XG4gICAgdGhpcy5hY3RpdmF0ZUNoaWxkUm91dGVzKGZ1dHVyZVJvb3QsIGN1cnJSb290LCBwYXJlbnRPdXRsZXRNYXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJOb2RlOiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4gfCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXApOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2Q2hpbGRyZW4gPSBub2RlQ2hpbGRyZW5Bc01hcChjdXJyTm9kZSk7XG4gICAgZnV0dXJlTm9kZS5jaGlsZHJlbi5mb3JFYWNoKGMgPT4ge1xuICAgICAgdGhpcy5hY3RpdmF0ZVJvdXRlcyhjLCBwcmV2Q2hpbGRyZW5bYy52YWx1ZS5vdXRsZXRdLCBvdXRsZXRNYXApO1xuICAgICAgZGVsZXRlIHByZXZDaGlsZHJlbltjLnZhbHVlLm91dGxldF07XG4gICAgfSk7XG4gICAgZm9yRWFjaChwcmV2Q2hpbGRyZW4sICh2LCBrKSA9PiB0aGlzLmRlYWN0aXZhdGVPdXRsZXRBbmRJdENoaWxkcmVuKG91dGxldE1hcC5fb3V0bGV0c1trXSkpO1xuICB9XG5cbiAgYWN0aXZhdGVSb3V0ZXMoZnV0dXJlTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+LCBjdXJyTm9kZTogVHJlZU5vZGU8QWN0aXZhdGVkUm91dGU+IHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgcGFyZW50T3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXApOiB2b2lkIHtcbiAgICBjb25zdCBmdXR1cmUgPSBmdXR1cmVOb2RlLnZhbHVlO1xuICAgIGNvbnN0IGN1cnIgPSBjdXJyTm9kZSA/IGN1cnJOb2RlLnZhbHVlIDogbnVsbDtcbiAgICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQocGFyZW50T3V0bGV0TWFwLCBmdXR1cmVOb2RlLnZhbHVlKTtcblxuICAgIGlmIChmdXR1cmUgPT09IGN1cnIpIHtcbiAgICAgIGFkdmFuY2VBY3RpdmF0ZWRSb3V0ZShmdXR1cmUpO1xuICAgICAgdGhpcy5hY3RpdmF0ZUNoaWxkUm91dGVzKGZ1dHVyZU5vZGUsIGN1cnJOb2RlLCBvdXRsZXQub3V0bGV0TWFwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbihvdXRsZXQpO1xuICAgICAgY29uc3Qgb3V0bGV0TWFwID0gbmV3IFJvdXRlck91dGxldE1hcCgpO1xuICAgICAgdGhpcy5hY3RpdmF0ZU5ld1JvdXRlcyhvdXRsZXRNYXAsIGZ1dHVyZSwgb3V0bGV0KTtcbiAgICAgIHRoaXMuYWN0aXZhdGVDaGlsZFJvdXRlcyhmdXR1cmVOb2RlLCBudWxsLCBvdXRsZXRNYXApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVOZXdSb3V0ZXMob3V0bGV0TWFwOiBSb3V0ZXJPdXRsZXRNYXAsIGZ1dHVyZTogQWN0aXZhdGVkUm91dGUsIG91dGxldDogUm91dGVyT3V0bGV0KTogdm9pZCB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBSZWZsZWN0aXZlSW5qZWN0b3IucmVzb2x2ZShbXG4gICAgICB7cHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZVZhbHVlOiBmdXR1cmV9LFxuICAgICAge3Byb3ZpZGU6IFJvdXRlck91dGxldE1hcCwgdXNlVmFsdWU6IG91dGxldE1hcH1cbiAgICBdKTtcbiAgICBvdXRsZXQuYWN0aXZhdGUoZnV0dXJlLl9mdXR1cmVTbmFwc2hvdC5fcmVzb2x2ZWRDb21wb25lbnRGYWN0b3J5LCByZXNvbHZlZCwgb3V0bGV0TWFwKTtcbiAgICBhZHZhbmNlQWN0aXZhdGVkUm91dGUoZnV0dXJlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVhY3RpdmF0ZU91dGxldEFuZEl0Q2hpbGRyZW4ob3V0bGV0OiBSb3V0ZXJPdXRsZXQpOiB2b2lkIHtcbiAgICBpZiAob3V0bGV0ICYmIG91dGxldC5pc0FjdGl2YXRlZCkge1xuICAgICAgZm9yRWFjaChvdXRsZXQub3V0bGV0TWFwLl9vdXRsZXRzLCAodiwgaykgPT4gdGhpcy5kZWFjdGl2YXRlT3V0bGV0QW5kSXRDaGlsZHJlbih2KSk7XG4gICAgICBvdXRsZXQuZGVhY3RpdmF0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoUXVlcnlQYXJhbXNBbmRGcmFnbWVudChzdGF0ZTogUm91dGVyU3RhdGUpOiB2b2lkIHtcbiAgaWYgKCFzaGFsbG93RXF1YWwoc3RhdGUuc25hcHNob3QucXVlcnlQYXJhbXMsICg8YW55PnN0YXRlLnF1ZXJ5UGFyYW1zKS52YWx1ZSkpIHtcbiAgICAoPGFueT5zdGF0ZS5xdWVyeVBhcmFtcykubmV4dChzdGF0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyk7XG4gIH1cblxuICBpZiAoc3RhdGUuc25hcHNob3QuZnJhZ21lbnQgIT09ICg8YW55PnN0YXRlLmZyYWdtZW50KS52YWx1ZSkge1xuICAgICg8YW55PnN0YXRlLmZyYWdtZW50KS5uZXh0KHN0YXRlLnNuYXBzaG90LmZyYWdtZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBub2RlQ2hpbGRyZW5Bc01hcChub2RlOiBUcmVlTm9kZTxhbnk+fG51bGwpIHtcbiAgcmV0dXJuIG5vZGUgP1xuICAgIG5vZGUuY2hpbGRyZW4ucmVkdWNlKFxuICAgICAgKG0sIGMpID0+IHtcbiAgICAgICAgbVtjLnZhbHVlLm91dGxldF0gPSBjO1xuICAgICAgICByZXR1cm4gbTtcbiAgICAgIH0sXG4gICAgICB7fSkgOlxuICB7fTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KG91dGxldE1hcDogUm91dGVyT3V0bGV0TWFwLCByb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBSb3V0ZXJPdXRsZXQge1xuICBsZXQgb3V0bGV0ID0gb3V0bGV0TWFwLl9vdXRsZXRzW3JvdXRlLm91dGxldF07XG4gIGlmICghb3V0bGV0KSB7XG4gICAgaWYgKHJvdXRlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgcHJpbWFyeSBvdXRsZXRgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCB0aGUgb3V0bGV0ICR7cm91dGUub3V0bGV0fWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0bGV0O1xufVxuIl19 \ No newline at end of file diff --git a/modules/@angular/router/build/src/router_outlet_map.d.ts b/modules/@angular/router/build/src/router_outlet_map.d.ts deleted file mode 100644 index df50474269..0000000000 --- a/modules/@angular/router/build/src/router_outlet_map.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { RouterOutlet } from './directives/router_outlet'; -export declare class RouterOutletMap { - _outlets: { - [name: string]: RouterOutlet; - }; - registerOutlet(name: string, outlet: RouterOutlet): void; -} diff --git a/modules/@angular/router/build/src/router_outlet_map.js b/modules/@angular/router/build/src/router_outlet_map.js deleted file mode 100644 index 1895fca1f3..0000000000 --- a/modules/@angular/router/build/src/router_outlet_map.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -var RouterOutletMap = (function () { - function RouterOutletMap() { - this._outlets = {}; - } - RouterOutletMap.prototype.registerOutlet = function (name, outlet) { this._outlets[name] = outlet; }; - return RouterOutletMap; -}()); -exports.RouterOutletMap = RouterOutletMap; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX291dGxldF9tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVyX291dGxldF9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtBO0lBQUE7UUFFRSxhQUFRLEdBQW1DLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBREMsd0NBQWMsR0FBZCxVQUFlLElBQVksRUFBRSxNQUFvQixJQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1RixzQkFBQztBQUFELENBQUMsQUFKRCxJQUlDO0FBSlksdUJBQWUsa0JBSTNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcm91dGVyX291dGxldCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJPdXRsZXRNYXAge1xuICAvKiogQGludGVybmFsICovXG4gIF9vdXRsZXRzOiB7W25hbWU6IHN0cmluZ106IFJvdXRlck91dGxldH0gPSB7fTtcbiAgcmVnaXN0ZXJPdXRsZXQobmFtZTogc3RyaW5nLCBvdXRsZXQ6IFJvdXRlck91dGxldCk6IHZvaWQgeyB0aGlzLl9vdXRsZXRzW25hbWVdID0gb3V0bGV0OyB9XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/router_providers.d.ts b/modules/@angular/router/build/src/router_providers.d.ts deleted file mode 100644 index dea74761c8..0000000000 --- a/modules/@angular/router/build/src/router_providers.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { RouterConfig } from './config'; -export declare function provideRouter(config: RouterConfig): any[]; diff --git a/modules/@angular/router/build/src/router_providers.js b/modules/@angular/router/build/src/router_providers.js deleted file mode 100644 index 3317aaea89..0000000000 --- a/modules/@angular/router/build/src/router_providers.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -var common = require('./common_router_providers'); -var platform_browser_1 = require('@angular/platform-browser'); -var common_1 = require('@angular/common'); -function provideRouter(config) { - return [ - { provide: common_1.PlatformLocation, useClass: platform_browser_1.BrowserPlatformLocation } - ].concat(common.provideRouter(config)); -} -exports.provideRouter = provideRouter; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX3Byb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXJfcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxJQUFZLE1BQU0sV0FBTSwyQkFBMkIsQ0FBQyxDQUFBO0FBQ3BELGlDQUFzQywyQkFBMkIsQ0FBQyxDQUFBO0FBQ2xFLHVCQUErQixpQkFBaUIsQ0FBQyxDQUFBO0FBb0JqRCx1QkFBOEIsTUFBb0I7SUFDaEQsTUFBTSxDQUFDO1FBQ0wsRUFBQyxPQUFPLEVBQUUseUJBQWdCLEVBQUUsUUFBUSxFQUFFLDBDQUF1QixFQUFDO2FBQzNELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQ2hDLENBQUM7QUFDSixDQUFDO0FBTGUscUJBQWEsZ0JBSzVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgKiBhcyBjb21tb24gZnJvbSAnLi9jb21tb25fcm91dGVyX3Byb3ZpZGVycyc7XG5pbXBvcnQge0Jyb3dzZXJQbGF0Zm9ybUxvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7UGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBBIGxpc3Qgb2Yge0BsaW5rIFByb3ZpZGVyfXMuIFRvIHVzZSB0aGUgcm91dGVyLCB5b3UgbXVzdCBhZGQgdGhpcyB0byB5b3VyIGFwcGxpY2F0aW9uLlxuICpcbiAqICMjIyBFeGFtcGxlXG4gKlxuICogYGBgXG4gKiBAQ29tcG9uZW50KHtkaXJlY3RpdmVzOiBbUk9VVEVSX0RJUkVDVElWRVNdfSlcbiAqIGNsYXNzIEFwcENtcCB7XG4gKiAgIC8vIC4uLlxuICogfVxuICogXG4gKiBjb25zdCByb3V0ZXIgPSBbXG4gKiAgIHtwYXRoOiAnL2hvbWUnLCBjb21wb25lbnQ6IEhvbWV9XG4gKiBdO1xuICpcbiAqIGJvb3RzdHJhcChBcHBDbXAsIFtwcm92aWRlUm91dGVyKHJvdXRlcildKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVJvdXRlcihjb25maWc6IFJvdXRlckNvbmZpZyk6YW55W10ge1xuICByZXR1cm4gW1xuICAgIHtwcm92aWRlOiBQbGF0Zm9ybUxvY2F0aW9uLCB1c2VDbGFzczogQnJvd3NlclBsYXRmb3JtTG9jYXRpb259LFxuICAgIC4uLmNvbW1vbi5wcm92aWRlUm91dGVyKGNvbmZpZylcbiAgXTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/router_state.d.ts b/modules/@angular/router/build/src/router_state.d.ts deleted file mode 100644 index 0a2493803c..0000000000 --- a/modules/@angular/router/build/src/router_state.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -import { UrlSegment } from './url_tree'; -import { Route } from './config'; -import { Params } from './shared'; -import { Observable } from 'rxjs/Observable'; -import { Type, ComponentFactory } from '@angular/core'; -export declare class RouterState extends Tree { - queryParams: Observable; - fragment: Observable; - snapshot: RouterStateSnapshot; - constructor(root: TreeNode, queryParams: Observable, fragment: Observable, snapshot: RouterStateSnapshot); -} -export declare function createEmptyState(rootComponent: Type): RouterState; -export declare class ActivatedRoute { - urlSegments: Observable; - params: Observable; - outlet: string; - component: Type | string; - _futureSnapshot: ActivatedRouteSnapshot; - snapshot: ActivatedRouteSnapshot; - constructor(urlSegments: Observable, params: Observable, outlet: string, component: Type | string, futureSnapshot: ActivatedRouteSnapshot); -} -export declare class ActivatedRouteSnapshot { - urlSegments: UrlSegment[]; - params: Params; - outlet: string; - component: Type | string; - _resolvedComponentFactory: ComponentFactory; - _routeConfig: Route | null; - _lastUrlSegment: UrlSegment; - constructor(urlSegments: UrlSegment[], params: Params, outlet: string, component: Type | string, routeConfig: Route | null, lastUrlSegment: UrlSegment); -} -export declare class RouterStateSnapshot extends Tree { - queryParams: Params; - fragment: string | null; - constructor(root: TreeNode, queryParams: Params, fragment: string | null); -} -export declare function advanceActivatedRoute(route: ActivatedRoute): void; diff --git a/modules/@angular/router/build/src/router_state.js b/modules/@angular/router/build/src/router_state.js deleted file mode 100644 index 97bbcab604..0000000000 --- a/modules/@angular/router/build/src/router_state.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var tree_1 = require('./utils/tree'); -var collection_1 = require('./utils/collection'); -var url_tree_1 = require('./url_tree'); -var shared_1 = require('./shared'); -var BehaviorSubject_1 = require('rxjs/BehaviorSubject'); -var RouterState = (function (_super) { - __extends(RouterState, _super); - function RouterState(root, queryParams, fragment, snapshot) { - _super.call(this, root); - this.queryParams = queryParams; - this.fragment = fragment; - this.snapshot = snapshot; - } - return RouterState; -}(tree_1.Tree)); -exports.RouterState = RouterState; -function createEmptyState(rootComponent) { - var snapshot = createEmptyStateSnapshot(rootComponent); - var emptyUrl = new BehaviorSubject_1.BehaviorSubject([new url_tree_1.UrlSegment("", {}, shared_1.PRIMARY_OUTLET)]); - var emptyParams = new BehaviorSubject_1.BehaviorSubject({}); - var emptyQueryParams = new BehaviorSubject_1.BehaviorSubject({}); - var fragment = new BehaviorSubject_1.BehaviorSubject(""); - var activated = new ActivatedRoute(emptyUrl, emptyParams, shared_1.PRIMARY_OUTLET, rootComponent, snapshot.root); - activated.snapshot = snapshot.root; - return new RouterState(new tree_1.TreeNode(activated, []), emptyQueryParams, fragment, snapshot); -} -exports.createEmptyState = createEmptyState; -function createEmptyStateSnapshot(rootComponent) { - var rootUrlSegment = new url_tree_1.UrlSegment("", {}, shared_1.PRIMARY_OUTLET); - var emptyUrl = [rootUrlSegment]; - var emptyParams = {}; - var emptyQueryParams = {}; - var fragment = ""; - var activated = new ActivatedRouteSnapshot(emptyUrl, emptyParams, shared_1.PRIMARY_OUTLET, rootComponent, null, rootUrlSegment); - return new RouterStateSnapshot(new tree_1.TreeNode(activated, []), emptyQueryParams, fragment); -} -var ActivatedRoute = (function () { - function ActivatedRoute(urlSegments, params, outlet, component, futureSnapshot) { - this.urlSegments = urlSegments; - this.params = params; - this.outlet = outlet; - this.component = component; - this._futureSnapshot = futureSnapshot; - } - return ActivatedRoute; -}()); -exports.ActivatedRoute = ActivatedRoute; -var ActivatedRouteSnapshot = (function () { - function ActivatedRouteSnapshot(urlSegments, params, outlet, component, routeConfig, lastUrlSegment) { - this.urlSegments = urlSegments; - this.params = params; - this.outlet = outlet; - this.component = component; - this._routeConfig = routeConfig; - this._lastUrlSegment = lastUrlSegment; - } - return ActivatedRouteSnapshot; -}()); -exports.ActivatedRouteSnapshot = ActivatedRouteSnapshot; -var RouterStateSnapshot = (function (_super) { - __extends(RouterStateSnapshot, _super); - function RouterStateSnapshot(root, queryParams, fragment) { - _super.call(this, root); - this.queryParams = queryParams; - this.fragment = fragment; - } - return RouterStateSnapshot; -}(tree_1.Tree)); -exports.RouterStateSnapshot = RouterStateSnapshot; -function advanceActivatedRoute(route) { - if (route.snapshot && !collection_1.shallowEqual(route.snapshot.params, route._futureSnapshot.params)) { - route.snapshot = route._futureSnapshot; - route.urlSegments.next(route.snapshot.urlSegments); - route.params.next(route.snapshot.params); - } - else { - route.snapshot = route._futureSnapshot; - } -} -exports.advanceActivatedRoute = advanceActivatedRoute; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlcl9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQkFBK0IsY0FBYyxDQUFDLENBQUE7QUFDOUMsMkJBQTZCLG9CQUFvQixDQUFDLENBQUE7QUFDbEQseUJBQTJCLFlBQVksQ0FBQyxDQUFBO0FBRXhDLHVCQUF1QyxVQUFVLENBQUMsQ0FBQTtBQUVsRCxnQ0FBZ0Msc0JBQXNCLENBQUMsQ0FBQTtBQWtCdkQ7SUFBaUMsK0JBQW9CO0lBSW5ELHFCQUFZLElBQThCLEVBQVMsV0FBK0IsRUFBUyxRQUE0QixFQUFTLFFBQTZCO1FBQzNKLGtCQUFNLElBQUksQ0FBQyxDQUFDO1FBRHFDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFN0osQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQVBELENBQWlDLFdBQUksR0FPcEM7QUFQWSxtQkFBVyxjQU92QixDQUFBO0FBRUQsMEJBQWlDLGFBQW1CO0lBQ2xELElBQU0sUUFBUSxHQUFHLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELElBQU0sUUFBUSxHQUFHLElBQUksaUNBQWUsQ0FBQyxDQUFDLElBQUkscUJBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLHVCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsSUFBTSxXQUFXLEdBQUcsSUFBSSxpQ0FBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxpQ0FBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELElBQU0sUUFBUSxHQUFHLElBQUksaUNBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxJQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLHVCQUFjLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDbkMsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksZUFBUSxDQUFpQixTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzVHLENBQUM7QUFUZSx3QkFBZ0IsbUJBUy9CLENBQUE7QUFFRCxrQ0FBa0MsYUFBbUI7SUFDbkQsSUFBTSxjQUFjLEdBQUcsSUFBSSxxQkFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsdUJBQWMsQ0FBQyxDQUFDO0lBQzlELElBQU0sUUFBUSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEMsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLElBQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLElBQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNwQixJQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsdUJBQWMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3pILE1BQU0sQ0FBQyxJQUFJLG1CQUFtQixDQUFDLElBQUksZUFBUSxDQUF5QixTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQWdCRDtJQVFFLHdCQUFtQixXQUFxQyxFQUNyQyxNQUEwQixFQUMxQixNQUFjLEVBQ2QsU0FBd0IsRUFDL0IsY0FBc0M7UUFKL0IsZ0JBQVcsR0FBWCxXQUFXLENBQTBCO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBR3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQ3hDLENBQUM7SUFDSCxxQkFBQztBQUFELENBQUMsQUFoQkQsSUFnQkM7QUFoQlksc0JBQWMsaUJBZ0IxQixDQUFBO0FBZUQ7SUFlRSxnQ0FBbUIsV0FBeUIsRUFDekIsTUFBYyxFQUNkLE1BQWMsRUFDZCxTQUF3QixFQUMvQixXQUF5QixFQUN6QixjQUEwQjtRQUxuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFHekMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUNILDZCQUFDO0FBQUQsQ0FBQyxBQXhCRCxJQXdCQztBQXhCWSw4QkFBc0IseUJBd0JsQyxDQUFBO0FBZUQ7SUFBeUMsdUNBQTRCO0lBSW5FLDZCQUFZLElBQXNDLEVBQVMsV0FBbUIsRUFBUyxRQUF1QjtRQUM1RyxrQkFBTSxJQUFJLENBQUMsQ0FBQztRQUQ2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFFOUcsQ0FBQztJQUNILDBCQUFDO0FBQUQsQ0FBQyxBQVBELENBQXlDLFdBQUksR0FPNUM7QUFQWSwyQkFBbUIsc0JBTy9CLENBQUE7QUFPRCwrQkFBc0MsS0FBcUI7SUFDekQsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLHlCQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ2pDLEtBQUssQ0FBQyxXQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFSZSw2QkFBcUIsd0JBUXBDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmVlLCBUcmVlTm9kZSB9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5pbXBvcnQgeyBzaGFsbG93RXF1YWwgfSBmcm9tICcuL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVXJsU2VnbWVudCB9IGZyb20gJy4vdXJsX3RyZWUnO1xuaW1wb3J0IHsgUm91dGUgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBQYXJhbXMsIFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL0JlaGF2aW9yU3ViamVjdCc7XG5pbXBvcnQgeyBUeXBlLCBDb21wb25lbnRGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhlIHN0YXRlIG9mIHRoZSByb3V0ZXIuXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgXG4gKiBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyKSB7XG4gKiAgICAgY29uc3Qgc3RhdGUgPSByb3V0ZXIucm91dGVyU3RhdGU7XG4gKiAgICAgY29uc3QgaWQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHN0YXRlLmZpcnN0Q2hpbGQoc3RhdGUucm9vdCkucGFyYW1zLm1hcChwID0+IHAuaWQpO1xuICogICAgIGNvbnN0IGlzRGVidWc6IE9ic2VydmFibGU8c3RyaW5nPiA9IHN0YXRlLnF1ZXJ5UGFyYW1zLm1hcChxID0+IHEuZGVidWcpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlclN0YXRlIGV4dGVuZHMgVHJlZTxBY3RpdmF0ZWRSb3V0ZT4ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihyb290OiBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4sIHB1YmxpYyBxdWVyeVBhcmFtczogT2JzZXJ2YWJsZTxQYXJhbXM+LCBwdWJsaWMgZnJhZ21lbnQ6IE9ic2VydmFibGU8c3RyaW5nPiwgcHVibGljIHNuYXBzaG90OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgc3VwZXIocm9vdCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVtcHR5U3RhdGUocm9vdENvbXBvbmVudDogVHlwZSk6IFJvdXRlclN0YXRlIHtcbiAgY29uc3Qgc25hcHNob3QgPSBjcmVhdGVFbXB0eVN0YXRlU25hcHNob3Qocm9vdENvbXBvbmVudCk7XG4gIGNvbnN0IGVtcHR5VXJsID0gbmV3IEJlaGF2aW9yU3ViamVjdChbbmV3IFVybFNlZ21lbnQoXCJcIiwge30sIFBSSU1BUllfT1VUTEVUKV0pO1xuICBjb25zdCBlbXB0eVBhcmFtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICBjb25zdCBlbXB0eVF1ZXJ5UGFyYW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gIGNvbnN0IGZyYWdtZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcIlwiKTtcbiAgY29uc3QgYWN0aXZhdGVkID0gbmV3IEFjdGl2YXRlZFJvdXRlKGVtcHR5VXJsLCBlbXB0eVBhcmFtcywgUFJJTUFSWV9PVVRMRVQsIHJvb3RDb21wb25lbnQsIHNuYXBzaG90LnJvb3QpO1xuICBhY3RpdmF0ZWQuc25hcHNob3QgPSBzbmFwc2hvdC5yb290O1xuICByZXR1cm4gbmV3IFJvdXRlclN0YXRlKG5ldyBUcmVlTm9kZTxBY3RpdmF0ZWRSb3V0ZT4oYWN0aXZhdGVkLCBbXSksIGVtcHR5UXVlcnlQYXJhbXMsIGZyYWdtZW50LCBzbmFwc2hvdCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVtcHR5U3RhdGVTbmFwc2hvdChyb290Q29tcG9uZW50OiBUeXBlKTogUm91dGVyU3RhdGVTbmFwc2hvdCB7XG4gIGNvbnN0IHJvb3RVcmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQoXCJcIiwge30sIFBSSU1BUllfT1VUTEVUKTtcbiAgY29uc3QgZW1wdHlVcmwgPSBbcm9vdFVybFNlZ21lbnRdO1xuICBjb25zdCBlbXB0eVBhcmFtcyA9IHt9O1xuICBjb25zdCBlbXB0eVF1ZXJ5UGFyYW1zID0ge307XG4gIGNvbnN0IGZyYWdtZW50ID0gXCJcIjtcbiAgY29uc3QgYWN0aXZhdGVkID0gbmV3IEFjdGl2YXRlZFJvdXRlU25hcHNob3QoZW1wdHlVcmwsIGVtcHR5UGFyYW1zLCBQUklNQVJZX09VVExFVCwgcm9vdENvbXBvbmVudCwgbnVsbCwgcm9vdFVybFNlZ21lbnQpO1xuICByZXR1cm4gbmV3IFJvdXRlclN0YXRlU25hcHNob3QobmV3IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+KGFjdGl2YXRlZCwgW10pLCBlbXB0eVF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG59XG5cbi8qKlxuICogQ29udGFpbnMgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY29tcG9uZW50IGxvYWRlZCBpbiBhbiBvdXRsZXQuIFRoZSBpbmZvcm1hdGlvbiBpcyBwcm92aWRlZCB0aHJvdWdoXG4gKiB0aGUgcGFyYW1zIGFuZCB1cmxTZWdtZW50cyBvYnNlcnZhYmxlcy5cbiAqXG4gKiAjIyMgVXNhZ2VcbiAqXG4gKiBgYGBcbiAqIGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgY29uc3RydWN0b3Iocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gKiAgICAgY29uc3QgaWQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHJvdXRlLnBhcmFtcy5tYXAocCA9PiBwLmlkKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3RpdmF0ZWRSb3V0ZSB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Z1dHVyZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90O1xuICBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXJsU2VnbWVudHM6IE9ic2VydmFibGU8VXJsU2VnbWVudFtdPixcbiAgICAgICAgICAgICAgcHVibGljIHBhcmFtczogT2JzZXJ2YWJsZTxQYXJhbXM+LFxuICAgICAgICAgICAgICBwdWJsaWMgb3V0bGV0OiBzdHJpbmcsXG4gICAgICAgICAgICAgIHB1YmxpYyBjb21wb25lbnQ6IFR5cGUgfCBzdHJpbmcsXG4gICAgICAgICAgICAgIGZ1dHVyZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XG4gICkge1xuICAgIHRoaXMuX2Z1dHVyZVNuYXBzaG90ID0gZnV0dXJlU25hcHNob3Q7XG4gIH1cbn1cblxuLyoqXG4gKiBDb250YWlucyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBjb21wb25lbnQgbG9hZGVkIGluIGFuIG91dGxldCBhdCBhIHBhcnRpY3VsYXIgbW9tZW50IGluIHRpbWUuXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgXG4gKiBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGNvbnN0cnVjdG9yKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICogICAgIGNvbnN0IGlkOiBzdHJpbmcgPSByb3V0ZS5zbmFwc2hvdC5wYXJhbXMuaWQ7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9yZXNvbHZlZENvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PjtcbiAgXG4gIC8qKiBAaW50ZXJuYWwgKiovXG4gIF9yb3V0ZUNvbmZpZzogUm91dGUgfCBudWxsO1xuXG4gIC8qKiBAaW50ZXJuYWwgKiovXG4gIF9sYXN0VXJsU2VnbWVudDogVXJsU2VnbWVudDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSxcbiAgICAgICAgICAgICAgcHVibGljIHBhcmFtczogUGFyYW1zLFxuICAgICAgICAgICAgICBwdWJsaWMgb3V0bGV0OiBzdHJpbmcsXG4gICAgICAgICAgICAgIHB1YmxpYyBjb21wb25lbnQ6IFR5cGUgfCBzdHJpbmcsIFxuICAgICAgICAgICAgICByb3V0ZUNvbmZpZzogUm91dGUgfCBudWxsLFxuICAgICAgICAgICAgICBsYXN0VXJsU2VnbWVudDogVXJsU2VnbWVudCkge1xuICAgIHRoaXMuX3JvdXRlQ29uZmlnID0gcm91dGVDb25maWc7XG4gICAgdGhpcy5fbGFzdFVybFNlZ21lbnQgPSBsYXN0VXJsU2VnbWVudDtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBzdGF0ZSBvZiB0aGUgcm91dGVyIGF0IGEgcGFydGljdWxhciBtb21lbnQgaW4gdGltZS5cbiAqXG4gKiAjIyMgVXNhZ2VcbiAqXG4gKiBgYGBcbiAqIGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIpIHtcbiAqICAgICBjb25zdCBzbmFwc2hvdCA9IHJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZVNuYXBzaG90IGV4dGVuZHMgVHJlZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKHJvb3Q6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+LCBwdWJsaWMgcXVlcnlQYXJhbXM6IFBhcmFtcywgcHVibGljIGZyYWdtZW50OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgc3VwZXIocm9vdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgZXhwZWN0YXRpb24gaXMgdGhhdCB0aGUgYWN0aXZhdGUgcm91dGUgaXMgY3JlYXRlZCB3aXRoIHRoZSByaWdodCBzZXQgb2YgcGFyYW1ldGVycy5cbiAqIFNvIHdlIHB1c2ggbmV3IHZhbHVlcyBpbnRvIHRoZSBvYnNlcnZhYmxlcyBvbmx5IHdoZW4gdGhleSBhcmUgbm90IHRoZSBpbml0aWFsIHZhbHVlcy5cbiAqIEFuZCB3ZSBkZXRlY3QgdGhhdCBieSBjaGVja2luZyBpZiB0aGUgc25hcHNob3QgZmllbGQgaXMgc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWR2YW5jZUFjdGl2YXRlZFJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHZvaWQge1xuICBpZiAocm91dGUuc25hcHNob3QgJiYgIXNoYWxsb3dFcXVhbChyb3V0ZS5zbmFwc2hvdC5wYXJhbXMsIHJvdXRlLl9mdXR1cmVTbmFwc2hvdC5wYXJhbXMpKSB7XG4gICAgcm91dGUuc25hcHNob3QgPSByb3V0ZS5fZnV0dXJlU25hcHNob3Q7XG4gICAgKDxhbnk+cm91dGUudXJsU2VnbWVudHMpLm5leHQocm91dGUuc25hcHNob3QudXJsU2VnbWVudHMpO1xuICAgICg8YW55PnJvdXRlLnBhcmFtcykubmV4dChyb3V0ZS5zbmFwc2hvdC5wYXJhbXMpO1xuICB9IGVsc2Uge1xuICAgIHJvdXRlLnNuYXBzaG90ID0gcm91dGUuX2Z1dHVyZVNuYXBzaG90O1xuICB9XG59Il19 \ No newline at end of file diff --git a/modules/@angular/router/build/src/shared.d.ts b/modules/@angular/router/build/src/shared.d.ts deleted file mode 100644 index 2aacfdf7a6..0000000000 --- a/modules/@angular/router/build/src/shared.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const PRIMARY_OUTLET: string; -export declare type Params = { - [key: string]: string; -}; diff --git a/modules/@angular/router/build/src/shared.js b/modules/@angular/router/build/src/shared.js deleted file mode 100644 index 9bb5b9dd40..0000000000 --- a/modules/@angular/router/build/src/shared.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -exports.PRIMARY_OUTLET = "PRIMARY_OUTLET"; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSWEsc0JBQWMsR0FBVyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTmFtZSBvZiB0aGUgcHJpbWFyeSBvdXRsZXQuXG4gKiBAdHlwZSB7c3RyaW5nfVxuICovXG5leHBvcnQgY29uc3QgUFJJTUFSWV9PVVRMRVQ6IHN0cmluZyA9IFwiUFJJTUFSWV9PVVRMRVRcIjtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgUGFyYW1zID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/url_serializer.d.ts b/modules/@angular/router/build/src/url_serializer.d.ts deleted file mode 100644 index 509f6b4ea0..0000000000 --- a/modules/@angular/router/build/src/url_serializer.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UrlTree, UrlSegment } from './url_tree'; -export declare abstract class UrlSerializer { - abstract parse(url: string): UrlTree; - abstract serialize(tree: UrlTree): string; -} -export declare class DefaultUrlSerializer implements UrlSerializer { - parse(url: string): UrlTree; - serialize(tree: UrlTree): string; -} -export declare function serializeSegment(segment: UrlSegment): string; diff --git a/modules/@angular/router/build/src/url_serializer.js b/modules/@angular/router/build/src/url_serializer.js deleted file mode 100644 index 28352ff41d..0000000000 --- a/modules/@angular/router/build/src/url_serializer.js +++ /dev/null @@ -1,224 +0,0 @@ -"use strict"; -var url_tree_1 = require('./url_tree'); -var shared_1 = require('./shared'); -var tree_1 = require('./utils/tree'); -var UrlSerializer = (function () { - function UrlSerializer() { - } - return UrlSerializer; -}()); -exports.UrlSerializer = UrlSerializer; -var DefaultUrlSerializer = (function () { - function DefaultUrlSerializer() { - } - DefaultUrlSerializer.prototype.parse = function (url) { - var p = new UrlParser(url); - return new url_tree_1.UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment()); - }; - DefaultUrlSerializer.prototype.serialize = function (tree) { - var node = serializeUrlTreeNode(tree._root); - var query = serializeQueryParams(tree.queryParameters); - var fragment = tree.fragment !== null ? "#" + tree.fragment : ''; - return "" + node + query + fragment; - }; - return DefaultUrlSerializer; -}()); -exports.DefaultUrlSerializer = DefaultUrlSerializer; -function serializeUrlTreeNode(node) { - return "" + serializeSegment(node.value) + serializeChildren(node); -} -function serializeUrlTreeNodes(nodes) { - var primary = serializeSegment(nodes[0].value); - var secondaryNodes = nodes.slice(1); - var secondary = secondaryNodes.length > 0 ? "(" + secondaryNodes.map(serializeUrlTreeNode).join("//") + ")" : ""; - var children = serializeChildren(nodes[0]); - return "" + primary + secondary + children; -} -function serializeChildren(node) { - if (node.children.length > 0) { - return "/" + serializeUrlTreeNodes(node.children); - } - else { - return ""; - } -} -function serializeSegment(segment) { - var outlet = segment.outlet === shared_1.PRIMARY_OUTLET ? '' : segment.outlet + ":"; - return "" + outlet + segment.path + serializeParams(segment.parameters); -} -exports.serializeSegment = serializeSegment; -function serializeParams(params) { - return pairs(params).map(function (p) { return (";" + p.first + "=" + p.second); }).join(""); -} -function serializeQueryParams(params) { - var strs = pairs(params).map(function (p) { return (p.first + "=" + p.second); }); - return strs.length > 0 ? "?" + strs.join("&") : ""; -} -var Pair = (function () { - function Pair(first, second) { - this.first = first; - this.second = second; - } - return Pair; -}()); -function pairs(obj) { - var res = []; - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) { - res.push(new Pair(prop, obj[prop])); - } - } - return res; -} -var SEGMENT_RE = /^[^\/\(\)\?;=&#]+/; -function matchUrlSegment(str) { - SEGMENT_RE.lastIndex = 0; - var match = SEGMENT_RE.exec(str); - return match ? match[0] : ''; -} -var QUERY_PARAM_VALUE_RE = /^[^\(\)\?;&#]+/; -function matchUrlQueryParamValue(str) { - QUERY_PARAM_VALUE_RE.lastIndex = 0; - var match = QUERY_PARAM_VALUE_RE.exec(str); - return match ? match[0] : ''; -} -var UrlParser = (function () { - function UrlParser(remaining) { - this.remaining = remaining; - } - UrlParser.prototype.peekStartsWith = function (str) { return this.remaining.startsWith(str); }; - UrlParser.prototype.capture = function (str) { - if (!this.remaining.startsWith(str)) { - throw new Error("Expected \"" + str + "\"."); - } - this.remaining = this.remaining.substring(str.length); - }; - UrlParser.prototype.parseRootSegment = function () { - if (this.remaining == '' || this.remaining == '/') { - return new tree_1.TreeNode(new url_tree_1.UrlSegment('', {}, shared_1.PRIMARY_OUTLET), []); - } - else { - var segments = this.parseSegments(false); - return new tree_1.TreeNode(new url_tree_1.UrlSegment('', {}, shared_1.PRIMARY_OUTLET), segments); - } - }; - UrlParser.prototype.parseSegments = function (hasOutletName) { - if (this.remaining.length == 0) { - return []; - } - if (this.peekStartsWith('/')) { - this.capture('/'); - } - var path = matchUrlSegment(this.remaining); - this.capture(path); - var outletName; - if (hasOutletName) { - if (path.indexOf(":") === -1) { - throw new Error("Not outlet name is provided"); - } - if (path.indexOf(":") > -1 && hasOutletName) { - var parts = path.split(":"); - outletName = parts[0]; - path = parts[1]; - } - } - else { - if (path.indexOf(":") > -1) { - throw new Error("Not outlet name is allowed"); - } - outletName = shared_1.PRIMARY_OUTLET; - } - var matrixParams = {}; - if (this.peekStartsWith(';')) { - matrixParams = this.parseMatrixParams(); - } - var secondary = []; - if (this.peekStartsWith('(')) { - secondary = this.parseSecondarySegments(); - } - var children = []; - if (this.peekStartsWith('/') && !this.peekStartsWith('//')) { - this.capture('/'); - children = this.parseSegments(false); - } - var segment = new url_tree_1.UrlSegment(path, matrixParams, outletName); - var node = new tree_1.TreeNode(segment, children); - return [node].concat(secondary); - }; - UrlParser.prototype.parseQueryParams = function () { - var params = {}; - if (this.peekStartsWith('?')) { - this.capture('?'); - this.parseQueryParam(params); - while (this.remaining.length > 0 && this.peekStartsWith('&')) { - this.capture('&'); - this.parseQueryParam(params); - } - } - return params; - }; - UrlParser.prototype.parseFragment = function () { - if (this.peekStartsWith('#')) { - return this.remaining.substring(1); - } - else { - return null; - } - }; - UrlParser.prototype.parseMatrixParams = function () { - var params = {}; - while (this.remaining.length > 0 && this.peekStartsWith(';')) { - this.capture(';'); - this.parseParam(params); - } - return params; - }; - UrlParser.prototype.parseParam = function (params) { - var key = matchUrlSegment(this.remaining); - if (!key) { - return; - } - this.capture(key); - var value = "true"; - if (this.peekStartsWith('=')) { - this.capture('='); - var valueMatch = matchUrlSegment(this.remaining); - if (valueMatch) { - value = valueMatch; - this.capture(value); - } - } - params[key] = value; - }; - UrlParser.prototype.parseQueryParam = function (params) { - var key = matchUrlSegment(this.remaining); - if (!key) { - return; - } - this.capture(key); - var value = "true"; - if (this.peekStartsWith('=')) { - this.capture('='); - var valueMatch = matchUrlQueryParamValue(this.remaining); - if (valueMatch) { - value = valueMatch; - this.capture(value); - } - } - params[key] = value; - }; - UrlParser.prototype.parseSecondarySegments = function () { - var segments = []; - this.capture('('); - while (!this.peekStartsWith(')') && this.remaining.length > 0) { - segments = segments.concat(this.parseSegments(true)); - if (this.peekStartsWith('//')) { - this.capture('//'); - } - } - this.capture(')'); - return segments; - }; - return UrlParser; -}()); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsX3NlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXJsX3NlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlCQUFvQyxZQUFZLENBQUMsQ0FBQTtBQUNqRCx1QkFBK0IsVUFBVSxDQUFDLENBQUE7QUFDMUMscUJBQXlCLGNBQWMsQ0FBQyxDQUFBO0FBS3hDO0lBQUE7SUFVQSxDQUFDO0lBQUQsb0JBQUM7QUFBRCxDQUFDLEFBVkQsSUFVQztBQVZxQixxQkFBYSxnQkFVbEMsQ0FBQTtBQUtEO0lBQUE7SUFZQSxDQUFDO0lBWEMsb0NBQUssR0FBTCxVQUFNLEdBQVc7UUFDZixJQUFNLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxrQkFBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCx3Q0FBUyxHQUFULFVBQVUsSUFBYTtRQUNyQixJQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxHQUFHLE1BQUksSUFBSSxDQUFDLFFBQVUsR0FBRyxFQUFFLENBQUM7UUFDbkUsTUFBTSxDQUFDLEtBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxRQUFVLENBQUM7SUFDdEMsQ0FBQztJQUNILDJCQUFDO0FBQUQsQ0FBQyxBQVpELElBWUM7QUFaWSw0QkFBb0IsdUJBWWhDLENBQUE7QUFFRCw4QkFBOEIsSUFBMEI7SUFDdEQsTUFBTSxDQUFDLEtBQUcsZ0JBQWdCLENBQUMs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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQXRKRCxJQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybFRyZWUsIFVybFNlZ21lbnQgfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7IFBSSU1BUllfT1VUTEVUIH0gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3V0aWxzL3RyZWUnO1xuXG4vKipcbiAqIERlZmluZXMgYSB3YXkgdG8gc2VyaWFsaXplL2Rlc2VyaWFsaXplIGEgdXJsIHRyZWUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVcmxTZXJpYWxpemVyIHtcbiAgLyoqXG4gICAqIFBhcnNlIGEgdXJsIGludG8gYSB7QExpbmsgVXJsVHJlZX1cbiAgICovXG4gIGFic3RyYWN0IHBhcnNlKHVybDogc3RyaW5nKTogVXJsVHJlZTtcblxuICAvKipcbiAgICogQ29udmVydHMgYSB7QExpbmsgVXJsVHJlZX0gaW50byBhIHVybFxuICAgKi9cbiAgYWJzdHJhY3Qgc2VyaWFsaXplKHRyZWU6IFVybFRyZWUpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBzZXJpYWxpemF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdFVybFNlcmlhbGl6ZXIgaW1wbGVtZW50cyBVcmxTZXJpYWxpemVyIHtcbiAgcGFyc2UodXJsOiBzdHJpbmcpOiBVcmxUcmVlIHtcbiAgICBjb25zdCBwID0gbmV3IFVybFBhcnNlcih1cmwpO1xuICAgIHJldHVybiBuZXcgVXJsVHJlZShwLnBhcnNlUm9vdFNlZ21lbnQoKSwgcC5wYXJzZVF1ZXJ5UGFyYW1zKCksIHAucGFyc2VGcmFnbWVudCgpKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSh0cmVlOiBVcmxUcmVlKTogc3RyaW5nIHsgXG4gICAgY29uc3Qgbm9kZSA9IHNlcmlhbGl6ZVVybFRyZWVOb2RlKHRyZWUuX3Jvb3QpO1xuICAgIGNvbnN0IHF1ZXJ5ID0gc2VyaWFsaXplUXVlcnlQYXJhbXModHJlZS5xdWVyeVBhcmFtZXRlcnMpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gdHJlZS5mcmFnbWVudCAhPT0gbnVsbCA/IGAjJHt0cmVlLmZyYWdtZW50fWAgOiAnJztcbiAgICByZXR1cm4gYCR7bm9kZX0ke3F1ZXJ5fSR7ZnJhZ21lbnR9YDtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVVcmxUcmVlTm9kZShub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZXJpYWxpemVTZWdtZW50KG5vZGUudmFsdWUpfSR7c2VyaWFsaXplQ2hpbGRyZW4obm9kZSl9YDtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplVXJsVHJlZU5vZGVzKG5vZGVzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogc3RyaW5nIHtcbiAgY29uc3QgcHJpbWFyeSA9IHNlcmlhbGl6ZVNlZ21lbnQobm9kZXNbMF0udmFsdWUpO1xuICBjb25zdCBzZWNvbmRhcnlOb2RlcyA9IG5vZGVzLnNsaWNlKDEpO1xuICBjb25zdCBzZWNvbmRhcnkgPSBzZWNvbmRhcnlOb2Rlcy5sZW5ndGggPiAwID8gYCgke3NlY29uZGFyeU5vZGVzLm1hcChzZXJpYWxpemVVcmxUcmVlTm9kZSkuam9pbihcIi8vXCIpfSlgIDogXCJcIjtcbiAgY29uc3QgY2hpbGRyZW4gPSBzZXJpYWxpemVDaGlsZHJlbihub2Rlc1swXSk7XG4gIHJldHVybiBgJHtwcmltYXJ5fSR7c2Vjb25kYXJ5fSR7Y2hpbGRyZW59YDtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplQ2hpbGRyZW4obm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBzdHJpbmcge1xuICBpZiAobm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGAvJHtzZXJpYWxpemVVcmxUcmVlTm9kZXMobm9kZS5jaGlsZHJlbil9YDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplU2VnbWVudChzZWdtZW50OiBVcmxTZWdtZW50KTogc3RyaW5nIHtcbiAgY29uc3Qgb3V0bGV0ID0gc2VnbWVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUID8gJycgOiBgJHtzZWdtZW50Lm91dGxldH06YDtcbiAgcmV0dXJuIGAke291dGxldH0ke3NlZ21lbnQucGF0aH0ke3NlcmlhbGl6ZVBhcmFtcyhzZWdtZW50LnBhcmFtZXRlcnMpfWA7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZVBhcmFtcyhwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhaXJzKHBhcmFtcykubWFwKHAgPT4gYDske3AuZmlyc3R9PSR7cC5zZWNvbmR9YCkuam9pbihcIlwiKTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplUXVlcnlQYXJhbXMocGFyYW1zOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSk6IHN0cmluZyB7XG4gIGNvbnN0IHN0cnMgPSBwYWlycyhwYXJhbXMpLm1hcChwID0+IGAke3AuZmlyc3R9PSR7cC5zZWNvbmR9YCk7XG4gIHJldHVybiBzdHJzLmxlbmd0aCA+IDAgPyBgPyR7c3Rycy5qb2luKFwiJlwiKX1gIDogXCJcIjtcbn1cblxuY2xhc3MgUGFpcjxBLEI+IHsgY29uc3RydWN0b3IocHVibGljIGZpcnN0OkEsIHB1YmxpYyBzZWNvbmQ6Qikge30gfVxuZnVuY3Rpb24gcGFpcnM8VD4ob2JqOiB7W2tleTogc3RyaW5nXTogVH0pOlBhaXI8c3RyaW5nLFQ+W10ge1xuICBjb25zdCByZXMgPSBbXTtcbiAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICByZXMucHVzaChuZXcgUGFpcjxzdHJpbmcsIFQ+KHByb3AsIG9ialtwcm9wXSkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jb25zdCBTRUdNRU5UX1JFID0gL15bXlxcL1xcKFxcKVxcPzs9JiNdKy87XG5mdW5jdGlvbiBtYXRjaFVybFNlZ21lbnQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBTRUdNRU5UX1JFLmxhc3RJbmRleCA9IDA7XG4gIHZhciBtYXRjaCA9IFNFR01FTlRfUkUuZXhlYyhzdHIpO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6ICcnO1xufVxuXG5jb25zdCBRVUVSWV9QQVJBTV9WQUxVRV9SRSA9IC9eW15cXChcXClcXD87JiNdKy87XG5mdW5jdGlvbiBtYXRjaFVybFF1ZXJ5UGFyYW1WYWx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIFFVRVJZX1BBUkFNX1ZBTFVFX1JFLmxhc3RJbmRleCA9IDA7XG4gIGNvbnN0IG1hdGNoID0gUVVFUllfUEFSQU1fVkFMVUVfUkUuZXhlYyhzdHIpO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6ICcnO1xufVxuXG5jbGFzcyBVcmxQYXJzZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbWFpbmluZzogc3RyaW5nKSB7fVxuXG4gIHBlZWtTdGFydHNXaXRoKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnJlbWFpbmluZy5zdGFydHNXaXRoKHN0cik7IH1cblxuICBjYXB0dXJlKHN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlbWFpbmluZy5zdGFydHNXaXRoKHN0cikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgXCIke3N0cn1cIi5gKTtcbiAgICB9XG4gICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLnJlbWFpbmluZy5zdWJzdHJpbmcoc3RyLmxlbmd0aCk7XG4gIH1cblxuICBwYXJzZVJvb3RTZWdtZW50KCk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgICBpZiAodGhpcy5yZW1haW5pbmcgID09ICcnIHx8IHRoaXMucmVtYWluaW5nID09ICcvJykge1xuICAgICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50PihuZXcgVXJsU2VnbWVudCgnJywge30sIFBSSU1BUllfT1VUTEVUKSwgW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMucGFyc2VTZWdtZW50cyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KG5ldyBVcmxTZWdtZW50KCcnLCB7fSwgUFJJTUFSWV9PVVRMRVQpLCBzZWdtZW50cyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTZWdtZW50cyhoYXNPdXRsZXROYW1lOiBib29sZWFuKTogVHJlZU5vZGU8VXJsU2VnbWVudD5bXSB7XG4gICAgaWYgKHRoaXMucmVtYWluaW5nLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmICh0aGlzLnBlZWtTdGFydHNXaXRoKCcvJykpIHtcbiAgICAgIHRoaXMuY2FwdHVyZSgnLycpO1xuICAgIH1cbiAgICBsZXQgcGF0aCA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgdGhpcy5jYXB0dXJlKHBhdGgpO1xuXG4gICAgbGV0IG91dGxldE5hbWU7XG4gICAgaWYgKGhhc091dGxldE5hbWUpIHtcbiAgICAgIGlmIChwYXRoLmluZGV4T2YoXCI6XCIpID09PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3Qgb3V0bGV0IG5hbWUgaXMgcHJvdmlkZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAocGF0aC5pbmRleE9mKFwiOlwiKSA+IC0xICYmIGhhc091dGxldE5hbWUpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gcGF0aC5zcGxpdChcIjpcIik7XG4gICAgICAgIG91dGxldE5hbWUgPSBwYXJ0c1swXTtcbiAgICAgICAgcGF0aCA9IHBhcnRzWzFdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGF0aC5pbmRleE9mKFwiOlwiKSA+IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBvdXRsZXQgbmFtZSBpcyBhbGxvd2VkXCIpO1xuICAgICAgfVxuICAgICAgb3V0bGV0TmFtZSA9IFBSSU1BUllfT1VUTEVUO1xuICAgIH1cblxuICAgIGxldCBtYXRyaXhQYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge307XG4gICAgaWYgKHRoaXMucGVla1N0YXJ0c1dpdGgoJzsnKSkge1xuICAgICAgbWF0cml4UGFyYW1zID0gdGhpcy5wYXJzZU1hdHJpeFBhcmFtcygpO1xuICAgIH1cblxuICAgIGxldCBzZWNvbmRhcnkgPSBbXTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnKCcpKSB7XG4gICAgICBzZWNvbmRhcnkgPSB0aGlzLnBhcnNlU2Vjb25kYXJ5U2VnbWVudHMoKTtcbiAgICB9XG5cbiAgICBsZXQgY2hpbGRyZW46IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10gPSBbXTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnLycpICYmICF0aGlzLnBlZWtTdGFydHNXaXRoKCcvLycpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJy8nKTtcbiAgICAgIGNoaWxkcmVuID0gdGhpcy5wYXJzZVNlZ21lbnRzKGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgbWF0cml4UGFyYW1zLCBvdXRsZXROYW1lKTtcbiAgICBjb25zdCBub2RlID0gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHNlZ21lbnQsIGNoaWxkcmVuKTtcbiAgICByZXR1cm4gW25vZGVdLmNvbmNhdChzZWNvbmRhcnkpO1xuICB9XG5cbiAgcGFyc2VRdWVyeVBhcmFtcygpOiB7W2tleTogc3RyaW5nXTogYW55fSB7XG4gICAgdmFyIHBhcmFtczoge1trZXk6IHN0cmluZ106IGFueX0gPSB7fTtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnPycpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJz8nKTtcbiAgICAgIHRoaXMucGFyc2VRdWVyeVBhcmFtKHBhcmFtcyk7XG4gICAgICB3aGlsZSAodGhpcy5yZW1haW5pbmcubGVuZ3RoID4gMCAmJiB0aGlzLnBlZWtTdGFydHNXaXRoKCcmJykpIHtcbiAgICAgICAgdGhpcy5jYXB0dXJlKCcmJyk7XG4gICAgICAgIHRoaXMucGFyc2VRdWVyeVBhcmFtKHBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwYXJzZUZyYWdtZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLnBlZWtTdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbWFpbmluZy5zdWJzdHJpbmcoMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlTWF0cml4UGFyYW1zKCk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHtcbiAgICB2YXIgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSA9IHt9O1xuICAgIHdoaWxlICh0aGlzLnJlbWFpbmluZy5sZW5ndGggPiAwICYmIHRoaXMucGVla1N0YXJ0c1dpdGgoJzsnKSkge1xuICAgICAgdGhpcy5jYXB0dXJlKCc7Jyk7XG4gICAgICB0aGlzLnBhcnNlUGFyYW0ocGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHBhcnNlUGFyYW0ocGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSk6IHZvaWQge1xuICAgIHZhciBrZXkgPSBtYXRjaFVybFNlZ21lbnQodGhpcy5yZW1haW5pbmcpO1xuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2FwdHVyZShrZXkpO1xuICAgIHZhciB2YWx1ZTogYW55ID0gXCJ0cnVlXCI7XG4gICAgaWYgKHRoaXMucGVla1N0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgdGhpcy5jYXB0dXJlKCc9Jyk7XG4gICAgICB2YXIgdmFsdWVNYXRjaCA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgICBpZiAodmFsdWVNYXRjaCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlTWF0Y2g7XG4gICAgICAgIHRoaXMuY2FwdHVyZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHBhcnNlUXVlcnlQYXJhbShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KTogdm9pZCB7XG4gICAgdmFyIGtleSA9IG1hdGNoVXJsU2VnbWVudCh0aGlzLnJlbWFpbmluZyk7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYXB0dXJlKGtleSk7XG4gICAgdmFyIHZhbHVlOiBhbnkgPSBcInRydWVcIjtcbiAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLmNhcHR1cmUoJz0nKTtcbiAgICAgIHZhciB2YWx1ZU1hdGNoID0gbWF0Y2hVcmxRdWVyeVBhcmFtVmFsdWUodGhpcy5yZW1haW5pbmcpO1xuICAgICAgaWYgKHZhbHVlTWF0Y2gpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU1hdGNoO1xuICAgICAgICB0aGlzLmNhcHR1cmUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBwYXJhbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcGFyc2VTZWNvbmRhcnlTZWdtZW50cygpOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdIHtcbiAgICB2YXIgc2VnbWVudHMgPSBbXTtcbiAgICB0aGlzLmNhcHR1cmUoJygnKTtcblxuICAgIHdoaWxlICghdGhpcy5wZWVrU3RhcnRzV2l0aCgnKScpICYmIHRoaXMucmVtYWluaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIHNlZ21lbnRzID0gc2VnbWVudHMuY29uY2F0KHRoaXMucGFyc2VTZWdtZW50cyh0cnVlKSk7XG4gICAgICBpZiAodGhpcy5wZWVrU3RhcnRzV2l0aCgnLy8nKSkge1xuICAgICAgICB0aGlzLmNhcHR1cmUoJy8vJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2FwdHVyZSgnKScpO1xuXG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/modules/@angular/router/build/src/url_tree.d.ts b/modules/@angular/router/build/src/url_tree.d.ts deleted file mode 100644 index f9ea224dae..0000000000 --- a/modules/@angular/router/build/src/url_tree.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Tree, TreeNode } from './utils/tree'; -export declare function createEmptyUrlTree(): UrlTree; -export declare class UrlTree extends Tree { - queryParameters: { - [key: string]: string; - }; - fragment: string | null; - constructor(root: TreeNode, queryParameters: { - [key: string]: string; - }, fragment: string | null); -} -export declare class UrlSegment { - path: string; - parameters: { - [key: string]: string; - }; - outlet: string; - constructor(path: string, parameters: { - [key: string]: string; - }, outlet: string); - toString(): string; -} -export declare function equalUrlSegments(a: UrlSegment[], b: UrlSegment[]): boolean; diff --git a/modules/@angular/router/build/src/url_tree.js b/modules/@angular/router/build/src/url_tree.js deleted file mode 100644 index c653436874..0000000000 --- a/modules/@angular/router/build/src/url_tree.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var tree_1 = require('./utils/tree'); -var collection_1 = require('./utils/collection'); -var shared_1 = require('./shared'); -function createEmptyUrlTree() { - return new UrlTree(new tree_1.TreeNode(new UrlSegment("", {}, shared_1.PRIMARY_OUTLET), []), {}, null); -} -exports.createEmptyUrlTree = createEmptyUrlTree; -var UrlTree = (function (_super) { - __extends(UrlTree, _super); - function UrlTree(root, queryParameters, fragment) { - _super.call(this, root); - this.queryParameters = queryParameters; - this.fragment = fragment; - } - return UrlTree; -}(tree_1.Tree)); -exports.UrlTree = UrlTree; -var UrlSegment = (function () { - function UrlSegment(path, parameters, outlet) { - this.path = path; - this.parameters = parameters; - this.outlet = outlet; - } - UrlSegment.prototype.toString = function () { - var params = []; - for (var prop in this.parameters) { - if (this.parameters.hasOwnProperty(prop)) { - params.push(prop + "=" + this.parameters[prop]); - } - } - var paramsString = params.length > 0 ? "(" + params.join(',') + ")" : ''; - var outlet = this.outlet === shared_1.PRIMARY_OUTLET ? '' : this.outlet + ":"; - return "" + outlet + this.path + paramsString; - }; - return UrlSegment; -}()); -exports.UrlSegment = UrlSegment; -function equalUrlSegments(a, b) { - if (a.length !== b.length) - return false; - for (var i = 0; i < a.length; ++i) { - if (a[i].path !== b[i].path) - return false; - if (!collection_1.shallowEqual(a[i].parameters, b[i].parameters)) - return false; - } - return true; -} -exports.equalUrlSegments = equalUrlSegments; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsX3RyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXJsX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscUJBQStCLGNBQWMsQ0FBQyxDQUFBO0FBQzlDLDJCQUE2QixvQkFBb0IsQ0FBQyxDQUFBO0FBQ2xELHVCQUErQixVQUFVLENBQUMsQ0FBQTtBQUUxQztJQUNFLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLGVBQVEsQ0FBYSxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLHVCQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUZlLDBCQUFrQixxQkFFakMsQ0FBQTtBQUtEO0lBQTZCLDJCQUFnQjtJQUkzQyxpQkFBWSxJQUEwQixFQUFTLGVBQXdDLEVBQVMsUUFBdUI7UUFDckgsa0JBQU0sSUFBSSxDQUFDLENBQUM7UUFEaUMsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZTtJQUV2SCxDQUFDO0lBQ0gsY0FBQztBQUFELENBQUMsQUFQRCxDQUE2QixXQUFJLEdBT2hDO0FBUFksZUFBTyxVQU9uQixDQUFBO0FBRUQ7SUFJRSxvQkFBbUIsSUFBWSxFQUFTLFVBQW1DLEVBQVMsTUFBYztRQUEvRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0Ryw2QkFBUSxHQUFSO1FBQ0UsSUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekMsTUFBTSxDQUFDLElBQUksQ0FBSSxJQUFJLFNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUcsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3RFLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssdUJBQWMsR0FBRyxFQUFFLEdBQU0sSUFBSSxDQUFDLE1BQU0sTUFBRyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxLQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQWMsQ0FBQztJQUNoRCxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBakJELElBaUJDO0FBakJZLGtCQUFVLGFBaUJ0QixDQUFBO0FBRUQsMEJBQWlDLENBQWUsRUFBRSxDQUFlO0lBQy9ELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDeEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVBlLHdCQUFnQixtQkFPL0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyZWUsIFRyZWVOb2RlIH0gZnJvbSAnLi91dGlscy90cmVlJztcbmltcG9ydCB7IHNoYWxsb3dFcXVhbCB9IGZyb20gJy4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQUklNQVJZX09VVExFVCB9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVtcHR5VXJsVHJlZSgpIHtcbiAgcmV0dXJuIG5ldyBVcmxUcmVlKG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50PihuZXcgVXJsU2VnbWVudChcIlwiLCB7fSwgUFJJTUFSWV9PVVRMRVQpLCBbXSksIHt9LCBudWxsKTtcbn1cblxuLyoqXG4gKiBBIFVSTCBpbiB0aGUgdHJlZSBmb3JtLlxuICovXG5leHBvcnQgY2xhc3MgVXJsVHJlZSBleHRlbmRzIFRyZWU8VXJsU2VnbWVudD4ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihyb290OiBUcmVlTm9kZTxVcmxTZWdtZW50PiwgcHVibGljIHF1ZXJ5UGFyYW1ldGVyczoge1trZXk6IHN0cmluZ106IHN0cmluZ30sIHB1YmxpYyBmcmFnbWVudDogc3RyaW5nIHwgbnVsbCkge1xuICAgIHN1cGVyKHJvb3QpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcmxTZWdtZW50IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHBhdGg6IHN0cmluZywgcHVibGljIHBhcmFtZXRlcnM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCBwdWJsaWMgb3V0bGV0OiBzdHJpbmcpIHt9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzLnBhcmFtZXRlcnMpIHtcbiAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgICAgcGFyYW1zLnB1c2goYCR7cHJvcH09JHt0aGlzLnBhcmFtZXRlcnNbcHJvcF19YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtc1N0cmluZyA9IHBhcmFtcy5sZW5ndGggPiAwID8gYCgke3BhcmFtcy5qb2luKCcsJyl9KWAgOiAnJztcbiAgICBjb25zdCBvdXRsZXQgPSB0aGlzLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQgPyAnJyA6IGAke3RoaXMub3V0bGV0fTpgO1xuICAgIHJldHVybiBgJHtvdXRsZXR9JHt0aGlzLnBhdGh9JHtwYXJhbXNTdHJpbmd9YDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXF1YWxVcmxTZWdtZW50cyhhOiBVcmxTZWdtZW50W10sIGI6IFVybFNlZ21lbnRbXSk6IGJvb2xlYW4ge1xuICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7ICsraSkge1xuICAgIGlmIChhW2ldLnBhdGggIT09IGJbaV0ucGF0aCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghc2hhbGxvd0VxdWFsKGFbaV0ucGFyYW1ldGVycywgYltpXS5wYXJhbWV0ZXJzKSkgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuIl19 \ No newline at end of file diff --git a/modules/@angular/router/build/src/utils/collection.d.ts b/modules/@angular/router/build/src/utils/collection.d.ts deleted file mode 100644 index 8b0d7d8a67..0000000000 --- a/modules/@angular/router/build/src/utils/collection.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export declare function shallowEqual(a: { - [x: string]: any; -}, b: { - [x: string]: any; -}): boolean; -export declare function flatten(a: T[][]): T[]; -export declare function first(a: T[]): T | null; -export declare function and(bools: boolean[]): boolean; -export declare function merge(m1: { - [key: string]: V; -}, m2: { - [key: string]: V; -}): { - [key: string]: V; -}; -export declare function forEach(map: { - [key: string]: V; -}, callback: Function): void; diff --git a/modules/@angular/router/build/src/utils/collection.js b/modules/@angular/router/build/src/utils/collection.js deleted file mode 100644 index 970da0c82d..0000000000 --- a/modules/@angular/router/build/src/utils/collection.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -function shallowEqual(a, b) { - var k1 = Object.keys(a); - var k2 = Object.keys(b); - if (k1.length != k2.length) { - return false; - } - var key; - for (var i = 0; i < k1.length; i++) { - key = k1[i]; - if (a[key] !== b[key]) { - return false; - } - } - return true; -} -exports.shallowEqual = shallowEqual; -function flatten(a) { - var target = []; - for (var i = 0; i < a.length; ++i) { - for (var j = 0; j < a[i].length; ++j) { - target.push(a[i][j]); - } - } - return target; -} -exports.flatten = flatten; -function first(a) { - return a.length > 0 ? a[0] : null; -} -exports.first = first; -function and(bools) { - return bools.reduce(function (a, b) { return a && b; }, true); -} -exports.and = and; -function merge(m1, m2) { - var m = {}; - for (var attr in m1) { - if (m1.hasOwnProperty(attr)) { - m[attr] = m1[attr]; - } - } - for (var attr in m2) { - if (m2.hasOwnProperty(attr)) { - m[attr] = m2[attr]; - } - } - return m; -} -exports.merge = merge; -function forEach(map, callback) { - for (var prop in map) { - if (map.hasOwnProperty(prop)) { - callback(map[prop], prop); - } - } -} -exports.forEach = forEach; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQkFBNkIsQ0FBbUIsRUFBRSxDQUFtQjtJQUNuRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDO0lBQ1IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbkMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNaLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZGUsb0JBQVksZUFjM0IsQ0FBQTtBQUVELGlCQUEyQixDQUFRO0lBQ2pDLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBUmUsZUFBTyxVQVF0QixDQUFBO0FBRUQsZUFBeUIsQ0FBTTtJQUM3QixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNwQyxDQUFDO0FBRmUsYUFBSyxRQUVwQixDQUFBO0FBRUQsYUFBb0IsS0FBZ0I7SUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxJQUFJLENBQUMsRUFBTixDQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUZlLFdBQUcsTUFFbEIsQ0FBQTtBQUVELGVBQXlCLEVBQXNCLEVBQUUsRUFBc0I7SUFDckUsSUFBSSxDQUFDLEdBQXVCLEVBQUUsQ0FBQztJQUUvQixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQWhCZSxhQUFLLFFBZ0JwQixDQUFBO0FBRUQsaUJBQThCLEdBQXVCLEVBQUUsUUFBcUM7SUFDMUYsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQU5lLGVBQU8sVUFNdEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBzaGFsbG93RXF1YWwoYToge1t4OnN0cmluZ106YW55fSwgYjoge1t4OnN0cmluZ106YW55fSk6IGJvb2xlYW4ge1xuICB2YXIgazEgPSBPYmplY3Qua2V5cyhhKTtcbiAgdmFyIGsyID0gT2JqZWN0LmtleXMoYik7XG4gIGlmIChrMS5sZW5ndGggIT0gazIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBrZXk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgazEubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrMVtpXTtcbiAgICBpZiAoYVtrZXldICE9PSBiW2tleV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuPFQ+KGE6IFRbXVtdKTogVFtdIHtcbiAgY29uc3QgdGFyZ2V0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7ICsraSkge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgYVtpXS5sZW5ndGg7ICsraikge1xuICAgICAgdGFyZ2V0LnB1c2goYVtpXVtqXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdDxUPihhOiBUW10pOiBUIHwgbnVsbCB7XG4gIHJldHVybiBhLmxlbmd0aCA+IDAgPyBhWzBdIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFuZChib29sczogYm9vbGVhbltdKTogYm9vbGVhbiB7XG4gIHJldHVybiBib29scy5yZWR1Y2UoKGEsYikgPT4gYSAmJiBiLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlPFY+KG0xOiB7W2tleTogc3RyaW5nXTogVn0sIG0yOiB7W2tleTogc3RyaW5nXTogVn0pOiB7W2tleTogc3RyaW5nXTogVn0ge1xuICB2YXIgbToge1trZXk6IHN0cmluZ106IFZ9ID0ge307XG5cbiAgZm9yICh2YXIgYXR0ciBpbiBtMSkge1xuICAgIGlmIChtMS5oYXNPd25Qcm9wZXJ0eShhdHRyKSkge1xuICAgICAgbVthdHRyXSA9IG0xW2F0dHJdO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGF0dHIgaW4gbTIpIHtcbiAgICBpZiAobTIuaGFzT3duUHJvcGVydHkoYXR0cikpIHtcbiAgICAgIG1bYXR0cl0gPSBtMlthdHRyXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvckVhY2g8SywgVj4obWFwOiB7W2tleTogc3RyaW5nXTogVn0sIGNhbGxiYWNrOiAvKihWLCBLKSA9PiB2b2lkKi8gRnVuY3Rpb24pOiB2b2lkIHtcbiAgZm9yICh2YXIgcHJvcCBpbiBtYXApIHtcbiAgICBpZiAobWFwLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICBjYWxsYmFjayhtYXBbcHJvcF0sIHByb3ApO1xuICAgIH1cbiAgfVxufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/build/src/utils/tree.d.ts b/modules/@angular/router/build/src/utils/tree.d.ts deleted file mode 100644 index 1b28a53874..0000000000 --- a/modules/@angular/router/build/src/utils/tree.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export declare class Tree { - _root: TreeNode; - constructor(root: TreeNode); - readonly root: T; - parent(t: T): T | null; - children(t: T): T[]; - firstChild(t: T): T | null; - siblings(t: T): T[]; - pathFromRoot(t: T): T[]; - contains(tree: Tree): boolean; -} -export declare class TreeNode { - value: T; - children: TreeNode[]; - constructor(value: T, children: TreeNode[]); -} diff --git a/modules/@angular/router/build/src/utils/tree.js b/modules/@angular/router/build/src/utils/tree.js deleted file mode 100644 index 3da645f27b..0000000000 --- a/modules/@angular/router/build/src/utils/tree.js +++ /dev/null @@ -1,84 +0,0 @@ -"use strict"; -var Tree = (function () { - function Tree(root) { - this._root = root; - } - Object.defineProperty(Tree.prototype, "root", { - get: function () { return this._root.value; }, - enumerable: true, - configurable: true - }); - Tree.prototype.parent = function (t) { - var p = this.pathFromRoot(t); - return p.length > 1 ? p[p.length - 2] : null; - }; - Tree.prototype.children = function (t) { - var n = findNode(t, this._root); - return n ? n.children.map(function (t) { return t.value; }) : []; - }; - Tree.prototype.firstChild = function (t) { - var n = findNode(t, this._root); - return n && n.children.length > 0 ? n.children[0].value : null; - }; - Tree.prototype.siblings = function (t) { - var p = findPath(t, this._root, []); - if (p.length < 2) - return []; - var c = p[p.length - 2].children.map(function (c) { return c.value; }); - return c.filter(function (cc) { return cc !== t; }); - }; - Tree.prototype.pathFromRoot = function (t) { return findPath(t, this._root, []).map(function (s) { return s.value; }); }; - Tree.prototype.contains = function (tree) { return contains(this._root, tree._root); }; - return Tree; -}()); -exports.Tree = Tree; -function findNode(expected, c) { - if (expected === c.value) - return c; - for (var _i = 0, _a = c.children; _i < _a.length; _i++) { - var cc = _a[_i]; - var r = findNode(expected, cc); - if (r) - return r; - } - return null; -} -function findPath(expected, c, collected) { - collected.push(c); - if (expected === c.value) - return collected; - for (var _i = 0, _a = c.children; _i < _a.length; _i++) { - var cc = _a[_i]; - var cloned = collected.slice(0); - var r = findPath(expected, cc, cloned); - if (r) - return r; - } - return []; -} -function contains(tree, subtree) { - if (tree.value !== subtree.value) - return false; - var _loop_1 = function(subtreeNode) { - var s = tree.children.filter(function (child) { return child.value === subtreeNode.value; }); - if (s.length === 0) - return { value: false }; - if (!contains(s[0], subtreeNode)) - return { value: false }; - }; - for (var _i = 0, _a = subtree.children; _i < _a.length; _i++) { - var subtreeNode = _a[_i]; - var state_1 = _loop_1(subtreeNode); - if (typeof state_1 === "object") return state_1.value; - } - return true; -} -var TreeNode = (function () { - function TreeNode(value, children) { - this.value = value; - this.children = children; - } - return TreeNode; -}()); -exports.TreeNode = TreeNode; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtJQUlFLGNBQVksSUFBaUI7UUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUFDLENBQUM7SUFFckQsc0JBQUksc0JBQUk7YUFBUixjQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTtJQUUxQyxxQkFBTSxHQUFOLFVBQU8sQ0FBSTtRQUNULElBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsdUJBQVEsR0FBUixVQUFTLENBQUk7UUFDWCxJQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEtBQUssRUFBUCxDQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELHlCQUFVLEdBQVYsVUFBVyxDQUFJO1FBQ2IsSUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2pFLENB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S0FBSyxFQUFqQyxDQUFpQyxDQUFDLENBQUM7UUFDM0UsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFBQyxnQkFBTyxLQUFLLEdBQUM7UUFDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQUMsZ0JBQU8sS0FBSyxHQUFDOztJQUhqRCxHQUFHLENBQUMsQ0FBb0IsVUFBZ0IsRUFBaEIsS0FBQSxPQUFPLENBQUMsUUFBUSxFQUFoQixjQUFnQixFQUFoQixJQUFnQixDQUFDO1FBQXBDLElBQUksV0FBVyxTQUFBOzs7S0FJbkI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEO0lBQ0Usa0JBQW1CLEtBQVEsRUFBUyxRQUF1QjtRQUF4QyxVQUFLLEdBQUwsS0FBSyxDQUFHO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZTtJQUFHLENBQUM7SUFDakUsZUFBQztBQUFELENBQUMsQUFGRCxJQUVDO0FBRlksZ0JBQVEsV0FFcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUcmVlPFQ+IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcm9vdDogVHJlZU5vZGU8VD47XG5cbiAgY29uc3RydWN0b3Iocm9vdDogVHJlZU5vZGU8VD4pIHsgdGhpcy5fcm9vdCA9IHJvb3Q7IH1cblxuICBnZXQgcm9vdCgpOiBUIHsgcmV0dXJuIHRoaXMuX3Jvb3QudmFsdWU7IH1cblxuICBwYXJlbnQodDogVCk6IFQgfCBudWxsIHtcbiAgICBjb25zdCBwID0gdGhpcy5wYXRoRnJvbVJvb3QodCk7XG4gICAgcmV0dXJuIHAubGVuZ3RoID4gMSA/IHBbcC5sZW5ndGggLSAyXSA6IG51bGw7XG4gIH1cblxuICBjaGlsZHJlbih0OiBUKTogVFtdIHtcbiAgICBjb25zdCBuID0gZmluZE5vZGUodCwgdGhpcy5fcm9vdCk7XG4gICAgcmV0dXJuIG4gPyBuLmNoaWxkcmVuLm1hcCh0ID0+IHQudmFsdWUpIDogW107XG4gIH1cblxuICBmaXJzdENoaWxkKHQ6IFQpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgbiA9IGZpbmROb2RlKHQsIHRoaXMuX3Jvb3QpO1xuICAgIHJldHVybiBuICYmIG4uY2hpbGRyZW4ubGVuZ3RoID4gMCA/IG4uY2hpbGRyZW5bMF0udmFsdWUgOiBudWxsO1xuICB9XG5cbiAgc2libGluZ3ModDogVCk6IFRbXSB7XG4gICAgY29uc3QgcCA9IGZpbmRQYXRoKHQsIHRoaXMuX3Jvb3QsIFtdKTtcbiAgICBpZiAocC5sZW5ndGggPCAyKSByZXR1cm4gW107XG5cbiAgICBjb25zdCBjID0gcFtwLmxlbmd0aCAtIDJdLmNoaWxkcmVuLm1hcChjID0+IGMudmFsdWUpO1xuICAgIHJldHVybiBjLmZpbHRlcihjYyA9PiBjYyAhPT0gdCk7XG4gIH1cblxuICBwYXRoRnJvbVJvb3QodDogVCk6IFRbXSB7IHJldHVybiBmaW5kUGF0aCh0LCB0aGlzLl9yb290LCBbXSkubWFwKHMgPT4gcy52YWx1ZSk7IH1cblxuICBjb250YWlucyh0cmVlOiBUcmVlPFQ+KTogYm9vbGVhbiB7IHJldHVybiBjb250YWlucyh0aGlzLl9yb290LCB0cmVlLl9yb290KTsgfVxufVxuXG5mdW5jdGlvbiBmaW5kTm9kZTxUPihleHBlY3RlZDogVCwgYzogVHJlZU5vZGU8VD4pOiBUcmVlTm9kZTxUPiB8IG51bGwge1xuICBpZiAoZXhwZWN0ZWQgPT09IGMudmFsdWUpIHJldHVybiBjO1xuICBmb3IgKGxldCBjYyBvZiBjLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmROb2RlKGV4cGVjdGVkLCBjYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kUGF0aDxUPihleHBlY3RlZDogVCwgYzogVHJlZU5vZGU8VD4sIGNvbGxlY3RlZDogVHJlZU5vZGU8VD5bXSk6IFRyZWVOb2RlPFQ+W10ge1xuICBjb2xsZWN0ZWQucHVzaChjKTtcbiAgaWYgKGV4cGVjdGVkID09PSBjLnZhbHVlKSByZXR1cm4gY29sbGVjdGVkO1xuXG4gIGZvciAobGV0IGNjIG9mIGMuY2hpbGRyZW4pIHtcbiAgICBjb25zdCBjbG9uZWQgPSBjb2xsZWN0ZWQuc2xpY2UoMCk7XG4gICAgY29uc3QgciA9IGZpbmRQYXRoKGV4cGVjdGVkLCBjYywgY2xvbmVkKTtcbiAgICBpZiAocikgcmV0dXJuIHI7XG4gIH1cblxuICByZXR1cm4gW107XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zPFQ+KHRyZWU6IFRyZWVOb2RlPFQ+LCBzdWJ0cmVlOiBUcmVlTm9kZTxUPik6IGJvb2xlYW4ge1xuICBpZiAodHJlZS52YWx1ZSAhPT0gc3VidHJlZS52YWx1ZSkgcmV0dXJuIGZhbHNlO1xuXG4gIGZvciAobGV0IHN1YnRyZWVOb2RlIG9mIHN1YnRyZWUuY2hpbGRyZW4pIHtcbiAgICBjb25zdCBzID0gdHJlZS5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gY2hpbGQudmFsdWUgPT09IHN1YnRyZWVOb2RlLnZhbHVlKTtcbiAgICBpZiAocy5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIWNvbnRhaW5zKHNbMF0sIHN1YnRyZWVOb2RlKSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBjbGFzcyBUcmVlTm9kZTxUPiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogVCwgcHVibGljIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdKSB7fVxufSJdfQ== \ No newline at end of file diff --git a/modules/@angular/router/index.js b/modules/@angular/router/index.js new file mode 100644 index 0000000000..9e37e57b5b --- /dev/null +++ b/modules/@angular/router/index.js @@ -0,0 +1 @@ +module.exports = require('src/index'); \ No newline at end of file diff --git a/modules/@angular/router/package.json b/modules/@angular/router/package.json index 11a1dc3fe7..31de6067f9 100644 --- a/modules/@angular/router/package.json +++ b/modules/@angular/router/package.json @@ -1,15 +1,15 @@ { - "name": "vladivostok", - "version": "0.9.1", + "name": "@angular/router", + "version": "3.0.0-alpha.0", "description": "", - "main": "./build/src/index.js", - "jsnext:main": "./build/es6/index.js", + "main": "./dist/index.js", + "jsnext:main": "./dist/esm/index.js", "scripts": { "karma": "karma start", "test": "npm run build; karma start", "build_watch": "rm -rf dist; tsc -w", "build": "rm -rf dist; tsc", - "build_npm": "rm -rf dist && tsc -p tsconfig.publish.es5.json && tsc -p tsconfig.publish.es6.json", + "build_npm": "rm -rf dist && tsc -p tsconfig.publish.es5.json && tsc -p tsconfig.publish.esm.json", "postbuild_npm": "cp package.json README.md dist/ && npm run rewrite_npm_package", "postinstall": "typings install", "rewrite_npm_package": "node --harmony_destructuring tools/rewrite-published-package.js", @@ -70,5 +70,5 @@ "tslint": "^3.6.0", "codelyzer": "0.0.14" }, - "typings": "build/src/index.d.ts" + "typings": "dist/index.d.ts" } diff --git a/modules/@angular/router/tools/rewrite-published-package.js b/modules/@angular/router/tools/rewrite-published-package.js index 924ecd5ca6..b5d8850d56 100644 --- a/modules/@angular/router/tools/rewrite-published-package.js +++ b/modules/@angular/router/tools/rewrite-published-package.js @@ -9,7 +9,7 @@ var [MAIN, JSNEXT_MAIN] = ['main', 'jsnext:main'].map(k => srcPackage[k].replace var outPackage = Object.assign({}, srcPackage, { peerDependencies: srcPackage.dependencies, main: MAIN, - typings: "router.d.ts", + typings: "index.d.ts", "jsnext:main": JSNEXT_MAIN, dependencies: undefined }); diff --git a/modules/@angular/router/tsconfig.publish.es5.json b/modules/@angular/router/tsconfig.publish.es5.json index 7aabbb14fa..8b2dcaa486 100644 --- a/modules/@angular/router/tsconfig.publish.es5.json +++ b/modules/@angular/router/tsconfig.publish.es5.json @@ -6,7 +6,7 @@ "target": "es5", "noImplicitAny": false, "outDir": "dist", - "rootDir": ".", + "rootDir": "src", "inlineSourceMap": true, "inlineSources": true, "declaration": true, diff --git a/modules/@angular/router/tsconfig.publish.es6.json b/modules/@angular/router/tsconfig.publish.esm.json similarity index 87% rename from modules/@angular/router/tsconfig.publish.es6.json rename to modules/@angular/router/tsconfig.publish.esm.json index cf8d30bacf..d957ce0b95 100644 --- a/modules/@angular/router/tsconfig.publish.es6.json +++ b/modules/@angular/router/tsconfig.publish.esm.json @@ -4,8 +4,8 @@ "emitDecoratorMetadata": true, "target": "es6", "noImplicitAny": false, - "outDir": "dist/es6", - "rootDir": ".", + "outDir": "dist/esm", + "rootDir": "src", "inlineSourceMap": true, "inlineSources": true, "declaration": true, diff --git a/modules/@angular/router/typings.json b/modules/@angular/router/typings.json index 49b6826691..7d6ad5bbcc 100644 --- a/modules/@angular/router/typings.json +++ b/modules/@angular/router/typings.json @@ -1,5 +1,5 @@ { - "name": "vladivostok", + "name": "@angular/router", "version": false, "globalDependencies": { "jasmine": "registry:dt/jasmine#2.2.0+20160505161446",