Socket
Socket
Sign inDemoInstall

@angular/upgrade

Package Overview
Dependencies
0
Maintainers
1
Versions
813
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.0-rc.5 to 2.0.0-rc.6

src/upgrade.d.ts

132

bundles/upgrade.umd.js
/**
* @license Angular v2.0.0-rc.5
* @license Angular v2.0.0-rc.6
* (c) 2010-2016 Google, Inc. https://angular.io/

@@ -7,7 +7,7 @@ * License: MIT

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser'), require('@angular/platform-browser-dynamic'), require('@angular/compiler')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/platform-browser', '@angular/platform-browser-dynamic', '@angular/compiler'], factory) :
(factory((global.ng = global.ng || {}, global.ng.upgrade = global.ng.upgrade || {}), global.ng.core, global.ng.platformBrowser, global.ng.platformBrowserDynamic, global.ng.compiler));
}(this, function (exports, _angular_core, _angular_platformBrowser, _angular_platformBrowserDynamic, _angular_compiler) {
'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser-dynamic'), require('@angular/compiler')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/platform-browser-dynamic', '@angular/compiler'], factory) :
(factory((global.ng = global.ng || {}, global.ng.upgrade = global.ng.upgrade || {}),global.ng.core,global.ng.platformBrowserDynamic,global.ng.compiler));
}(this, function (exports,_angular_core,_angular_platformBrowserDynamic,_angular_compiler) { 'use strict';
/**

@@ -41,2 +41,3 @@ * @license

var element = angular.element;
/**

@@ -63,2 +64,3 @@ * @license

var REQUIRE_INJECTOR = '?^' + NG2_INJECTOR;
var INITIAL_VALUE = {

@@ -129,9 +131,11 @@ __UNINITIALIZED__: true

if (expr != null) {
var watchFn = (function (prop /** TODO #9100 */) { return function (value /** TODO #9100 */, prevValue /** TODO #9100 */) {
if (_this.inputChanges != null) {
_this.inputChangeCount++;
_this.inputChanges[prop] = new Ng1Change(prevValue, value);
}
_this.component[prop] = value;
}; })(input.prop);
var watchFn = (function (prop /** TODO #9100 */) {
return function (value /** TODO #9100 */, prevValue /** TODO #9100 */) {
if (_this.inputChanges != null) {
_this.inputChangeCount++;
_this.inputChanges[prop] = new Ng1Change(prevValue, value);
}
_this.component[prop] = value;
};
})(input.prop);
this.componentScope.$watch(expr, watchFn);

@@ -198,3 +202,5 @@ }

(function (setter) { return function (v /** TODO #9100 */) { return setter(_this.scope, v); }; })(setter) :
(function (getter) { return function (v /** TODO #9100 */) { return getter(_this.scope, { $event: v }); }; })(getter)
(function (getter) { return function (v /** TODO #9100 */) {
return getter(_this.scope, { $event: v });
}; })(getter)
});

@@ -225,2 +231,3 @@ }

}());
var COMPONENT_SELECTOR = /^[\w|-]*$/;

@@ -265,2 +272,3 @@ var SKEWER_CASE = /-(\w)/g;

}
function onError(e) {

@@ -274,2 +282,3 @@ // TODO: (misko): We seem to not have a stack trace here!

}
var CAMEL_CASE = /([A-Z])/g;

@@ -465,3 +474,5 @@ var INITIAL_VALUE$1 = {

var emitter = this[outputs[j]] = new _angular_core.EventEmitter();
this.setComponentProperty(outputs[j], (function (emitter /** TODO #9100 */) { return function (value /** TODO #9100 */) { return emitter.emit(value); }; })(emitter));
this.setComponentProperty(outputs[j], (function (emitter /** TODO #9100 */) { return function (value /** TODO #9100 */) {
return emitter.emit(value);
}; })(emitter));
}

@@ -582,2 +593,3 @@ for (var k = 0; k < propOuts.length; k++) {

}());
var upgradeCount = 0;

