function UnresolvedInstruction(_resolver, _urlPath, _urlParams) { if (_urlPath === void 0) { _urlPath = ''; } if (_urlParams === void 0) { _urlParams = lang_1.CONST_EXPR([]); } _super.call(this); this._resolver = _resolver; this._urlPath = _urlPath; this._urlParams = _urlParams; }
var di_1 = require('angular2/src/core/di'); var lang_1 = require('angular2/src/facade/lang'); /** * @internal */ exports.APP_COMPONENT_REF_PROMISE = lang_1.CONST_EXPR(new di_1.OpaqueToken('Promise<ComponentRef>')); /** * An {@link angular2/di/OpaqueToken} representing the application root type in the {@link * Injector}. * * ``` * @Component(...) * class MyApp { * ... * } * * bootstrap(MyApp).then((appRef:ApplicationRef) { * expect(appRef.injector.get(appComponentTypeToken)).toEqual(MyApp); * }); * * ``` */ exports.APP_COMPONENT = lang_1.CONST_EXPR(new di_1.OpaqueToken('AppComponent')); /** * A DI Token representing a unique string id assigned to the application by Angular and used * primarily for prefixing application attributes and CSS styles when * {@link ViewEncapsulation#Emulated} is being used. * * If you need to avoid randomly generated value to be used as an application id, you can provide * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector} * using this token.
var xhr_impl_1 = require("angular2/src/platform/browser/xhr_impl"); var compiler_1 = require('angular2/compiler'); var test_component_builder_1 = require('angular2/src/testing/test_component_builder'); var utils_1 = require('angular2/src/testing/utils'); var common_dom_1 = require('angular2/platform/common_dom'); var lang_1 = require('angular2/src/facade/lang'); var utils_2 = require('angular2/src/testing/utils'); function initBrowserTests() { browser_adapter_1.BrowserDomAdapter.makeCurrent(); utils_1.BrowserDetection.setup(); } /** * Default patform providers for testing without a compiler. */ exports.TEST_BROWSER_STATIC_PLATFORM_PROVIDERS = lang_1.CONST_EXPR([ core_1.PLATFORM_COMMON_PROVIDERS, new core_1.Provider(core_1.PLATFORM_INITIALIZER, { useValue: initBrowserTests, multi: true }) ]); exports.ADDITIONAL_TEST_BROWSER_PROVIDERS = lang_1.CONST_EXPR([ new core_1.Provider(core_1.APP_ID, { useValue: 'a' }), common_dom_1.ELEMENT_PROBE_PROVIDERS, new core_1.Provider(core_1.DirectiveResolver, { useClass: directive_resolver_mock_1.MockDirectiveResolver }), new core_1.Provider(core_1.ViewResolver, { useClass: view_resolver_mock_1.MockViewResolver }), utils_2.Log, test_component_builder_1.TestComponentBuilder, new core_1.Provider(core_1.NgZone, { useClass: ng_zone_mock_1.MockNgZone }), new core_1.Provider(location_strategy_1.LocationStrategy, { useClass: mock_location_strategy_1.MockLocationStrategy }), new core_1.Provider(animation_builder_1.AnimationBuilder, { useClass: animation_builder_mock_1.MockAnimationBuilder }), ]); /** * Default application providers for testing without a compiler. */
this._applications.set(token, testability); } getTestability(elem) { return this._applications.get(elem); } getAllTestabilities() { return MapWrapper.values(this._applications); } getAllRootElements() { return MapWrapper.keys(this._applications); } findTestabilityInTree(elem, findInAncestors = true) { return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors); } }; TestabilityRegistry = __decorate([ Injectable(), __metadata('design:paramtypes', []) ], TestabilityRegistry); let _NoopGetTestability = class _NoopGetTestability { addToWindow(registry) { } findTestabilityInTree(registry, elem, findInAncestors) { return null; } }; _NoopGetTestability = __decorate([ CONST(), __metadata('design:paramtypes', []) ], _NoopGetTestability); /** * Set the {@link GetTestability} implementation used by the Angular testing framework. */ export function setTestabilityGetter(getter) { _testabilityGetter = getter; } var _testabilityGetter = CONST_EXPR(new _NoopGetTestability()); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkaWZmaW5nX3BsdWdpbl93cmFwcGVyLW91dHB1dF9wYXRoLTlEMWlHUVZHLnRtcC9hbmd1bGFyMi9zcmMvY29yZS90ZXN0YWJpbGl0eS90ZXN0YWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7T0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQjtPQUN4QyxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQWMsTUFBTSxnQ0FBZ0M7T0FDcEUsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCO09BQ3RFLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDO09BQ3JELEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCO09BQy9CLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkI7QUFHM0Q7Ozs7R0FJRztBQUVIO0lBY0UsWUFBb0IsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFibkMsZ0JBQWdCO1FBQ2hCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGdCQUFnQjtRQUNoQixrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5Qjs7Ozs7V0FLRztRQUNILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQWdCO1FBQ2hCLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDVyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUFDLENBQUM7SUFFcEUsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtRQUNqQixpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDaEMsaUJBQWlCLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUMxQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1FBQ3hCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixNQUFNLElBQUksYUFBYSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQzdGLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsb0JBQW9CO1FBQ2xCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsc0VBQXNFO1lBQ3RFLGlCQUFpQixDQUFDO2dCQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNwQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixZQUFZO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsUUFBa0I7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHNCQUFzQixLQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUUvRCxZQUFZLENBQUMsS0FBVSxFQUFFLFFBQWdCLEVBQUUsVUFBbUI7UUFDNUQsNEJBQTRCO1FBQzVCLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxRQUFnQixFQUFFLFVBQW1CO1FBQzdELDRCQUE0QjtRQUM1QixNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ1osQ0FBQztBQUNILENBQUM7QUF0RkQ7SUFBQyxVQUFVLEVBQUU7O2VBQUE7QUF3RmI7O0dBRUc7QUFFSDtJQUlFO1FBSEEsZ0JBQWdCO1FBQ2hCLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFFNUIsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQUMsQ0FBQztJQUV2RCxtQkFBbUIsQ0FBQyxLQUFVLEVBQUUsV0FBd0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBUyxJQUFpQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9FLG1CQUFtQixLQUFvQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRGLGtCQUFrQixLQUFZLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0UscUJBQXFCLENBQUMsSUFBVSxFQUFFLGVBQWUsR0FBWSxJQUFJO1FBQy9ELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7QUFDSCxDQUFDO0FBcEJEO0lBQUMsVUFBVSxFQUFFOzt1QkFBQTtBQWlDYjtJQUNFLFdBQVcsQ0FBQyxRQUE2QixJQUFTLENBQUM7SUFDbkQscUJBQXFCLENBQUMsUUFBNkIsRUFBRSxJQUFTLEVBQ3hDLGVBQXdCO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQVBEO0lBQUMsS0FBSyxFQUFFOzt1QkFBQTtBQVNSOztHQUVHO0FBQ0gscUNBQXFDLE1BQXNCO0lBQ3pELGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUM5QixDQUFDO0FBRUQsSUFBSSxrQkFBa0IsR0FBbUIsVUFBVSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdhbmd1bGFyMi9zcmMvY29yZS9kaSc7XG5pbXBvcnQge01hcCwgTWFwV3JhcHBlciwgTGlzdFdyYXBwZXJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9mYWNhZGUvY29sbGVjdGlvbic7XG5pbXBvcnQge0NPTlNULCBDT05TVF9FWFBSLCBzY2hlZHVsZU1pY3JvVGFza30gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9sYW5nJztcbmltcG9ydCB7QmFzZUV4Y2VwdGlvbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9leGNlcHRpb25zJztcbmltcG9ydCB7Tmdab25lfSBmcm9tICcuLi96b25lL25nX3pvbmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlV3JhcHBlcn0gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9hc3luYyc7XG5cblxuLyoqXG4gKiBUaGUgVGVzdGFiaWxpdHkgc2VydmljZSBwcm92aWRlcyB0ZXN0aW5nIGhvb2tzIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIGZyb21cbiAqIHRoZSBicm93c2VyIGFuZCBieSBzZXJ2aWNlcyBzdWNoIGFzIFByb3RyYWN0b3IuIEVhY2ggYm9vdHN0cmFwcGVkIEFuZ3VsYXJcbiAqIGFwcGxpY2F0aW9uIG9uIHRoZSBwYWdlIHdpbGwgaGF2ZSBhbiBpbnN0YW5jZSBvZiBUZXN0YWJpbGl0eS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlc3RhYmlsaXR5IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcGVuZGluZ0NvdW50OiBudW1iZXIgPSAwO1xuICAvKiogQGludGVybmFsICovXG4gIF9pc1pvbmVTdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAvKipcbiAgICogV2hldGhlciBhbnkgd29yayB3YXMgZG9uZSBzaW5jZSB0aGUgbGFzdCAnd2hlblN0YWJsZScgY2FsbGJhY2suIFRoaXMgaXNcbiAgICogdXNlZnVsIHRvIGRldGVjdCBpZiB0aGlzIGNvdWxkIGhhdmUgcG90ZW50aWFsbHkgZGVzdGFiaWxpemVkIGFub3RoZXJcbiAgICogY29tcG9uZW50IHdoaWxlIGl0IGlzIHN0YWJpbGl6aW5nLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9kaWRXb3JrOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2NhbGxiYWNrczogRnVuY3Rpb25bXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkgeyB0aGlzLl93YXRjaEFuZ3VsYXJFdmVudHMoKTsgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3dhdGNoQW5ndWxhckV2ZW50cygpOiB2b2lkIHtcbiAgICBPYnNlcnZhYmxlV3JhcHBlci5zdWJzY3JpYmUodGhpcy5fbmdab25lLm9uVW5zdGFibGUsIChfKSA9PiB7XG4gICAgICB0aGlzLl9kaWRXb3JrID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2lzWm9uZVN0YWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIE9ic2VydmFibGVXcmFwcGVyLnN1YnNjcmliZSh0aGlzLl9uZ1pvbmUub25TdGFibGUsIChfKSA9PiB7XG4gICAgICAgIE5nWm9uZS5hc3NlcnROb3RJbkFuZ3VsYXJab25lKCk7XG4gICAgICAgIHNjaGVkdWxlTWljcm9UYXNrKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pc1pvbmVTdGFibGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX3J1bkNhbGxiYWNrc0lmUmVhZHkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGluY3JlYXNlUGVuZGluZ1JlcXVlc3RDb3VudCgpOiBudW1iZXIge1xuICAgIHRoaXMuX3BlbmRpbmdDb3VudCArPSAxO1xuICAgIHRoaXMuX2RpZFdvcmsgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLl9wZW5kaW5nQ291bnQ7XG4gIH1cblxuICBkZWNyZWFzZVBlbmRpbmdSZXF1ZXN0Q291bnQoKTogbnVtYmVyIHtcbiAgICB0aGlzLl9wZW5kaW5nQ291bnQgLT0gMTtcbiAgICBpZiAodGhpcy5fcGVuZGluZ0NvdW50IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ3BlbmRpbmcgYXN5bmMgcmVxdWVzdHMgYmVsb3cgemVybycpO1xuICAgIH1cbiAgICB0aGlzLl9ydW5DYWxsYmFja3NJZlJlYWR5KCk7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdDb3VudDtcbiAgfVxuXG4gIGlzU3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1pvbmVTdGFibGUgJiYgdGhpcy5fcGVuZGluZ0NvdW50ID09IDAgJiYgIXRoaXMuX25nWm9uZS5oYXNQZW5kaW5nTWFjcm90YXNrcztcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3J1bkNhbGxiYWNrc0lmUmVhZHkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNTdGFibGUoKSkge1xuICAgICAgLy8gU2NoZWR1bGVzIHRoZSBjYWxsIGJhY2tzIGluIGEgbmV3IGZyYW1lIHNvIHRoYXQgaXQgaXMgYWx3YXlzIGFzeW5jLlxuICAgICAgc2NoZWR1bGVNaWNyb1Rhc2soKCkgPT4ge1xuICAgICAgICB3aGlsZSAodGhpcy5fY2FsbGJhY2tzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICh0aGlzLl9jYWxsYmFja3MucG9wKCkpKHRoaXMuX2RpZFdvcmspO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RpZFdvcmsgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOb3QgUmVhZHlcbiAgICAgIHRoaXMuX2RpZFdvcmsgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHdoZW5TdGFibGUoY2FsbGJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICAgIHRoaXMuX3J1bkNhbGxiYWNrc0lmUmVhZHkoKTtcbiAgfVxuXG4gIGdldFBlbmRpbmdSZXF1ZXN0Q291bnQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX3BlbmRpbmdDb3VudDsgfVxuXG4gIGZpbmRCaW5kaW5ncyh1c2luZzogYW55LCBwcm92aWRlcjogc3RyaW5nLCBleGFjdE1hdGNoOiBib29sZWFuKTogYW55W10ge1xuICAgIC8vIFRPRE8oanVsaWVtcik6IGltcGxlbWVudC5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBmaW5kUHJvdmlkZXJzKHVzaW5nOiBhbnksIHByb3ZpZGVyOiBzdHJpbmcsIGV4YWN0TWF0Y2g6IGJvb2xlYW4pOiBhbnlbXSB7XG4gICAgLy8gVE9ETyhqdWxpZW1yKTogaW1wbGVtZW50LlxuICAgIHJldHVybiBbXTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZ2xvYmFsIHJlZ2lzdHJ5IG9mIHtAbGluayBUZXN0YWJpbGl0eX0gaW5zdGFuY2VzIGZvciBzcGVjaWZpYyBlbGVtZW50cy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlc3RhYmlsaXR5UmVnaXN0cnkge1xuICAvKiogQGludGVybmFsICovXG4gIF9hcHBsaWNhdGlvbnMgPSBuZXcgTWFwPGFueSwgVGVzdGFiaWxpdHk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IF90ZXN0YWJpbGl0eUdldHRlci5hZGRUb1dpbmRvdyh0aGlzKTsgfVxuXG4gIHJlZ2lzdGVyQXBwbGljYXRpb24odG9rZW46IGFueSwgdGVzdGFiaWxpdHk6IFRlc3RhYmlsaXR5KSB7XG4gICAgdGhpcy5fYXBwbGljYXRpb25zLnNldCh0b2tlbiwgdGVzdGFiaWxpdHkpO1xuICB9XG5cbiAgZ2V0VGVzdGFiaWxpdHkoZWxlbTogYW55KTogVGVzdGFiaWxpdHkgeyByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25zLmdldChlbGVtKTsgfVxuXG4gIGdldEFsbFRlc3RhYmlsaXRpZXMoKTogVGVzdGFiaWxpdHlbXSB7IHJldHVybiBNYXBXcmFwcGVyLnZhbHVlcyh0aGlzLl9hcHBsaWNhdGlvbnMpOyB9XG5cbiAgZ2V0QWxsUm9vdEVsZW1lbnRzKCk6IGFueVtdIHsgcmV0dXJuIE1hcFdyYXBwZXIua2V5cyh0aGlzLl9hcHBsaWNhdGlvbnMpOyB9XG5cbiAgZmluZFRlc3RhYmlsaXR5SW5UcmVlKGVsZW06IE5vZGUsIGZpbmRJbkFuY2VzdG9yczogYm9vbGVhbiA9IHRydWUpOiBUZXN0YWJpbGl0eSB7XG4gICAgcmV0dXJuIF90ZXN0YWJpbGl0eUdldHRlci5maW5kVGVzdGFiaWxpdHlJblRyZWUodGhpcywgZWxlbSwgZmluZEluQW5jZXN0b3JzKTtcbiAgfVxufVxuXG4vKipcbiAqIEFkYXB0ZXIgaW50ZXJmYWNlIGZvciByZXRyaWV2aW5nIHRoZSBgVGVzdGFiaWxpdHlgIHNlcnZpY2UgYXNzb2NpYXRlZCBmb3IgYVxuICogcGFydGljdWxhciBjb250ZXh0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFRlc3RhYmlsaXR5IHtcbiAgYWRkVG9XaW5kb3cocmVnaXN0cnk6IFRlc3RhYmlsaXR5UmVnaXN0cnkpOiB2b2lkO1xuICBmaW5kVGVzdGFiaWxpdHlJblRyZWUocmVnaXN0cnk6IFRlc3RhYmlsaXR5UmVnaXN0cnksIGVsZW06IGFueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJbkFuY2VzdG9yczogYm9vbGVhbik6IFRlc3RhYmlsaXR5O1xufVxuXG5AQ09OU1QoKVxuY2xhc3MgX05vb3BHZXRUZXN0YWJpbGl0eSBpbXBsZW1lbnRzIEdldFRlc3RhYmlsaXR5IHtcbiAgYWRkVG9XaW5kb3cocmVnaXN0cnk6IFRlc3RhYmlsaXR5UmVnaXN0cnkpOiB2b2lkIHt9XG4gIGZpbmRUZXN0YWJpbGl0eUluVHJlZShyZWdpc3RyeTogVGVzdGFiaWxpdHlSZWdpc3RyeSwgZWxlbTogYW55LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEluQW5jZXN0b3JzOiBib29sZWFuKTogVGVzdGFiaWxpdHkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogU2V0IHRoZSB7QGxpbmsgR2V0VGVzdGFiaWxpdHl9IGltcGxlbWVudGF0aW9uIHVzZWQgYnkgdGhlIEFuZ3VsYXIgdGVzdGluZyBmcmFtZXdvcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRUZXN0YWJpbGl0eUdldHRlcihnZXR0ZXI6IEdldFRlc3RhYmlsaXR5KTogdm9pZCB7XG4gIF90ZXN0YWJpbGl0eUdldHRlciA9IGdldHRlcjtcbn1cblxudmFyIF90ZXN0YWJpbGl0eUdldHRlcjogR2V0VGVzdGFiaWxpdHkgPSBDT05TVF9FWFBSKG5ldyBfTm9vcEdldFRlc3RhYmlsaXR5KCkpO1xuIl19
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { Directive, Optional, Inject, Host, SkipSelf, forwardRef, Provider, Self } from 'angular2/core'; import { CONST_EXPR } from 'angular2/src/facade/lang'; import { ControlContainer } from './control_container'; import { controlPath, composeValidators, composeAsyncValidators } from './shared'; import { NG_VALIDATORS, NG_ASYNC_VALIDATORS } from '../validators'; const controlGroupProvider = CONST_EXPR(new Provider(ControlContainer, { useExisting: forwardRef(() => NgControlGroup) })); /** * Creates and binds a control group to a DOM element. * * This directive can only be used as a child of {@link NgForm} or {@link NgFormModel}. * * ### Example ([live demo](http://plnkr.co/edit/7EJ11uGeaggViYM6T5nq?p=preview)) * * ```typescript * @Component({ * selector: 'my-app', * directives: [FORM_DIRECTIVES], * }) * @View({ * template: ` * <div>
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Directive, ElementRef, Renderer, forwardRef, Provider } from 'angular2/core'; import { NG_VALUE_ACCESSOR } from './control_value_accessor'; import { CONST_EXPR, NumberWrapper } from 'angular2/src/facade/lang'; const NUMBER_VALUE_ACCESSOR = CONST_EXPR(new Provider(NG_VALUE_ACCESSOR, { useExisting: forwardRef(() => NumberValueAccessor), multi: true })); /** * The accessor for writing a number value and listening to changes that is used by the * {@link NgModel}, {@link NgFormControl}, and {@link NgControlName} directives. * * ### Example * ``` * <input type="number" [(ngModel)]="age"> * ``` */ export let NumberValueAccessor = class NumberValueAccessor { constructor(_renderer, _elementRef) { this._renderer = _renderer; this._elementRef = _elementRef; this.onChange = (_) => { }; this.onTouched = () => { }; } writeValue(value) { this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', value);
constructor(data = CONST_EXPR({})) { this.data = data; }
var title_1 = require('angular2/src/platform/browser/title'); exports.Title = title_1.Title; var common_dom_2 = require('angular2/platform/common_dom'); exports.ELEMENT_PROBE_PROVIDERS = common_dom_2.ELEMENT_PROBE_PROVIDERS; exports.ELEMENT_PROBE_PROVIDERS_PROD_MODE = common_dom_2.ELEMENT_PROBE_PROVIDERS_PROD_MODE; exports.inspectNativeElement = common_dom_2.inspectNativeElement; exports.By = common_dom_2.By; var browser_adapter_2 = require('./browser/browser_adapter'); exports.BrowserDomAdapter = browser_adapter_2.BrowserDomAdapter; var tools_1 = require('angular2/src/platform/browser/tools/tools'); exports.enableDebugTools = tools_1.enableDebugTools; exports.disableDebugTools = tools_1.disableDebugTools; var hammer_gestures_2 = require('./dom/events/hammer_gestures'); exports.HAMMER_GESTURE_CONFIG = hammer_gestures_2.HAMMER_GESTURE_CONFIG; exports.HammerGestureConfig = hammer_gestures_2.HammerGestureConfig; exports.BROWSER_PLATFORM_MARKER = lang_1.CONST_EXPR(new di_1.OpaqueToken('BrowserPlatformMarker')); /** * A set of providers to initialize the Angular platform in a web browser. * * Used automatically by `bootstrap`, or can be passed to {@link platform}. */ exports.BROWSER_PROVIDERS = lang_1.CONST_EXPR([ new di_1.Provider(exports.BROWSER_PLATFORM_MARKER, { useValue: true }), core_1.PLATFORM_COMMON_PROVIDERS, new di_1.Provider(core_1.PLATFORM_INITIALIZER, { useValue: initDomAdapter, multi: true }), ]); function _exceptionHandler() { // !IS_DART is required because we must rethrow exceptions in JS, // but must not rethrow exceptions in Dart return new core_1.ExceptionHandler(dom_adapter_1.DOM, !lang_1.IS_DART); }
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = require('angular2/core'); var common_1 = require('angular2/common'); var lang_1 = require('angular2/src/facade/lang'); var RADIO_VALUE_ACCESSOR = lang_1.CONST_EXPR(new core_1.Provider(common_1.NG_VALUE_ACCESSOR, { useExisting: core_1.forwardRef(function () { return RadioButton; }), multi: true })); var RadioButton = (function () { function RadioButton() { this.click = new core_1.EventEmitter(); this.onModelChange = function () { }; this.onModelTouched = function () { }; } RadioButton.prototype.onclick = function () { this.click.emit(null); this.checked = true; this.onModelChange(this.value); }; RadioButton.prototype.writeValue = function (model) { this.model = model; this.checked = (this.model == this.value); };
exports.ELEMENT_PROBE_PROVIDERS = common_dom_1.ELEMENT_PROBE_PROVIDERS; exports.ELEMENT_PROBE_BINDINGS = common_dom_1.ELEMENT_PROBE_BINDINGS; exports.inspectNativeElement = common_dom_1.inspectNativeElement; exports.By = common_dom_1.By; var browser_adapter_2 = require('./browser/browser_adapter'); exports.BrowserDomAdapter = browser_adapter_2.BrowserDomAdapter; var tools_1 = require('angular2/src/platform/browser/tools/tools'); exports.enableDebugTools = tools_1.enableDebugTools; exports.disableDebugTools = tools_1.disableDebugTools; /** * A set of providers to initialize the Angular platform in a web browser. * * Used automatically by `bootstrap`, or can be passed to {@link platform}. */ exports.BROWSER_PROVIDERS = lang_1.CONST_EXPR([ core_1.PLATFORM_COMMON_PROVIDERS, new di_1.Provider(core_1.PLATFORM_INITIALIZER, { useValue: initDomAdapter, multi: true }), ]); function _exceptionHandler() { // !IS_DART is required because we must rethrow exceptions in JS, // but must not rethrow exceptions in Dart return new core_1.ExceptionHandler(dom_adapter_1.DOM, !lang_1.IS_DART); } function _document() { return dom_adapter_1.DOM.defaultDoc(); } /** * A set of providers to initialize an Angular application in a web browser. * * Used automatically by `bootstrap`, or can be passed to {@link PlatformRef.application}. */ exports.BROWSER_APP_COMMON_PROVIDERS = lang_1.CONST_EXPR([
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var core_1 = require('angular2/core'); var lang_1 = require('angular2/src/facade/lang'); var control_container_1 = require('./control_container'); var shared_1 = require('./shared'); var validators_1 = require('../validators'); var controlGroupProvider = lang_1.CONST_EXPR(new core_1.Provider(control_container_1.ControlContainer, { useExisting: core_1.forwardRef(function () { return NgControlGroup; }) })); /** * Creates and binds a control group to a DOM element. * * This directive can only be used as a child of {@link NgForm} or {@link NgFormModel}. * * ### Example ([live demo](http://plnkr.co/edit/7EJ11uGeaggViYM6T5nq?p=preview)) * * ```typescript * @Component({ * selector: 'my-app', * directives: [FORM_DIRECTIVES], * template: ` * <div> * <h2>Angular2 Control & ControlGroup Example</h2> * <form #f="ngForm">
'use strict';"use strict"; var lang_1 = require('angular2/src/facade/lang'); var di_1 = require('angular2/src/core/di'); var console_1 = require('angular2/src/core/console'); var reflection_1 = require('./reflection/reflection'); var reflector_reader_1 = require('./reflection/reflector_reader'); var testability_1 = require('angular2/src/core/testability/testability'); var application_ref_1 = require('./application_ref'); function _reflector() { return reflection_1.reflector; } /** * A default set of providers which should be included in any Angular platform. */ exports.PLATFORM_COMMON_PROVIDERS = lang_1.CONST_EXPR([ application_ref_1.PLATFORM_CORE_PROVIDERS, new di_1.Provider(reflection_1.Reflector, { useFactory: _reflector, deps: [] }), new di_1.Provider(reflector_reader_1.ReflectorReader, { useExisting: reflection_1.Reflector }), testability_1.TestabilityRegistry, console_1.Console ]); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm1fY29tbW9uX3Byb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpZmZpbmdfcGx1Z2luX3dyYXBwZXItb3V0cHV0X3BhdGgtNG5vM1pRdk8udG1wL2FuZ3VsYXIyL3NyYy9jb3JlL3BsYXRmb3JtX2NvbW1vbl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFCQUFzRSwwQkFBMEIsQ0FBQyxDQUFBO0FBQ2pHLG1CQUF1RCxzQkFBc0IsQ0FBQyxDQUFBO0FBQzlFLHdCQUFzQiwyQkFBMkIsQ0FBQyxDQUFBO0FBQ2xELDJCQUFtQyx5QkFBeUIsQ0FBQyxDQUFBO0FBQzdELGlDQUE4QiwrQkFBK0IsQ0FBQyxDQUFBO0FBQzlELDRCQUFrQywyQ0FBMkMsQ0FBQyxDQUFBO0FBQzlFLGdDQUFzQyxtQkFBbUIsQ0FBQyxDQUFBO0FBRTFEO0lBQ0UsTUFBTSxDQUFDLHNCQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOztHQUVHO0FBQ1UsaUNBQXlCLEdBQW1DLGlCQUFVLENBQUM7SUFDbEYseUNBQXVCO0lBQ3ZCLElBQUksYUFBUSxDQUFDLHNCQUFTLEVBQUUsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUMzRCxJQUFJLGFBQVEsQ0FBQyxrQ0FBZSxFQUFFLEVBQUMsV0FBVyxFQUFFLHNCQUFTLEVBQUMsQ0FBQztJQUN2RCxpQ0FBbUI7SUFDbkIsaUJBQU87Q0FDUixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGUsIGlzQmxhbmssIGlzUHJlc2VudCwgYXNzZXJ0aW9uc0VuYWJsZWQsIENPTlNUX0VYUFJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9mYWNhZGUvbGFuZyc7XG5pbXBvcnQge3Byb3ZpZGUsIFByb3ZpZGVyLCBJbmplY3RvciwgT3BhcXVlVG9rZW59IGZyb20gJ2FuZ3VsYXIyL3NyYy9jb3JlL2RpJztcbmltcG9ydCB7Q29uc29sZX0gZnJvbSAnYW5ndWxhcjIvc3JjL2NvcmUvY29uc29sZSc7XG5pbXBvcnQge1JlZmxlY3RvciwgcmVmbGVjdG9yfSBmcm9tICcuL3JlZmxlY3Rpb24vcmVmbGVjdGlvbic7XG5pbXBvcnQge1JlZmxlY3RvclJlYWRlcn0gZnJvbSAnLi9yZWZsZWN0aW9uL3JlZmxlY3Rvcl9yZWFkZXInO1xuaW1wb3J0IHtUZXN0YWJpbGl0eVJlZ2lzdHJ5fSBmcm9tICdhbmd1bGFyMi9zcmMvY29yZS90ZXN0YWJpbGl0eS90ZXN0YWJpbGl0eSc7XG5pbXBvcnQge1BMQVRGT1JNX0NPUkVfUFJPVklERVJTfSBmcm9tICcuL2FwcGxpY2F0aW9uX3JlZic7XG5cbmZ1bmN0aW9uIF9yZWZsZWN0b3IoKTogUmVmbGVjdG9yIHtcbiAgcmV0dXJuIHJlZmxlY3Rvcjtcbn1cblxuLyoqXG4gKiBBIGRlZmF1bHQgc2V0IG9mIHByb3ZpZGVycyB3aGljaCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gYW55IEFuZ3VsYXIgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBjb25zdCBQTEFURk9STV9DT01NT05fUFJPVklERVJTOiBBcnJheTxUeXBlIHwgUHJvdmlkZXIgfCBhbnlbXT4gPSBDT05TVF9FWFBSKFtcbiAgUExBVEZPUk1fQ09SRV9QUk9WSURFUlMsXG4gIG5ldyBQcm92aWRlcihSZWZsZWN0b3IsIHt1c2VGYWN0b3J5OiBfcmVmbGVjdG9yLCBkZXBzOiBbXX0pLFxuICBuZXcgUHJvdmlkZXIoUmVmbGVjdG9yUmVhZGVyLCB7dXNlRXhpc3Rpbmc6IFJlZmxlY3Rvcn0pLFxuICBUZXN0YWJpbGl0eVJlZ2lzdHJ5LFxuICBDb25zb2xlXG5dKTsiXX0=
}; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var async_1 = require('angular2/src/facade/async'); var collection_1 = require('angular2/src/facade/collection'); var lang_1 = require('angular2/src/facade/lang'); var core_1 = require('angular2/core'); var control_container_1 = require('./control_container'); var model_1 = require('../model'); var shared_1 = require('./shared'); var validators_1 = require('../validators'); var formDirectiveProvider = lang_1.CONST_EXPR(new core_1.Provider(control_container_1.ControlContainer, { useExisting: core_1.forwardRef(function () { return NgForm; }) })); /** * If `NgForm` is bound in a component, `<form>` elements in that component will be * upgraded to use the Angular form system. * * ### Typical Use * * Include `FORM_DIRECTIVES` in the `directives` section of a {@link View} annotation * to use `NgForm` and its associated controls. * * ### Structure * * An Angular form is a collection of `Control`s in some hierarchy. * `Control`s can be at the top level or can be organized in `ControlGroup`s * or `ControlArray`s. This hierarchy is reflected in the form's `value`, a * JSON object that mirrors the form structure.
import { RouterLinkTransform } from 'angular2/src/router/directives/router_link_transform'; import { CONST_EXPR } from 'angular2/src/facade/lang'; export { RouterLinkTransform } from 'angular2/src/router/directives/router_link_transform'; /** * Enables the router link DSL. * * Warning. This feature is experimental and can change. * * To enable the transformer pass the router link DSL provider to `bootstrap`. * * ## Example: * ``` * import {bootstrap} from 'angular2/platform/browser'; * import {ROUTER_LINK_DSL_PROVIDER} from 'angular2/router/router_link_dsl'; * * bootstrap(CustomApp, [ROUTER_LINK_DSL_PROVIDER]); * ``` * * The DSL allows you to express router links as follows: * ``` * <a [routerLink]="route:User"> <!-- Same as <a [routerLink]="['User']"> --> * <a [routerLink]="route:/User"> <!-- Same as <a [routerLink]="['User']"> --> * <a [routerLink]="route:./User"> <!-- Same as <a [routerLink]="['./User']"> --> * <a [routerLink]="./User(id: value, name: 'Bob')"> <!-- Same as <a [routerLink]="['./User', {id: * value, name: 'Bob'}]"> --> * <a [routerLink]="/User/Modal"> <!-- Same as <a [routerLink]="['/User', 'Modal']"> --> * <a [routerLink]="User[Modal]"> <!-- Same as <a [routerLink]="['User', ['Modal']]"> --> * ``` */ export const ROUTER_LINK_DSL_PROVIDER = CONST_EXPR(new Provider(TEMPLATE_TRANSFORMS, { useClass: RouterLinkTransform, multi: true })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX2xpbmtfZHNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW5ndWxhcjIvcm91dGVyL3JvdXRlcl9saW5rX2RzbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CO09BQzlDLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZTtPQUMvQixFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0RBQXNEO09BQ2pGLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCO0FBRW5ELFNBQVEsbUJBQW1CLFFBQU8sc0RBQXNELENBQUM7QUFFekY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxhQUFhLHdCQUF3QixHQUNqQyxVQUFVLENBQUMsSUFBSSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VEVNUExBVEVfVFJBTlNGT1JNU30gZnJvbSAnYW5ndWxhcjIvY29tcGlsZXInO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnYW5ndWxhcjIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmtUcmFuc2Zvcm19IGZyb20gJ2FuZ3VsYXIyL3NyYy9yb3V0ZXIvZGlyZWN0aXZlcy9yb3V0ZXJfbGlua190cmFuc2Zvcm0nO1xuaW1wb3J0IHtDT05TVF9FWFBSfSBmcm9tICdhbmd1bGFyMi9zcmMvZmFjYWRlL2xhbmcnO1xuXG5leHBvcnQge1JvdXRlckxpbmtUcmFuc2Zvcm19IGZyb20gJ2FuZ3VsYXIyL3NyYy9yb3V0ZXIvZGlyZWN0aXZlcy9yb3V0ZXJfbGlua190cmFuc2Zvcm0nO1xuXG4vKipcbiAqIEVuYWJsZXMgdGhlIHJvdXRlciBsaW5rIERTTC5cbiAqXG4gKiBXYXJuaW5nLiBUaGlzIGZlYXR1cmUgaXMgZXhwZXJpbWVudGFsIGFuZCBjYW4gY2hhbmdlLlxuICpcbiAqIFRvIGVuYWJsZSB0aGUgdHJhbnNmb3JtZXIgcGFzcyB0aGUgcm91dGVyIGxpbmsgRFNMIHByb3ZpZGVyIHRvIGBib290c3RyYXBgLlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKiBgYGBcbiAqIGltcG9ydCB7Ym9vdHN0cmFwfSBmcm9tICdhbmd1bGFyMi9wbGF0Zm9ybS9icm93c2VyJztcbiAqIGltcG9ydCB7Uk9VVEVSX0xJTktfRFNMX1BST1ZJREVSfSBmcm9tICdhbmd1bGFyMi9yb3V0ZXIvcm91dGVyX2xpbmtfZHNsJztcbiAqXG4gKiBib290c3RyYXAoQ3VzdG9tQXBwLCBbUk9VVEVSX0xJTktfRFNMX1BST1ZJREVSXSk7XG4gKiBgYGBcbiAqXG4gKiBUaGUgRFNMIGFsbG93cyB5b3UgdG8gZXhwcmVzcyByb3V0ZXIgbGlua3MgYXMgZm9sbG93czpcbiAqIGBgYFxuICogPGEgW3JvdXRlckxpbmtdPVwicm91dGU6VXNlclwiPiA8IS0tIFNhbWUgYXMgPGEgW3JvdXRlckxpbmtdPVwiWydVc2VyJ11cIj4gLS0+XG4gKiA8YSBbcm91dGVyTGlua109XCJyb3V0ZTovVXNlclwiPiA8IS0tIFNhbWUgYXMgPGEgW3JvdXRlckxpbmtdPVwiWydVc2VyJ11cIj4gLS0+XG4gKiA8YSBbcm91dGVyTGlua109XCJyb3V0ZTouL1VzZXJcIj4gPCEtLSBTYW1lIGFzIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi9Vc2VyJ11cIj4gLS0+XG4gKiA8YSBbcm91dGVyTGlua109XCIuL1VzZXIoaWQ6IHZhbHVlLCBuYW1lOiAnQm9iJylcIj4gPCEtLSBTYW1lIGFzIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi9Vc2VyJywge2lkOlxuICogdmFsdWUsIG5hbWU6ICdCb2InfV1cIj4gLS0+XG4gKiA8YSBbcm91dGVyTGlua109XCIvVXNlci9Nb2RhbFwiPiA8IS0tIFNhbWUgYXMgPGEgW3JvdXRlckxpbmtdPVwiWycvVXNlcicsICdNb2RhbCddXCI+IC0tPlxuICogPGEgW3JvdXRlckxpbmtdPVwiVXNlcltNb2RhbF1cIj4gPCEtLSBTYW1lIGFzIDxhIFtyb3V0ZXJMaW5rXT1cIlsnVXNlcicsIFsnTW9kYWwnXV1cIj4gLS0+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFJPVVRFUl9MSU5LX0RTTF9QUk9WSURFUiA9XG4gICAgQ09OU1RfRVhQUihuZXcgUHJvdmlkZXIoVEVNUExBVEVfVFJBTlNGT1JNUywge3VzZUNsYXNzOiBSb3V0ZXJMaW5rVHJhbnNmb3JtLCBtdWx0aTogdHJ1ZX0pKTtcbiJdfQ==
* @Component({directives: [ROUTER_DIRECTIVES]}) * @RouteConfig([ * {...}, * ]) * class AppCmp { * // ... * } * * bootstrap(AppCmp, [ * ROUTER_PROVIDERS, * PathLocationStrategy, * provide(APP_BASE_HREF, {useValue: '/my/app'}) * ]); * ``` */ export const APP_BASE_HREF = CONST_EXPR(new OpaqueToken('appBaseHref')); export function normalizeQueryParams(params) { return (params.length > 0 && params.substring(0, 1) != '?') ? ('?' + params) : params; } export function joinWithSlash(start, end) { if (start.length == 0) { return end; } if (end.length == 0) { return start; } var slashes = 0; if (start.endsWith('/')) { slashes++; } if (end.startsWith('/')) {
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var di_1 = require('angular2/src/core/di'); var lang_1 = require('angular2/src/facade/lang'); var collection_1 = require('angular2/src/facade/collection'); var dom_adapter_1 = require('angular2/src/platform/dom/dom_adapter'); var html_tags_1 = require('angular2/src/compiler/html_tags'); var element_schema_registry_1 = require('./element_schema_registry'); var NAMESPACE_URIS = lang_1.CONST_EXPR({ 'xlink': 'http://www.w3.org/1999/xlink', 'svg': 'http://www.w3.org/2000/svg' }); var DomElementSchemaRegistry = (function (_super) { __extends(DomElementSchemaRegistry, _super); function DomElementSchemaRegistry() { _super.apply(this, arguments); this._protoElements = new Map(); } DomElementSchemaRegistry.prototype._getProtoElement = function (tagName) { var element = this._protoElements.get(tagName); if (lang_1.isBlank(element)) { var nsAndName = html_tags_1.splitNsName(tagName); element = lang_1.isPresent(nsAndName[0]) ? dom_adapter_1.DOM.createElementNS(NAMESPACE_URIS[nsAndName[0]], nsAndName[1]) : dom_adapter_1.DOM.createElement(nsAndName[1]); this._protoElements.set(tagName, element); }
var compiler_1 = require('angular2/compiler'); var xhr_impl_1 = require('angular2/src/platform/browser/xhr_impl'); var testability_1 = require('angular2/src/core/testability/testability'); var testability_2 = require('angular2/src/platform/browser/testability'); var browser_adapter_1 = require('./browser/browser_adapter'); var wtf_init_1 = require('angular2/src/core/profile/wtf_init'); var renderer_1 = require('angular2/src/web_workers/ui/renderer'); var xhr_impl_2 = require('angular2/src/web_workers/ui/xhr_impl'); var service_message_broker_1 = require('angular2/src/web_workers/shared/service_message_broker'); var client_message_broker_1 = require('angular2/src/web_workers/shared/client_message_broker'); var browser_platform_location_1 = require('angular2/src/platform/browser/location/browser_platform_location'); var serializer_1 = require('angular2/src/web_workers/shared/serializer'); var api_1 = require('angular2/src/web_workers/shared/api'); var render_store_1 = require('angular2/src/web_workers/shared/render_store'); var hammer_gestures_2 = require('./dom/events/hammer_gestures'); exports.WORKER_SCRIPT = lang_1.CONST_EXPR(new di_1.OpaqueToken("WebWorkerScript")); // Message based Worker classes that listen on the MessageBus exports.WORKER_RENDER_MESSAGING_PROVIDERS = lang_1.CONST_EXPR([renderer_1.MessageBasedRenderer, xhr_impl_2.MessageBasedXHRImpl]); exports.WORKER_RENDER_PLATFORM_MARKER = lang_1.CONST_EXPR(new di_1.OpaqueToken('WorkerRenderPlatformMarker')); exports.WORKER_RENDER_PLATFORM = lang_1.CONST_EXPR([ core_1.PLATFORM_COMMON_PROVIDERS, lang_1.CONST_EXPR(new di_1.Provider(exports.WORKER_RENDER_PLATFORM_MARKER, { useValue: true })), new di_1.Provider(core_1.PLATFORM_INITIALIZER, { useValue: initWebWorkerRenderPlatform, multi: true }) ]); /** * A list of {@link Provider}s. To use the router in a Worker enabled application you must * include these providers when setting up the render thread. */ exports.WORKER_RENDER_ROUTER = lang_1.CONST_EXPR([browser_platform_location_1.BrowserPlatformLocation]); exports.WORKER_RENDER_APPLICATION_COMMON = lang_1.CONST_EXPR([ core_1.APPLICATION_COMMON_PROVIDERS,
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { HammerGesturesPluginCommon } from './hammer_common'; import { isPresent, CONST_EXPR } from 'angular2/src/facade/lang'; import { BaseException } from 'angular2/src/facade/exceptions'; import { Injectable, Inject, OpaqueToken } from 'angular2/core'; export const HAMMER_GESTURE_CONFIG = CONST_EXPR(new OpaqueToken("HammerGestureConfig")); export let HammerGestureConfig = class HammerGestureConfig { constructor() { this.events = []; this.overrides = {}; } buildHammer(element) { var mc = new Hammer(element); mc.get('pinch').set({ enable: true }); mc.get('rotate').set({ enable: true }); for (let eventName in this.overrides) { mc.get(eventName).set(this.overrides[eventName]); } return mc; } };
constructor(_resolver, _urlPath = '', _urlParams = CONST_EXPR([])) { super(); this._resolver = _resolver; this._urlPath = _urlPath; this._urlParams = _urlParams; }
/* */ "format cjs"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Directive, Renderer, ElementRef, forwardRef, Provider } from 'angular2/core'; import { NG_VALUE_ACCESSOR } from './control_value_accessor'; import { CONST_EXPR } from 'angular2/src/facade/lang'; const CHECKBOX_VALUE_ACCESSOR = CONST_EXPR(new Provider(NG_VALUE_ACCESSOR, { useExisting: forwardRef(() => CheckboxControlValueAccessor), multi: true })); /** * The accessor for writing a value and listening to changes on a checkbox input element. * * ### Example * ``` * <input type="checkbox" ngControl="rememberLogin"> * ``` */ export let CheckboxControlValueAccessor = class { constructor(_renderer, _elementRef) { this._renderer = _renderer; this._elementRef = _elementRef; this.onChange = (_) => { }; this.onTouched = () => { }; } writeValue(value) {
'use strict';var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = require('angular2/core'); var control_value_accessor_1 = require('./control_value_accessor'); var lang_1 = require('angular2/src/facade/lang'); var CHECKBOX_VALUE_ACCESSOR = lang_1.CONST_EXPR(new core_1.Provider(control_value_accessor_1.NG_VALUE_ACCESSOR, { useExisting: core_1.forwardRef(function () { return CheckboxControlValueAccessor; }), multi: true })); /** * The accessor for writing a value and listening to changes on a checkbox input element. * * ### Example * ``` * <input type="checkbox" ngControl="rememberLogin"> * ``` */ var CheckboxControlValueAccessor = (function () { function CheckboxControlValueAccessor(_renderer, _elementRef) { this._renderer = _renderer; this._elementRef = _elementRef; this.onChange = function (_) { }; this.onTouched = function () { }; } CheckboxControlValueAccessor.prototype.writeValue = function (value) { this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', value); };
export { AngularEntrypoint } from 'angular2/src/core/angular_entrypoint'; export { BROWSER_PROVIDERS, ELEMENT_PROBE_PROVIDERS, ELEMENT_PROBE_PROVIDERS_PROD_MODE, inspectNativeElement, BrowserDomAdapter, By, Title, DOCUMENT, enableDebugTools, disableDebugTools } from 'angular2/src/platform/browser_common'; import { isPresent, CONST_EXPR } from 'angular2/src/facade/lang'; import { BROWSER_PROVIDERS, BROWSER_APP_COMMON_PROVIDERS } from 'angular2/src/platform/browser_common'; import { COMPILER_PROVIDERS } from 'angular2/compiler'; import { platform, reflector } from 'angular2/core'; import { ReflectionCapabilities } from 'angular2/src/core/reflection/reflection_capabilities'; import { XHRImpl } from "angular2/src/platform/browser/xhr_impl"; import { XHR } from 'angular2/compiler'; import { Provider } from 'angular2/src/core/di'; /** * An array of providers that should be passed into `application()` when bootstrapping a component. */ export const BROWSER_APP_PROVIDERS = CONST_EXPR([ BROWSER_APP_COMMON_PROVIDERS, COMPILER_PROVIDERS, new Provider(XHR, { useClass: XHRImpl }), ]); /** * Bootstrapping for Angular applications. * * You instantiate an Angular application by explicitly specifying a component to use * as the root component for your application via the `bootstrap()` method. * * ## Simple Example * * Assuming this `index.html`: * * ```html * <html> * <!-- load Angular script tags here. -->
function RouteData(data) { if (data === void 0) { data = lang_1.CONST_EXPR({}); } this.data = data; }
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { CONST_EXPR } from 'angular2/src/facade/lang'; import { BaseException } from 'angular2/src/facade/exceptions'; import { Injectable, Inject, OpaqueToken } from 'angular2/src/core/di'; import { NgZone } from 'angular2/src/core/zone/ng_zone'; import { ListWrapper } from 'angular2/src/facade/collection'; export const EVENT_MANAGER_PLUGINS = CONST_EXPR(new OpaqueToken("EventManagerPlugins")); export let EventManager = class { constructor(plugins, _zone) { this._zone = _zone; plugins.forEach(p => p.manager = this); this._plugins = ListWrapper.reversed(plugins); } addEventListener(element, eventName, handler) { var plugin = this._findPluginFor(eventName); return plugin.addEventListener(element, eventName, handler); } addGlobalEventListener(target, eventName, handler) { var plugin = this._findPluginFor(eventName); return plugin.addGlobalEventListener(target, eventName, handler); } getZone() { return this._zone; }
}; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { PromiseWrapper, ObservableWrapper, EventEmitter } from 'angular2/src/facade/async'; import { ListWrapper } from 'angular2/src/facade/collection'; import { isPresent, CONST_EXPR } from 'angular2/src/facade/lang'; import { Directive, forwardRef, Provider, Optional, Inject, Self } from 'angular2/core'; import { ControlContainer } from './control_container'; import { ControlGroup, Control } from '../model'; import { setUpControl, setUpControlGroup, composeValidators, composeAsyncValidators } from './shared'; import { NG_VALIDATORS, NG_ASYNC_VALIDATORS } from '../validators'; const formDirectiveProvider = CONST_EXPR(new Provider(ControlContainer, { useExisting: forwardRef(() => NgForm) })); /** * If `NgForm` is bound in a component, `<form>` elements in that component will be * upgraded to use the Angular form system. * * ### Typical Use * * Include `FORM_DIRECTIVES` in the `directives` section of a {@link View} annotation * to use `NgForm` and its associated controls. * * ### Structure * * An Angular form is a collection of `Control`s in some hierarchy. * `Control`s can be at the top level or can be organized in `ControlGroup`s * or `ControlArray`s. This hierarchy is reflected in the form's `value`, a * JSON object that mirrors the form structure.
var location_strategy_1 = require('angular2/src/router/location/location_strategy'); var path_location_strategy_1 = require('angular2/src/router/location/path_location_strategy'); var router_1 = require('angular2/src/router/router'); var route_registry_1 = require('angular2/src/router/route_registry'); var location_1 = require('angular2/src/router/location/location'); var lang_1 = require('angular2/src/facade/lang'); var core_1 = require('angular2/core'); var exceptions_1 = require('angular2/src/facade/exceptions'); /** * The Platform agnostic ROUTER PROVIDERS */ exports.ROUTER_PROVIDERS_COMMON = lang_1.CONST_EXPR([ route_registry_1.RouteRegistry, lang_1.CONST_EXPR(new core_1.Provider(location_strategy_1.LocationStrategy, { useClass: path_location_strategy_1.PathLocationStrategy })), location_1.Location, lang_1.CONST_EXPR(new core_1.Provider(router_1.Router, { useFactory: routerFactory, deps: lang_1.CONST_EXPR([route_registry_1.RouteRegistry, location_1.Location, route_registry_1.ROUTER_PRIMARY_COMPONENT, core_1.ApplicationRef]) })), lang_1.CONST_EXPR(new core_1.Provider(route_registry_1.ROUTER_PRIMARY_COMPONENT, { useFactory: routerPrimaryComponentFactory, deps: lang_1.CONST_EXPR([core_1.ApplicationRef]) })) ]); function routerFactory(registry, location, primaryComponent, appRef) { var rootRouter = new router_1.RootRouter(registry, location, primaryComponent); appRef.registerDisposeListener(function () { return rootRouter.dispose(); }); return rootRouter; } function routerPrimaryComponentFactory(app) { if (app.componentTypes.length == 0) { throw new exceptions_1.BaseException("Bootstrap at least one component before injecting Router."); } return app.componentTypes[0]; }
/** * A compiled template. */ export let CompiledComponentTemplate = class { constructor(id, changeDetectorFactory, commands, styles) { this.id = id; this.changeDetectorFactory = changeDetectorFactory; this.commands = commands; this.styles = styles; } }; CompiledComponentTemplate = __decorate([ CONST(), __metadata('design:paramtypes', [String, Function, Array, Array]) ], CompiledComponentTemplate); const EMPTY_ARR = CONST_EXPR([]); export let TextCmd = class { constructor(value, isBound, ngContentIndex) { this.value = value; this.isBound = isBound; this.ngContentIndex = ngContentIndex; } visit(visitor, context) { return visitor.visitText(this, context); } }; TextCmd = __decorate([ CONST(), __metadata('design:paramtypes', [String, Boolean, Number]) ], TextCmd); export let NgContentCmd = class {
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { Directive, Host, ViewContainerRef, TemplateRef } from 'angular2/core'; import { isPresent, isBlank, normalizeBlank, CONST_EXPR } from 'angular2/src/facade/lang'; import { ListWrapper, Map } from 'angular2/src/facade/collection'; const _WHEN_DEFAULT = CONST_EXPR(new Object()); export class SwitchView { constructor(_viewContainerRef, _templateRef) { this._viewContainerRef = _viewContainerRef; this._templateRef = _templateRef; } create() { this._viewContainerRef.createEmbeddedView(this._templateRef); } destroy() { this._viewContainerRef.clear(); } } /** * Adds or removes DOM sub-trees when their match expressions match the switch expression. * * Elements within `NgSwitch` but without `NgSwitchWhen` or `NgSwitchDefault` directives will be * preserved at the location as specified in the template. * * `NgSwitch` simply inserts nested elements based on which match expression matches the value
}; import { ListWrapper, MapWrapper, Map, StringMapWrapper } from 'angular2/src/facade/collection'; import { Locals } from 'angular2/src/core/change_detection/change_detection'; import { DebugContext } from 'angular2/src/core/change_detection/interfaces'; import { AppElement } from './element'; import { isPresent, isBlank, CONST, CONST_EXPR } from 'angular2/src/facade/lang'; import { BaseException } from 'angular2/src/facade/exceptions'; import { RenderDebugInfo } from 'angular2/src/core/render/api'; import { ViewRef_ } from './view_ref'; import { ProtoPipes } from 'angular2/src/core/pipes/pipes'; import { camelCaseToDashCase } from 'angular2/src/core/render/util'; export { DebugContext } from 'angular2/src/core/change_detection/interfaces'; import { Pipes } from 'angular2/src/core/pipes/pipes'; import { ViewType } from './view_type'; const REFLECT_PREFIX = 'ng-reflect-'; const EMPTY_CONTEXT = CONST_EXPR(new Object()); /** * Cost of making objects: http://jsperf.com/instantiate-size-of-object * */ export class AppView { constructor(proto, renderer, viewManager, projectableNodes, containerAppElement, imperativelyCreatedProviders, rootInjector, changeDetector) { this.proto = proto; this.renderer = renderer; this.viewManager = viewManager; this.projectableNodes = projectableNodes; this.containerAppElement = containerAppElement; this.changeDetector = changeDetector; /** * The context against which data-binding expressions in this view are evaluated against. * This is always a component instance.
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Injectable } from 'angular2/src/core/di'; import { isPresent, isBlank, CONST_EXPR } from 'angular2/src/facade/lang'; import { StringMapWrapper } from 'angular2/src/facade/collection'; import { DOM } from 'angular2/src/platform/dom/dom_adapter'; import { splitNsName } from 'angular2/src/compiler/html_tags'; import { ElementSchemaRegistry } from './element_schema_registry'; const NAMESPACE_URIS = CONST_EXPR({ 'xlink': 'http://www.w3.org/1999/xlink', 'svg': 'http://www.w3.org/2000/svg' }); export let DomElementSchemaRegistry = class extends ElementSchemaRegistry { constructor(...args) { super(...args); this._protoElements = new Map(); } _getProtoElement(tagName) { var element = this._protoElements.get(tagName); if (isBlank(element)) { var nsAndName = splitNsName(tagName); element = isPresent(nsAndName[0]) ? DOM.createElementNS(NAMESPACE_URIS[nsAndName[0]], nsAndName[1]) : DOM.createElement(nsAndName[1]); this._protoElements.set(tagName, element); } return element;