@angular/router 0.1.0 → 2.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/router.umd.js +1812 -0
- package/bundles/router.umd.min.js +2 -0
- package/esm/index.d.ts +15 -0
- package/esm/index.js +15 -0
- package/esm/index.js.map +1 -0
- package/esm/src/constants.d.ts +5 -0
- package/esm/src/constants.js +6 -0
- package/esm/src/constants.js.map +1 -0
- package/esm/src/constants.metadata.json +1 -0
- package/esm/src/core_private.d.ts +3 -0
- package/esm/src/core_private.js +4 -0
- package/esm/src/core_private.js.map +1 -0
- package/esm/src/core_private.metadata.json +1 -0
- package/esm/src/directives/router_directives.d.ts +21 -0
- package/esm/src/directives/router_directives.js +24 -0
- package/esm/src/directives/router_directives.js.map +1 -0
- package/esm/src/directives/router_directives.metadata.json +1 -0
- package/esm/src/directives/router_link.d.ts +49 -0
- package/esm/src/directives/router_link.js +68 -0
- package/esm/src/directives/router_link.js.map +1 -0
- package/esm/src/directives/router_link.metadata.json +1 -0
- package/esm/src/directives/router_outlet.d.ts +36 -0
- package/esm/src/directives/router_outlet.js +42 -0
- package/esm/src/directives/router_outlet.js.map +1 -0
- package/esm/src/directives/router_outlet.metadata.json +1 -0
- package/esm/src/facade/async.d.ts +90 -0
- package/esm/src/facade/async.js +137 -0
- package/esm/src/facade/async.js.map +1 -0
- package/esm/src/facade/base_wrapped_exception.d.ts +14 -0
- package/esm/src/facade/base_wrapped_exception.js +17 -0
- package/esm/src/facade/base_wrapped_exception.js.map +1 -0
- package/esm/src/facade/collection.d.ts +103 -0
- package/esm/src/facade/collection.js +343 -0
- package/esm/src/facade/collection.js.map +1 -0
- package/esm/src/facade/collection.metadata.json +1 -0
- package/esm/src/facade/exception_handler.d.ts +29 -0
- package/esm/src/facade/exception_handler.js +124 -0
- package/esm/src/facade/exception_handler.js.map +1 -0
- package/esm/src/facade/exceptions.d.ts +32 -0
- package/esm/src/facade/exceptions.js +42 -0
- package/esm/src/facade/exceptions.js.map +1 -0
- package/esm/src/facade/exceptions.metadata.json +1 -0
- package/esm/src/facade/lang.d.ts +158 -0
- package/esm/src/facade/lang.js +386 -0
- package/esm/src/facade/lang.js.map +1 -0
- package/esm/src/facade/lang.metadata.json +1 -0
- package/esm/src/facade/promise.d.ts +17 -0
- package/esm/src/facade/promise.js +41 -0
- package/esm/src/facade/promise.js.map +1 -0
- package/esm/src/interfaces.d.ts +23 -0
- package/esm/src/interfaces.js +1 -0
- package/esm/src/interfaces.js.map +1 -0
- package/esm/src/lifecycle_reflector.d.ts +1 -0
- package/esm/src/lifecycle_reflector.js +10 -0
- package/esm/src/lifecycle_reflector.js.map +1 -0
- package/esm/src/link.d.ts +2 -0
- package/esm/src/link.js +183 -0
- package/esm/src/link.js.map +1 -0
- package/esm/src/metadata/decorators.d.ts +16 -0
- package/esm/src/metadata/decorators.js +9 -0
- package/esm/src/metadata/decorators.js.map +1 -0
- package/esm/src/metadata/decorators.metadata.json +1 -0
- package/esm/src/metadata/metadata.d.ts +48 -0
- package/esm/src/metadata/metadata.js +48 -0
- package/esm/src/metadata/metadata.js.map +1 -0
- package/esm/src/recognize.d.ts +4 -0
- package/esm/src/recognize.js +164 -0
- package/esm/src/recognize.js.map +1 -0
- package/esm/src/router.d.ts +95 -0
- package/esm/src/router.js +243 -0
- package/esm/src/router.js.map +1 -0
- package/esm/src/router_providers.d.ts +23 -0
- package/esm/src/router_providers.js +26 -0
- package/esm/src/router_providers.js.map +1 -0
- package/esm/src/router_providers.metadata.json +1 -0
- package/esm/src/router_providers_common.d.ts +11 -0
- package/esm/src/router_providers_common.js +32 -0
- package/esm/src/router_providers_common.js.map +1 -0
- package/esm/src/router_providers_common.metadata.json +1 -0
- package/esm/src/router_url_serializer.d.ts +21 -0
- package/esm/src/router_url_serializer.js +164 -0
- package/esm/src/router_url_serializer.js.map +1 -0
- package/esm/src/segments.d.ts +51 -0
- package/esm/src/segments.js +137 -0
- package/esm/src/segments.js.map +1 -0
- package/esm/src/segments.metadata.json +1 -0
- package/esm/testing/router_testing_providers.d.ts +1 -0
- package/esm/testing/router_testing_providers.js +31 -0
- package/esm/testing/router_testing_providers.js.map +1 -0
- package/esm/testing/router_testing_providers.metadata.json +1 -0
- package/esm/testing.d.ts +1 -0
- package/esm/testing.js +2 -0
- package/esm/testing.js.map +1 -0
- package/index.d.ts +15 -0
- package/index.js +31 -0
- package/index.js.map +1 -0
- package/package.json +16 -1
- package/src/constants.d.ts +5 -0
- package/src/constants.js +7 -0
- package/src/constants.js.map +1 -0
- package/src/constants.metadata.json +1 -0
- package/src/core_private.d.ts +3 -0
- package/src/core_private.js +5 -0
- package/src/core_private.js.map +1 -0
- package/src/core_private.metadata.json +1 -0
- package/src/directives/router_directives.d.ts +21 -0
- package/src/directives/router_directives.js +25 -0
- package/src/directives/router_directives.js.map +1 -0
- package/src/directives/router_directives.metadata.json +1 -0
- package/src/directives/router_link.d.ts +49 -0
- package/src/directives/router_link.js +76 -0
- package/src/directives/router_link.js.map +1 -0
- package/src/directives/router_link.metadata.json +1 -0
- package/src/directives/router_outlet.d.ts +36 -0
- package/src/directives/router_outlet.js +53 -0
- package/src/directives/router_outlet.js.map +1 -0
- package/src/directives/router_outlet.metadata.json +1 -0
- package/src/facade/async.d.ts +90 -0
- package/src/facade/async.js +160 -0
- package/src/facade/async.js.map +1 -0
- package/src/facade/base_wrapped_exception.d.ts +14 -0
- package/src/facade/base_wrapped_exception.js +50 -0
- package/src/facade/base_wrapped_exception.js.map +1 -0
- package/src/facade/collection.d.ts +103 -0
- package/src/facade/collection.js +368 -0
- package/src/facade/collection.js.map +1 -0
- package/src/facade/collection.metadata.json +1 -0
- package/src/facade/exception_handler.d.ts +29 -0
- package/src/facade/exception_handler.js +133 -0
- package/src/facade/exception_handler.js.map +1 -0
- package/src/facade/exceptions.d.ts +32 -0
- package/src/facade/exceptions.js +82 -0
- package/src/facade/exceptions.js.map +1 -0
- package/src/facade/exceptions.metadata.json +1 -0
- package/src/facade/lang.d.ts +158 -0
- package/src/facade/lang.js +480 -0
- package/src/facade/lang.js.map +1 -0
- package/src/facade/lang.metadata.json +1 -0
- package/src/facade/promise.d.ts +17 -0
- package/src/facade/promise.js +49 -0
- package/src/facade/promise.js.map +1 -0
- package/src/interfaces.d.ts +23 -0
- package/src/interfaces.js +2 -0
- package/src/interfaces.js.map +1 -0
- package/src/lifecycle_reflector.d.ts +1 -0
- package/src/lifecycle_reflector.js +12 -0
- package/src/lifecycle_reflector.js.map +1 -0
- package/src/link.d.ts +2 -0
- package/src/link.js +189 -0
- package/src/link.js.map +1 -0
- package/src/metadata/decorators.d.ts +16 -0
- package/src/metadata/decorators.js +10 -0
- package/src/metadata/decorators.js.map +1 -0
- package/src/metadata/decorators.metadata.json +1 -0
- package/src/metadata/metadata.d.ts +48 -0
- package/src/metadata/metadata.js +66 -0
- package/src/metadata/metadata.js.map +1 -0
- package/src/recognize.d.ts +4 -0
- package/src/recognize.js +172 -0
- package/src/recognize.js.map +1 -0
- package/src/router.d.ts +95 -0
- package/src/router.js +276 -0
- package/src/router.js.map +1 -0
- package/src/router_providers.d.ts +23 -0
- package/src/router_providers.js +27 -0
- package/src/router_providers.js.map +1 -0
- package/src/router_providers.metadata.json +1 -0
- package/src/router_providers_common.d.ts +11 -0
- package/src/router_providers_common.js +35 -0
- package/src/router_providers_common.js.map +1 -0
- package/src/router_providers_common.metadata.json +1 -0
- package/src/router_url_serializer.d.ts +21 -0
- package/src/router_url_serializer.js +184 -0
- package/src/router_url_serializer.js.map +1 -0
- package/src/segments.d.ts +51 -0
- package/src/segments.js +181 -0
- package/src/segments.js.map +1 -0
- package/src/segments.metadata.json +1 -0
- package/testing/router_testing_providers.d.ts +1 -0
- package/testing/router_testing_providers.js +35 -0
- package/testing/router_testing_providers.js.map +1 -0
- package/testing/router_testing_providers.metadata.json +1 -0
- package/testing.d.ts +1 -0
- package/testing.js +6 -0
- package/testing.js.map +1 -0
- package/angular1/angular_1_router.js +0 -2922
- package/angular1/ng_route_shim.js +0 -349
- package/angular2/router.dev.js +0 -3107
- package/angular2/router.js +0 -3107
- package/angular2/router.min.js +0 -3
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)};!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/common"),require("@angular/core"),require("rxjs/Subject"),require("rxjs/observable/PromiseObservable"),require("rxjs/operator/toPromise"),require("rxjs/Observable")):"function"==typeof define&&define.amd?define(["exports","@angular/common","@angular/core","rxjs/Subject","rxjs/observable/PromiseObservable","rxjs/operator/toPromise","rxjs/Observable"],factory):factory((global.ng=global.ng||{},global.ng.router=global.ng.router||{}),global.ng.common,global.ng.core,global.Rx,global.Rx,global.Rx.Observable.prototype,global.Rx)}(this,function(exports,_angular_common,_angular_core,rxjs_Subject,rxjs_observable_PromiseObservable,rxjs_operator_toPromise){"use strict";function isPresent(obj){return void 0!==obj&&null!==obj}function isBlank(obj){return void 0===obj||null===obj}function isString(obj){return"string"==typeof obj}function isStringMap(obj){return"object"==typeof obj&&null!==obj}function isArray(obj){return Array.isArray(obj)}function noop(){}function stringify(token){if("string"==typeof token)return token;if(void 0===token||null===token)return""+token;if(token.name)return token.name;if(token.overriddenName)return token.overriddenName;var res=token.toString(),newLineIndex=res.indexOf("\n");return-1===newLineIndex?res:res.substring(0,newLineIndex)}function _flattenArray(source,target){if(isPresent(source))for(var i=0;i<source.length;i++){var item=source[i];isArray(item)?_flattenArray(item,target):target.push(item)}return target}function hasLifecycleHook(name,obj){if(isBlank(obj))return!1;var type=obj.constructor;return type instanceof Type?name in type.prototype:!1}function rootNode(tree){return tree._root}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],r=_findNode(expected,cc);if(isPresent(r))return r}return null}function _findPath(expected,c,collected){if(collected.push(c),expected===c.value)return collected;for(var _i=0,_a=c.children;_i<_a.length;_i++){var cc=_a[_i],r=_findPath(expected,cc,ListWrapper.clone(collected));if(isPresent(r))return r}return null}function _contains(tree,subtree){if(tree.value!==subtree.value)return!1;for(var _loop_1=function(subtreeNode){var s=tree.children.filter(function(child){return child.value===subtreeNode.value});return 0===s.length?{value:!1}:_contains(s[0],subtreeNode)?void 0:{value:!1}},_i=0,_a=subtree.children;_i<_a.length;_i++){var subtreeNode=_a[_i],state_1=_loop_1(subtreeNode);if("object"==typeof state_1)return state_1.value}return!0}function _serializeParams(params){var res="";return StringMapWrapper.forEach(params,function(v,k){return res+=";"+k+"="+v}),res}function createEmptyRouteTree(type){var root=new RouteSegment([new UrlSegment("",{},null)],{},DEFAULT_OUTLET_NAME,type,null);return new RouteTree(new TreeNode(root,[]))}function equalUrlSegments(a,b){if(a.length!==b.length)return!1;for(var i=0;i<a.length;++i){if(a[i].segment!=b[i].segment)return!1;if(a[i].outlet!=b[i].outlet)return!1;if(!StringMapWrapper.equals(a[i].parameters,b[i].parameters))return!1}return!0}function routeSegmentComponentFactory(a){return a._componentFactory}function link(segment,routeTree,urlTree,commands){if(0===commands.length)return urlTree;var normalizedCommands=_normalizeCommands(commands);if(_navigateToRoot(normalizedCommands))return new UrlTree(new TreeNode(urlTree.root,[]));var startingNode=_findStartingNode(normalizedCommands,urlTree,segment,routeTree),updated=normalizedCommands.commands.length>0?_updateMany(ListWrapper.clone(startingNode.children),normalizedCommands.commands):[],newRoot=_constructNewTree(rootNode(urlTree),startingNode,updated);return new UrlTree(newRoot)}function _navigateToRoot(normalizedChange){return normalizedChange.isAbsolute&&1===normalizedChange.commands.length&&"/"==normalizedChange.commands[0]}function _normalizeCommands(commands){if(isString(commands[0])&&1===commands.length&&"/"==commands[0])return new _NormalizedNavigationCommands(!0,0,commands);for(var numberOfDoubleDots=0,isAbsolute=!1,res=[],i=0;i<commands.length;++i){var c=commands[i];if(isString(c))for(var parts=c.split("/"),j=0;j<parts.length;++j){var cc=parts[j];0==i?0==j&&"."==cc||(0==j&&""==cc?isAbsolute=!0:".."==cc?numberOfDoubleDots++:""!=cc&&res.push(cc)):""!=cc&&res.push(cc)}else res.push(c)}return new _NormalizedNavigationCommands(isAbsolute,numberOfDoubleDots,res)}function _findUrlSegment(segment,routeTree,urlTree,numberOfDoubleDots){for(var s=segment;0===s.urlSegments.length;)s=routeTree.parent(s);var urlSegment=ListWrapper.last(s.urlSegments),path=urlTree.pathFromRoot(urlSegment);if(path.length<=numberOfDoubleDots)throw new BaseException$1("Invalid number of '../'");return path[path.length-1-numberOfDoubleDots]}function _findStartingNode(normalizedChange,urlTree,segment,routeTree){if(normalizedChange.isAbsolute)return rootNode(urlTree);var urlSegment=_findUrlSegment(segment,routeTree,urlTree,normalizedChange.numberOfDoubleDots);return _findMatchingNode(urlSegment,rootNode(urlTree))}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],r=_findMatchingNode(segment,c);if(isPresent(r))return r}return null}function _constructNewTree(node,original,updated){return node===original?new TreeNode(node.value,updated):new TreeNode(node.value,node.children.map(function(c){return _constructNewTree(c,original,updated)}))}function _update(node,commands){var rest=commands.slice(1),next=0===rest.length?null:rest[0],outlet=_outlet(commands),segment=_segment(commands);if(isBlank(node)&&!isStringMap(next)){var urlSegment=new UrlSegment(segment,{},outlet),children=0===rest.length?[]:[_update(null,rest)];return new TreeNode(urlSegment,children)}if(isBlank(node)&&isStringMap(next)){var urlSegment=new UrlSegment(segment,_stringify(next),outlet);return _recurse(urlSegment,node,rest.slice(1))}if(outlet!=node.value.outlet)return node;if(isStringMap(segment)){var newSegment=new UrlSegment(node.value.segment,_stringify(segment),node.value.outlet);return _recurse(newSegment,node,rest)}if(isStringMap(next)&&_compare(segment,_stringify(next),node.value))return _recurse(node.value,node,rest.slice(1));if(isStringMap(next)){var urlSegment=new UrlSegment(segment,_stringify(next),outlet);return _recurse(urlSegment,node,rest.slice(1))}if(_compare(segment,{},node.value))return _recurse(node.value,node,rest);var urlSegment=new UrlSegment(segment,{},outlet);return _recurse(urlSegment,node,rest)}function _stringify(params){var res={};return StringMapWrapper.forEach(params,function(v,k){return res[k]=v.toString()}),res}function _compare(path,params,segment){return path==segment.segment&&StringMapWrapper.equals(params,segment.parameters)}function _recurse(urlSegment,node,rest){return 0===rest.length?new TreeNode(urlSegment,[]):new TreeNode(urlSegment,_updateMany(ListWrapper.clone(node.children),rest))}function _updateMany(nodes,commands){var outlet=_outlet(commands),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 _segment(commands){if(!isString(commands[0]))return commands[0];var parts=commands[0].toString().split(":");return parts.length>1?parts[1]:commands[0]}function _outlet(commands){if(!isString(commands[0]))return null;var parts=commands[0].toString().split(":");return parts.length>1?parts[0]:null}function recognize(componentResolver,rootComponent,url,existingTree){var matched=new _MatchResult(rootComponent,[url.root],{},rootNode(url).children,[]);return _constructSegment(componentResolver,matched,rootNode(existingTree)).then(function(roots){return new RouteTree(roots[0])})}function _recognize(componentResolver,parentComponent,url,existingSegments){var metadata=_readMetadata(parentComponent);if(isBlank(metadata))throw new _angular_core.BaseException("Component '"+stringify(parentComponent)+"' does not have route configuration");var match;try{match=_match(metadata,url)}catch(e){return PromiseWrapper.reject(e,null)}var segmentsWithRightOutlet=existingSegments.filter(function(r){return r.value.outlet==match.outlet}),segmentWithRightOutlet=segmentsWithRightOutlet.length>0?segmentsWithRightOutlet[0]:null,main=_constructSegment(componentResolver,match,segmentWithRightOutlet),aux=_recognizeMany(componentResolver,parentComponent,match.aux,existingSegments).then(_checkOutletNameUniqueness);return PromiseWrapper.all([main,aux]).then(ListWrapper.flatten)}function _recognizeMany(componentResolver,parentComponent,urls,existingSegments){var recognized=urls.map(function(u){return _recognize(componentResolver,parentComponent,u,existingSegments)});return PromiseWrapper.all(recognized).then(ListWrapper.flatten)}function _constructSegment(componentResolver,matched,existingSegment){return componentResolver.resolveComponent(matched.component).then(function(factory){var segment=_createOrReuseSegment(matched,factory,existingSegment),existingChildren=isPresent(existingSegment)?existingSegment.children:[];return matched.leftOverUrl.length>0?_recognizeMany(componentResolver,factory.componentType,matched.leftOverUrl,existingChildren).then(function(children){return[new TreeNode(segment,children)]}):_recognizeLeftOvers(componentResolver,factory.componentType,existingChildren).then(function(children){return[new TreeNode(segment,children)]})})}function _createOrReuseSegment(matched,factory,segmentNode){var segment=isPresent(segmentNode)?segmentNode.value:null;return isPresent(segment)&&equalUrlSegments(segment.urlSegments,matched.consumedUrlSegments)&&StringMapWrapper.equals(segment.parameters,matched.parameters)&&segment.outlet==matched.outlet&&factory.componentType==segment.type?segment:new RouteSegment(matched.consumedUrlSegments,matched.parameters,matched.outlet,factory.componentType,factory)}function _recognizeLeftOvers(componentResolver,parentComponent,existingSegments){return componentResolver.resolveComponent(parentComponent).then(function(factory){var metadata=_readMetadata(factory.componentType);if(isBlank(metadata))return[];var r=metadata.routes.filter(function(r){return""==r.path||"/"==r.path});if(0===r.length)return PromiseWrapper.resolve([]);var segmentsWithMatchingOutlet=existingSegments.filter(function(r){return r.value.outlet==DEFAULT_OUTLET_NAME}),segmentWithMatchingOutlet_1=segmentsWithMatchingOutlet.length>0?segmentsWithMatchingOutlet[0]:null,existingChildren=isPresent(segmentWithMatchingOutlet_1)?segmentWithMatchingOutlet_1.children:[];return _recognizeLeftOvers(componentResolver,r[0].component,existingChildren).then(function(children){return componentResolver.resolveComponent(r[0].component).then(function(factory){var segment=_createOrReuseSegment(new _MatchResult(r[0].component,[],{},[],[]),factory,segmentWithMatchingOutlet_1);return[new TreeNode(segment,children)]})})})}function _match(metadata,url){for(var _i=0,_a=metadata.routes;_i<_a.length;_i++){var r=_a[_i],matchingResult=_matchWithParts(r,url);if(isPresent(matchingResult))return matchingResult}var availableRoutes=metadata.routes.map(function(r){return"'"+r.path+"'"}).join(", ");throw new _angular_core.BaseException("Cannot match any routes. Current segment: '"+url.value+"'. Available routes: ["+availableRoutes+"].")}function _matchWithParts(route,url){var path=route.path.startsWith("/")?route.path.substring(1):route.path;if("*"==path)return new _MatchResult(route.component,[],null,[],[]);for(var parts=path.split("/"),positionalParams={},consumedUrlSegments=[],lastParent=null,lastSegment=null,current=url,i=0;i<parts.length;++i){if(isBlank(current))return null;var p_1=parts[i],isLastSegment=i===parts.length-1,isLastParent=i===parts.length-2,isPosParam=p_1.startsWith(":");if(!isPosParam&&p_1!=current.value.segment)return null;isLastSegment&&(lastSegment=current),isLastParent&&(lastParent=current),isPosParam&&(positionalParams[p_1.substring(1)]=current.value.segment),consumedUrlSegments.push(current.value),current=ListWrapper.first(current.children)}var p=lastSegment.value.parameters,parameters=StringMapWrapper.merge(p,positionalParams),axuUrlSubtrees=isPresent(lastParent)?lastParent.children.slice(1):[];return new _MatchResult(route.component,consumedUrlSegments,parameters,lastSegment.children,axuUrlSubtrees)}function _checkOutletNameUniqueness(nodes){var names={};return nodes.forEach(function(n){var segmentWithSameOutletName=names[n.value.outlet];if(isPresent(segmentWithSameOutletName)){var p=segmentWithSameOutletName.stringifiedUrlSegments,c=n.value.stringifiedUrlSegments;throw new _angular_core.BaseException("Two segments cannot have the same outlet name: '"+p+"' and '"+c+"'.")}names[n.value.outlet]=n.value}),nodes}function _readMetadata(componentType){var metadata=reflector.annotations(componentType).filter(function(f){return f instanceof RoutesMetadata});return ListWrapper.first(metadata)}function _serializeUrlTreeNode(node){return""+node.value+_serializeChildren(node)}function _serializeUrlTreeNodes(nodes){var main=nodes[0].value.toString(),auxNodes=nodes.slice(1),aux=auxNodes.length>0?"("+auxNodes.map(_serializeUrlTreeNode).join("//")+")":"",children=_serializeChildren(nodes[0]);return""+main+aux+children}function _serializeChildren(node){return node.children.length>0?"/"+_serializeUrlTreeNodes(node.children):""}function matchUrlSegment(str){var match=RegExpWrapper.firstMatch(SEGMENT_RE,str);return isPresent(match)?match[0]:""}function matchUrlQueryParamValue(str){var match=RegExpWrapper.firstMatch(QUERY_PARAM_VALUE_RE,str);return isPresent(match)?match[0]:""}function routerFactory(app,componentResolver,urlSerializer,routerOutletMap,location){if(0==app.componentTypes.length)throw new _angular_core.BaseException("Bootstrap at least one component before injecting Router.");var router=new Router(null,app.componentTypes[0],componentResolver,urlSerializer,routerOutletMap,location);return app.registerDisposeListener(function(){return router.dispose()}),router}function routeSegmentFactory(router){return router.routeTree.root}var globalScope;globalScope="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:global:window;var global$1=globalScope,Type=Function;global$1.assert=function(){};var NumberParseError=function(_super){function NumberParseError(message){_super.call(this),this.message=message}return __extends(NumberParseError,_super),NumberParseError.prototype.toString=function(){return this.message},NumberParseError}(Error),NumberWrapper=function(){function NumberWrapper(){}return NumberWrapper.toFixed=function(n,fractionDigits){return n.toFixed(fractionDigits)},NumberWrapper.equal=function(a,b){return a===b},NumberWrapper.parseIntAutoRadix=function(text){var result=parseInt(text);if(isNaN(result))throw new NumberParseError("Invalid integer literal when parsing "+text);return result},NumberWrapper.parseInt=function(text,radix){if(10==radix){if(/^(\-|\+)?[0-9]+$/.test(text))return parseInt(text,radix)}else if(16==radix){if(/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text))return parseInt(text,radix)}else{var result=parseInt(text,radix);if(!isNaN(result))return result}throw new NumberParseError("Invalid integer literal when parsing "+text+" in base "+radix)},NumberWrapper.parseFloat=function(text){return parseFloat(text)},Object.defineProperty(NumberWrapper,"NaN",{get:function(){return 0/0},enumerable:!0,configurable:!0}),NumberWrapper.isNaN=function(value){return isNaN(value)},NumberWrapper.isInteger=function(value){return Number.isInteger(value)},NumberWrapper}(),RegExpWrapper=function(){function RegExpWrapper(){}return RegExpWrapper.create=function(regExpStr,flags){return void 0===flags&&(flags=""),flags=flags.replace(/g/g,""),new global$1.RegExp(regExpStr,flags+"g")},RegExpWrapper.firstMatch=function(regExp,input){return regExp.lastIndex=0,regExp.exec(input)},RegExpWrapper.test=function(regExp,input){return regExp.lastIndex=0,regExp.test(input)},RegExpWrapper.matcher=function(regExp,input){return regExp.lastIndex=0,{re:regExp,input:input}},RegExpWrapper.replaceAll=function(regExp,input,replace){var c=regExp.exec(input),res="";regExp.lastIndex=0;for(var prev=0;c;)res+=input.substring(prev,c.index),res+=replace(c),prev=c.index+c[0].length,regExp.lastIndex=prev,c=regExp.exec(input);return res+=input.substring(prev)},RegExpWrapper}(),PromiseCompleter=function(){function PromiseCompleter(){var _this=this;this.promise=new Promise(function(res,rej){_this.resolve=res,_this.reject=rej})}return PromiseCompleter}(),PromiseWrapper=function(){function PromiseWrapper(){}return PromiseWrapper.resolve=function(obj){return Promise.resolve(obj)},PromiseWrapper.reject=function(obj){return Promise.reject(obj)},PromiseWrapper.catchError=function(promise,onError){return promise.catch(onError)},PromiseWrapper.all=function(promises){return 0==promises.length?Promise.resolve([]):Promise.all(promises)},PromiseWrapper.then=function(promise,success,rejection){return promise.then(success,rejection)},PromiseWrapper.wrap=function(computation){return new Promise(function(res,rej){try{res(computation())}catch(e){rej(e)}})},PromiseWrapper.scheduleMicrotask=function(computation){PromiseWrapper.then(PromiseWrapper.resolve(null),computation,function(){})},PromiseWrapper.isPromise=function(obj){return obj instanceof Promise},PromiseWrapper.completer=function(){return new PromiseCompleter},PromiseWrapper}(),ObservableWrapper=function(){function ObservableWrapper(){}return ObservableWrapper.subscribe=function(emitter,onNext,onError,onComplete){return void 0===onComplete&&(onComplete=function(){}),onError="function"==typeof onError&&onError||noop,onComplete="function"==typeof onComplete&&onComplete||noop,emitter.subscribe({next:onNext,error:onError,complete:onComplete})},ObservableWrapper.isObservable=function(obs){return!!obs.subscribe},ObservableWrapper.hasSubscribers=function(obs){return obs.observers.length>0},ObservableWrapper.dispose=function(subscription){subscription.unsubscribe()},ObservableWrapper.callNext=function(emitter,value){emitter.next(value)},ObservableWrapper.callEmit=function(emitter,value){emitter.emit(value)},ObservableWrapper.callError=function(emitter,error){emitter.error(error)},ObservableWrapper.callComplete=function(emitter){emitter.complete()},ObservableWrapper.fromPromise=function(promise){return rxjs_observable_PromiseObservable.PromiseObservable.create(promise)},ObservableWrapper.toPromise=function(obj){return rxjs_operator_toPromise.toPromise.call(obj)},ObservableWrapper}(),EventEmitter=function(_super){function EventEmitter(isAsync){void 0===isAsync&&(isAsync=!1),_super.call(this),this.__isAsync=isAsync}return __extends(EventEmitter,_super),EventEmitter.prototype.emit=function(value){_super.prototype.next.call(this,value)},EventEmitter.prototype.next=function(value){_super.prototype.next.call(this,value)},EventEmitter.prototype.subscribe=function(generatorOrNext,error,complete){var schedulerFn,errorFn=function(){return null},completeFn=function(){return null};return generatorOrNext&&"object"==typeof generatorOrNext?(schedulerFn=this.__isAsync?function(value){setTimeout(function(){return generatorOrNext.next(value)})}:function(value){generatorOrNext.next(value)},generatorOrNext.error&&(errorFn=this.__isAsync?function(err){setTimeout(function(){return generatorOrNext.error(err)})}:function(err){generatorOrNext.error(err)}),generatorOrNext.complete&&(completeFn=this.__isAsync?function(){setTimeout(function(){return generatorOrNext.complete()})}:function(){generatorOrNext.complete()})):(schedulerFn=this.__isAsync?function(value){setTimeout(function(){return generatorOrNext(value)})}:function(value){generatorOrNext(value)},error&&(errorFn=this.__isAsync?function(err){setTimeout(function(){return error(err)})}:function(err){error(err)}),complete&&(completeFn=this.__isAsync?function(){setTimeout(function(){return complete()})}:function(){complete()})),_super.prototype.subscribe.call(this,schedulerFn,errorFn,completeFn)},EventEmitter}(rxjs_Subject.Subject),DEFAULT_OUTLET_NAME="__DEFAULT",Map$1=global$1.Map,Set=global$1.Set;!function(){try{if(1===new Map$1([[1,2]]).size)return function(pairs){return new Map$1(pairs)}}catch(e){}return function(pairs){for(var map=new Map$1,i=0;i<pairs.length;i++){var pair=pairs[i];map.set(pair[0],pair[1])}return map}}(),function(){try{if(new Map$1(new Map$1))return function(m){return new Map$1(m)}}catch(e){}return function(m){var map=new Map$1;return m.forEach(function(v,k){map.set(k,v)}),map}}(),function(){return(new Map$1).keys().next?function(m){for(var k,keyIterator=m.keys();!(k=keyIterator.next()).done;)m.set(k.value,null)}:function(m){m.forEach(function(v,k){m.set(k,null)})}}(),function(){try{if((new Map$1).values().next)return function(m,getValues){return getValues?Array.from(m.values()):Array.from(m.keys())}}catch(e){}return function(m,getValues){var res=ListWrapper.createFixedSize(m.size),i=0;return m.forEach(function(v,k){res[i]=getValues?v:k,i++}),res}}();var StringMapWrapper=function(){function StringMapWrapper(){}return StringMapWrapper.create=function(){return{}},StringMapWrapper.contains=function(map,key){return map.hasOwnProperty(key)},StringMapWrapper.get=function(map,key){return map.hasOwnProperty(key)?map[key]:void 0},StringMapWrapper.set=function(map,key,value){map[key]=value},StringMapWrapper.keys=function(map){return Object.keys(map)},StringMapWrapper.values=function(map){return Object.keys(map).reduce(function(r,a){return r.push(map[a]),r},[])},StringMapWrapper.isEmpty=function(map){for(var prop in map)return!1;return!0},StringMapWrapper.delete=function(map,key){delete map[key]},StringMapWrapper.forEach=function(map,callback){for(var prop in map)map.hasOwnProperty(prop)&&callback(map[prop],prop)},StringMapWrapper.merge=function(m1,m2){var m={};for(var attr in m1)m1.hasOwnProperty(attr)&&(m[attr]=m1[attr]);for(var attr in m2)m2.hasOwnProperty(attr)&&(m[attr]=m2[attr]);return m},StringMapWrapper.equals=function(m1,m2){var k1=Object.keys(m1),k2=Object.keys(m2);if(k1.length!=k2.length)return!1;for(var key,i=0;i<k1.length;i++)if(key=k1[i],m1[key]!==m2[key])return!1;return!0},StringMapWrapper}(),ListWrapper=function(){function ListWrapper(){}return ListWrapper.createFixedSize=function(size){return new Array(size)},ListWrapper.createGrowableSize=function(size){return new Array(size)},ListWrapper.clone=function(array){return array.slice(0)},ListWrapper.forEachWithIndex=function(array,fn){for(var i=0;i<array.length;i++)fn(array[i],i)},ListWrapper.first=function(array){return array?array[0]:null},ListWrapper.last=function(array){return array&&0!=array.length?array[array.length-1]:null},ListWrapper.indexOf=function(array,value,startIndex){return void 0===startIndex&&(startIndex=0),array.indexOf(value,startIndex)},ListWrapper.contains=function(list,el){return-1!==list.indexOf(el)},ListWrapper.reversed=function(array){var a=ListWrapper.clone(array);return a.reverse()},ListWrapper.concat=function(a,b){return a.concat(b)},ListWrapper.insert=function(list,index,value){list.splice(index,0,value)},ListWrapper.removeAt=function(list,index){var res=list[index];return list.splice(index,1),res},ListWrapper.removeAll=function(list,items){for(var i=0;i<items.length;++i){var index=list.indexOf(items[i]);list.splice(index,1)}},ListWrapper.remove=function(list,el){var index=list.indexOf(el);return index>-1?(list.splice(index,1),!0):!1},ListWrapper.clear=function(list){list.length=0},ListWrapper.isEmpty=function(list){return 0==list.length},ListWrapper.fill=function(list,value,start,end){void 0===start&&(start=0),void 0===end&&(end=null),list.fill(value,start,null===end?list.length:end)},ListWrapper.equals=function(a,b){if(a.length!=b.length)return!1;for(var i=0;i<a.length;++i)if(a[i]!==b[i])return!1;return!0},ListWrapper.slice=function(l,from,to){return void 0===from&&(from=0),void 0===to&&(to=null),l.slice(from,null===to?void 0:to)},ListWrapper.splice=function(l,from,length){return l.splice(from,length)},ListWrapper.sort=function(l,compareFn){isPresent(compareFn)?l.sort(compareFn):l.sort()},ListWrapper.toString=function(l){return l.toString()},ListWrapper.toJSON=function(l){return JSON.stringify(l)},ListWrapper.maximum=function(list,predicate){if(0==list.length)return null;for(var solution=null,maxValue=-1/0,index=0;index<list.length;index++){var candidate=list[index];if(!isBlank(candidate)){var candidateValue=predicate(candidate);candidateValue>maxValue&&(solution=candidate,maxValue=candidateValue)}}return solution},ListWrapper.flatten=function(list){var target=[];return _flattenArray(list,target),target},ListWrapper.addAll=function(list,source){for(var i=0;i<source.length;i++)list.push(source[i])},ListWrapper}();!function(){var test=new Set([1,2,3]);return 3===test.size?function(lst){return new Set(lst)}:function(lst){var res=new Set(lst);if(res.size!==lst.length)for(var i=0;i<lst.length;i++)res.add(lst[i]);return res}}();var BaseException$1=function(_super){function BaseException$1(message){void 0===message&&(message="--"),_super.call(this,message),this.message=message,this.stack=new Error(message).stack}return __extends(BaseException$1,_super),BaseException$1.prototype.toString=function(){return this.message},BaseException$1}(Error),Tree=function(){function Tree(root){this._root=root}return Object.defineProperty(Tree.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),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 isPresent(n)?n.children.map(function(t){return t.value}):null},Tree.prototype.firstChild=function(t){var n=_findNode(t,this._root);return isPresent(n)&&n.children.length>0?n.children[0].value:null},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)},Tree}(),UrlTree=function(_super){function UrlTree(root){_super.call(this,root)}return __extends(UrlTree,_super),UrlTree}(Tree),RouteTree=function(_super){function RouteTree(root){_super.call(this,root)}return __extends(RouteTree,_super),RouteTree}(Tree),TreeNode=function(){function TreeNode(value,children){this.value=value,this.children=children}return TreeNode}(),UrlSegment=function(){function UrlSegment(segment,parameters,outlet){this.segment=segment,this.parameters=parameters,this.outlet=outlet}return UrlSegment.prototype.toString=function(){var outletPrefix=isBlank(this.outlet)?"":this.outlet+":";return""+outletPrefix+this.segment+_serializeParams(this.parameters)},UrlSegment}(),RouteSegment=function(){function RouteSegment(urlSegments,parameters,outlet,type,componentFactory){this.urlSegments=urlSegments,this.parameters=parameters,this.outlet=outlet,this._type=type,this._componentFactory=componentFactory}return RouteSegment.prototype.getParam=function(param){return isPresent(this.parameters)?this.parameters[param]:null},RouteSegment.prototype.getParamAsNumber=function(param){return isPresent(this.parameters)?NumberWrapper.parseFloat(this.parameters[param]):null},Object.defineProperty(RouteSegment.prototype,"type",{get:function(){return this._type},enumerable:!0,configurable:!0}),Object.defineProperty(RouteSegment.prototype,"stringifiedUrlSegments",{get:function(){return this.urlSegments.map(function(s){return s.toString()}).join("/")},enumerable:!0,configurable:!0}),RouteSegment}(),_NormalizedNavigationCommands=function(){function _NormalizedNavigationCommands(isAbsolute,numberOfDoubleDots,commands){this.isAbsolute=isAbsolute,this.numberOfDoubleDots=numberOfDoubleDots,this.commands=commands}return _NormalizedNavigationCommands}(),makeDecorator=_angular_core.__core_private__.makeDecorator,reflector=_angular_core.__core_private__.reflector,Route=function(){function Route(_a){var _b=void 0===_a?{}:_a,path=_b.path,component=_b.component;this.path=path,this.component=component}return Route.prototype.toString=function(){return"@Route("+this.path+", "+stringify(this.component)+")"},Route}(),RoutesMetadata=function(){function RoutesMetadata(routes){this.routes=routes}return RoutesMetadata.prototype.toString=function(){return"@Routes("+this.routes+")"},RoutesMetadata}(),_MatchResult=function(){function _MatchResult(component,consumedUrlSegments,parameters,leftOverUrl,aux){this.component=component,this.consumedUrlSegments=consumedUrlSegments,this.parameters=parameters,this.leftOverUrl=leftOverUrl,this.aux=aux}return Object.defineProperty(_MatchResult.prototype,"outlet",{get:function(){return 0===this.consumedUrlSegments.length||isBlank(this.consumedUrlSegments[0].outlet)?DEFAULT_OUTLET_NAME:this.consumedUrlSegments[0].outlet},enumerable:!0,configurable:!0}),_MatchResult}(),RouterOutletMap=function(){function RouterOutletMap(){this._outlets={}}return RouterOutletMap.prototype.registerOutlet=function(name,outlet){this._outlets[name]=outlet},RouterOutletMap}(),Router=function(){function Router(_rootComponent,_rootComponentType,_componentResolver,_urlSerializer,_routerOutletMap,_location){this._rootComponent=_rootComponent,this._rootComponentType=_rootComponentType,this._componentResolver=_componentResolver,this._urlSerializer=_urlSerializer,this._routerOutletMap=_routerOutletMap,this._location=_location,this._changes=new EventEmitter,this._routeTree=createEmptyRouteTree(this._rootComponentType),this._setUpLocationChangeListener(),this.navigateByUrl(this._location.path())}return Object.defineProperty(Router.prototype,"urlTree",{get:function(){return this._urlTree},enumerable:!0,configurable:!0}),Object.defineProperty(Router.prototype,"routeTree",{get:function(){return this._routeTree},enumerable:!0,configurable:!0}),Object.defineProperty(Router.prototype,"changes",{get:function(){return this._changes},enumerable:!0,configurable:!0}),Router.prototype.navigateByUrl=function(url){return this._navigate(this._urlSerializer.parse(url))},Router.prototype.navigate=function(commands,segment){return this._navigate(this.createUrlTree(commands,segment))},Router.prototype.dispose=function(){ObservableWrapper.dispose(this._locationSubscription)},Router.prototype.createUrlTree=function(commands,segment){var s=isPresent(segment)?segment:this._routeTree.root;return link(s,this._routeTree,this.urlTree,commands)},Router.prototype.serializeUrl=function(url){return this._urlSerializer.serialize(url)},Router.prototype._setUpLocationChangeListener=function(){var _this=this;this._locationSubscription=this._location.subscribe(function(change){_this._navigate(_this._urlSerializer.parse(change.url),change.pop)})},Router.prototype._navigate=function(url,preventPushState){var _this=this;return this._urlTree=url,recognize(this._componentResolver,this._rootComponentType,url,this._routeTree).then(function(currTree){return new _ActivateSegments(currTree,_this._routeTree).activate(_this._routerOutletMap,_this._rootComponent).then(function(updated){if(updated){if(_this._routeTree=currTree,isBlank(preventPushState)||!preventPushState){var path=_this._urlSerializer.serialize(_this._urlTree);_this._location.isCurrentPathEqualTo(path)?_this._location.replaceState(path):_this._location.go(path)}_this._changes.emit(null)}})})},Router}(),_ActivateSegments=function(){function _ActivateSegments(currTree,prevTree){this.currTree=currTree,this.prevTree=prevTree,this.deactivations=[],this.performMutation=!0}return _ActivateSegments.prototype.activate=function(parentOutletMap,rootComponent){var _this=this,prevRoot=isPresent(this.prevTree)?rootNode(this.prevTree):null,currRoot=rootNode(this.currTree);
|
|
2
|
+
return this.canDeactivate(currRoot,prevRoot,parentOutletMap,rootComponent).then(function(res){return _this.performMutation=!0,res&&_this.activateChildSegments(currRoot,prevRoot,parentOutletMap,[rootComponent]),res})},_ActivateSegments.prototype.canDeactivate=function(currRoot,prevRoot,outletMap,rootComponent){var _this=this;this.performMutation=!1,this.activateChildSegments(currRoot,prevRoot,outletMap,[rootComponent]);var allPaths=PromiseWrapper.all(this.deactivations.map(function(r){return _this.checkCanDeactivatePath(r)}));return allPaths.then(function(values){return values.filter(function(v){return v}).length===values.length})},_ActivateSegments.prototype.checkCanDeactivatePath=function(path){for(var _this=this,curr=PromiseWrapper.resolve(!0),_loop_2=function(p){curr=curr.then(function(_){return hasLifecycleHook("routerCanDeactivate",p)?p.routerCanDeactivate(_this.prevTree,_this.currTree):_})},_i=0,_a=ListWrapper.reversed(path);_i<_a.length;_i++){var p=_a[_i];_loop_2(p)}return curr},_ActivateSegments.prototype.activateChildSegments=function(currNode,prevNode,outletMap,components){var _this=this,prevChildren=isPresent(prevNode)?prevNode.children.reduce(function(m,c){return m[c.value.outlet]=c,m},{}):{};currNode.children.forEach(function(c){_this.activateSegments(c,prevChildren[c.value.outlet],outletMap,components),StringMapWrapper.delete(prevChildren,c.value.outlet)}),StringMapWrapper.forEach(prevChildren,function(v,k){return _this.deactivateOutlet(outletMap._outlets[k],components)})},_ActivateSegments.prototype.activateSegments=function(currNode,prevNode,parentOutletMap,components){var curr=currNode.value,prev=isPresent(prevNode)?prevNode.value:null,outlet=this.getOutlet(parentOutletMap,currNode.value);if(curr===prev)this.activateChildSegments(currNode,prevNode,outlet.outletMap,components.concat([outlet.component]));else if(this.deactivateOutlet(outlet,components),this.performMutation){var outletMap=new RouterOutletMap,component=this.activateNewSegments(outletMap,curr,prev,outlet);this.activateChildSegments(currNode,prevNode,outletMap,components.concat([component]))}},_ActivateSegments.prototype.activateNewSegments=function(outletMap,curr,prev,outlet){var resolved=_angular_core.ReflectiveInjector.resolve([{provide:RouterOutletMap,useValue:outletMap},{provide:RouteSegment,useValue:curr}]),ref=outlet.activate(routeSegmentComponentFactory(curr),resolved,outletMap);return hasLifecycleHook("routerOnActivate",ref.instance)&&ref.instance.routerOnActivate(curr,prev,this.currTree,this.prevTree),ref.instance},_ActivateSegments.prototype.getOutlet=function(outletMap,segment){var outlet=outletMap._outlets[segment.outlet];if(isBlank(outlet))throw segment.outlet==DEFAULT_OUTLET_NAME?new _angular_core.BaseException("Cannot find default outlet"):new _angular_core.BaseException("Cannot find the outlet "+segment.outlet);return outlet},_ActivateSegments.prototype.deactivateOutlet=function(outlet,components){var _this=this;isPresent(outlet)&&outlet.isActivated&&(StringMapWrapper.forEach(outlet.outletMap._outlets,function(v){return _this.deactivateOutlet(v,components)}),this.performMutation?outlet.deactivate():this.deactivations.push(components.concat([outlet.component])))},_ActivateSegments}(),RouterLink=function(){function RouterLink(_routeSegment,_router,_locationStrategy){var _this=this;this._routeSegment=_routeSegment,this._router=_router,this._locationStrategy=_locationStrategy,this._commands=[],this.isActive=!1,this._subscription=ObservableWrapper.subscribe(_router.changes,function(){_this._updateTargetUrlAndHref()})}return RouterLink.prototype.ngOnDestroy=function(){ObservableWrapper.dispose(this._subscription)},Object.defineProperty(RouterLink.prototype,"routerLink",{set:function(data){this._commands=isArray(data)?data:[data],this._updateTargetUrlAndHref()},enumerable:!0,configurable:!0}),RouterLink.prototype.onClick=function(button,ctrlKey,metaKey){return 0!=button||ctrlKey||metaKey?!0:isString(this.target)&&"_self"!=this.target?!0:(this._router.navigate(this._commands,this._routeSegment),!1)},RouterLink.prototype._updateTargetUrlAndHref=function(){var tree=this._router.createUrlTree(this._commands,this._routeSegment);isPresent(tree)?(this.href=this._locationStrategy.prepareExternalUrl(this._router.serializeUrl(tree)),this.isActive=this._router.urlTree.contains(tree)):this.isActive=!1},RouterLink}();RouterLink.decorators=[{type:_angular_core.Directive,args:[{selector:"[routerLink]"}]}],RouterLink.ctorParameters=[{type:RouteSegment},{type:Router},{type:_angular_common.LocationStrategy}],RouterLink.propDecorators={target:[{type:_angular_core.Input}],href:[{type:_angular_core.HostBinding}],isActive:[{type:_angular_core.HostBinding,args:["class.router-link-active"]}],routerLink:[{type:_angular_core.Input}],onClick:[{type:_angular_core.HostListener,args:["click",["$event.button","$event.ctrlKey","$event.metaKey"]]}]};var RouterOutlet=function(){function RouterOutlet(parentOutletMap,_location,name){this._location=_location,parentOutletMap.registerOutlet(isBlank(name)?DEFAULT_OUTLET_NAME:name,this)}return RouterOutlet.prototype.deactivate=function(){this._activated.destroy(),this._activated=null},Object.defineProperty(RouterOutlet.prototype,"component",{get:function(){return isPresent(this._activated)?this._activated.instance:null},enumerable:!0,configurable:!0}),Object.defineProperty(RouterOutlet.prototype,"isActivated",{get:function(){return isPresent(this._activated)},enumerable:!0,configurable:!0}),RouterOutlet.prototype.activate=function(factory,providers,outletMap){this.outletMap=outletMap;var inj=_angular_core.ReflectiveInjector.fromResolvedProviders(providers,this._location.parentInjector);return this._activated=this._location.createComponent(factory,this._location.length,inj,[]),this._activated},RouterOutlet}();RouterOutlet.decorators=[{type:_angular_core.Directive,args:[{selector:"router-outlet"}]}],RouterOutlet.ctorParameters=[{type:RouterOutletMap},{type:_angular_core.ViewContainerRef},{type:void 0,decorators:[{type:_angular_core.Attribute,args:["name"]}]}];var ROUTER_DIRECTIVES=[RouterOutlet,RouterLink],Routes=makeDecorator(RoutesMetadata),RouterUrlSerializer=function(){function RouterUrlSerializer(){}return RouterUrlSerializer}(),DefaultRouterUrlSerializer=function(_super){function DefaultRouterUrlSerializer(){_super.apply(this,arguments)}return __extends(DefaultRouterUrlSerializer,_super),DefaultRouterUrlSerializer.prototype.parse=function(url){var root=(new _UrlParser).parse(url);return new UrlTree(root)},DefaultRouterUrlSerializer.prototype.serialize=function(tree){return _serializeUrlTreeNode(rootNode(tree))},DefaultRouterUrlSerializer}(RouterUrlSerializer),SEGMENT_RE=RegExpWrapper.create("^[^\\/\\(\\)\\?;=&#]+"),QUERY_PARAM_VALUE_RE=RegExpWrapper.create("^[^\\(\\)\\?;&#]+"),_UrlParser=function(){function _UrlParser(){}return _UrlParser.prototype.peekStartsWith=function(str){return this._remaining.startsWith(str)},_UrlParser.prototype.capture=function(str){if(!this._remaining.startsWith(str))throw new _angular_core.BaseException('Expected "'+str+'".');this._remaining=this._remaining.substring(str.length)},_UrlParser.prototype.parse=function(url){return this._remaining=url,""==url||"/"==url?new TreeNode(new UrlSegment("",{},null),[]):this.parseRoot()},_UrlParser.prototype.parseRoot=function(){var segments=this.parseSegments();return new TreeNode(new UrlSegment("",{},null),segments)},_UrlParser.prototype.parseSegments=function(outletName){if(void 0===outletName&&(outletName=null),0==this._remaining.length)return[];this.peekStartsWith("/")&&this.capture("/");var path=matchUrlSegment(this._remaining);if(this.capture(path),path.indexOf(":")>-1){var parts=path.split(":");outletName=parts[0],path=parts[1]}var matrixParams={};this.peekStartsWith(";")&&(matrixParams=this.parseMatrixParams());var aux=[];this.peekStartsWith("(")&&(aux=this.parseAuxiliaryRoutes());var children=[];this.peekStartsWith("/")&&!this.peekStartsWith("//")&&(this.capture("/"),children=this.parseSegments());var segment=new UrlSegment(path,matrixParams,outletName),node=new TreeNode(segment,children);return[node].concat(aux)},_UrlParser.prototype.parseQueryParams=function(){var params={};for(this.capture("?"),this.parseQueryParam(params);this._remaining.length>0&&this.peekStartsWith("&");)this.capture("&"),this.parseQueryParam(params);return params},_UrlParser.prototype.parseMatrixParams=function(){for(var params={};this._remaining.length>0&&this.peekStartsWith(";");)this.capture(";"),this.parseParam(params);return params},_UrlParser.prototype.parseParam=function(params){var key=matchUrlSegment(this._remaining);if(!isBlank(key)){this.capture(key);var value="true";if(this.peekStartsWith("=")){this.capture("=");var valueMatch=matchUrlSegment(this._remaining);isPresent(valueMatch)&&(value=valueMatch,this.capture(value))}params[key]=value}},_UrlParser.prototype.parseQueryParam=function(params){var key=matchUrlSegment(this._remaining);if(!isBlank(key)){this.capture(key);var value="true";if(this.peekStartsWith("=")){this.capture("=");var valueMatch=matchUrlQueryParamValue(this._remaining);isPresent(valueMatch)&&(value=valueMatch,this.capture(value))}params[key]=value}},_UrlParser.prototype.parseAuxiliaryRoutes=function(){var segments=[];for(this.capture("(");!this.peekStartsWith(")")&&this._remaining.length>0;)segments=segments.concat(this.parseSegments("aux")),this.peekStartsWith("//")&&this.capture("//");return this.capture(")"),segments},_UrlParser}(),ROUTER_PROVIDERS_COMMON=[RouterOutletMap,{provide:RouterUrlSerializer,useClass:DefaultRouterUrlSerializer},{provide:_angular_common.LocationStrategy,useClass:_angular_common.PathLocationStrategy},_angular_common.Location,{provide:Router,useFactory:routerFactory,deps:[_angular_core.ApplicationRef,_angular_core.ComponentResolver,RouterUrlSerializer,RouterOutletMap,_angular_common.Location]},{provide:RouteSegment,useFactory:routeSegmentFactory,deps:[Router]}],ROUTER_PROVIDERS=[ROUTER_PROVIDERS_COMMON];exports.ROUTER_DIRECTIVES=ROUTER_DIRECTIVES,exports.RouterLink=RouterLink,exports.RouterOutlet=RouterOutlet,exports.Routes=Routes,exports.Route=Route,exports.Router=Router,exports.RouterOutletMap=RouterOutletMap,exports.ROUTER_PROVIDERS=ROUTER_PROVIDERS,exports.DefaultRouterUrlSerializer=DefaultRouterUrlSerializer,exports.RouterUrlSerializer=RouterUrlSerializer,exports.RouteSegment=RouteSegment,exports.RouteTree=RouteTree,exports.Tree=Tree,exports.UrlSegment=UrlSegment,exports.UrlTree=UrlTree});
|
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* @description
|
|
4
|
+
* Maps application URLs into application states, to support deep-linking and navigation.
|
|
5
|
+
*/
|
|
6
|
+
export { ROUTER_DIRECTIVES } from './src/directives/router_directives';
|
|
7
|
+
export { RouterLink } from './src/directives/router_link';
|
|
8
|
+
export { RouterOutlet } from './src/directives/router_outlet';
|
|
9
|
+
export { CanDeactivate, OnActivate } from './src/interfaces';
|
|
10
|
+
export { Routes } from './src/metadata/decorators';
|
|
11
|
+
export { Route } from './src/metadata/metadata';
|
|
12
|
+
export { Router, RouterOutletMap } from './src/router';
|
|
13
|
+
export { ROUTER_PROVIDERS } from './src/router_providers';
|
|
14
|
+
export { DefaultRouterUrlSerializer, RouterUrlSerializer } from './src/router_url_serializer';
|
|
15
|
+
export { RouteSegment, RouteTree, Tree, UrlSegment, UrlTree } from './src/segments';
|
package/esm/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* @description
|
|
4
|
+
* Maps application URLs into application states, to support deep-linking and navigation.
|
|
5
|
+
*/
|
|
6
|
+
export { ROUTER_DIRECTIVES } from './src/directives/router_directives';
|
|
7
|
+
export { RouterLink } from './src/directives/router_link';
|
|
8
|
+
export { RouterOutlet } from './src/directives/router_outlet';
|
|
9
|
+
export { Routes } from './src/metadata/decorators';
|
|
10
|
+
export { Route } from './src/metadata/metadata';
|
|
11
|
+
export { Router, RouterOutletMap } from './src/router';
|
|
12
|
+
export { ROUTER_PROVIDERS } from './src/router_providers';
|
|
13
|
+
export { DefaultRouterUrlSerializer, RouterUrlSerializer } from './src/router_url_serializer';
|
|
14
|
+
export { RouteSegment, RouteTree, Tree, UrlSegment, UrlTree } from './src/segments';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/@angular/router/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,SAAQ,iBAAiB,QAAO,oCAAoC,CAAC;AACrE,SAAQ,UAAU,QAAO,8BAA8B,CAAC;AACxD,SAAQ,YAAY,QAAO,gCAAgC,CAAC;AAE5D,SAAQ,MAAM,QAAO,2BAA2B,CAAC;AACjD,SAAQ,KAAK,QAAO,yBAAyB,CAAC;AAC9C,SAAQ,MAAM,EAAE,eAAe,QAAO,cAAc,CAAC;AACrD,SAAQ,gBAAgB,QAAO,wBAAwB,CAAC;AACxD,SAAQ,0BAA0B,EAAE,mBAAmB,QAAO,6BAA6B,CAAC;AAC5F,SAAQ,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,QAAO,gBAAgB,CAAC","sourcesContent":["/**\n * @module\n * @description\n * Maps application URLs into application states, to support deep-linking and navigation.\n */\n\nexport {ROUTER_DIRECTIVES} from './src/directives/router_directives';\nexport {RouterLink} from './src/directives/router_link';\nexport {RouterOutlet} from './src/directives/router_outlet';\nexport {CanDeactivate, OnActivate} from './src/interfaces';\nexport {Routes} from './src/metadata/decorators';\nexport {Route} from './src/metadata/metadata';\nexport {Router, RouterOutletMap} from './src/router';\nexport {ROUTER_PROVIDERS} from './src/router_providers';\nexport {DefaultRouterUrlSerializer, RouterUrlSerializer} from './src/router_url_serializer';\nexport {RouteSegment, RouteTree, Tree, UrlSegment, UrlTree} from './src/segments';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,MAAM,mBAAmB,GAAG,WAAW,CAAC","sourcesContent":["/**\n * Name of the default outlet outlet.\n * @type {string}\n */\nexport const DEFAULT_OUTLET_NAME = '__DEFAULT';\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"DEFAULT_OUTLET_NAME":"__DEFAULT"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core_private.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/core_private.ts"],"names":[],"mappings":"OAAO,EAAC,gBAAgB,IAAI,CAAC,EAAC,MAAM,eAAe;AAEnD,OAAO,IAAI,aAAa,GAA2B,CAAC,CAAC,aAAa,CAAC;AACnE,OAAO,IAAI,SAAS,GAAuB,CAAC,CAAC,SAAS,CAAC","sourcesContent":["import {__core_private__ as _} from '@angular/core';\n\nexport var makeDecorator: typeof _.makeDecorator = _.makeDecorator;\nexport var reflector: typeof _.reflector = _.reflector;\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"makeDecorator":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"___core_private__"},"member":"makeDecorator"},"reflector":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"___core_private__"},"member":"reflector"}}}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A list of directives. To use the router directives like {@link RouterOutlet} and
|
|
3
|
+
* {@link RouterLink}, add this to your `directives` array in the {@link View} decorator of your
|
|
4
|
+
* component.
|
|
5
|
+
*
|
|
6
|
+
* ```
|
|
7
|
+
* import {Component} from '@angular/core';
|
|
8
|
+
* import {ROUTER_DIRECTIVES, Routes} from '@angular/router';
|
|
9
|
+
*
|
|
10
|
+
* @Component({directives: [ROUTER_DIRECTIVES]})
|
|
11
|
+
* @Routes([
|
|
12
|
+
* {...},
|
|
13
|
+
* ])
|
|
14
|
+
* class AppCmp {
|
|
15
|
+
* // ...
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* bootstrap(AppCmp);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const ROUTER_DIRECTIVES: any[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RouterLink } from './router_link';
|
|
2
|
+
import { RouterOutlet } from './router_outlet';
|
|
3
|
+
/**
|
|
4
|
+
* A list of directives. To use the router directives like {@link RouterOutlet} and
|
|
5
|
+
* {@link RouterLink}, add this to your `directives` array in the {@link View} decorator of your
|
|
6
|
+
* component.
|
|
7
|
+
*
|
|
8
|
+
* ```
|
|
9
|
+
* import {Component} from '@angular/core';
|
|
10
|
+
* import {ROUTER_DIRECTIVES, Routes} from '@angular/router';
|
|
11
|
+
*
|
|
12
|
+
* @Component({directives: [ROUTER_DIRECTIVES]})
|
|
13
|
+
* @Routes([
|
|
14
|
+
* {...},
|
|
15
|
+
* ])
|
|
16
|
+
* class AppCmp {
|
|
17
|
+
* // ...
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* bootstrap(AppCmp);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const ROUTER_DIRECTIVES = [RouterOutlet, RouterLink];
|
|
24
|
+
//# sourceMappingURL=router_directives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router_directives.js","sourceRoot":"","sources":["../../../../../../modules/@angular/router/src/directives/router_directives.ts"],"names":[],"mappings":"OAAO,EAAC,UAAU,EAAC,MAAM,eAAe;OACjC,EAAC,YAAY,EAAC,MAAM,iBAAiB;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,MAAM,iBAAiB,GAA4B,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC","sourcesContent":["import {RouterLink} from './router_link';\nimport {RouterOutlet} from './router_outlet';\n\n/**\n * A list of directives. To use the router directives like {@link RouterOutlet} and\n * {@link RouterLink}, add this to your `directives` array in the {@link View} decorator of your\n * component.\n *\n * ```\n * import {Component} from '@angular/core';\n * import {ROUTER_DIRECTIVES, Routes} from '@angular/router';\n *\n * @Component({directives: [ROUTER_DIRECTIVES]})\n * @Routes([\n * {...},\n * ])\n * class AppCmp {\n * // ...\n * }\n *\n * bootstrap(AppCmp);\n * ```\n */\n\nexport const ROUTER_DIRECTIVES: any[] = /*@ts2dart_const*/[RouterOutlet, RouterLink];\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"ROUTER_DIRECTIVES":[{"__symbolic":"reference","module":"./router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./router_link","name":"RouterLink"}]}}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { LocationStrategy } from '@angular/common';
|
|
2
|
+
import { OnDestroy } from '@angular/core';
|
|
3
|
+
import { Router } from '../router';
|
|
4
|
+
import { RouteSegment } from '../segments';
|
|
5
|
+
/**
|
|
6
|
+
* The RouterLink directive lets you link to specific parts of your app.
|
|
7
|
+
*
|
|
8
|
+
* Consider the following route configuration:
|
|
9
|
+
|
|
10
|
+
* ```
|
|
11
|
+
* @Routes([
|
|
12
|
+
* { path: '/user', component: UserCmp }
|
|
13
|
+
* ]);
|
|
14
|
+
* class MyComp {}
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* When linking to this `User` route, you can write:
|
|
18
|
+
*
|
|
19
|
+
* ```
|
|
20
|
+
* <a [routerLink]="['/user']">link to user component</a>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* RouterLink expects the value to be an array of path segments, followed by the params
|
|
24
|
+
* for that level of routing. For instance `['/team', {teamId: 1}, 'user', {userId: 2}]`
|
|
25
|
+
* means that we want to generate a link to `/team;teamId=1/user;userId=2`.
|
|
26
|
+
*
|
|
27
|
+
* The first segment name can be prepended with `/`, `./`, or `../`.
|
|
28
|
+
* If the segment begins with `/`, the router will look up the route from the root of the app.
|
|
29
|
+
* If the segment begins with `./`, or doesn't begin with a slash, the router will
|
|
30
|
+
* instead look in the current component's children for the route.
|
|
31
|
+
* And if the segment begins with `../`, the router will go up one segment in the url.
|
|
32
|
+
*
|
|
33
|
+
* See {@link Router.createUrlTree} for more information.
|
|
34
|
+
*/
|
|
35
|
+
export declare class RouterLink implements OnDestroy {
|
|
36
|
+
private _routeSegment;
|
|
37
|
+
private _router;
|
|
38
|
+
private _locationStrategy;
|
|
39
|
+
target: string;
|
|
40
|
+
private _commands;
|
|
41
|
+
private _subscription;
|
|
42
|
+
href: string;
|
|
43
|
+
isActive: boolean;
|
|
44
|
+
constructor(_routeSegment: RouteSegment, _router: Router, _locationStrategy: LocationStrategy);
|
|
45
|
+
ngOnDestroy(): void;
|
|
46
|
+
routerLink: any[] | any;
|
|
47
|
+
onClick(button: number, ctrlKey: boolean, metaKey: boolean): boolean;
|
|
48
|
+
private _updateTargetUrlAndHref();
|
|
49
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { LocationStrategy } from '@angular/common';
|
|
2
|
+
import { Directive, HostBinding, HostListener, Input } from '@angular/core';
|
|
3
|
+
import { ObservableWrapper } from '../facade/async';
|
|
4
|
+
import { isArray, isPresent, isString } from '../facade/lang';
|
|
5
|
+
import { Router } from '../router';
|
|
6
|
+
import { RouteSegment } from '../segments';
|
|
7
|
+
export class RouterLink {
|
|
8
|
+
constructor(_routeSegment, _router, _locationStrategy) {
|
|
9
|
+
this._routeSegment = _routeSegment;
|
|
10
|
+
this._router = _router;
|
|
11
|
+
this._locationStrategy = _locationStrategy;
|
|
12
|
+
this._commands = [];
|
|
13
|
+
this.isActive = false;
|
|
14
|
+
// because auxiliary links take existing primary and auxiliary routes into account,
|
|
15
|
+
// we need to update the link whenever params or other routes change.
|
|
16
|
+
this._subscription =
|
|
17
|
+
ObservableWrapper.subscribe(_router.changes, (_) => { this._updateTargetUrlAndHref(); });
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() { ObservableWrapper.dispose(this._subscription); }
|
|
20
|
+
set routerLink(data) {
|
|
21
|
+
if (isArray(data)) {
|
|
22
|
+
this._commands = data;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this._commands = [data];
|
|
26
|
+
}
|
|
27
|
+
this._updateTargetUrlAndHref();
|
|
28
|
+
}
|
|
29
|
+
onClick(button, ctrlKey, metaKey) {
|
|
30
|
+
if (button != 0 || ctrlKey || metaKey) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (isString(this.target) && this.target != '_self') {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
this._router.navigate(this._commands, this._routeSegment);
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
_updateTargetUrlAndHref() {
|
|
40
|
+
let tree = this._router.createUrlTree(this._commands, this._routeSegment);
|
|
41
|
+
if (isPresent(tree)) {
|
|
42
|
+
this.href = this._locationStrategy.prepareExternalUrl(this._router.serializeUrl(tree));
|
|
43
|
+
this.isActive = this._router.urlTree.contains(tree);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.isActive = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** @nocollapse */
|
|
51
|
+
RouterLink.decorators = [
|
|
52
|
+
{ type: Directive, args: [{ selector: '[routerLink]' },] },
|
|
53
|
+
];
|
|
54
|
+
/** @nocollapse */
|
|
55
|
+
RouterLink.ctorParameters = [
|
|
56
|
+
{ type: RouteSegment, },
|
|
57
|
+
{ type: Router, },
|
|
58
|
+
{ type: LocationStrategy, },
|
|
59
|
+
];
|
|
60
|
+
/** @nocollapse */
|
|
61
|
+
RouterLink.propDecorators = {
|
|
62
|
+
'target': [{ type: Input },],
|
|
63
|
+
'href': [{ type: HostBinding },],
|
|
64
|
+
'isActive': [{ type: HostBinding, args: ['class.router-link-active',] },],
|
|
65
|
+
'routerLink': [{ type: Input },],
|
|
66
|
+
'onClick': [{ type: HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=router_link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router_link.js","sourceRoot":"","sources":["../../../../../../modules/@angular/router/src/directives/router_link.ts"],"names":[],"mappings":"OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB;OACzC,EAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAY,MAAM,eAAe;OAE7E,EAAC,iBAAiB,EAAC,MAAM,iBAAiB;OAC1C,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,gBAAgB;OACpD,EAAC,MAAM,EAAC,MAAM,WAAW;OACzB,EAAC,YAAY,EAAC,MAAM,aAAa;AACxC;IAIE,YACY,aAA2B,EAAU,OAAe,EACpD,iBAAmC;QADnC,kBAAa,GAAb,aAAa,CAAc;QAAU,YAAO,GAAP,OAAO,CAAQ;QACpD,sBAAiB,GAAjB,iBAAiB,CAAkB;QALvC,cAAS,GAAU,EAAE,CAAC;QACY,aAAQ,GAAY,KAAK,CAAC;QAKlE,mFAAmF;QACnF,qEAAqE;QACrE,IAAI,CAAC,aAAa;YACd,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,WAAW,KAAK,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,UAAU,CAAC,IAAe;QAC5B,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,SAAS,GAAU,IAAI,CAAC;QAC/B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,MAAc,EAAE,OAAgB,EAAE,OAAgB;QACxD,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1E,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;AAmBH,CAAC;AAlBD,kBAAkB;AACX,qBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAC,QAAQ,EAAE,cAAc,EAAC,EAAG,EAAE;CACxD,CAAC;AACF,kBAAkB;AACX,yBAAc,GAA2D;IAChF,EAAC,IAAI,EAAE,YAAY,GAAG;IACtB,EAAC,IAAI,EAAE,MAAM,GAAG;IAChB,EAAC,IAAI,EAAE,gBAAgB,GAAG;CACzB,CAAC;AACF,kBAAkB;AACX,yBAAc,GAA2C;IAChE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;IAChC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,0BAA0B,EAAG,EAAE,EAAE;IAC1E,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAChC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAG,EAAE,EAAE;CAC7G,CACA","sourcesContent":["import {LocationStrategy} from '@angular/common';\nimport {Directive, HostBinding, HostListener, Input, OnDestroy} from '@angular/core';\n\nimport {ObservableWrapper} from '../facade/async';\nimport {isArray, isPresent, isString} from '../facade/lang';\nimport {Router} from '../router';\nimport {RouteSegment} from '../segments';\nexport class RouterLink implements OnDestroy { target: string;\n private _commands: any[] = [];\n private _subscription: any; href: string; isActive: boolean = false;\n\n constructor(\n private _routeSegment: RouteSegment, private _router: Router,\n private _locationStrategy: LocationStrategy) {\n // because auxiliary links take existing primary and auxiliary routes into account,\n // we need to update the link whenever params or other routes change.\n this._subscription =\n ObservableWrapper.subscribe(_router.changes, (_) => { this._updateTargetUrlAndHref(); });\n }\n\n ngOnDestroy() { ObservableWrapper.dispose(this._subscription); }\n set routerLink(data: any[]|any) {\n if (isArray(data)) {\n this._commands = <any[]>data;\n } else {\n this._commands = [data];\n }\n this._updateTargetUrlAndHref();\n }\n onClick(button: number, ctrlKey: boolean, metaKey: boolean): boolean {\n if (button != 0 || ctrlKey || metaKey) {\n return true;\n }\n\n if (isString(this.target) && this.target != '_self') {\n return true;\n }\n\n this._router.navigate(this._commands, this._routeSegment);\n return false;\n }\n\n private _updateTargetUrlAndHref(): void {\n let tree = this._router.createUrlTree(this._commands, this._routeSegment);\n if (isPresent(tree)) {\n this.href = this._locationStrategy.prepareExternalUrl(this._router.serializeUrl(tree));\n this.isActive = this._router.urlTree.contains(tree);\n } else {\n this.isActive = false;\n }\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[routerLink]'}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: RouteSegment, },\n{type: Router, },\n{type: LocationStrategy, },\n];\n/** @nocollapse */\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'target': [{ type: Input },],\n'href': [{ type: HostBinding },],\n'isActive': [{ type: HostBinding, args: ['class.router-link-active', ] },],\n'routerLink': [{ type: Input },],\n'onClick': [{ type: HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'], ] },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"RouterLink":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[routerLink]"}]}],"members":{"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"href":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"}}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.router-link-active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../segments","name":"RouteSegment"},{"__symbolic":"reference","module":"../router","name":"Router"},{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"routerLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event.button","$event.ctrlKey","$event.metaKey"]]}]}],"_updateTargetUrlAndHref":[{"__symbolic":"method"}]}}}}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ComponentFactory, ComponentRef, ResolvedReflectiveProvider, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { RouterOutletMap } from '../router';
|
|
3
|
+
/**
|
|
4
|
+
* A router outlet is a placeholder that Angular dynamically fills based on the application's route.
|
|
5
|
+
*
|
|
6
|
+
* ## Use
|
|
7
|
+
*
|
|
8
|
+
* ```
|
|
9
|
+
* <router-outlet></router-outlet>
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Outlets can be named.
|
|
13
|
+
*
|
|
14
|
+
* ```
|
|
15
|
+
* <router-outlet name="right"></router-outlet>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class RouterOutlet {
|
|
19
|
+
private _location;
|
|
20
|
+
private _activated;
|
|
21
|
+
outletMap: RouterOutletMap;
|
|
22
|
+
constructor(parentOutletMap: RouterOutletMap, _location: ViewContainerRef, name: string);
|
|
23
|
+
deactivate(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the loaded component.
|
|
26
|
+
*/
|
|
27
|
+
readonly component: Object;
|
|
28
|
+
/**
|
|
29
|
+
* Returns true is the outlet is not empty.
|
|
30
|
+
*/
|
|
31
|
+
readonly isActivated: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Called by the Router to instantiate a new component.
|
|
34
|
+
*/
|
|
35
|
+
activate(factory: ComponentFactory<any>, providers: ResolvedReflectiveProvider[], outletMap: RouterOutletMap): ComponentRef<any>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Attribute, Directive, ReflectiveInjector, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { DEFAULT_OUTLET_NAME } from '../constants';
|
|
3
|
+
import { isBlank, isPresent } from '../facade/lang';
|
|
4
|
+
import { RouterOutletMap } from '../router';
|
|
5
|
+
export class RouterOutlet {
|
|
6
|
+
constructor(parentOutletMap, _location, name) {
|
|
7
|
+
this._location = _location;
|
|
8
|
+
parentOutletMap.registerOutlet(isBlank(name) ? DEFAULT_OUTLET_NAME : name, this);
|
|
9
|
+
}
|
|
10
|
+
deactivate() {
|
|
11
|
+
this._activated.destroy();
|
|
12
|
+
this._activated = null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns the loaded component.
|
|
16
|
+
*/
|
|
17
|
+
get component() { return isPresent(this._activated) ? this._activated.instance : null; }
|
|
18
|
+
/**
|
|
19
|
+
* Returns true is the outlet is not empty.
|
|
20
|
+
*/
|
|
21
|
+
get isActivated() { return isPresent(this._activated); }
|
|
22
|
+
/**
|
|
23
|
+
* Called by the Router to instantiate a new component.
|
|
24
|
+
*/
|
|
25
|
+
activate(factory, providers, outletMap) {
|
|
26
|
+
this.outletMap = outletMap;
|
|
27
|
+
let inj = ReflectiveInjector.fromResolvedProviders(providers, this._location.parentInjector);
|
|
28
|
+
this._activated = this._location.createComponent(factory, this._location.length, inj, []);
|
|
29
|
+
return this._activated;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** @nocollapse */
|
|
33
|
+
RouterOutlet.decorators = [
|
|
34
|
+
{ type: Directive, args: [{ selector: 'router-outlet' },] },
|
|
35
|
+
];
|
|
36
|
+
/** @nocollapse */
|
|
37
|
+
RouterOutlet.ctorParameters = [
|
|
38
|
+
{ type: RouterOutletMap, },
|
|
39
|
+
{ type: ViewContainerRef, },
|
|
40
|
+
{ type: undefined, decorators: [{ type: Attribute, args: ['name',] },] },
|
|
41
|
+
];
|
|
42
|
+
//# sourceMappingURL=router_outlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router_outlet.js","sourceRoot":"","sources":["../../../../../../modules/@angular/router/src/directives/router_outlet.ts"],"names":[],"mappings":"OAAO,EAAC,SAAS,EAAkC,SAAS,EAAE,kBAAkB,EAA8B,gBAAgB,EAAC,MAAM,eAAe;OAE7I,EAAC,mBAAmB,EAAC,MAAM,cAAc;OACzC,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,gBAAgB;OAC1C,EAAC,eAAe,EAAC,MAAM,WAAW;AACzC;IAIE,YACI,eAAgC,EAAU,SAA2B,EAAE,IAAY;QAAzC,cAAS,GAAT,SAAS,CAAkB;QACvE,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS,KAAa,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAEhG;;OAEG;IACH,IAAI,WAAW,KAAc,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEjE;;OAEG;IACH,QAAQ,CACJ,OAA8B,EAAE,SAAuC,EACvE,SAA0B;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,GAAG,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;AAWH,CAAC;AAVD,kBAAkB;AACX,uBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAC,QAAQ,EAAE,eAAe,EAAC,EAAG,EAAE;CACzD,CAAC;AACF,kBAAkB;AACX,2BAAc,GAA2D;IAChF,EAAC,IAAI,EAAE,eAAe,GAAG;IACzB,EAAC,IAAI,EAAE,gBAAgB,GAAG;IAC1B,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,EAAG,EAAE,EAAG,EAAC;CACvE,CACA","sourcesContent":["import {Attribute, ComponentFactory, ComponentRef, Directive, ReflectiveInjector, ResolvedReflectiveProvider, ViewContainerRef} from '@angular/core';\n\nimport {DEFAULT_OUTLET_NAME} from '../constants';\nimport {isBlank, isPresent} from '../facade/lang';\nimport {RouterOutletMap} from '../router';\nexport class RouterOutlet {\n private _activated: ComponentRef<any>;\n public outletMap: RouterOutletMap;\n\n constructor(\n parentOutletMap: RouterOutletMap, private _location: ViewContainerRef, name: string) {\n parentOutletMap.registerOutlet(isBlank(name) ? DEFAULT_OUTLET_NAME : name, this);\n }\n\n deactivate(): void {\n this._activated.destroy();\n this._activated = null;\n }\n\n /**\n * Returns the loaded component.\n */\n get component(): Object { return isPresent(this._activated) ? this._activated.instance : null; }\n\n /**\n * Returns true is the outlet is not empty.\n */\n get isActivated(): boolean { return isPresent(this._activated); }\n\n /**\n * Called by the Router to instantiate a new component.\n */\n activate(\n factory: ComponentFactory<any>, providers: ResolvedReflectiveProvider[],\n outletMap: RouterOutletMap): ComponentRef<any> {\n this.outletMap = outletMap;\n let inj = ReflectiveInjector.fromResolvedProviders(providers, this._location.parentInjector);\n this._activated = this._location.createComponent(factory, this._location.length, inj, []);\n return this._activated;\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: 'router-outlet'}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: RouterOutletMap, },\n{type: ViewContainerRef, },\n{type: undefined, decorators: [{ type: Attribute, args: ['name', ] }, ]},\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"RouterOutlet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"router-outlet"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute"},"arguments":["name"]}]],"parameters":[{"__symbolic":"reference","module":"../router","name":"RouterOutletMap"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","name":"string"}]}],"deactivate":[{"__symbolic":"method"}],"activate":[{"__symbolic":"method"}]}}}}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Observable } from 'rxjs/Observable';
|
|
2
|
+
import { Subject } from 'rxjs/Subject';
|
|
3
|
+
export { Observable } from 'rxjs/Observable';
|
|
4
|
+
export { Subject } from 'rxjs/Subject';
|
|
5
|
+
export { PromiseCompleter, PromiseWrapper } from './promise';
|
|
6
|
+
export declare class TimerWrapper {
|
|
7
|
+
static setTimeout(fn: (...args: any[]) => void, millis: number): number;
|
|
8
|
+
static clearTimeout(id: number): void;
|
|
9
|
+
static setInterval(fn: (...args: any[]) => void, millis: number): number;
|
|
10
|
+
static clearInterval(id: number): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class ObservableWrapper {
|
|
13
|
+
static subscribe<T>(emitter: any, onNext: (value: T) => void, onError?: (exception: any) => void, onComplete?: () => void): Object;
|
|
14
|
+
static isObservable(obs: any): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Returns whether `obs` has any subscribers listening to events.
|
|
17
|
+
*/
|
|
18
|
+
static hasSubscribers(obs: EventEmitter<any>): boolean;
|
|
19
|
+
static dispose(subscription: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated - use callEmit() instead
|
|
22
|
+
*/
|
|
23
|
+
static callNext(emitter: EventEmitter<any>, value: any): void;
|
|
24
|
+
static callEmit(emitter: EventEmitter<any>, value: any): void;
|
|
25
|
+
static callError(emitter: EventEmitter<any>, error: any): void;
|
|
26
|
+
static callComplete(emitter: EventEmitter<any>): void;
|
|
27
|
+
static fromPromise(promise: Promise<any>): Observable<any>;
|
|
28
|
+
static toPromise(obj: Observable<any>): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Use by directives and components to emit custom Events.
|
|
32
|
+
*
|
|
33
|
+
* ### Examples
|
|
34
|
+
*
|
|
35
|
+
* In the following example, `Zippy` alternatively emits `open` and `close` events when its
|
|
36
|
+
* title gets clicked:
|
|
37
|
+
*
|
|
38
|
+
* ```
|
|
39
|
+
* @Component({
|
|
40
|
+
* selector: 'zippy',
|
|
41
|
+
* template: `
|
|
42
|
+
* <div class="zippy">
|
|
43
|
+
* <div (click)="toggle()">Toggle</div>
|
|
44
|
+
* <div [hidden]="!visible">
|
|
45
|
+
* <ng-content></ng-content>
|
|
46
|
+
* </div>
|
|
47
|
+
* </div>`})
|
|
48
|
+
* export class Zippy {
|
|
49
|
+
* visible: boolean = true;
|
|
50
|
+
* @Output() open: EventEmitter<any> = new EventEmitter();
|
|
51
|
+
* @Output() close: EventEmitter<any> = new EventEmitter();
|
|
52
|
+
*
|
|
53
|
+
* toggle() {
|
|
54
|
+
* this.visible = !this.visible;
|
|
55
|
+
* if (this.visible) {
|
|
56
|
+
* this.open.emit(null);
|
|
57
|
+
* } else {
|
|
58
|
+
* this.close.emit(null);
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* The events payload can be accessed by the parameter `$event` on the components output event
|
|
65
|
+
* handler:
|
|
66
|
+
*
|
|
67
|
+
* ```
|
|
68
|
+
* <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* Uses Rx.Observable but provides an adapter to make it work as specified here:
|
|
72
|
+
* https://github.com/jhusain/observable-spec
|
|
73
|
+
*
|
|
74
|
+
* Once a reference implementation of the spec is available, switch to it.
|
|
75
|
+
* @stable
|
|
76
|
+
*/
|
|
77
|
+
export declare class EventEmitter<T> extends Subject<T> {
|
|
78
|
+
__isAsync: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Creates an instance of [EventEmitter], which depending on [isAsync],
|
|
81
|
+
* delivers events synchronously or asynchronously.
|
|
82
|
+
*/
|
|
83
|
+
constructor(isAsync?: boolean);
|
|
84
|
+
emit(value: T): void;
|
|
85
|
+
/**
|
|
86
|
+
* @deprecated - use .emit(value) instead
|
|
87
|
+
*/
|
|
88
|
+
next(value: any): void;
|
|
89
|
+
subscribe(generatorOrNext?: any, error?: any, complete?: any): any;
|
|
90
|
+
}
|