@@ -661,7 +673,5 @@ /**

*
* @experimental
* @stable
*/
var UpgradeAdapter = (function () {
// the ng2AppModule param should be required once the deprecated @Component.directives prop is
// removed
function UpgradeAdapter(ng2AppModule) {

@@ -684,4 +694,4 @@ this.ng2AppModule = ng2AppModule;

this.providers = [];
if (arguments.length && !ng2AppModule) {
throw new _angular_core.BaseException('UpgradeAdapter constructor called with undefined instead of a ng module type');
if (!ng2AppModule) {
throw new Error('UpgradeAdapter cannot be instantiated without an NgModule of the Angular 2 app.');
}

@@ -956,6 +966,14 @@ }

],
imports: _this.ng2AppModule ? [_this.ng2AppModule] : [_angular_platformBrowser.BrowserModule]
}).Class({ constructor: function () { }, ngDoBootstrap: function () { } });
imports: [_this.ng2AppModule]
}).Class({
constructor: function DynamicNgUpgradeModule() { },
ngDoBootstrap: function () { }
});
_angular_platformBrowserDynamic.platformBrowserDynamic()
._bootstrapModuleWithZone(DynamicNgUpgradeModule, undefined, ngZone)
._bootstrapModuleWithZone(DynamicNgUpgradeModule, undefined, ngZone, function (componentFactories) {
componentFactories.forEach(function (componentFactory) {
componentFactoryRefMap[getComponentInfo(componentFactory.componentType)
.selector] = componentFactory;
});
})
.then(function (ref) {

@@ -977,3 +995,3 @@ moduleRef = ref;

ngZone.run(function () { bootstrap(element$$, [_this.idPrefix], config); });
ng1BootstrapPromise = new Promise(function (resolve, reject) {
ng1BootstrapPromise = new Promise(function (resolve) {
if (windowAngular.resumeBootstrap) {

@@ -991,7 +1009,3 @@ var originalResumeBootstrap = windowAngular.resumeBootstrap;

});
Promise.all([ng1BootstrapPromise, ng1compilePromise])
.then(function () {
return _this.compileNg2Components(moduleRef.injector.get(_angular_core.Compiler), componentFactoryRefMap);
})
.then(function () {
Promise.all([ng1BootstrapPromise, ng1compilePromise]).then(function () {
moduleRef.injector.get(_angular_core.NgZone).run(function () {

@@ -1011,42 +1025,2 @@ if (rootScopePrototype) {

/**
* Adds a provider to the top level environment of a hybrid AngularJS v1 / Angular v2 application.
*
* In hybrid AngularJS v1 / Angular v2 application, there is no one root Angular v2 component,
* for this reason we provide an application global way of registering providers which is
* consistent with single global injection in AngularJS v1.
*
* ### Example
*
* ```
* class Greeter {
* greet(name) {
* alert('Hello ' + name + '!');
* }
* }
*
* @Component({
* selector: 'app',
* template: ''
* })
* class App {
* constructor(greeter: Greeter) {
* this.greeter('World');
* }
* }
*
* var adapter = new UpgradeAdapter();
* adapter.addProvider(Greeter);
*
* var module = angular.module('myExample', []);
* module.directive('app', adapter.downgradeNg2Component(App));
*
* document.body.innerHTML = '<app></app>'
* adapter.bootstrap(document.body, ['myExample']);
*```
*
* @deprecated Use NgModules and `new UpgradeAdapter(ng2AppModule)` to configure top-level
*providers
*/
UpgradeAdapter.prototype.addProvider = function (provider) { this.providers.push(provider); };
/**
* Allows AngularJS v1 service to be accessible from Angular v2.

@@ -1118,18 +1092,2 @@ *

};
/* @internal */
UpgradeAdapter.prototype.compileNg2Components = function (compiler, componentFactoryRefMap) {
var _this = this;
var promises = [];
var types = this.upgradedComponents;
for (var i = 0; i < types.length; i++) {
promises.push(compiler.compileComponentAsync(types[i], this.ng2AppModule));
}
return Promise.all(promises).then(function (componentFactories) {
var types = _this.upgradedComponents;
for (var i = 0; i < componentFactories.length; i++) {
componentFactoryRefMap[getComponentInfo(types[i]).selector] = componentFactories[i];
}
return componentFactoryRefMap;
}, onError);
};
return UpgradeAdapter;

@@ -1167,3 +1125,3 @@ }());

*
* @experimental
* @stable
*/

@@ -1204,4 +1162,6 @@ var UpgradeAdapterRef = (function () {

}());
exports.UpgradeAdapter = UpgradeAdapter;
exports.UpgradeAdapterRef = UpgradeAdapterRef;
}));
/**
* @license Angular v2.0.0-rc.5
* @license Angular v2.0.0-rc.6
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/platform-browser"),require("@angular/platform-browser-dynamic"),require("@angular/compiler")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/platform-browser","@angular/platform-browser-dynamic","@angular/compiler"],factory):factory((global.ng=global.ng||{},global.ng.upgrade=global.ng.upgrade||{}),global.ng.core,global.ng.platformBrowser,global.ng.platformBrowserDynamic,global.ng.compiler)}(this,function(exports,_angular_core,_angular_platformBrowser,_angular_platformBrowserDynamic,_angular_compiler){"use strict";function noNg(){throw new Error("AngularJS v1.x is not loaded!")}function getComponentInfo(type){var resolvedMetadata=directiveResolver.resolve(type),selector=resolvedMetadata.selector;if(!selector.match(COMPONENT_SELECTOR))throw new Error("Only selectors matching element names are supported, got: "+selector);return selector=selector.replace(SKEWER_CASE,function(all,letter){return letter.toUpperCase()}),{type:type,selector:selector,inputs:parseFields(resolvedMetadata.inputs),outputs:parseFields(resolvedMetadata.outputs)}}function parseFields(names){var attrProps=[];if(names)for(var i=0;i<names.length;i++){var parts=names[i].split(":"),prop=parts[0].trim(),attr=(parts[1]||parts[0]).trim(),capitalAttr=attr.charAt(0).toUpperCase()+attr.substr(1);attrProps.push({prop:prop,attr:attr,bracketAttr:"["+attr+"]",parenAttr:"("+attr+")",bracketParenAttr:"[("+attr+")]",onAttr:"on"+capitalAttr,bindAttr:"bind"+capitalAttr,bindonAttr:"bindon"+capitalAttr})}return attrProps}function onError(e){throw console.log(e,e.stack),e}function controllerKey(name){return"$"+name+"Controller"}function ng1ComponentDirective(info,idPrefix){function directiveFactory(ng1Injector,componentFactoryRefMap,parse){var idCount=0;return{restrict:"E",require:REQUIRE_INJECTOR,link:{post:function(scope,element,attrs,parentInjector,transclude){var componentFactory=componentFactoryRefMap[info.selector];if(!componentFactory)throw new Error("Expecting ComponentFactory for: "+info.selector);null===parentInjector&&(parentInjector=ng1Injector.get(NG2_INJECTOR));var facade=new DowngradeNg2ComponentAdapter(idPrefix+idCount++,info,element,attrs,scope,parentInjector,parse,componentFactory);facade.setupInputs(),facade.bootstrapNg2(),facade.projectContent(),facade.setupOutputs(),facade.registerCleanup()}}}}return directiveFactory.$inject=[NG1_INJECTOR,NG2_COMPONENT_FACTORY_REF_MAP,NG1_PARSE],directiveFactory}var angular={bootstrap:noNg,module:noNg,element:noNg,version:noNg,resumeBootstrap:noNg,getTestability:noNg};try{window.hasOwnProperty("angular")&&(angular=window.angular)}catch(e){}var bootstrap=angular.bootstrap,module$1=angular.module,element=angular.element,NG2_COMPILER="ng2.Compiler",NG2_INJECTOR="ng2.Injector",NG2_COMPONENT_FACTORY_REF_MAP="ng2.ComponentFactoryRefMap",NG2_ZONE="ng2.NgZone",NG1_CONTROLLER="$controller",NG1_SCOPE="$scope",NG1_ROOT_SCOPE="$rootScope",NG1_COMPILE="$compile",NG1_HTTP_BACKEND="$httpBackend",NG1_INJECTOR="$injector",NG1_PARSE="$parse",NG1_TEMPLATE_CACHE="$templateCache",NG1_TESTABILITY="$$testability",REQUIRE_INJECTOR="?^"+NG2_INJECTOR,INITIAL_VALUE={__UNINITIALIZED__:!0},DowngradeNg2ComponentAdapter=function(){function DowngradeNg2ComponentAdapter(id,info,element,attrs,scope,parentInjector,parse,componentFactory){this.id=id,this.info=info,this.element=element,this.attrs=attrs,this.scope=scope,this.parentInjector=parentInjector,this.parse=parse,this.componentFactory=componentFactory,this.component=null,this.inputChangeCount=0,this.inputChanges=null,this.componentRef=null,this.changeDetector=null,this.contentInsertionPoint=null,this.element[0].id=id,this.componentScope=scope.$new(),this.childNodes=element.contents()}return DowngradeNg2ComponentAdapter.prototype.bootstrapNg2=function(){var childInjector=_angular_core.ReflectiveInjector.resolveAndCreate([{provide:NG1_SCOPE,useValue:this.componentScope}],this.parentInjector);this.contentInsertionPoint=document.createComment("ng1 insertion point"),this.componentRef=this.componentFactory.create(childInjector,[[this.contentInsertionPoint]],this.element[0]),this.changeDetector=this.componentRef.changeDetectorRef,this.component=this.componentRef.instance},DowngradeNg2ComponentAdapter.prototype.setupInputs=function(){for(var _this=this,attrs=this.attrs,inputs=this.info.inputs,i=0;i<inputs.length;i++){var input=inputs[i],expr=null;if(attrs.hasOwnProperty(input.attr)){var observeFn=function(prop){var prevValue=INITIAL_VALUE;return function(value){null!==_this.inputChanges&&(_this.inputChangeCount++,_this.inputChanges[prop]=new Ng1Change(value,prevValue===INITIAL_VALUE?value:prevValue),prevValue=value),_this.component[prop]=value}}(input.prop);attrs.$observe(input.attr,observeFn)}else attrs.hasOwnProperty(input.bindAttr)?expr=attrs[input.bindAttr]:attrs.hasOwnProperty(input.bracketAttr)?expr=attrs[input.bracketAttr]:attrs.hasOwnProperty(input.bindonAttr)?expr=attrs[input.bindonAttr]:attrs.hasOwnProperty(input.bracketParenAttr)&&(expr=attrs[input.bracketParenAttr]);if(null!=expr){var watchFn=function(prop){return function(value,prevValue){null!=_this.inputChanges&&(_this.inputChangeCount++,_this.inputChanges[prop]=new Ng1Change(prevValue,value)),_this.component[prop]=value}}(input.prop);this.componentScope.$watch(expr,watchFn)}}var prototype=this.info.type.prototype;prototype&&prototype.ngOnChanges&&(this.inputChanges={},this.componentScope.$watch(function(){return _this.inputChangeCount},function(){var inputChanges=_this.inputChanges;_this.inputChanges={},_this.component.ngOnChanges(inputChanges)})),this.componentScope.$watch(function(){return _this.changeDetector&&_this.changeDetector.detectChanges()})},DowngradeNg2ComponentAdapter.prototype.projectContent=function(){var childNodes=this.childNodes,parent=this.contentInsertionPoint.parentNode;if(parent)for(var i=0,ii=childNodes.length;i<ii;i++)parent.insertBefore(childNodes[i],this.contentInsertionPoint)},DowngradeNg2ComponentAdapter.prototype.setupOutputs=function(){for(var _this=this,attrs=this.attrs,outputs=this.info.outputs,j=0;j<outputs.length;j++){var output=outputs[j],expr=null,assignExpr=!1,bindonAttr=output.bindonAttr?output.bindonAttr.substring(0,output.bindonAttr.length-6):null,bracketParenAttr=output.bracketParenAttr?"[("+output.bracketParenAttr.substring(2,output.bracketParenAttr.length-8)+")]":null;if(attrs.hasOwnProperty(output.onAttr)?expr=attrs[output.onAttr]:attrs.hasOwnProperty(output.parenAttr)?expr=attrs[output.parenAttr]:attrs.hasOwnProperty(bindonAttr)?(expr=attrs[bindonAttr],assignExpr=!0):attrs.hasOwnProperty(bracketParenAttr)&&(expr=attrs[bracketParenAttr],assignExpr=!0),null!=expr&&null!=assignExpr){var getter=this.parse(expr),setter=getter.assign;if(assignExpr&&!setter)throw new Error("Expression '"+expr+"' is not assignable!");var emitter=this.component[output.prop];if(!emitter)throw new Error("Missing emitter '"+output.prop+"' on component '"+this.info.selector+"'!");emitter.subscribe({next:assignExpr?function(setter){return function(v){return setter(_this.scope,v)}}(setter):function(getter){return function(v){return getter(_this.scope,{$event:v})}}(getter)})}}},DowngradeNg2ComponentAdapter.prototype.registerCleanup=function(){var _this=this;this.element.bind("$destroy",function(){_this.componentScope.$destroy(),_this.componentRef.destroy()})},DowngradeNg2ComponentAdapter}(),Ng1Change=function(){function Ng1Change(previousValue,currentValue){this.previousValue=previousValue,this.currentValue=currentValue}return Ng1Change.prototype.isFirstChange=function(){return this.previousValue===this.currentValue},Ng1Change}(),COMPONENT_SELECTOR=/^[\w|-]*$/,SKEWER_CASE=/-(\w)/g,directiveResolver=new _angular_compiler.DirectiveResolver,CAMEL_CASE=/([A-Z])/g,INITIAL_VALUE$1={__UNINITIALIZED__:!0},NOT_SUPPORTED="NOT_SUPPORTED",UpgradeNg1ComponentAdapterBuilder=function(){function UpgradeNg1ComponentAdapterBuilder(name){this.name=name,this.inputs=[],this.inputsRename=[],this.outputs=[],this.outputsRename=[],this.propertyOutputs=[],this.checkProperties=[],this.propertyMap={},this.linkFn=null,this.directive=null,this.$controller=null;var selector=name.replace(CAMEL_CASE,function(all,next){return"-"+next.toLowerCase()}),self=this;this.type=_angular_core.Directive({selector:selector,inputs:this.inputsRename,outputs:this.outputsRename}).Class({constructor:[new _angular_core.Inject(NG1_SCOPE),_angular_core.ElementRef,function(scope,elementRef){return new UpgradeNg1ComponentAdapter(self.linkFn,scope,self.directive,elementRef,self.$controller,self.inputs,self.outputs,self.propertyOutputs,self.checkProperties,self.propertyMap)}],ngOnInit:function(){},ngOnChanges:function(){},ngDoCheck:function(){}})}return UpgradeNg1ComponentAdapterBuilder.prototype.extractDirective=function(injector){var directives=injector.get(this.name+"Directive");if(directives.length>1)throw new Error("Only support single directive definition for: "+this.name);var directive=directives[0];directive.replace&&this.notSupported("replace"),directive.terminal&&this.notSupported("terminal");var link=directive.link;return"object"==typeof link&&link.post&&this.notSupported("link.post"),directive},UpgradeNg1ComponentAdapterBuilder.prototype.notSupported=function(feature){throw new Error("Upgraded directive '"+this.name+"' does not support '"+feature+"'.")},UpgradeNg1ComponentAdapterBuilder.prototype.extractBindings=function(){var btcIsObject="object"==typeof this.directive.bindToController;if(btcIsObject&&Object.keys(this.directive.scope).length)throw new Error("Binding definitions on scope and controller at the same time are not supported.");var context=btcIsObject?this.directive.bindToController:this.directive.scope;if("object"==typeof context)for(var name in context)if(context.hasOwnProperty(name)){var localName=context[name],type=localName.charAt(0);localName=localName.substr(1)||name;var outputName="output_"+name,outputNameRename=outputName+": "+name,outputNameRenameChange=outputName+": "+name+"Change",inputName="input_"+name,inputNameRename=inputName+": "+name;switch(type){case"=":this.propertyOutputs.push(outputName),this.checkProperties.push(localName),this.outputs.push(outputName),this.outputsRename.push(outputNameRenameChange),this.propertyMap[outputName]=localName,this.inputs.push(inputName),this.inputsRename.push(inputNameRename),this.propertyMap[inputName]=localName;break;case"@":case"<":this.inputs.push(inputName),this.inputsRename.push(inputNameRename),this.propertyMap[inputName]=localName;break;case"&":this.outputs.push(outputName),this.outputsRename.push(outputNameRename),this.propertyMap[outputName]=localName;break;default:var json=JSON.stringify(context);throw new Error("Unexpected mapping '"+type+"' in '"+json+"' in '"+this.name+"' directive.")}}},UpgradeNg1ComponentAdapterBuilder.prototype.compileTemplate=function(compile,templateCache,httpBackend){function compileHtml(html){var div=document.createElement("div");return div.innerHTML=html,compile(div.childNodes)}var _this=this;if(void 0!==this.directive.template)this.linkFn=compileHtml("function"==typeof this.directive.template?this.directive.template():this.directive.template);else{if(!this.directive.templateUrl)throw new Error("Directive '"+this.name+"' is not a component, it is missing template.");var url="function"==typeof this.directive.templateUrl?this.directive.templateUrl():this.directive.templateUrl,html=templateCache.get(url);if(void 0===html)return new Promise(function(resolve,err){httpBackend("GET",url,null,function(status,response){200==status?resolve(_this.linkFn=compileHtml(templateCache.put(url,response))):err("GET "+url+" returned "+status+": "+response)})});this.linkFn=compileHtml(html)}return null},UpgradeNg1ComponentAdapterBuilder.resolve=function(exportedComponents,injector){var promises=[],compile=injector.get(NG1_COMPILE),templateCache=injector.get(NG1_TEMPLATE_CACHE),httpBackend=injector.get(NG1_HTTP_BACKEND),$controller=injector.get(NG1_CONTROLLER);for(var name in exportedComponents)if(exportedComponents.hasOwnProperty(name)){var exportedComponent=exportedComponents[name];exportedComponent.directive=exportedComponent.extractDirective(injector),exportedComponent.$controller=$controller,exportedComponent.extractBindings();var promise=exportedComponent.compileTemplate(compile,templateCache,httpBackend);promise&&promises.push(promise)}return Promise.all(promises)},UpgradeNg1ComponentAdapterBuilder}(),UpgradeNg1ComponentAdapter=function(){function UpgradeNg1ComponentAdapter(linkFn,scope,directive,elementRef,$controller,inputs,outputs,propOuts,checkProperties,propertyMap){this.linkFn=linkFn,this.directive=directive,this.$controller=$controller,this.inputs=inputs,this.outputs=outputs,this.propOuts=propOuts,this.checkProperties=checkProperties,this.propertyMap=propertyMap,this.destinationObj=null,this.checkLastValues=[],this.$element=null,this.element=elementRef.nativeElement,this.componentScope=scope.$new(!!directive.scope),this.$element=element(this.element);var controllerType=directive.controller;directive.bindToController&&controllerType?this.destinationObj=this.buildController(controllerType):this.destinationObj=this.componentScope;for(var i=0;i<inputs.length;i++)this[inputs[i]]=null;for(var j=0;j<outputs.length;j++){var emitter=this[outputs[j]]=new _angular_core.EventEmitter;this.setComponentProperty(outputs[j],function(emitter){return function(value){return emitter.emit(value)}}(emitter))}for(var k=0;k<propOuts.length;k++)this[propOuts[k]]=new _angular_core.EventEmitter,this.checkLastValues.push(INITIAL_VALUE$1)}return UpgradeNg1ComponentAdapter.prototype.ngOnInit=function(){var _this=this;!this.directive.bindToController&&this.directive.controller&&this.buildController(this.directive.controller);var link=this.directive.link;if("object"==typeof link&&(link=link.pre),link){var attrs=NOT_SUPPORTED,transcludeFn=NOT_SUPPORTED,linkController=this.resolveRequired(this.$element,this.directive.require);this.directive.link(this.componentScope,this.$element,attrs,linkController,transcludeFn)}for(var childNode,childNodes=[];childNode=this.element.firstChild;)this.element.removeChild(childNode),childNodes.push(childNode);this.linkFn(this.componentScope,function(clonedElement,scope){for(var i=0,ii=clonedElement.length;i<ii;i++)_this.element.appendChild(clonedElement[i])},{parentBoundTranscludeFn:function(scope,cloneAttach){cloneAttach(childNodes)}}),this.destinationObj.$onInit&&this.destinationObj.$onInit()},UpgradeNg1ComponentAdapter.prototype.ngOnChanges=function(changes){for(var name in changes)if(changes.hasOwnProperty(name)){var change=changes[name];this.setComponentProperty(name,change.currentValue)}},UpgradeNg1ComponentAdapter.prototype.ngDoCheck=function(){for(var count=0,destinationObj=this.destinationObj,lastValues=this.checkLastValues,checkProperties=this.checkProperties,i=0;i<checkProperties.length;i++){var value=destinationObj[checkProperties[i]],last=lastValues[i];if(value!==last)if("number"==typeof value&&isNaN(value)&&"number"==typeof last&&isNaN(last));else{var eventEmitter=this[this.propOuts[i]];eventEmitter.emit(lastValues[i]=value)}}return count},UpgradeNg1ComponentAdapter.prototype.setComponentProperty=function(name,value){this.destinationObj[this.propertyMap[name]]=value},UpgradeNg1ComponentAdapter.prototype.buildController=function(controllerType){var locals={$scope:this.componentScope,$element:this.$element},controller=this.$controller(controllerType,locals,null,this.directive.controllerAs);return this.$element.data(controllerKey(this.directive.name),controller),controller},UpgradeNg1ComponentAdapter.prototype.resolveRequired=function($element,require){if(require){if("string"==typeof require){var name=require,isOptional=!1,startParent=!1,searchParents=!1;"?"==name.charAt(0)&&(isOptional=!0,name=name.substr(1)),"^"==name.charAt(0)&&(searchParents=!0,name=name.substr(1)),"^"==name.charAt(0)&&(startParent=!0,name=name.substr(1));var key=controllerKey(name);startParent&&($element=$element.parent());var dep=searchParents?$element.inheritedData(key):$element.data(key);if(!dep&&!isOptional)throw new Error("Can not locate '"+require+"' in '"+this.directive.name+"'.");return dep}if(require instanceof Array){for(var deps=[],i=0;i<require.length;i++)deps.push(this.resolveRequired($element,require[i]));return deps}throw new Error("Directive '"+this.directive.name+"' require syntax unrecognized: "+this.directive.require)}},UpgradeNg1ComponentAdapter}(),upgradeCount=0,UpgradeAdapter=function(){function UpgradeAdapter(ng2AppModule){if(this.ng2AppModule=ng2AppModule,this.idPrefix="NG2_UPGRADE_"+upgradeCount++ +"_",this.upgradedComponents=[],this.ng1ComponentsToBeUpgraded={},this.providers=[],arguments.length&&!ng2AppModule)throw new _angular_core.BaseException("UpgradeAdapter constructor called with undefined instead of a ng module type")}return UpgradeAdapter.prototype.downgradeNg2Component=function(type){this.upgradedComponents.push(type);var info=getComponentInfo(type);return ng1ComponentDirective(info,""+this.idPrefix+info.selector+"_c")},UpgradeAdapter.prototype.upgradeNg1Component=function(name){return this.ng1ComponentsToBeUpgraded.hasOwnProperty(name)?this.ng1ComponentsToBeUpgraded[name].type:(this.ng1ComponentsToBeUpgraded[name]=new UpgradeNg1ComponentAdapterBuilder(name)).type},UpgradeAdapter.prototype.bootstrap=function(element$$,modules,config){var original$applyFn,rootScopePrototype,rootScope,ng1BootstrapPromise,ng1compilePromise,_this=this,ngZone=new _angular_core.NgZone({enableLongStackTrace:Zone.hasOwnProperty("longStackTraceZoneSpec")}),upgrade=new UpgradeAdapterRef,ng1Injector=null,moduleRef=null,delayApplyExps=[],componentFactoryRefMap={},ng1Module=module$1(this.idPrefix,modules);ng1Module.factory(NG2_INJECTOR,function(){return moduleRef.injector.get(_angular_core.Injector)}).value(NG2_ZONE,ngZone).factory(NG2_COMPILER,function(){return moduleRef.injector.get(_angular_core.Compiler)}).value(NG2_COMPONENT_FACTORY_REF_MAP,componentFactoryRefMap).config(["$provide","$injector",function(provide,ng1Injector){provide.decorator(NG1_ROOT_SCOPE,["$delegate",function(rootScopeDelegate){if(rootScopePrototype=rootScopeDelegate.constructor.prototype,!rootScopePrototype.hasOwnProperty("$apply"))throw new Error("Failed to find '$apply' on '$rootScope'!");return original$applyFn=rootScopePrototype.$apply,rootScopePrototype.$apply=function(exp){return delayApplyExps.push(exp)},rootScope=rootScopeDelegate}]),ng1Injector.has(NG1_TESTABILITY)&&provide.decorator(NG1_TESTABILITY,["$delegate",function(testabilityDelegate){var _this=this,originalWhenStable=testabilityDelegate.whenStable,newWhenStable=function(callback){var whenStableContext=_this;originalWhenStable.call(_this,function(){var ng2Testability=moduleRef.injector.get(_angular_core.Testability);ng2Testability.isStable()?callback.apply(this,arguments):ng2Testability.whenStable(newWhenStable.bind(whenStableContext,callback))})};return testabilityDelegate.whenStable=newWhenStable,testabilityDelegate}])}]),ng1compilePromise=new Promise(function(resolve,reject){ng1Module.run(["$injector","$rootScope",function(injector,rootScope){ng1Injector=injector,UpgradeNg1ComponentAdapterBuilder.resolve(_this.ng1ComponentsToBeUpgraded,injector).then(function(){var DynamicNgUpgradeModule=_angular_core.NgModule({providers:[{provide:NG1_INJECTOR,useFactory:function(){return ng1Injector}},{provide:NG1_COMPILE,useFactory:function(){return ng1Injector.get(NG1_COMPILE)}},_this.providers],imports:_this.ng2AppModule?[_this.ng2AppModule]:[_angular_platformBrowser.BrowserModule]}).Class({constructor:function(){},ngDoBootstrap:function(){}});_angular_platformBrowserDynamic.platformBrowserDynamic()._bootstrapModuleWithZone(DynamicNgUpgradeModule,void 0,ngZone).then(function(ref){moduleRef=ref,element(element$$).data(controllerKey(NG2_INJECTOR),moduleRef.injector),ngZone.onMicrotaskEmpty.subscribe({next:function(_){return ngZone.runOutsideAngular(function(){return rootScope.$evalAsync()})}})}).then(resolve,reject)})}])});var windowAngular=window.angular;return windowAngular.resumeBootstrap=void 0,ngZone.run(function(){bootstrap(element$$,[_this.idPrefix],config)}),ng1BootstrapPromise=new Promise(function(resolve,reject){if(windowAngular.resumeBootstrap){var originalResumeBootstrap=windowAngular.resumeBootstrap;windowAngular.resumeBootstrap=function(){windowAngular.resumeBootstrap=originalResumeBootstrap,windowAngular.resumeBootstrap.apply(this,arguments),resolve()}}else resolve()}),Promise.all([ng1BootstrapPromise,ng1compilePromise]).then(function(){return _this.compileNg2Components(moduleRef.injector.get(_angular_core.Compiler),componentFactoryRefMap)}).then(function(){moduleRef.injector.get(_angular_core.NgZone).run(function(){if(rootScopePrototype){for(rootScopePrototype.$apply=original$applyFn;delayApplyExps.length;)rootScope.$apply(delayApplyExps.shift());upgrade._bootstrapDone(moduleRef,ng1Injector),rootScopePrototype=null}})},onError),upgrade},UpgradeAdapter.prototype.addProvider=function(provider){this.providers.push(provider)},UpgradeAdapter.prototype.upgradeNg1Provider=function(name,options){var token=options&&options.asToken||name;this.providers.push({provide:token,useFactory:function(ng1Injector){return ng1Injector.get(name)},deps:[NG1_INJECTOR]})},UpgradeAdapter.prototype.downgradeNg2Provider=function(token){var factory=function(injector){return injector.get(token)};return factory.$inject=[NG2_INJECTOR],factory},UpgradeAdapter.prototype.compileNg2Components=function(compiler,componentFactoryRefMap){for(var _this=this,promises=[],types=this.upgradedComponents,i=0;i<types.length;i++)promises.push(compiler.compileComponentAsync(types[i],this.ng2AppModule));return Promise.all(promises).then(function(componentFactories){for(var types=_this.upgradedComponents,i=0;i<componentFactories.length;i++)componentFactoryRefMap[getComponentInfo(types[i]).selector]=componentFactories[i];return componentFactoryRefMap},onError)},UpgradeAdapter}(),UpgradeAdapterRef=function(){function UpgradeAdapterRef(){this._readyFn=null,this.ng1RootScope=null,this.ng1Injector=null,this.ng2ModuleRef=null,this.ng2Injector=null}return UpgradeAdapterRef.prototype._bootstrapDone=function(ngModuleRef,ng1Injector){this.ng2ModuleRef=ngModuleRef,this.ng2Injector=ngModuleRef.injector,this.ng1Injector=ng1Injector,this.ng1RootScope=ng1Injector.get(NG1_ROOT_SCOPE),this._readyFn&&this._readyFn(this)},UpgradeAdapterRef.prototype.ready=function(fn){this._readyFn=fn},UpgradeAdapterRef.prototype.dispose=function(){this.ng1Injector.get(NG1_ROOT_SCOPE).$destroy(),this.ng2ModuleRef.destroy()},UpgradeAdapterRef}();exports.UpgradeAdapter=UpgradeAdapter,exports.UpgradeAdapterRef=UpgradeAdapterRef});
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/platform-browser-dynamic"),require("@angular/compiler")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/platform-browser-dynamic","@angular/compiler"],factory):factory((global.ng=global.ng||{},global.ng.upgrade=global.ng.upgrade||{}),global.ng.core,global.ng.platformBrowserDynamic,global.ng.compiler)}(this,function(exports,_angular_core,_angular_platformBrowserDynamic,_angular_compiler){"use strict";/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function noNg(){throw new Error("AngularJS v1.x is not loaded!")}function getComponentInfo(type){var resolvedMetadata=directiveResolver.resolve(type),selector=resolvedMetadata.selector;if(!selector.match(COMPONENT_SELECTOR))throw new Error("Only selectors matching element names are supported, got: "+selector);return selector=selector.replace(SKEWER_CASE,function(all,letter){return letter.toUpperCase()}),{type:type,selector:selector,inputs:parseFields(resolvedMetadata.inputs),outputs:parseFields(resolvedMetadata.outputs)}}function parseFields(names){var attrProps=[];if(names)for(var i=0;i<names.length;i++){var parts=names[i].split(":"),prop=parts[0].trim(),attr=(parts[1]||parts[0]).trim(),capitalAttr=attr.charAt(0).toUpperCase()+attr.substr(1);attrProps.push({prop:prop,attr:attr,bracketAttr:"["+attr+"]",parenAttr:"("+attr+")",bracketParenAttr:"[("+attr+")]",onAttr:"on"+capitalAttr,bindAttr:"bind"+capitalAttr,bindonAttr:"bindon"+capitalAttr})}return attrProps}function onError(e){throw console.log(e,e.stack),e}function controllerKey(name){return"$"+name+"Controller"}function ng1ComponentDirective(info,idPrefix){function directiveFactory(ng1Injector,componentFactoryRefMap,parse){var idCount=0;return{restrict:"E",require:REQUIRE_INJECTOR,link:{post:function(scope,element,attrs,parentInjector,transclude){var componentFactory=componentFactoryRefMap[info.selector];if(!componentFactory)throw new Error("Expecting ComponentFactory for: "+info.selector);null===parentInjector&&(parentInjector=ng1Injector.get(NG2_INJECTOR));var facade=new DowngradeNg2ComponentAdapter(idPrefix+idCount++,info,element,attrs,scope,parentInjector,parse,componentFactory);facade.setupInputs(),facade.bootstrapNg2(),facade.projectContent(),facade.setupOutputs(),facade.registerCleanup()}}}}return directiveFactory.$inject=[NG1_INJECTOR,NG2_COMPONENT_FACTORY_REF_MAP,NG1_PARSE],directiveFactory}var angular={bootstrap:noNg,module:noNg,element:noNg,version:noNg,resumeBootstrap:noNg,getTestability:noNg};try{window.hasOwnProperty("angular")&&(angular=window.angular)}catch(e){}var bootstrap=angular.bootstrap,module$1=angular.module,element=angular.element,NG2_COMPILER="ng2.Compiler",NG2_INJECTOR="ng2.Injector",NG2_COMPONENT_FACTORY_REF_MAP="ng2.ComponentFactoryRefMap",NG2_ZONE="ng2.NgZone",NG1_CONTROLLER="$controller",NG1_SCOPE="$scope",NG1_ROOT_SCOPE="$rootScope",NG1_COMPILE="$compile",NG1_HTTP_BACKEND="$httpBackend",NG1_INJECTOR="$injector",NG1_PARSE="$parse",NG1_TEMPLATE_CACHE="$templateCache",NG1_TESTABILITY="$$testability",REQUIRE_INJECTOR="?^"+NG2_INJECTOR,INITIAL_VALUE={__UNINITIALIZED__:!0},DowngradeNg2ComponentAdapter=function(){function DowngradeNg2ComponentAdapter(id,info,element,attrs,scope,parentInjector,parse,componentFactory){this.id=id,this.info=info,this.element=element,this.attrs=attrs,this.scope=scope,this.parentInjector=parentInjector,this.parse=parse,this.componentFactory=componentFactory,this.component=null,this.inputChangeCount=0,this.inputChanges=null,this.componentRef=null,this.changeDetector=null,this.contentInsertionPoint=null,this.element[0].id=id,this.componentScope=scope.$new(),this.childNodes=element.contents()}return DowngradeNg2ComponentAdapter.prototype.bootstrapNg2=function(){var childInjector=_angular_core.ReflectiveInjector.resolveAndCreate([{provide:NG1_SCOPE,useValue:this.componentScope}],this.parentInjector);this.contentInsertionPoint=document.createComment("ng1 insertion point"),this.componentRef=this.componentFactory.create(childInjector,[[this.contentInsertionPoint]],this.element[0]),this.changeDetector=this.componentRef.changeDetectorRef,this.component=this.componentRef.instance},DowngradeNg2ComponentAdapter.prototype.setupInputs=function(){for(var _this=this,attrs=this.attrs,inputs=this.info.inputs,i=0;i<inputs.length;i++){var input=inputs[i],expr=null;if(attrs.hasOwnProperty(input.attr)){var observeFn=function(prop){var prevValue=INITIAL_VALUE;return function(value){null!==_this.inputChanges&&(_this.inputChangeCount++,_this.inputChanges[prop]=new Ng1Change(value,prevValue===INITIAL_VALUE?value:prevValue),prevValue=value),_this.component[prop]=value}}(input.prop);attrs.$observe(input.attr,observeFn)}else attrs.hasOwnProperty(input.bindAttr)?expr=attrs[input.bindAttr]:attrs.hasOwnProperty(input.bracketAttr)?expr=attrs[input.bracketAttr]:attrs.hasOwnProperty(input.bindonAttr)?expr=attrs[input.bindonAttr]:attrs.hasOwnProperty(input.bracketParenAttr)&&(expr=attrs[input.bracketParenAttr]);if(null!=expr){var watchFn=function(prop){return function(value,prevValue){null!=_this.inputChanges&&(_this.inputChangeCount++,_this.inputChanges[prop]=new Ng1Change(prevValue,value)),_this.component[prop]=value}}(input.prop);this.componentScope.$watch(expr,watchFn)}}var prototype=this.info.type.prototype;prototype&&prototype.ngOnChanges&&(this.inputChanges={},this.componentScope.$watch(function(){return _this.inputChangeCount},function(){var inputChanges=_this.inputChanges;_this.inputChanges={},_this.component.ngOnChanges(inputChanges)})),this.componentScope.$watch(function(){return _this.changeDetector&&_this.changeDetector.detectChanges()})},DowngradeNg2ComponentAdapter.prototype.projectContent=function(){var childNodes=this.childNodes,parent=this.contentInsertionPoint.parentNode;if(parent)for(var i=0,ii=childNodes.length;i<ii;i++)parent.insertBefore(childNodes[i],this.contentInsertionPoint)},DowngradeNg2ComponentAdapter.prototype.setupOutputs=function(){for(var _this=this,attrs=this.attrs,outputs=this.info.outputs,j=0;j<outputs.length;j++){var output=outputs[j],expr=null,assignExpr=!1,bindonAttr=output.bindonAttr?output.bindonAttr.substring(0,output.bindonAttr.length-6):null,bracketParenAttr=output.bracketParenAttr?"[("+output.bracketParenAttr.substring(2,output.bracketParenAttr.length-8)+")]":null;if(attrs.hasOwnProperty(output.onAttr)?expr=attrs[output.onAttr]:attrs.hasOwnProperty(output.parenAttr)?expr=attrs[output.parenAttr]:attrs.hasOwnProperty(bindonAttr)?(expr=attrs[bindonAttr],assignExpr=!0):attrs.hasOwnProperty(bracketParenAttr)&&(expr=attrs[bracketParenAttr],assignExpr=!0),null!=expr&&null!=assignExpr){var getter=this.parse(expr),setter=getter.assign;if(assignExpr&&!setter)throw new Error("Expression '"+expr+"' is not assignable!");var emitter=this.component[output.prop];if(!emitter)throw new Error("Missing emitter '"+output.prop+"' on component '"+this.info.selector+"'!");emitter.subscribe({next:assignExpr?function(setter){return function(v){return setter(_this.scope,v)}}(setter):function(getter){return function(v){return getter(_this.scope,{$event:v})}}(getter)})}}},DowngradeNg2ComponentAdapter.prototype.registerCleanup=function(){var _this=this;this.element.bind("$destroy",function(){_this.componentScope.$destroy(),_this.componentRef.destroy()})},DowngradeNg2ComponentAdapter}(),Ng1Change=function(){function Ng1Change(previousValue,currentValue){this.previousValue=previousValue,this.currentValue=currentValue}return Ng1Change.prototype.isFirstChange=function(){return this.previousValue===this.currentValue},Ng1Change}(),COMPONENT_SELECTOR=/^[\w|-]*$/,SKEWER_CASE=/-(\w)/g,directiveResolver=new _angular_compiler.DirectiveResolver,CAMEL_CASE=/([A-Z])/g,INITIAL_VALUE$1={__UNINITIALIZED__:!0},NOT_SUPPORTED="NOT_SUPPORTED",UpgradeNg1ComponentAdapterBuilder=function(){function UpgradeNg1ComponentAdapterBuilder(name){this.name=name,this.inputs=[],this.inputsRename=[],this.outputs=[],this.outputsRename=[],this.propertyOutputs=[],this.checkProperties=[],this.propertyMap={},this.linkFn=null,this.directive=null,this.$controller=null;var selector=name.replace(CAMEL_CASE,function(all,next){return"-"+next.toLowerCase()}),self=this;this.type=_angular_core.Directive({selector:selector,inputs:this.inputsRename,outputs:this.outputsRename}).Class({constructor:[new _angular_core.Inject(NG1_SCOPE),_angular_core.ElementRef,function(scope,elementRef){return new UpgradeNg1ComponentAdapter(self.linkFn,scope,self.directive,elementRef,self.$controller,self.inputs,self.outputs,self.propertyOutputs,self.checkProperties,self.propertyMap)}],ngOnInit:function(){},ngOnChanges:function(){},ngDoCheck:function(){}})}return UpgradeNg1ComponentAdapterBuilder.prototype.extractDirective=function(injector){var directives=injector.get(this.name+"Directive");if(directives.length>1)throw new Error("Only support single directive definition for: "+this.name);var directive=directives[0];directive.replace&&this.notSupported("replace"),directive.terminal&&this.notSupported("terminal");var link=directive.link;return"object"==typeof link&&link.post&&this.notSupported("link.post"),directive},UpgradeNg1ComponentAdapterBuilder.prototype.notSupported=function(feature){throw new Error("Upgraded directive '"+this.name+"' does not support '"+feature+"'.")},UpgradeNg1ComponentAdapterBuilder.prototype.extractBindings=function(){var btcIsObject="object"==typeof this.directive.bindToController;if(btcIsObject&&Object.keys(this.directive.scope).length)throw new Error("Binding definitions on scope and controller at the same time are not supported.");var context=btcIsObject?this.directive.bindToController:this.directive.scope;if("object"==typeof context)for(var name in context)if(context.hasOwnProperty(name)){var localName=context[name],type=localName.charAt(0);localName=localName.substr(1)||name;var outputName="output_"+name,outputNameRename=outputName+": "+name,outputNameRenameChange=outputName+": "+name+"Change",inputName="input_"+name,inputNameRename=inputName+": "+name;switch(type){case"=":this.propertyOutputs.push(outputName),this.checkProperties.push(localName),this.outputs.push(outputName),this.outputsRename.push(outputNameRenameChange),this.propertyMap[outputName]=localName,this.inputs.push(inputName),this.inputsRename.push(inputNameRename),this.propertyMap[inputName]=localName;break;case"@":case"<":this.inputs.push(inputName),this.inputsRename.push(inputNameRename),this.propertyMap[inputName]=localName;break;case"&":this.outputs.push(outputName),this.outputsRename.push(outputNameRename),this.propertyMap[outputName]=localName;break;default:var json=JSON.stringify(context);throw new Error("Unexpected mapping '"+type+"' in '"+json+"' in '"+this.name+"' directive.")}}},UpgradeNg1ComponentAdapterBuilder.prototype.compileTemplate=function(compile,templateCache,httpBackend){function compileHtml(html){var div=document.createElement("div");return div.innerHTML=html,compile(div.childNodes)}var _this=this;if(void 0!==this.directive.template)this.linkFn=compileHtml("function"==typeof this.directive.template?this.directive.template():this.directive.template);else{if(!this.directive.templateUrl)throw new Error("Directive '"+this.name+"' is not a component, it is missing template.");var url="function"==typeof this.directive.templateUrl?this.directive.templateUrl():this.directive.templateUrl,html=templateCache.get(url);if(void 0===html)return new Promise(function(resolve,err){httpBackend("GET",url,null,function(status,response){200==status?resolve(_this.linkFn=compileHtml(templateCache.put(url,response))):err("GET "+url+" returned "+status+": "+response)})});this.linkFn=compileHtml(html)}return null},UpgradeNg1ComponentAdapterBuilder.resolve=function(exportedComponents,injector){var promises=[],compile=injector.get(NG1_COMPILE),templateCache=injector.get(NG1_TEMPLATE_CACHE),httpBackend=injector.get(NG1_HTTP_BACKEND),$controller=injector.get(NG1_CONTROLLER);for(var name in exportedComponents)if(exportedComponents.hasOwnProperty(name)){var exportedComponent=exportedComponents[name];exportedComponent.directive=exportedComponent.extractDirective(injector),exportedComponent.$controller=$controller,exportedComponent.extractBindings();var promise=exportedComponent.compileTemplate(compile,templateCache,httpBackend);promise&&promises.push(promise)}return Promise.all(promises)},UpgradeNg1ComponentAdapterBuilder}(),UpgradeNg1ComponentAdapter=function(){function UpgradeNg1ComponentAdapter(linkFn,scope,directive,elementRef,$controller,inputs,outputs,propOuts,checkProperties,propertyMap){this.linkFn=linkFn,this.directive=directive,this.$controller=$controller,this.inputs=inputs,this.outputs=outputs,this.propOuts=propOuts,this.checkProperties=checkProperties,this.propertyMap=propertyMap,this.destinationObj=null,this.checkLastValues=[],this.$element=null,this.element=elementRef.nativeElement,this.componentScope=scope.$new(!!directive.scope),this.$element=element(this.element);var controllerType=directive.controller;directive.bindToController&&controllerType?this.destinationObj=this.buildController(controllerType):this.destinationObj=this.componentScope;for(var i=0;i<inputs.length;i++)this[inputs[i]]=null;for(var j=0;j<outputs.length;j++){var emitter=this[outputs[j]]=new _angular_core.EventEmitter;this.setComponentProperty(outputs[j],function(emitter){return function(value){return emitter.emit(value)}}(emitter))}for(var k=0;k<propOuts.length;k++)this[propOuts[k]]=new _angular_core.EventEmitter,this.checkLastValues.push(INITIAL_VALUE$1)}return UpgradeNg1ComponentAdapter.prototype.ngOnInit=function(){var _this=this;!this.directive.bindToController&&this.directive.controller&&this.buildController(this.directive.controller);var link=this.directive.link;if("object"==typeof link&&(link=link.pre),link){var attrs=NOT_SUPPORTED,transcludeFn=NOT_SUPPORTED,linkController=this.resolveRequired(this.$element,this.directive.require);this.directive.link(this.componentScope,this.$element,attrs,linkController,transcludeFn)}for(var childNode,childNodes=[];childNode=this.element.firstChild;)this.element.removeChild(childNode),childNodes.push(childNode);this.linkFn(this.componentScope,function(clonedElement,scope){for(var i=0,ii=clonedElement.length;i<ii;i++)_this.element.appendChild(clonedElement[i])},{parentBoundTranscludeFn:function(scope,cloneAttach){cloneAttach(childNodes)}}),this.destinationObj.$onInit&&this.destinationObj.$onInit()},UpgradeNg1ComponentAdapter.prototype.ngOnChanges=function(changes){for(var name in changes)if(changes.hasOwnProperty(name)){var change=changes[name];this.setComponentProperty(name,change.currentValue)}},UpgradeNg1ComponentAdapter.prototype.ngDoCheck=function(){for(var count=0,destinationObj=this.destinationObj,lastValues=this.checkLastValues,checkProperties=this.checkProperties,i=0;i<checkProperties.length;i++){var value=destinationObj[checkProperties[i]],last=lastValues[i];if(value!==last)if("number"==typeof value&&isNaN(value)&&"number"==typeof last&&isNaN(last));else{var eventEmitter=this[this.propOuts[i]];eventEmitter.emit(lastValues[i]=value)}}return count},UpgradeNg1ComponentAdapter.prototype.setComponentProperty=function(name,value){this.destinationObj[this.propertyMap[name]]=value},UpgradeNg1ComponentAdapter.prototype.buildController=function(controllerType){var locals={$scope:this.componentScope,$element:this.$element},controller=this.$controller(controllerType,locals,null,this.directive.controllerAs);return this.$element.data(controllerKey(this.directive.name),controller),controller},UpgradeNg1ComponentAdapter.prototype.resolveRequired=function($element,require){if(require){if("string"==typeof require){var name=require,isOptional=!1,startParent=!1,searchParents=!1;"?"==name.charAt(0)&&(isOptional=!0,name=name.substr(1)),"^"==name.charAt(0)&&(searchParents=!0,name=name.substr(1)),"^"==name.charAt(0)&&(startParent=!0,name=name.substr(1));var key=controllerKey(name);startParent&&($element=$element.parent());var dep=searchParents?$element.inheritedData(key):$element.data(key);if(!dep&&!isOptional)throw new Error("Can not locate '"+require+"' in '"+this.directive.name+"'.");return dep}if(require instanceof Array){for(var deps=[],i=0;i<require.length;i++)deps.push(this.resolveRequired($element,require[i]));return deps}throw new Error("Directive '"+this.directive.name+"' require syntax unrecognized: "+this.directive.require)}},UpgradeNg1ComponentAdapter}(),upgradeCount=0,UpgradeAdapter=function(){function UpgradeAdapter(ng2AppModule){if(this.ng2AppModule=ng2AppModule,this.idPrefix="NG2_UPGRADE_"+upgradeCount++ +"_",this.upgradedComponents=[],this.ng1ComponentsToBeUpgraded={},this.providers=[],!ng2AppModule)throw new Error("UpgradeAdapter cannot be instantiated without an NgModule of the Angular 2 app.")}return UpgradeAdapter.prototype.downgradeNg2Component=function(type){this.upgradedComponents.push(type);var info=getComponentInfo(type);return ng1ComponentDirective(info,""+this.idPrefix+info.selector+"_c")},UpgradeAdapter.prototype.upgradeNg1Component=function(name){return this.ng1ComponentsToBeUpgraded.hasOwnProperty(name)?this.ng1ComponentsToBeUpgraded[name].type:(this.ng1ComponentsToBeUpgraded[name]=new UpgradeNg1ComponentAdapterBuilder(name)).type},UpgradeAdapter.prototype.bootstrap=function(element$$,modules,config){var original$applyFn,rootScopePrototype,rootScope,ng1BootstrapPromise,ng1compilePromise,_this=this,ngZone=new _angular_core.NgZone({enableLongStackTrace:Zone.hasOwnProperty("longStackTraceZoneSpec")}),upgrade=new UpgradeAdapterRef,ng1Injector=null,moduleRef=null,delayApplyExps=[],componentFactoryRefMap={},ng1Module=module$1(this.idPrefix,modules);ng1Module.factory(NG2_INJECTOR,function(){return moduleRef.injector.get(_angular_core.Injector)}).value(NG2_ZONE,ngZone).factory(NG2_COMPILER,function(){return moduleRef.injector.get(_angular_core.Compiler)}).value(NG2_COMPONENT_FACTORY_REF_MAP,componentFactoryRefMap).config(["$provide","$injector",function(provide,ng1Injector){provide.decorator(NG1_ROOT_SCOPE,["$delegate",function(rootScopeDelegate){if(rootScopePrototype=rootScopeDelegate.constructor.prototype,!rootScopePrototype.hasOwnProperty("$apply"))throw new Error("Failed to find '$apply' on '$rootScope'!");return original$applyFn=rootScopePrototype.$apply,rootScopePrototype.$apply=function(exp){return delayApplyExps.push(exp)},rootScope=rootScopeDelegate}]),ng1Injector.has(NG1_TESTABILITY)&&provide.decorator(NG1_TESTABILITY,["$delegate",function(testabilityDelegate){var _this=this,originalWhenStable=testabilityDelegate.whenStable,newWhenStable=function(callback){var whenStableContext=_this;originalWhenStable.call(_this,function(){var ng2Testability=moduleRef.injector.get(_angular_core.Testability);ng2Testability.isStable()?callback.apply(this,arguments):ng2Testability.whenStable(newWhenStable.bind(whenStableContext,callback))})};return testabilityDelegate.whenStable=newWhenStable,testabilityDelegate}])}]),ng1compilePromise=new Promise(function(resolve,reject){ng1Module.run(["$injector","$rootScope",function(injector,rootScope){ng1Injector=injector,UpgradeNg1ComponentAdapterBuilder.resolve(_this.ng1ComponentsToBeUpgraded,injector).then(function(){var DynamicNgUpgradeModule=_angular_core.NgModule({providers:[{provide:NG1_INJECTOR,useFactory:function(){return ng1Injector}},{provide:NG1_COMPILE,useFactory:function(){return ng1Injector.get(NG1_COMPILE)}},_this.providers],imports:[_this.ng2AppModule]}).Class({constructor:function(){},ngDoBootstrap:function(){}});_angular_platformBrowserDynamic.platformBrowserDynamic()._bootstrapModuleWithZone(DynamicNgUpgradeModule,void 0,ngZone,function(componentFactories){componentFactories.forEach(function(componentFactory){componentFactoryRefMap[getComponentInfo(componentFactory.componentType).selector]=componentFactory})}).then(function(ref){moduleRef=ref,element(element$$).data(controllerKey(NG2_INJECTOR),moduleRef.injector),ngZone.onMicrotaskEmpty.subscribe({next:function(_){return ngZone.runOutsideAngular(function(){return rootScope.$evalAsync()})}})}).then(resolve,reject)})}])});var windowAngular=window.angular;return windowAngular.resumeBootstrap=void 0,ngZone.run(function(){bootstrap(element$$,[_this.idPrefix],config)}),ng1BootstrapPromise=new Promise(function(resolve){if(windowAngular.resumeBootstrap){var originalResumeBootstrap=windowAngular.resumeBootstrap;windowAngular.resumeBootstrap=function(){windowAngular.resumeBootstrap=originalResumeBootstrap,windowAngular.resumeBootstrap.apply(this,arguments),resolve()}}else resolve()}),Promise.all([ng1BootstrapPromise,ng1compilePromise]).then(function(){moduleRef.injector.get(_angular_core.NgZone).run(function(){if(rootScopePrototype){for(rootScopePrototype.$apply=original$applyFn;delayApplyExps.length;)rootScope.$apply(delayApplyExps.shift());upgrade._bootstrapDone(moduleRef,ng1Injector),rootScopePrototype=null}})},onError),upgrade},UpgradeAdapter.prototype.upgradeNg1Provider=function(name,options){var token=options&&options.asToken||name;this.providers.push({provide:token,useFactory:function(ng1Injector){return ng1Injector.get(name)},deps:[NG1_INJECTOR]})},UpgradeAdapter.prototype.downgradeNg2Provider=function(token){var factory=function(injector){return injector.get(token)};return factory.$inject=[NG2_INJECTOR],factory},UpgradeAdapter}(),UpgradeAdapterRef=function(){function UpgradeAdapterRef(){this._readyFn=null,this.ng1RootScope=null,this.ng1Injector=null,this.ng2ModuleRef=null,this.ng2Injector=null}return UpgradeAdapterRef.prototype._bootstrapDone=function(ngModuleRef,ng1Injector){this.ng2ModuleRef=ngModuleRef,this.ng2Injector=ngModuleRef.injector,this.ng1Injector=ng1Injector,this.ng1RootScope=ng1Injector.get(NG1_ROOT_SCOPE),this._readyFn&&this._readyFn(this)},UpgradeAdapterRef.prototype.ready=function(fn){this._readyFn=fn},UpgradeAdapterRef.prototype.dispose=function(){this.ng1Injector.get(NG1_ROOT_SCOPE).$destroy(),this.ng2ModuleRef.destroy()},UpgradeAdapterRef}();exports.UpgradeAdapter=UpgradeAdapter,exports.UpgradeAdapterRef=UpgradeAdapterRef});

@@ -8,2 +8,7 @@ /**

*/
export * from './upgrade';
/**
* @module
* @description
* Entry point for all public APIs of the upgrade package.
*/
export * from './src/upgrade';

@@ -8,7 +8,8 @@ /**

*/
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(require('./upgrade'));
/**
* @module
* @description
* Entry point for all public APIs of the upgrade package.
*/
export * from './src/upgrade';
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./upgrade"}]}
{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./src/upgrade"}]}
{
"name": "@angular/upgrade",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"description": "",
"main": "upgrade.js",
"jsnext:main": "esm/upgrade.js",
"main": "bundles/core.umd.js",
"module": "index.js",
"typings": "index.d.ts",
"author": "angular",
"license": "MIT",
"peerDependencies": {
"@angular/core": "^2.0.0-rc.5",
"@angular/compiler": "^2.0.0-rc.5",
"@angular/platform-browser": "^2.0.0-rc.5",
"@angular/platform-browser-dynamic": "^2.0.0-rc.5"
"@angular/core": "^2.0.0-rc.6",
"@angular/compiler": "^2.0.0-rc.6",
"@angular/platform-browser": "^2.0.0-rc.6",
"@angular/platform-browser-dynamic": "^2.0.0-rc.6"
},

@@ -15,0 +16,0 @@ "repository": {

@@ -8,3 +8,2 @@ /**

*/
"use strict";
function noNg() {

@@ -28,8 +27,8 @@ throw new Error('AngularJS v1.x is not loaded!');

}
exports.bootstrap = angular.bootstrap;
exports.module = angular.module;
exports.element = angular.element;
exports.version = angular.version;
exports.resumeBootstrap = angular.resumeBootstrap;
exports.getTestability = angular.getTestability;
export var bootstrap = angular.bootstrap;
export var module = angular.module;
export var element = angular.element;
export var version = angular.version;
export var resumeBootstrap = angular.resumeBootstrap;
export var getTestability = angular.getTestability;
//# sourceMappingURL=angular_js.js.map

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":1,"metadata":{"bootstrap":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}},"module":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}},"element":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}},"version":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}},"resumeBootstrap":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}},"getTestability":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":3,"context":{"name":"angular"}}}}
{"__symbolic":"module","version":1,"metadata":{"bootstrap":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}},"module":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}},"element":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}},"version":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}},"resumeBootstrap":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}},"getTestability":{"__symbolic":"error","message":"Reference to a local symbol","line":134,"character":4,"context":{"name":"angular"}}}}

