angular2
Version:
Angular 2 - a web framework for modern web apps
1,191 lines (1,178 loc) • 102 kB
JavaScript
"format register";
System.register("angular2/src/mock/animation_builder_mock", ["angular2/src/core/di", "angular2/src/animate/animation_builder", "angular2/src/animate/css_animation_builder", "angular2/src/animate/animation", "angular2/src/animate/browser_details"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __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 animation_builder_1 = require("angular2/src/animate/animation_builder");
var css_animation_builder_1 = require("angular2/src/animate/css_animation_builder");
var animation_1 = require("angular2/src/animate/animation");
var browser_details_1 = require("angular2/src/animate/browser_details");
var MockAnimationBuilder = (function(_super) {
__extends(MockAnimationBuilder, _super);
function MockAnimationBuilder() {
_super.call(this, null);
}
MockAnimationBuilder.prototype.css = function() {
return new MockCssAnimationBuilder();
};
MockAnimationBuilder = __decorate([di_1.Injectable(), __metadata('design:paramtypes', [])], MockAnimationBuilder);
return MockAnimationBuilder;
}(animation_builder_1.AnimationBuilder));
exports.MockAnimationBuilder = MockAnimationBuilder;
var MockCssAnimationBuilder = (function(_super) {
__extends(MockCssAnimationBuilder, _super);
function MockCssAnimationBuilder() {
_super.call(this, null);
}
MockCssAnimationBuilder.prototype.start = function(element) {
return new MockAnimation(element, this.data);
};
return MockCssAnimationBuilder;
}(css_animation_builder_1.CssAnimationBuilder));
var MockBrowserAbstraction = (function(_super) {
__extends(MockBrowserAbstraction, _super);
function MockBrowserAbstraction() {
_super.apply(this, arguments);
}
MockBrowserAbstraction.prototype.doesElapsedTimeIncludesDelay = function() {
this.elapsedTimeIncludesDelay = false;
};
return MockBrowserAbstraction;
}(browser_details_1.BrowserDetails));
var MockAnimation = (function(_super) {
__extends(MockAnimation, _super);
function MockAnimation(element, data) {
_super.call(this, element, data, new MockBrowserAbstraction());
}
MockAnimation.prototype.wait = function(callback) {
this._callback = callback;
};
MockAnimation.prototype.flush = function() {
this._callback(0);
this._callback = null;
};
return MockAnimation;
}(animation_1.Animation));
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/directive_resolver_mock", ["angular2/src/core/di", "angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/core/metadata", "angular2/src/compiler/directive_resolver"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __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 collection_1 = require("angular2/src/facade/collection");
var lang_1 = require("angular2/src/facade/lang");
var metadata_1 = require("angular2/src/core/metadata");
var directive_resolver_1 = require("angular2/src/compiler/directive_resolver");
var MockDirectiveResolver = (function(_super) {
__extends(MockDirectiveResolver, _super);
function MockDirectiveResolver() {
_super.apply(this, arguments);
this._providerOverrides = new collection_1.Map();
this.viewProviderOverrides = new collection_1.Map();
}
MockDirectiveResolver.prototype.resolve = function(type) {
var dm = _super.prototype.resolve.call(this, type);
var providerOverrides = this._providerOverrides.get(type);
var viewProviderOverrides = this.viewProviderOverrides.get(type);
var providers = dm.providers;
if (lang_1.isPresent(providerOverrides)) {
var originalViewProviders = lang_1.isPresent(dm.providers) ? dm.providers : [];
providers = originalViewProviders.concat(providerOverrides);
}
if (dm instanceof metadata_1.ComponentMetadata) {
var viewProviders = dm.viewProviders;
if (lang_1.isPresent(viewProviderOverrides)) {
var originalViewProviders = lang_1.isPresent(dm.viewProviders) ? dm.viewProviders : [];
viewProviders = originalViewProviders.concat(viewProviderOverrides);
}
return new metadata_1.ComponentMetadata({
selector: dm.selector,
inputs: dm.inputs,
outputs: dm.outputs,
host: dm.host,
exportAs: dm.exportAs,
moduleId: dm.moduleId,
queries: dm.queries,
changeDetection: dm.changeDetection,
providers: providers,
viewProviders: viewProviders
});
}
return new metadata_1.DirectiveMetadata({
selector: dm.selector,
inputs: dm.inputs,
outputs: dm.outputs,
host: dm.host,
providers: providers,
exportAs: dm.exportAs,
queries: dm.queries
});
};
MockDirectiveResolver.prototype.setBindingsOverride = function(type, bindings) {
this._providerOverrides.set(type, bindings);
};
MockDirectiveResolver.prototype.setViewBindingsOverride = function(type, viewBindings) {
this.viewProviderOverrides.set(type, viewBindings);
};
MockDirectiveResolver.prototype.setProvidersOverride = function(type, providers) {
this._providerOverrides.set(type, providers);
};
MockDirectiveResolver.prototype.setViewProvidersOverride = function(type, viewProviders) {
this.viewProviderOverrides.set(type, viewProviders);
};
MockDirectiveResolver = __decorate([di_1.Injectable(), __metadata('design:paramtypes', [])], MockDirectiveResolver);
return MockDirectiveResolver;
}(directive_resolver_1.DirectiveResolver));
exports.MockDirectiveResolver = MockDirectiveResolver;
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/view_resolver_mock", ["angular2/src/core/di", "angular2/src/core/di", "angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/core/metadata", "angular2/src/compiler/view_resolver"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __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 di_2 = require("angular2/src/core/di");
var collection_1 = require("angular2/src/facade/collection");
var lang_1 = require("angular2/src/facade/lang");
var exceptions_1 = require("angular2/src/facade/exceptions");
var metadata_1 = require("angular2/src/core/metadata");
var view_resolver_1 = require("angular2/src/compiler/view_resolver");
var MockViewResolver = (function(_super) {
__extends(MockViewResolver, _super);
function MockViewResolver() {
_super.call(this);
this._views = new collection_1.Map();
this._inlineTemplates = new collection_1.Map();
this._viewCache = new collection_1.Map();
this._directiveOverrides = new collection_1.Map();
}
MockViewResolver.prototype.setView = function(component, view) {
this._checkOverrideable(component);
this._views.set(component, view);
};
MockViewResolver.prototype.setInlineTemplate = function(component, template) {
this._checkOverrideable(component);
this._inlineTemplates.set(component, template);
};
MockViewResolver.prototype.overrideViewDirective = function(component, from, to) {
this._checkOverrideable(component);
var overrides = this._directiveOverrides.get(component);
if (lang_1.isBlank(overrides)) {
overrides = new collection_1.Map();
this._directiveOverrides.set(component, overrides);
}
overrides.set(from, to);
};
MockViewResolver.prototype.resolve = function(component) {
var view = this._viewCache.get(component);
if (lang_1.isPresent(view))
return view;
view = this._views.get(component);
if (lang_1.isBlank(view)) {
view = _super.prototype.resolve.call(this, component);
}
var directives = [];
var overrides = this._directiveOverrides.get(component);
if (lang_1.isPresent(overrides) && lang_1.isPresent(view.directives)) {
flattenArray(view.directives, directives);
overrides.forEach(function(to, from) {
var srcIndex = directives.indexOf(from);
if (srcIndex == -1) {
throw new exceptions_1.BaseException("Overriden directive " + lang_1.stringify(from) + " not found in the template of " + lang_1.stringify(component));
}
directives[srcIndex] = to;
});
view = new metadata_1.ViewMetadata({
template: view.template,
templateUrl: view.templateUrl,
directives: directives
});
}
var inlineTemplate = this._inlineTemplates.get(component);
if (lang_1.isPresent(inlineTemplate)) {
view = new metadata_1.ViewMetadata({
template: inlineTemplate,
templateUrl: null,
directives: view.directives
});
}
this._viewCache.set(component, view);
return view;
};
MockViewResolver.prototype._checkOverrideable = function(component) {
var cached = this._viewCache.get(component);
if (lang_1.isPresent(cached)) {
throw new exceptions_1.BaseException("The component " + lang_1.stringify(component) + " has already been compiled, its configuration can not be changed");
}
};
MockViewResolver = __decorate([di_2.Injectable(), __metadata('design:paramtypes', [])], MockViewResolver);
return MockViewResolver;
}(view_resolver_1.ViewResolver));
exports.MockViewResolver = MockViewResolver;
function flattenArray(tree, out) {
for (var i = 0; i < tree.length; i++) {
var item = di_1.resolveForwardRef(tree[i]);
if (lang_1.isArray(item)) {
flattenArray(item, out);
} else {
out.push(item);
}
}
}
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/browser/location/platform_location", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var PlatformLocation = (function() {
function PlatformLocation() {}
Object.defineProperty(PlatformLocation.prototype, "pathname", {
get: function() {
return null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PlatformLocation.prototype, "search", {
get: function() {
return null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PlatformLocation.prototype, "hash", {
get: function() {
return null;
},
enumerable: true,
configurable: true
});
return PlatformLocation;
}());
exports.PlatformLocation = PlatformLocation;
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/browser/location/location_strategy", ["angular2/src/facade/lang", "angular2/core"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var lang_1 = require("angular2/src/facade/lang");
var core_1 = require("angular2/core");
var LocationStrategy = (function() {
function LocationStrategy() {}
return LocationStrategy;
}());
exports.LocationStrategy = LocationStrategy;
exports.APP_BASE_HREF = lang_1.CONST_EXPR(new core_1.OpaqueToken('appBaseHref'));
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/browser/location/location", ["angular2/src/facade/async", "angular2/core", "angular2/src/platform/browser/location/location_strategy"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"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 async_1 = require("angular2/src/facade/async");
var core_1 = require("angular2/core");
var location_strategy_1 = require("angular2/src/platform/browser/location/location_strategy");
var Location = (function() {
function Location(platformStrategy) {
var _this = this;
this.platformStrategy = platformStrategy;
this._subject = new async_1.EventEmitter();
var browserBaseHref = this.platformStrategy.getBaseHref();
this._baseHref = Location.stripTrailingSlash(_stripIndexHtml(browserBaseHref));
this.platformStrategy.onPopState(function(ev) {
async_1.ObservableWrapper.callEmit(_this._subject, {
'url': _this.path(),
'pop': true,
'type': ev.type
});
});
}
Location.prototype.path = function() {
return this.normalize(this.platformStrategy.path());
};
Location.prototype.normalize = function(url) {
return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));
};
Location.prototype.prepareExternalUrl = function(url) {
if (url.length > 0 && !url.startsWith('/')) {
url = '/' + url;
}
return this.platformStrategy.prepareExternalUrl(url);
};
Location.prototype.go = function(path, query) {
if (query === void 0) {
query = '';
}
this.platformStrategy.pushState(null, '', path, query);
};
Location.prototype.replaceState = function(path, query) {
if (query === void 0) {
query = '';
}
this.platformStrategy.replaceState(null, '', path, query);
};
Location.prototype.forward = function() {
this.platformStrategy.forward();
};
Location.prototype.back = function() {
this.platformStrategy.back();
};
Location.prototype.subscribe = function(onNext, onThrow, onReturn) {
if (onThrow === void 0) {
onThrow = null;
}
if (onReturn === void 0) {
onReturn = null;
}
return async_1.ObservableWrapper.subscribe(this._subject, onNext, onThrow, onReturn);
};
Location.normalizeQueryParams = function(params) {
return (params.length > 0 && params.substring(0, 1) != '?') ? ('?' + params) : params;
};
Location.joinWithSlash = function(start, end) {
if (start.length == 0) {
return end;
}
if (end.length == 0) {
return start;
}
var slashes = 0;
if (start.endsWith('/')) {
slashes++;
}
if (end.startsWith('/')) {
slashes++;
}
if (slashes == 2) {
return start + end.substring(1);
}
if (slashes == 1) {
return start + end;
}
return start + '/' + end;
};
Location.stripTrailingSlash = function(url) {
if (/\/$/g.test(url)) {
url = url.substring(0, url.length - 1);
}
return url;
};
Location = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [location_strategy_1.LocationStrategy])], Location);
return Location;
}());
exports.Location = Location;
function _stripBaseHref(baseHref, url) {
if (baseHref.length > 0 && url.startsWith(baseHref)) {
return url.substring(baseHref.length);
}
return url;
}
function _stripIndexHtml(url) {
if (/\/index.html$/g.test(url)) {
return url.substring(0, url.length - 11);
}
return url;
}
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/browser/location/path_location_strategy", ["angular2/core", "angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/platform/browser/location/platform_location", "angular2/src/platform/browser/location/location_strategy", "angular2/src/platform/browser/location/location"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
var c = arguments.length,
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if (d = decorators[i])
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function(k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
var core_1 = require("angular2/core");
var lang_1 = require("angular2/src/facade/lang");
var exceptions_1 = require("angular2/src/facade/exceptions");
var platform_location_1 = require("angular2/src/platform/browser/location/platform_location");
var location_strategy_1 = require("angular2/src/platform/browser/location/location_strategy");
var location_1 = require("angular2/src/platform/browser/location/location");
var PathLocationStrategy = (function(_super) {
__extends(PathLocationStrategy, _super);
function PathLocationStrategy(_platformLocation, href) {
_super.call(this);
this._platformLocation = _platformLocation;
if (lang_1.isBlank(href)) {
href = this._platformLocation.getBaseHrefFromDOM();
}
if (lang_1.isBlank(href)) {
throw new exceptions_1.BaseException("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");
}
this._baseHref = href;
}
PathLocationStrategy.prototype.onPopState = function(fn) {
this._platformLocation.onPopState(fn);
this._platformLocation.onHashChange(fn);
};
PathLocationStrategy.prototype.getBaseHref = function() {
return this._baseHref;
};
PathLocationStrategy.prototype.prepareExternalUrl = function(internal) {
return location_1.Location.joinWithSlash(this._baseHref, internal);
};
PathLocationStrategy.prototype.path = function() {
return this._platformLocation.pathname + location_1.Location.normalizeQueryParams(this._platformLocation.search);
};
PathLocationStrategy.prototype.pushState = function(state, title, url, queryParams) {
var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));
this._platformLocation.pushState(state, title, externalUrl);
};
PathLocationStrategy.prototype.replaceState = function(state, title, url, queryParams) {
var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));
this._platformLocation.replaceState(state, title, externalUrl);
};
PathLocationStrategy.prototype.forward = function() {
this._platformLocation.forward();
};
PathLocationStrategy.prototype.back = function() {
this._platformLocation.back();
};
PathLocationStrategy = __decorate([core_1.Injectable(), __param(1, core_1.Optional()), __param(1, core_1.Inject(location_strategy_1.APP_BASE_HREF)), __metadata('design:paramtypes', [platform_location_1.PlatformLocation, String])], PathLocationStrategy);
return PathLocationStrategy;
}(location_strategy_1.LocationStrategy));
exports.PathLocationStrategy = PathLocationStrategy;
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/ng_zone_mock", ["angular2/src/core/di", "angular2/src/core/zone/ng_zone", "angular2/src/facade/async"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __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 ng_zone_1 = require("angular2/src/core/zone/ng_zone");
var async_1 = require("angular2/src/facade/async");
var MockNgZone = (function(_super) {
__extends(MockNgZone, _super);
function MockNgZone() {
_super.call(this, {enableLongStackTrace: false});
this._mockOnStable = new async_1.EventEmitter(false);
}
Object.defineProperty(MockNgZone.prototype, "onStable", {
get: function() {
return this._mockOnStable;
},
enumerable: true,
configurable: true
});
MockNgZone.prototype.run = function(fn) {
return fn();
};
MockNgZone.prototype.runOutsideAngular = function(fn) {
return fn();
};
MockNgZone.prototype.simulateZoneExit = function() {
async_1.ObservableWrapper.callNext(this.onStable, null);
};
MockNgZone = __decorate([di_1.Injectable(), __metadata('design:paramtypes', [])], MockNgZone);
return MockNgZone;
}(ng_zone_1.NgZone));
exports.MockNgZone = MockNgZone;
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/utils", ["angular2/core", "angular2/src/facade/collection", "angular2/src/platform/dom/dom_adapter", "angular2/src/facade/lang"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"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 collection_1 = require("angular2/src/facade/collection");
var dom_adapter_1 = require("angular2/src/platform/dom/dom_adapter");
var lang_1 = require("angular2/src/facade/lang");
var Log = (function() {
function Log() {
this.logItems = [];
}
Log.prototype.add = function(value) {
this.logItems.push(value);
};
Log.prototype.fn = function(value) {
var _this = this;
return function(a1, a2, a3, a4, a5) {
if (a1 === void 0) {
a1 = null;
}
if (a2 === void 0) {
a2 = null;
}
if (a3 === void 0) {
a3 = null;
}
if (a4 === void 0) {
a4 = null;
}
if (a5 === void 0) {
a5 = null;
}
_this.logItems.push(value);
};
};
Log.prototype.clear = function() {
this.logItems = [];
};
Log.prototype.result = function() {
return this.logItems.join("; ");
};
Log = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [])], Log);
return Log;
}());
exports.Log = Log;
exports.browserDetection = null;
var BrowserDetection = (function() {
function BrowserDetection(ua) {
if (lang_1.isPresent(ua)) {
this._ua = ua;
} else {
this._ua = lang_1.isPresent(dom_adapter_1.DOM) ? dom_adapter_1.DOM.getUserAgent() : '';
}
}
BrowserDetection.setup = function() {
exports.browserDetection = new BrowserDetection(null);
};
Object.defineProperty(BrowserDetection.prototype, "isFirefox", {
get: function() {
return this._ua.indexOf('Firefox') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isAndroid", {
get: function() {
return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 && this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isEdge", {
get: function() {
return this._ua.indexOf('Edge') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isIE", {
get: function() {
return this._ua.indexOf('Trident') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isWebkit", {
get: function() {
return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isIOS7", {
get: function() {
return this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isSlow", {
get: function() {
return this.isAndroid || this.isIE || this.isIOS7;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "supportsIntlApi", {
get: function() {
return this._ua.indexOf('Chrome/4') > -1 && this._ua.indexOf('Edge') == -1;
},
enumerable: true,
configurable: true
});
return BrowserDetection;
}());
exports.BrowserDetection = BrowserDetection;
function dispatchEvent(element, eventType) {
dom_adapter_1.DOM.dispatchEvent(element, dom_adapter_1.DOM.createEvent(eventType));
}
exports.dispatchEvent = dispatchEvent;
function el(html) {
return dom_adapter_1.DOM.firstChild(dom_adapter_1.DOM.content(dom_adapter_1.DOM.createTemplate(html)));
}
exports.el = el;
var _RE_SPECIAL_CHARS = ['-', '[', ']', '/', '{', '}', '\\', '(', ')', '*', '+', '?', '.', '^', '$', '|'];
var _ESCAPE_RE = lang_1.RegExpWrapper.create("[\\" + _RE_SPECIAL_CHARS.join('\\') + "]");
function containsRegexp(input) {
return lang_1.RegExpWrapper.create(lang_1.StringWrapper.replaceAllMapped(input, _ESCAPE_RE, function(match) {
return ("\\" + match[0]);
}));
}
exports.containsRegexp = containsRegexp;
function normalizeCSS(css) {
css = lang_1.StringWrapper.replaceAll(css, /\s+/g, ' ');
css = lang_1.StringWrapper.replaceAll(css, /:\s/g, ':');
css = lang_1.StringWrapper.replaceAll(css, /'/g, '"');
css = lang_1.StringWrapper.replaceAll(css, / }/g, '}');
css = lang_1.StringWrapper.replaceAllMapped(css, /url\((\"|\s)(.+)(\"|\s)\)(\s*)/g, function(match) {
return ("url(\"" + match[2] + "\")");
});
css = lang_1.StringWrapper.replaceAllMapped(css, /\[(.+)=([^"\]]+)\]/g, function(match) {
return ("[" + match[1] + "=\"" + match[2] + "\"]");
});
return css;
}
exports.normalizeCSS = normalizeCSS;
var _singleTagWhitelist = ['br', 'hr', 'input'];
function stringifyElement(el) {
var result = '';
if (dom_adapter_1.DOM.isElementNode(el)) {
var tagName = dom_adapter_1.DOM.tagName(el).toLowerCase();
result += "<" + tagName;
var attributeMap = dom_adapter_1.DOM.attributeMap(el);
var keys = [];
attributeMap.forEach(function(v, k) {
return keys.push(k);
});
collection_1.ListWrapper.sort(keys);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var attValue = attributeMap.get(key);
if (!lang_1.isString(attValue)) {
result += " " + key;
} else {
result += " " + key + "=\"" + attValue + "\"";
}
}
result += '>';
var childrenRoot = dom_adapter_1.DOM.templateAwareRoot(el);
var children = lang_1.isPresent(childrenRoot) ? dom_adapter_1.DOM.childNodes(childrenRoot) : [];
for (var j = 0; j < children.length; j++) {
result += stringifyElement(children[j]);
}
if (!collection_1.ListWrapper.contains(_singleTagWhitelist, tagName)) {
result += "</" + tagName + ">";
}
} else if (dom_adapter_1.DOM.isCommentNode(el)) {
result += "<!--" + dom_adapter_1.DOM.nodeValue(el) + "-->";
} else {
result += dom_adapter_1.DOM.getText(el);
}
return result;
}
exports.stringifyElement = stringifyElement;
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/fake_async", ["angular2/src/facade/exceptions"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var exceptions_1 = require("angular2/src/facade/exceptions");
var _FakeAsyncTestZoneSpecType = Zone['FakeAsyncTestZoneSpec'];
function fakeAsync(fn) {
if (Zone.current.get('FakeAsyncTestZoneSpec') != null) {
throw new exceptions_1.BaseException('fakeAsync() calls can not be nested');
}
var fakeAsyncTestZoneSpec = new _FakeAsyncTestZoneSpecType();
var fakeAsyncZone = Zone.current.fork(fakeAsyncTestZoneSpec);
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
var res = fakeAsyncZone.run(function() {
var res = fn.apply(void 0, args);
flushMicrotasks();
return res;
});
if (fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {
throw new exceptions_1.BaseException((fakeAsyncTestZoneSpec.pendingPeriodicTimers.length + " ") + "periodic timer(s) still in the queue.");
}
if (fakeAsyncTestZoneSpec.pendingTimers.length > 0) {
throw new exceptions_1.BaseException(fakeAsyncTestZoneSpec.pendingTimers.length + " timer(s) still in the queue.");
}
return res;
};
}
exports.fakeAsync = fakeAsync;
function _getFakeAsyncZoneSpec() {
var zoneSpec = Zone.current.get('FakeAsyncTestZoneSpec');
if (zoneSpec == null) {
throw new Error('The code should be running in the fakeAsync zone to call this function');
}
return zoneSpec;
}
function clearPendingTimers() {}
exports.clearPendingTimers = clearPendingTimers;
function tick(millis) {
if (millis === void 0) {
millis = 0;
}
_getFakeAsyncZoneSpec().tick(millis);
}
exports.tick = tick;
function flushMicrotasks() {
_getFakeAsyncZoneSpec().flushMicrotasks();
}
exports.flushMicrotasks = flushMicrotasks;
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/browser/location/hash_location_strategy", ["angular2/core", "angular2/src/platform/browser/location/location_strategy", "angular2/src/platform/browser/location/location", "angular2/src/platform/browser/location/platform_location", "angular2/src/facade/lang"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
var c = arguments.length,
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if (d = decorators[i])
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function(k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
var core_1 = require("angular2/core");
var location_strategy_1 = require("angular2/src/platform/browser/location/location_strategy");
var location_1 = require("angular2/src/platform/browser/location/location");
var platform_location_1 = require("angular2/src/platform/browser/location/platform_location");
var lang_1 = require("angular2/src/facade/lang");
var HashLocationStrategy = (function(_super) {
__extends(HashLocationStrategy, _super);
function HashLocationStrategy(_platformLocation, _baseHref) {
_super.call(this);
this._platformLocation = _platformLocation;
this._baseHref = '';
if (lang_1.isPresent(_baseHref)) {
this._baseHref = _baseHref;
}
}
HashLocationStrategy.prototype.onPopState = function(fn) {
this._platformLocation.onPopState(fn);
this._platformLocation.onHashChange(fn);
};
HashLocationStrategy.prototype.getBaseHref = function() {
return this._baseHref;
};
HashLocationStrategy.prototype.path = function() {
var path = this._platformLocation.hash;
if (!lang_1.isPresent(path))
path = '#';
return (path.length > 0 ? path.substring(1) : path);
};
HashLocationStrategy.prototype.prepareExternalUrl = function(internal) {
var url = location_1.Location.joinWithSlash(this._baseHref, internal);
return url.length > 0 ? ('#' + url) : url;
};
HashLocationStrategy.prototype.pushState = function(state, title, path, queryParams) {
var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));
if (url.length == 0) {
url = this._platformLocation.pathname;
}
this._platformLocation.pushState(state, title, url);
};
HashLocationStrategy.prototype.replaceState = function(state, title, path, queryParams) {
var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));
if (url.length == 0) {
url = this._platformLocation.pathname;
}
this._platformLocation.replaceState(state, title, url);
};
HashLocationStrategy.prototype.forward = function() {
this._platformLocation.forward();
};
HashLocationStrategy.prototype.back = function() {
this._platformLocation.back();
};
HashLocationStrategy = __decorate([core_1.Injectable(), __param(1, core_1.Optional()), __param(1, core_1.Inject(location_strategy_1.APP_BASE_HREF)), __metadata('design:paramtypes', [platform_location_1.PlatformLocation, String])], HashLocationStrategy);
return HashLocationStrategy;
}(location_strategy_1.LocationStrategy));
exports.HashLocationStrategy = HashLocationStrategy;
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/test_component_builder", ["angular2/core", "angular2/compiler", "angular2/src/facade/lang", "angular2/src/facade/async", "angular2/src/facade/collection", "angular2/src/testing/utils", "angular2/src/platform/dom/dom_tokens", "angular2/src/platform/dom/dom_adapter", "angular2/src/core/debug/debug_node", "angular2/src/testing/fake_async"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"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 compiler_1 = require("angular2/compiler");
var lang_1 = require("angular2/src/facade/lang");
var async_1 = require("angular2/src/facade/async");
var collection_1 = require("angular2/src/facade/collection");
var utils_1 = require("angular2/src/testing/utils");
var dom_tokens_1 = require("angular2/src/platform/dom/dom_tokens");
var dom_adapter_1 = require("angular2/src/platform/dom/dom_adapter");
var debug_node_1 = require("angular2/src/core/debug/debug_node");
var fake_async_1 = require("angular2/src/testing/fake_async");
var ComponentFixture = (function() {
function ComponentFixture(componentRef) {
this.changeDetectorRef = componentRef.changeDetectorRef;
this.elementRef = componentRef.location;
this.debugElement = debug_node_1.getDebugNode(this.elementRef.nativeElement);
this.componentInstance = componentRef.instance;
this.nativeElement = this.elementRef.nativeElement;
this.componentRef = componentRef;
}
ComponentFixture.prototype.detectChanges = function(checkNoChanges) {
if (checkNoChanges === void 0) {
checkNoChanges = true;
}
this.changeDetectorRef.detectChanges();
if (checkNoChanges) {
this.checkNoChanges();
}
};
ComponentFixture.prototype.checkNoChanges = function() {
this.changeDetectorRef.checkNoChanges();
};
ComponentFixture.prototype.destroy = function() {
this.componentRef.destroy();
};
return ComponentFixture;
}());
exports.ComponentFixture = ComponentFixture;
var _nextRootElementId = 0;
var TestComponentBuilder = (function() {
function TestComponentBuilder(_injector) {
this._injector = _injector;
this._bindingsOverrides = new Map();
this._directiveOverrides = new Map();
this._templateOverrides = new Map();
this._viewBindingsOverrides = new Map();
this._viewOverrides = new Map();
}
TestComponentBuilder.prototype._clone = function() {
var clone = new TestComponentBuilder(this._injector);
clone._viewOverrides = collection_1.MapWrapper.clone(this._viewOverrides);
clone._directiveOverrides = collection_1.MapWrapper.clone(this._directiveOverrides);
clone._templateOverrides = collection_1.MapWrapper.clone(this._templateOverrides);
clone._bindingsOverrides = collection_1.MapWrapper.clone(this._bindingsOverrides);
clone._viewBindingsOverrides = collection_1.MapWrapper.clone(this._viewBindingsOverrides);
return clone;
};
TestComponentBuilder.prototype.overrideTemplate = function(componentType, template) {
var clone = this._clone();
clone._templateOverrides.set(componentType, template);
return clone;
};
TestComponentBuilder.prototype.overrideView = function(componentType, view) {
var clone = this._clone();
clone._viewOverrides.set(componentType, view);
return clone;
};
TestComponentBuilder.prototype.overrideDirective = function(componentType, from, to) {
var clone = this._clone();
var overridesForComponent = clone._directiveOverrides.get(componentType);
if (!lang_1.isPresent(overridesForComponent)) {
clone._directiveOverrides.set(componentType, new Map());
overridesForComponent = clone._directiveOverrides.get(componentType);
}
overridesForComponent.set(from, to);
return clone;
};
TestComponentBuilder.prototype.overrideProviders = function(type, providers) {
var clone = this._clone();
clone._bindingsOverrides.set(type, providers);
return clone;
};
TestComponentBuilder.prototype.overrideBindings = function(type, providers) {
return this.overrideProviders(type, providers);
};
TestComponentBuilder.prototype.overrideViewProviders = function(type, providers) {
var clone = this._clone();
clone._viewBindingsOverrides.set(type, providers);
return clone;
};
TestComponentBuilder.prototype.overrideViewBindings = function(type, providers) {
return this.overrideViewProviders(type, providers);
};
TestComponentBuilder.prototype.createAsync = function(rootComponentType) {
var mockDirectiveResolver = this._injector.get(compiler_1.DirectiveResolver);
var mockViewResolver = this._injector.get(compiler_1.ViewResolver);
this._viewOverrides.forEach(function(view, type) {
return mockViewResolver.setView(type, view);
});
this._templateOverrides.forEach(function(template, type) {
return mockViewResolver.setInlineTemplate(type, template);
});
this._directiveOverrides.forEach(function(overrides, component) {
overrides.forEach(function(to, from) {
mockViewResolver.overrideViewDirective(component, from, to);
});
});
this._bindingsOverrides.forEach(function(bindings, type) {
return mockDirectiveResolver.setBindingsOverride(type, bindings);
});
this._viewBindingsOverrides.forEach(function(bindings, type) {
return mockDirectiveResolver.setViewBindingsOverride(type, bindings);
});
var rootElId = "root" + _nextRootElementId++;
var rootEl = utils_1.el("<div id=\"" + rootElId + "\"></div>");
var doc = this._injector.get(dom_tokens_1.DOCUMENT);
var oldRoots = dom_adapter_1.DOM.querySelectorAll(doc, '[id^=root]');
for (var i = 0; i < oldRoots.length; i++) {
dom_adapter_1.DOM.remove(oldRoots[i]);
}
dom_adapter_1.DOM.appendChild(doc.body, rootEl);
var promise = this._injector.get(core_1.DynamicComponentLoader).loadAsRoot(rootComponentType, "#" + rootElId, this._injector);
return promise.then(function(componentRef) {
return new ComponentFixture(componentRef);
});
};
TestComponentBuilder.prototype.createFakeAsync = function(rootComponentType) {
var result;
var error;
async_1.PromiseWrapper.then(this.createAsync(rootComponentType), function(_result) {
result = _result;
}, function(_error) {
error = _error;
});
fake_async_1.tick();
if (lang_1.isPresent(error)) {
throw error;
}
return result;
};
TestComponentBuilder = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [core_1.Injector])], TestComponentBuilder);
return TestComponentBuilder;
}());
exports.TestComponentBuilder = TestComponentBuilder;
global.define = __define;
return module.exports;
});
System.register("angular2/src/platform/location", ["angular2/src/platform/browser/location/platform_location", "angular2/src/platform/browser/location/location_strategy", "angular2/src/platform/browser/location/hash_location_strategy", "angular2/src/platform/browser/location/path_location_strategy", "angular2/src/platform/browser/location/location"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function __export(m) {
for (var p in m)
if (!exports.hasOwnProperty(p))
exports[p] = m[p];
}
__export(require("angular2/src/platform/browser/location/platform_location"));
__export(require("angular2/src/platform/browser/location/location_strategy"));
__export(require("angular2/src/platform/browser/location/hash_location_strategy"));
__export(require("angular2/src/platform/browser/location/path_location_strategy"));
__export(require("angular2/src/platform/browser/location/location"));
global.define = __define;
return module.exports;
});
System.register("angular2/platform/common", ["angular2/src/platform/location"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define =