@@ -8,17 +8,16 @@ /**

*/
"use strict";
exports.NG2_COMPILER = 'ng2.Compiler';
exports.NG2_INJECTOR = 'ng2.Injector';
exports.NG2_COMPONENT_FACTORY_REF_MAP = 'ng2.ComponentFactoryRefMap';
exports.NG2_ZONE = 'ng2.NgZone';
exports.NG1_CONTROLLER = '$controller';
exports.NG1_SCOPE = '$scope';
exports.NG1_ROOT_SCOPE = '$rootScope';
exports.NG1_COMPILE = '$compile';
exports.NG1_HTTP_BACKEND = '$httpBackend';
exports.NG1_INJECTOR = '$injector';
exports.NG1_PARSE = '$parse';
exports.NG1_TEMPLATE_CACHE = '$templateCache';
exports.NG1_TESTABILITY = '$$testability';
exports.REQUIRE_INJECTOR = '?^' + exports.NG2_INJECTOR;
export var NG2_COMPILER = 'ng2.Compiler';
export var NG2_INJECTOR = 'ng2.Injector';
export var NG2_COMPONENT_FACTORY_REF_MAP = 'ng2.ComponentFactoryRefMap';
export var NG2_ZONE = 'ng2.NgZone';
export var NG1_CONTROLLER = '$controller';
export var NG1_SCOPE = '$scope';
export var NG1_ROOT_SCOPE = '$rootScope';
export var NG1_COMPILE = '$compile';
export var NG1_HTTP_BACKEND = '$httpBackend';
export var NG1_INJECTOR = '$injector';
export var NG1_PARSE = '$parse';
export var NG1_TEMPLATE_CACHE = '$templateCache';
export var NG1_TESTABILITY = '$$testability';
export var REQUIRE_INJECTOR = '?^' + NG2_INJECTOR;
//# sourceMappingURL=constants.js.map

@@ -8,9 +8,8 @@ /**

*/
"use strict";
var core_1 = require('@angular/core');
var constants_1 = require('./constants');
import { ReflectiveInjector } from '@angular/core';
import { NG1_SCOPE } from './constants';
var INITIAL_VALUE = {
__UNINITIALIZED__: true
};
var DowngradeNg2ComponentAdapter = (function () {
export var DowngradeNg2ComponentAdapter = (function () {
function DowngradeNg2ComponentAdapter(id, info, element, attrs, scope, parentInjector, parse, componentFactory) {

@@ -36,3 +35,3 @@ this.id = id;

DowngradeNg2ComponentAdapter.prototype.bootstrapNg2 = function () {
var childInjector = core_1.ReflectiveInjector.resolveAndCreate([{ provide: constants_1.NG1_SCOPE, useValue: this.componentScope }], this.parentInjector);
var childInjector = ReflectiveInjector.resolveAndCreate([{ provide: NG1_SCOPE, useValue: this.componentScope }], this.parentInjector);
this.contentInsertionPoint = document.createComment('ng1 insertion point');

@@ -168,3 +167,2 @@ this.componentRef = this.componentFactory.create(childInjector, [[this.contentInsertionPoint]], this.element[0]);

}());
exports.DowngradeNg2ComponentAdapter = DowngradeNg2ComponentAdapter;
var Ng1Change = (function () {

@@ -171,0 +169,0 @@ function Ng1Change(previousValue, currentValue) {

@@ -13,3 +13,3 @@ import { Type } from '@angular/core';

export interface ComponentInfo {
type: Type;
type: Type<any>;
selector: string;

@@ -19,3 +19,3 @@ inputs: AttrProp[];

}
export declare function getComponentInfo(type: Type): ComponentInfo;
export declare function getComponentInfo(type: Type<any>): ComponentInfo;
export declare function parseFields(names: string[]): AttrProp[];

@@ -8,8 +8,7 @@ /**

*/
"use strict";
var compiler_1 = require('@angular/compiler');
import { DirectiveResolver } from '@angular/compiler';
var COMPONENT_SELECTOR = /^[\w|-]*$/;
var SKEWER_CASE = /-(\w)/g;
var directiveResolver = new compiler_1.DirectiveResolver();
function getComponentInfo(type) {
var directiveResolver = new DirectiveResolver();
export function getComponentInfo(type) {
var resolvedMetadata = directiveResolver.resolve(type);

@@ -28,4 +27,3 @@ var selector = resolvedMetadata.selector;

}
exports.getComponentInfo = getComponentInfo;
function parseFields(names) {
export function parseFields(names) {
var attrProps = [];

@@ -52,3 +50,2 @@ if (names) {

}
exports.parseFields = parseFields;
//# sourceMappingURL=metadata.js.map

@@ -8,3 +8,3 @@ /**

*/
import { Injector, NgModuleRef, Provider, Type } from '@angular/core';
import { Injector, NgModuleRef, Type } from '@angular/core';
import * as angular from './angular_js';

@@ -88,7 +88,7 @@ /**

*
* @experimental
* @stable
*/
export declare class UpgradeAdapter {
private ng2AppModule;
constructor(ng2AppModule?: Type);
constructor(ng2AppModule: Type<any>);
/**

@@ -149,3 +149,3 @@ * Allows Angular v2 Component to be used from AngularJS v1.

*/
downgradeNg2Component(type: Type): Function;
downgradeNg2Component(type: Type<any>): Function;
/**

@@ -228,3 +228,3 @@ * Allows AngularJS v1 Component to be used from Angular v2.

*/
upgradeNg1Component(name: string): Type;
upgradeNg1Component(name: string): Type<any>;
/**

@@ -276,42 +276,2 @@ * Bootstrap a hybrid AngularJS v1 / Angular v2 application.

/**
* Adds a provider to the top level environment of a hybrid AngularJS v1 / Angular v2 application.
*
* In hybrid AngularJS v1 / Angular v2 application, there is no one root Angular v2 component,
* for this reason we provide an application global way of registering providers which is
* consistent with single global injection in AngularJS v1.
*
* ### Example
*
* ```
* class Greeter {
* greet(name) {
* alert('Hello ' + name + '!');
* }
* }
*
* @Component({
* selector: 'app',
* template: ''
* })
* class App {
* constructor(greeter: Greeter) {
* this.greeter('World');
* }
* }
*
* var adapter = new UpgradeAdapter();
* adapter.addProvider(Greeter);
*
* var module = angular.module('myExample', []);
* module.directive('app', adapter.downgradeNg2Component(App));
*
* document.body.innerHTML = '<app></app>'
* adapter.bootstrap(document.body, ['myExample']);
*```
*
* @deprecated Use NgModules and `new UpgradeAdapter(ng2AppModule)` to configure top-level
*providers
*/
addProvider(provider: Type | Provider | any[] | any): void;
/**
* Allows AngularJS v1 service to be accessible from Angular v2.

@@ -378,3 +338,3 @@ *

*
* @experimental
* @stable
*/

@@ -381,0 +341,0 @@ export declare class UpgradeAdapterRef {

@@ -8,12 +8,10 @@ /**

*/
"use strict";
var core_1 = require('@angular/core');
var platform_browser_1 = require('@angular/platform-browser');
var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
var angular = require('./angular_js');
var constants_1 = require('./constants');
var downgrade_ng2_adapter_1 = require('./downgrade_ng2_adapter');
var metadata_1 = require('./metadata');
var upgrade_ng1_adapter_1 = require('./upgrade_ng1_adapter');
var util_1 = require('./util');
import { Compiler, Injector, NgModule, NgZone, Testability } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import * as angular from './angular_js';
import { NG1_COMPILE, NG1_INJECTOR, NG1_PARSE, NG1_ROOT_SCOPE, NG1_TESTABILITY, NG2_COMPILER, NG2_COMPONENT_FACTORY_REF_MAP, NG2_INJECTOR, NG2_ZONE, REQUIRE_INJECTOR } from './constants';
import { DowngradeNg2ComponentAdapter } from './downgrade_ng2_adapter';
import { getComponentInfo } from './metadata';
import { UpgradeNg1ComponentAdapterBuilder } from './upgrade_ng1_adapter';
import { controllerKey, onError } from './util';
var upgradeCount = 0;

@@ -97,7 +95,5 @@ /**

*
* @experimental
* @stable
*/
var UpgradeAdapter = (function () {
// the ng2AppModule param should be required once the deprecated @Component.directives prop is
// removed
export var UpgradeAdapter = (function () {
function UpgradeAdapter(ng2AppModule) {

@@ -120,4 +116,4 @@ this.ng2AppModule = ng2AppModule;

this.providers = [];
if (arguments.length && !ng2AppModule) {
throw new core_1.BaseException('UpgradeAdapter constructor called with undefined instead of a ng module type');
if (!ng2AppModule) {
throw new Error('UpgradeAdapter cannot be instantiated without an NgModule of the Angular 2 app.');
}

@@ -182,3 +178,3 @@ }

this.upgradedComponents.push(type);
var info = metadata_1.getComponentInfo(type);
var info = getComponentInfo(type);
return ng1ComponentDirective(info, "" + this.idPrefix + info.selector + "_c");

@@ -268,3 +264,3 @@ };

else {
return (this.ng1ComponentsToBeUpgraded[name] = new upgrade_ng1_adapter_1.UpgradeNg1ComponentAdapterBuilder(name))
return (this.ng1ComponentsToBeUpgraded[name] = new UpgradeNg1ComponentAdapterBuilder(name))
.type;

@@ -319,3 +315,3 @@ }

var _this = this;
var ngZone = new core_1.NgZone({ enableLongStackTrace: Zone.hasOwnProperty('longStackTraceZoneSpec') });
var ngZone = new NgZone({ enableLongStackTrace: Zone.hasOwnProperty('longStackTraceZoneSpec') });
var upgrade = new UpgradeAdapterRef();

@@ -332,10 +328,10 @@ var ng1Injector = null;

var ng1compilePromise;
ng1Module.factory(constants_1.NG2_INJECTOR, function () { return moduleRef.injector.get(core_1.Injector); })
.value(constants_1.NG2_ZONE, ngZone)
.factory(constants_1.NG2_COMPILER, function () { return moduleRef.injector.get(core_1.Compiler); })
.value(constants_1.NG2_COMPONENT_FACTORY_REF_MAP, componentFactoryRefMap)
ng1Module.factory(NG2_INJECTOR, function () { return moduleRef.injector.get(Injector); })
.value(NG2_ZONE, ngZone)
.factory(NG2_COMPILER, function () { return moduleRef.injector.get(Compiler); })
.value(NG2_COMPONENT_FACTORY_REF_MAP, componentFactoryRefMap)
.config([
'$provide', '$injector',
function (provide /** TODO #???? */, ng1Injector) {
provide.decorator(constants_1.NG1_ROOT_SCOPE, [
provide.decorator(NG1_ROOT_SCOPE, [
'$delegate',

@@ -356,4 +352,4 @@ function (rootScopeDelegate) {

]);
if (ng1Injector.has(constants_1.NG1_TESTABILITY)) {
provide.decorator(constants_1.NG1_TESTABILITY, [
if (ng1Injector.has(NG1_TESTABILITY)) {
provide.decorator(NG1_TESTABILITY, [
'$delegate',

@@ -366,3 +362,3 @@ function (testabilityDelegate) {

originalWhenStable.call(_this, function () {
var ng2Testability = moduleRef.injector.get(core_1.Testability);
var ng2Testability = moduleRef.injector.get(Testability);
if (ng2Testability.isStable()) {

@@ -388,19 +384,27 @@ callback.apply(this, arguments);

ng1Injector = injector;
upgrade_ng1_adapter_1.UpgradeNg1ComponentAdapterBuilder.resolve(_this.ng1ComponentsToBeUpgraded, injector)
UpgradeNg1ComponentAdapterBuilder.resolve(_this.ng1ComponentsToBeUpgraded, injector)
.then(function () {
// At this point we have ng1 injector and we have lifted ng1 components into ng2, we
// now can bootstrap ng2.
var DynamicNgUpgradeModule = core_1.NgModule({
var DynamicNgUpgradeModule = NgModule({
providers: [
{ provide: constants_1.NG1_INJECTOR, useFactory: function () { return ng1Injector; } },
{ provide: constants_1.NG1_COMPILE, useFactory: function () { return ng1Injector.get(constants_1.NG1_COMPILE); } },
{ provide: NG1_INJECTOR, useFactory: function () { return ng1Injector; } },
{ provide: NG1_COMPILE, useFactory: function () { return ng1Injector.get(NG1_COMPILE); } },
_this.providers
],
imports: _this.ng2AppModule ? [_this.ng2AppModule] : [platform_browser_1.BrowserModule]
}).Class({ constructor: function () { }, ngDoBootstrap: function () { } });
platform_browser_dynamic_1.platformBrowserDynamic()
._bootstrapModuleWithZone(DynamicNgUpgradeModule, undefined, ngZone)
imports: [_this.ng2AppModule]
}).Class({
constructor: function DynamicNgUpgradeModule() { },
ngDoBootstrap: function () { }
});
platformBrowserDynamic()
._bootstrapModuleWithZone(DynamicNgUpgradeModule, undefined, ngZone, function (componentFactories) {
componentFactories.forEach(function (componentFactory) {
componentFactoryRefMap[getComponentInfo(componentFactory.componentType)
.selector] = componentFactory;
});
})
.then(function (ref) {
moduleRef = ref;
angular.element(element).data(util_1.controllerKey(constants_1.NG2_INJECTOR), moduleRef.injector);
angular.element(element).data(controllerKey(NG2_INJECTOR), moduleRef.injector);
ngZone.onMicrotaskEmpty.subscribe({

@@ -419,3 +423,3 @@ next: function (_) { return ngZone.runOutsideAngular(function () { return rootScope.$evalAsync(); }); }

ngZone.run(function () { angular.bootstrap(element, [_this.idPrefix], config); });
ng1BootstrapPromise = new Promise(function (resolve, reject) {
ng1BootstrapPromise = new Promise(function (resolve) {
if (windowAngular.resumeBootstrap) {

@@ -433,8 +437,4 @@ var originalResumeBootstrap = windowAngular.resumeBootstrap;

});
Promise.all([ng1BootstrapPromise, ng1compilePromise])
.then(function () {
return _this.compileNg2Components(moduleRef.injector.get(core_1.Compiler), componentFactoryRefMap);
})
.then(function () {
moduleRef.injector.get(core_1.NgZone).run(function () {
Promise.all([ng1BootstrapPromise, ng1compilePromise]).then(function () {
moduleRef.injector.get(NgZone).run(function () {
if (rootScopePrototype) {

@@ -449,46 +449,6 @@ rootScopePrototype.$apply = original$applyFn; // restore original $apply

});
}, util_1.onError);
}, onError);
return upgrade;
};
/**
* Adds a provider to the top level environment of a hybrid AngularJS v1 / Angular v2 application.
*
* In hybrid AngularJS v1 / Angular v2 application, there is no one root Angular v2 component,
* for this reason we provide an application global way of registering providers which is
* consistent with single global injection in AngularJS v1.
*
* ### Example
*
* ```
* class Greeter {
* greet(name) {
* alert('Hello ' + name + '!');
* }
* }
*
* @Component({
* selector: 'app',
* template: ''
* })
* class App {
* constructor(greeter: Greeter) {
* this.greeter('World');
* }
* }
*
* var adapter = new UpgradeAdapter();
* adapter.addProvider(Greeter);
*
* var module = angular.module('myExample', []);
* module.directive('app', adapter.downgradeNg2Component(App));
*
* document.body.innerHTML = '<app></app>'
* adapter.bootstrap(document.body, ['myExample']);
*```
*
* @deprecated Use NgModules and `new UpgradeAdapter(ng2AppModule)` to configure top-level
*providers
*/
UpgradeAdapter.prototype.addProvider = function (provider) { this.providers.push(provider); };
/**
* Allows AngularJS v1 service to be accessible from Angular v2.

@@ -530,3 +490,3 @@ *

useFactory: function (ng1Injector) { return ng1Injector.get(name); },
deps: [constants_1.NG1_INJECTOR]
deps: [NG1_INJECTOR]
});

@@ -558,26 +518,9 @@ };

var factory = function (injector) { return injector.get(token); };
factory.$inject = [constants_1.NG2_INJECTOR];
factory.$inject = [NG2_INJECTOR];
return factory;
};
/* @internal */
UpgradeAdapter.prototype.compileNg2Components = function (compiler, componentFactoryRefMap) {
var _this = this;
var promises = [];
var types = this.upgradedComponents;
for (var i = 0; i < types.length; i++) {
promises.push(compiler.compileComponentAsync(types[i], this.ng2AppModule));
}
return Promise.all(promises).then(function (componentFactories) {
var types = _this.upgradedComponents;
for (var i = 0; i < componentFactories.length; i++) {
componentFactoryRefMap[metadata_1.getComponentInfo(types[i]).selector] = componentFactories[i];
}
return componentFactoryRefMap;
}, util_1.onError);
};
return UpgradeAdapter;
}());
exports.UpgradeAdapter = UpgradeAdapter;
function ng1ComponentDirective(info, idPrefix) {
directiveFactory.$inject = [constants_1.NG1_INJECTOR, constants_1.NG2_COMPONENT_FACTORY_REF_MAP, constants_1.NG1_PARSE];
directiveFactory.$inject = [NG1_INJECTOR, NG2_COMPONENT_FACTORY_REF_MAP, NG1_PARSE];
function directiveFactory(ng1Injector, componentFactoryRefMap, parse) {

@@ -587,3 +530,3 @@ var idCount = 0;

restrict: 'E',
require: constants_1.REQUIRE_INJECTOR,
require: REQUIRE_INJECTOR,
link: {

@@ -595,5 +538,5 @@ post: function (scope, element, attrs, parentInjector, transclude) {

if (parentInjector === null) {
parentInjector = ng1Injector.get(constants_1.NG2_INJECTOR);
parentInjector = ng1Injector.get(NG2_INJECTOR);
}
var facade = new downgrade_ng2_adapter_1.DowngradeNg2ComponentAdapter(idPrefix + (idCount++), info, element, attrs, scope, parentInjector, parse, componentFactory);
var facade = new DowngradeNg2ComponentAdapter(idPrefix + (idCount++), info, element, attrs, scope, parentInjector, parse, componentFactory);
facade.setupInputs();

@@ -613,5 +556,5 @@ facade.bootstrapNg2();

*
* @experimental
* @stable
*/
var UpgradeAdapterRef = (function () {
export var UpgradeAdapterRef = (function () {
function UpgradeAdapterRef() {

@@ -630,3 +573,3 @@ /* @internal */

this.ng1Injector = ng1Injector;
this.ng1RootScope = ng1Injector.get(constants_1.NG1_ROOT_SCOPE);
this.ng1RootScope = ng1Injector.get(NG1_ROOT_SCOPE);
this._readyFn && this._readyFn(this);

@@ -646,3 +589,3 @@ };

UpgradeAdapterRef.prototype.dispose = function () {
this.ng1Injector.get(constants_1.NG1_ROOT_SCOPE).$destroy();
this.ng1Injector.get(NG1_ROOT_SCOPE).$destroy();
this.ng2ModuleRef.destroy();

@@ -652,3 +595,2 @@ };

}());
exports.UpgradeAdapterRef = UpgradeAdapterRef;
//# sourceMappingURL=upgrade_adapter.js.map

@@ -12,3 +12,3 @@ /**

name: string;
type: Type;
type: Type<any>;
inputs: string[];

@@ -15,0 +15,0 @@ inputsRename: string[];

@@ -8,7 +8,6 @@ /**

*/
"use strict";
var core_1 = require('@angular/core');
var angular = require('./angular_js');
var constants_1 = require('./constants');
var util_1 = require('./util');
import { Directive, ElementRef, EventEmitter, Inject } from '@angular/core';
import * as angular from './angular_js';
import { NG1_COMPILE, NG1_CONTROLLER, NG1_HTTP_BACKEND, NG1_SCOPE, NG1_TEMPLATE_CACHE } from './constants';
import { controllerKey } from './util';
var CAMEL_CASE = /([A-Z])/g;

@@ -19,3 +18,3 @@ var INITIAL_VALUE = {

var NOT_SUPPORTED = 'NOT_SUPPORTED';
var UpgradeNg1ComponentAdapterBuilder = (function () {
export var UpgradeNg1ComponentAdapterBuilder = (function () {
function UpgradeNg1ComponentAdapterBuilder(name) {

@@ -36,6 +35,6 @@ this.name = name;

this.type =
core_1.Directive({ selector: selector, inputs: this.inputsRename, outputs: this.outputsRename })
Directive({ selector: selector, inputs: this.inputsRename, outputs: this.outputsRename })
.Class({
constructor: [
new core_1.Inject(constants_1.NG1_SCOPE), core_1.ElementRef,
new Inject(NG1_SCOPE), ElementRef,
function (scope, elementRef) {

@@ -159,6 +158,6 @@ return new UpgradeNg1ComponentAdapter(self.linkFn, scope, self.directive, elementRef, self.$controller, self.inputs, self.outputs, self.propertyOutputs, self.checkProperties, self.propertyMap);

var promises = [];
var compile = injector.get(constants_1.NG1_COMPILE);
var templateCache = injector.get(constants_1.NG1_TEMPLATE_CACHE);
var httpBackend = injector.get(constants_1.NG1_HTTP_BACKEND);
var $controller = injector.get(constants_1.NG1_CONTROLLER);
var compile = injector.get(NG1_COMPILE);
var templateCache = injector.get(NG1_TEMPLATE_CACHE);
var httpBackend = injector.get(NG1_HTTP_BACKEND);
var $controller = injector.get(NG1_CONTROLLER);
for (var name in exportedComponents) {

@@ -179,3 +178,2 @@ if (exportedComponents.hasOwnProperty(name)) {

}());
exports.UpgradeNg1ComponentAdapterBuilder = UpgradeNg1ComponentAdapterBuilder;
var UpgradeNg1ComponentAdapter = (function () {

@@ -208,3 +206,3 @@ function UpgradeNg1ComponentAdapter(linkFn, scope, directive, elementRef, $controller, inputs, outputs, propOuts, checkProperties, propertyMap) {

for (var j = 0; j < outputs.length; j++) {
var emitter = this[outputs[j]] = new core_1.EventEmitter();
var emitter = this[outputs[j]] = new EventEmitter();
this.setComponentProperty(outputs[j], (function (emitter /** TODO #9100 */) { return function (value /** TODO #9100 */) {

@@ -215,3 +213,3 @@ return emitter.emit(value);

for (var k = 0; k < propOuts.length; k++) {
this[propOuts[k]] = new core_1.EventEmitter();
this[propOuts[k]] = new EventEmitter();
this.checkLastValues.push(INITIAL_VALUE);

@@ -284,3 +282,3 @@ }

var controller = this.$controller(controllerType, locals, null, this.directive.controllerAs);
this.$element.data(util_1.controllerKey(this.directive.name), controller);
this.$element.data(controllerKey(this.directive.name), controller);
return controller;

@@ -310,3 +308,3 @@ };

}
var key = util_1.controllerKey(name);
var key = controllerKey(name);
if (startParent)

@@ -313,0 +311,0 @@ $element = $element.parent();

@@ -8,4 +8,3 @@ /**

*/
"use strict";
function stringify(obj) {
export function stringify(obj) {
if (typeof obj == 'function')

@@ -15,4 +14,3 @@ return obj.name || obj.toString();

}
exports.stringify = stringify;
function onError(e) {
export function onError(e) {
// TODO: (misko): We seem to not have a stack trace here!

@@ -22,7 +20,5 @@ console.log(e, e.stack);

}
exports.onError = onError;
function controllerKey(name) {
export function controllerKey(name) {
return '$' + name + 'Controller';
}
exports.controllerKey = controllerKey;
//# sourceMappingURL=util.js.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc