UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1,558 lines (1,549 loc) 1.18 MB
"format register"; System.register("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 globalScope; if (typeof window === 'undefined') { if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) { globalScope = self; } else { globalScope = global; } } else { globalScope = window; } function scheduleMicroTask(fn) { Zone.current.scheduleMicroTask('scheduleMicrotask', fn); } exports.scheduleMicroTask = scheduleMicroTask; exports.IS_DART = false; var _global = globalScope; exports.global = _global; exports.Type = Function; function getTypeNameForDebugging(type) { if (type['name']) { return type['name']; } return typeof type; } exports.getTypeNameForDebugging = getTypeNameForDebugging; exports.Math = _global.Math; exports.Date = _global.Date; var _devMode = true; var _modeLocked = false; function lockMode() { _modeLocked = true; } exports.lockMode = lockMode; function enableProdMode() { if (_modeLocked) { throw 'Cannot enable prod mode after platform setup.'; } _devMode = false; } exports.enableProdMode = enableProdMode; function assertionsEnabled() { return _devMode; } exports.assertionsEnabled = assertionsEnabled; _global.assert = function assert(condition) {}; function CONST_EXPR(expr) { return expr; } exports.CONST_EXPR = CONST_EXPR; function CONST() { return function(target) { return target; }; } exports.CONST = CONST; function isPresent(obj) { return obj !== undefined && obj !== null; } exports.isPresent = isPresent; function isBlank(obj) { return obj === undefined || obj === null; } exports.isBlank = isBlank; function isBoolean(obj) { return typeof obj === "boolean"; } exports.isBoolean = isBoolean; function isNumber(obj) { return typeof obj === "number"; } exports.isNumber = isNumber; function isString(obj) { return typeof obj === "string"; } exports.isString = isString; function isFunction(obj) { return typeof obj === "function"; } exports.isFunction = isFunction; function isType(obj) { return isFunction(obj); } exports.isType = isType; function isStringMap(obj) { return typeof obj === 'object' && obj !== null; } exports.isStringMap = isStringMap; function isPromise(obj) { return obj instanceof _global.Promise; } exports.isPromise = isPromise; function isArray(obj) { return Array.isArray(obj); } exports.isArray = isArray; function isDate(obj) { return obj instanceof exports.Date && !isNaN(obj.valueOf()); } exports.isDate = isDate; function noop() {} exports.noop = noop; function stringify(token) { if (typeof token === 'string') { return token; } if (token === undefined || token === null) { return '' + token; } if (token.name) { return token.name; } if (token.overriddenName) { return token.overriddenName; } var res = token.toString(); var newLineIndex = res.indexOf("\n"); return (newLineIndex === -1) ? res : res.substring(0, newLineIndex); } exports.stringify = stringify; function serializeEnum(val) { return val; } exports.serializeEnum = serializeEnum; function deserializeEnum(val, values) { return val; } exports.deserializeEnum = deserializeEnum; function resolveEnumToken(enumValue, val) { return enumValue[val]; } exports.resolveEnumToken = resolveEnumToken; var StringWrapper = (function() { function StringWrapper() {} StringWrapper.fromCharCode = function(code) { return String.fromCharCode(code); }; StringWrapper.charCodeAt = function(s, index) { return s.charCodeAt(index); }; StringWrapper.split = function(s, regExp) { return s.split(regExp); }; StringWrapper.equals = function(s, s2) { return s === s2; }; StringWrapper.stripLeft = function(s, charVal) { if (s && s.length) { var pos = 0; for (var i = 0; i < s.length; i++) { if (s[i] != charVal) break; pos++; } s = s.substring(pos); } return s; }; StringWrapper.stripRight = function(s, charVal) { if (s && s.length) { var pos = s.length; for (var i = s.length - 1; i >= 0; i--) { if (s[i] != charVal) break; pos--; } s = s.substring(0, pos); } return s; }; StringWrapper.replace = function(s, from, replace) { return s.replace(from, replace); }; StringWrapper.replaceAll = function(s, from, replace) { return s.replace(from, replace); }; StringWrapper.slice = function(s, from, to) { if (from === void 0) { from = 0; } if (to === void 0) { to = null; } return s.slice(from, to === null ? undefined : to); }; StringWrapper.replaceAllMapped = function(s, from, cb) { return s.replace(from, function() { var matches = []; for (var _i = 0; _i < arguments.length; _i++) { matches[_i - 0] = arguments[_i]; } matches.splice(-2, 2); return cb(matches); }); }; StringWrapper.contains = function(s, substr) { return s.indexOf(substr) != -1; }; StringWrapper.compare = function(a, b) { if (a < b) { return -1; } else if (a > b) { return 1; } else { return 0; } }; return StringWrapper; }()); exports.StringWrapper = StringWrapper; var StringJoiner = (function() { function StringJoiner(parts) { if (parts === void 0) { parts = []; } this.parts = parts; } StringJoiner.prototype.add = function(part) { this.parts.push(part); }; StringJoiner.prototype.toString = function() { return this.parts.join(""); }; return StringJoiner; }()); exports.StringJoiner = StringJoiner; var NumberParseError = (function(_super) { __extends(NumberParseError, _super); function NumberParseError(message) { _super.call(this); this.message = message; } NumberParseError.prototype.toString = function() { return this.message; }; return NumberParseError; }(Error)); exports.NumberParseError = NumberParseError; var NumberWrapper = (function() { function NumberWrapper() {} NumberWrapper.toFixed = function(n, fractionDigits) { return n.toFixed(fractionDigits); }; NumberWrapper.equal = function(a, b) { return a === b; }; NumberWrapper.parseIntAutoRadix = function(text) { var result = parseInt(text); if (isNaN(result)) { throw new NumberParseError("Invalid integer literal when parsing " + text); } return result; }; NumberWrapper.parseInt = function(text, radix) { if (radix == 10) { if (/^(\-|\+)?[0-9]+$/.test(text)) { return parseInt(text, radix); } } else if (radix == 16) { if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) { return parseInt(text, radix); } } else { var result = parseInt(text, radix); if (!isNaN(result)) { return result; } } throw new NumberParseError("Invalid integer literal when parsing " + text + " in base " + radix); }; NumberWrapper.parseFloat = function(text) { return parseFloat(text); }; Object.defineProperty(NumberWrapper, "NaN", { get: function() { return NaN; }, enumerable: true, configurable: true }); NumberWrapper.isNaN = function(value) { return isNaN(value); }; NumberWrapper.isInteger = function(value) { return Number.isInteger(value); }; return NumberWrapper; }()); exports.NumberWrapper = NumberWrapper; exports.RegExp = _global.RegExp; var RegExpWrapper = (function() { function RegExpWrapper() {} RegExpWrapper.create = function(regExpStr, flags) { if (flags === void 0) { flags = ''; } flags = flags.replace(/g/g, ''); return new _global.RegExp(regExpStr, flags + 'g'); }; RegExpWrapper.firstMatch = function(regExp, input) { regExp.lastIndex = 0; return regExp.exec(input); }; RegExpWrapper.test = function(regExp, input) { regExp.lastIndex = 0; return regExp.test(input); }; RegExpWrapper.matcher = function(regExp, input) { regExp.lastIndex = 0; return { re: regExp, input: input }; }; RegExpWrapper.replaceAll = function(regExp, input, replace) { var c = regExp.exec(input); var res = ''; regExp.lastIndex = 0; var prev = 0; while (c) { res += input.substring(prev, c.index); res += replace(c); prev = c.index + c[0].length; regExp.lastIndex = prev; c = regExp.exec(input); } res += input.substring(prev); return res; }; return RegExpWrapper; }()); exports.RegExpWrapper = RegExpWrapper; var RegExpMatcherWrapper = (function() { function RegExpMatcherWrapper() {} RegExpMatcherWrapper.next = function(matcher) { return matcher.re.exec(matcher.input); }; return RegExpMatcherWrapper; }()); exports.RegExpMatcherWrapper = RegExpMatcherWrapper; var FunctionWrapper = (function() { function FunctionWrapper() {} FunctionWrapper.apply = function(fn, posArgs) { return fn.apply(null, posArgs); }; return FunctionWrapper; }()); exports.FunctionWrapper = FunctionWrapper; function looseIdentical(a, b) { return a === b || typeof a === "number" && typeof b === "number" && isNaN(a) && isNaN(b); } exports.looseIdentical = looseIdentical; function getMapKey(value) { return value; } exports.getMapKey = getMapKey; function normalizeBlank(obj) { return isBlank(obj) ? null : obj; } exports.normalizeBlank = normalizeBlank; function normalizeBool(obj) { return isBlank(obj) ? false : obj; } exports.normalizeBool = normalizeBool; function isJsObject(o) { return o !== null && (typeof o === "function" || typeof o === "object"); } exports.isJsObject = isJsObject; function print(obj) { console.log(obj); } exports.print = print; function warn(obj) { console.warn(obj); } exports.warn = warn; var Json = (function() { function Json() {} Json.parse = function(s) { return _global.JSON.parse(s); }; Json.stringify = function(data) { return _global.JSON.stringify(data, null, 2); }; return Json; }()); exports.Json = Json; var DateWrapper = (function() { function DateWrapper() {} DateWrapper.create = function(year, month, day, hour, minutes, seconds, milliseconds) { if (month === void 0) { month = 1; } if (day === void 0) { day = 1; } if (hour === void 0) { hour = 0; } if (minutes === void 0) { minutes = 0; } if (seconds === void 0) { seconds = 0; } if (milliseconds === void 0) { milliseconds = 0; } return new exports.Date(year, month - 1, day, hour, minutes, seconds, milliseconds); }; DateWrapper.fromISOString = function(str) { return new exports.Date(str); }; DateWrapper.fromMillis = function(ms) { return new exports.Date(ms); }; DateWrapper.toMillis = function(date) { return date.getTime(); }; DateWrapper.now = function() { return new exports.Date(); }; DateWrapper.toJson = function(date) { return date.toJSON(); }; return DateWrapper; }()); exports.DateWrapper = DateWrapper; function setValueOnPath(global, path, value) { var parts = path.split('.'); var obj = global; while (parts.length > 1) { var name = parts.shift(); if (obj.hasOwnProperty(name) && isPresent(obj[name])) { obj = obj[name]; } else { obj = obj[name] = {}; } } if (obj === undefined || obj === null) { obj = {}; } obj[parts.shift()] = value; } exports.setValueOnPath = setValueOnPath; var _symbolIterator = null; function getSymbolIterator() { if (isBlank(_symbolIterator)) { if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) { _symbolIterator = Symbol.iterator; } else { var keys = Object.getOwnPropertyNames(Map.prototype); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) { _symbolIterator = key; } } } } return _symbolIterator; } exports.getSymbolIterator = getSymbolIterator; function evalExpression(sourceUrl, expr, declarations, vars) { var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl; var fnArgNames = []; var fnArgValues = []; for (var argName in vars) { fnArgNames.push(argName); fnArgValues.push(vars[argName]); } return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues); } exports.evalExpression = evalExpression; function isPrimitive(obj) { return !isJsObject(obj); } exports.isPrimitive = isPrimitive; function hasConstructor(value, type) { return value.constructor === type; } exports.hasConstructor = hasConstructor; function bitWiseOr(values) { return values.reduce(function(a, b) { return a | b; }); } exports.bitWiseOr = bitWiseOr; function bitWiseAnd(values) { return values.reduce(function(a, b) { return a & b; }); } exports.bitWiseAnd = bitWiseAnd; function escape(s) { return _global.encodeURI(s); } exports.escape = escape; global.define = __define; return module.exports; }); System.register("angular2/src/core/di/metadata", ["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 lang_1 = require("angular2/src/facade/lang"); var InjectMetadata = (function() { function InjectMetadata(token) { this.token = token; } InjectMetadata.prototype.toString = function() { return "@Inject(" + lang_1.stringify(this.token) + ")"; }; InjectMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [Object])], InjectMetadata); return InjectMetadata; }()); exports.InjectMetadata = InjectMetadata; var OptionalMetadata = (function() { function OptionalMetadata() {} OptionalMetadata.prototype.toString = function() { return "@Optional()"; }; OptionalMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], OptionalMetadata); return OptionalMetadata; }()); exports.OptionalMetadata = OptionalMetadata; var DependencyMetadata = (function() { function DependencyMetadata() {} Object.defineProperty(DependencyMetadata.prototype, "token", { get: function() { return null; }, enumerable: true, configurable: true }); DependencyMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], DependencyMetadata); return DependencyMetadata; }()); exports.DependencyMetadata = DependencyMetadata; var InjectableMetadata = (function() { function InjectableMetadata() {} InjectableMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], InjectableMetadata); return InjectableMetadata; }()); exports.InjectableMetadata = InjectableMetadata; var SelfMetadata = (function() { function SelfMetadata() {} SelfMetadata.prototype.toString = function() { return "@Self()"; }; SelfMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], SelfMetadata); return SelfMetadata; }()); exports.SelfMetadata = SelfMetadata; var SkipSelfMetadata = (function() { function SkipSelfMetadata() {} SkipSelfMetadata.prototype.toString = function() { return "@SkipSelf()"; }; SkipSelfMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], SkipSelfMetadata); return SkipSelfMetadata; }()); exports.SkipSelfMetadata = SkipSelfMetadata; var HostMetadata = (function() { function HostMetadata() {} HostMetadata.prototype.toString = function() { return "@Host()"; }; HostMetadata = __decorate([lang_1.CONST(), __metadata('design:paramtypes', [])], HostMetadata); return HostMetadata; }()); exports.HostMetadata = HostMetadata; global.define = __define; return module.exports; }); System.register("angular2/src/core/util/decorators", ["angular2/src/facade/lang"], 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 _nextClassId = 0; function extractAnnotation(annotation) { if (lang_1.isFunction(annotation) && annotation.hasOwnProperty('annotation')) { annotation = annotation.annotation; } return annotation; } function applyParams(fnOrArray, key) { if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function || fnOrArray === Number || fnOrArray === Array) { throw new Error("Can not use native " + lang_1.stringify(fnOrArray) + " as constructor"); } if (lang_1.isFunction(fnOrArray)) { return fnOrArray; } else if (fnOrArray instanceof Array) { var annotations = fnOrArray; var fn = fnOrArray[fnOrArray.length - 1]; if (!lang_1.isFunction(fn)) { throw new Error("Last position of Class method array must be Function in key " + key + " was '" + lang_1.stringify(fn) + "'"); } var annoLength = annotations.length - 1; if (annoLength != fn.length) { throw new Error("Number of annotations (" + annoLength + ") does not match number of arguments (" + fn.length + ") in the function: " + lang_1.stringify(fn)); } var paramsAnnotations = []; for (var i = 0, ii = annotations.length - 1; i < ii; i++) { var paramAnnotations = []; paramsAnnotations.push(paramAnnotations); var annotation = annotations[i]; if (annotation instanceof Array) { for (var j = 0; j < annotation.length; j++) { paramAnnotations.push(extractAnnotation(annotation[j])); } } else if (lang_1.isFunction(annotation)) { paramAnnotations.push(extractAnnotation(annotation)); } else { paramAnnotations.push(annotation); } } Reflect.defineMetadata('parameters', paramsAnnotations, fn); return fn; } else { throw new Error("Only Function or Array is supported in Class definition for key '" + key + "' is '" + lang_1.stringify(fnOrArray) + "'"); } } function Class(clsDef) { var constructor = applyParams(clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor'); var proto = constructor.prototype; if (clsDef.hasOwnProperty('extends')) { if (lang_1.isFunction(clsDef.extends)) { constructor.prototype = proto = Object.create(clsDef.extends.prototype); } else { throw new Error("Class definition 'extends' property must be a constructor function was: " + lang_1.stringify(clsDef.extends)); } } for (var key in clsDef) { if (key != 'extends' && key != 'prototype' && clsDef.hasOwnProperty(key)) { proto[key] = applyParams(clsDef[key], key); } } if (this && this.annotations instanceof Array) { Reflect.defineMetadata('annotations', this.annotations, constructor); } if (!constructor['name']) { constructor['overriddenName'] = "class" + _nextClassId++; } return constructor; } exports.Class = Class; var Reflect = lang_1.global.Reflect; (function checkReflect() { if (!(Reflect && Reflect.getMetadata)) { throw 'reflect-metadata shim is required when using class decorators'; } })(); function makeDecorator(annotationCls, chainFn) { if (chainFn === void 0) { chainFn = null; } function DecoratorFactory(objOrType) { var annotationInstance = new annotationCls(objOrType); if (this instanceof annotationCls) { return annotationInstance; } else { var chainAnnotation = lang_1.isFunction(this) && this.annotations instanceof Array ? this.annotations : []; chainAnnotation.push(annotationInstance); var TypeDecorator = function TypeDecorator(cls) { var annotations = Reflect.getOwnMetadata('annotations', cls); annotations = annotations || []; annotations.push(annotationInstance); Reflect.defineMetadata('annotations', annotations, cls); return cls; }; TypeDecorator.annotations = chainAnnotation; TypeDecorator.Class = Class; if (chainFn) chainFn(TypeDecorator); return TypeDecorator; } } DecoratorFactory.prototype = Object.create(annotationCls.prototype); return DecoratorFactory; } exports.makeDecorator = makeDecorator; function makeParamDecorator(annotationCls) { function ParamDecoratorFactory() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var annotationInstance = Object.create(annotationCls.prototype); annotationCls.apply(annotationInstance, args); if (this instanceof annotationCls) { return annotationInstance; } else { ParamDecorator.annotation = annotationInstance; return ParamDecorator; } function ParamDecorator(cls, unusedKey, index) { var parameters = Reflect.getMetadata('parameters', cls); parameters = parameters || []; while (parameters.length <= index) { parameters.push(null); } parameters[index] = parameters[index] || []; var annotationsForParam = parameters[index]; annotationsForParam.push(annotationInstance); Reflect.defineMetadata('parameters', parameters, cls); return cls; } } ParamDecoratorFactory.prototype = Object.create(annotationCls.prototype); return ParamDecoratorFactory; } exports.makeParamDecorator = makeParamDecorator; function makePropDecorator(decoratorCls) { function PropDecoratorFactory() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var decoratorInstance = Object.create(decoratorCls.prototype); decoratorCls.apply(decoratorInstance, args); if (this instanceof decoratorCls) { return decoratorInstance; } else { return function PropDecorator(target, name) { var meta = Reflect.getOwnMetadata('propMetadata', target.constructor); meta = meta || {}; meta[name] = meta[name] || []; meta[name].unshift(decoratorInstance); Reflect.defineMetadata('propMetadata', meta, target.constructor); }; } } PropDecoratorFactory.prototype = Object.create(decoratorCls.prototype); return PropDecoratorFactory; } exports.makePropDecorator = makePropDecorator; global.define = __define; return module.exports; }); System.register("angular2/src/core/di/forward_ref", ["angular2/src/facade/lang"], 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"); function forwardRef(forwardRefFn) { forwardRefFn.__forward_ref__ = forwardRef; forwardRefFn.toString = function() { return lang_1.stringify(this()); }; return forwardRefFn; } exports.forwardRef = forwardRef; function resolveForwardRef(type) { if (lang_1.isFunction(type) && type.hasOwnProperty('__forward_ref__') && type.__forward_ref__ === forwardRef) { return type(); } else { return type; } } exports.resolveForwardRef = resolveForwardRef; global.define = __define; return module.exports; }); System.register("angular2/src/facade/base_wrapped_exception", [], 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 BaseWrappedException = (function(_super) { __extends(BaseWrappedException, _super); function BaseWrappedException(message) { _super.call(this, message); } Object.defineProperty(BaseWrappedException.prototype, "wrapperMessage", { get: function() { return ''; }, enumerable: true, configurable: true }); Object.defineProperty(BaseWrappedException.prototype, "wrapperStack", { get: function() { return null; }, enumerable: true, configurable: true }); Object.defineProperty(BaseWrappedException.prototype, "originalException", { get: function() { return null; }, enumerable: true, configurable: true }); Object.defineProperty(BaseWrappedException.prototype, "originalStack", { get: function() { return null; }, enumerable: true, configurable: true }); Object.defineProperty(BaseWrappedException.prototype, "context", { get: function() { return null; }, enumerable: true, configurable: true }); Object.defineProperty(BaseWrappedException.prototype, "message", { get: function() { return ''; }, enumerable: true, configurable: true }); return BaseWrappedException; }(Error)); exports.BaseWrappedException = BaseWrappedException; global.define = __define; return module.exports; }); System.register("angular2/src/facade/collection", ["angular2/src/facade/lang"], 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"); exports.Map = lang_1.global.Map; exports.Set = lang_1.global.Set; var createMapFromPairs = (function() { try { if (new exports.Map([[1, 2]]).size === 1) { return function createMapFromPairs(pairs) { return new exports.Map(pairs); }; } } catch (e) {} return function createMapAndPopulateFromPairs(pairs) { var map = new exports.Map(); for (var i = 0; i < pairs.length; i++) { var pair = pairs[i]; map.set(pair[0], pair[1]); } return map; }; })(); var createMapFromMap = (function() { try { if (new exports.Map(new exports.Map())) { return function createMapFromMap(m) { return new exports.Map(m); }; } } catch (e) {} return function createMapAndPopulateFromMap(m) { var map = new exports.Map(); m.forEach(function(v, k) { map.set(k, v); }); return map; }; })(); var _clearValues = (function() { if ((new exports.Map()).keys().next) { return function _clearValues(m) { var keyIterator = m.keys(); var k; while (!((k = keyIterator.next()).done)) { m.set(k.value, null); } }; } else { return function _clearValuesWithForeEach(m) { m.forEach(function(v, k) { m.set(k, null); }); }; } })(); var _arrayFromMap = (function() { try { if ((new exports.Map()).values().next) { return function createArrayFromMap(m, getValues) { return getValues ? Array.from(m.values()) : Array.from(m.keys()); }; } } catch (e) {} return function createArrayFromMapWithForeach(m, getValues) { var res = ListWrapper.createFixedSize(m.size), i = 0; m.forEach(function(v, k) { res[i] = getValues ? v : k; i++; }); return res; }; })(); var MapWrapper = (function() { function MapWrapper() {} MapWrapper.clone = function(m) { return createMapFromMap(m); }; MapWrapper.createFromStringMap = function(stringMap) { var result = new exports.Map(); for (var prop in stringMap) { result.set(prop, stringMap[prop]); } return result; }; MapWrapper.toStringMap = function(m) { var r = {}; m.forEach(function(v, k) { return r[k] = v; }); return r; }; MapWrapper.createFromPairs = function(pairs) { return createMapFromPairs(pairs); }; MapWrapper.clearValues = function(m) { _clearValues(m); }; MapWrapper.iterable = function(m) { return m; }; MapWrapper.keys = function(m) { return _arrayFromMap(m, false); }; MapWrapper.values = function(m) { return _arrayFromMap(m, true); }; return MapWrapper; }()); exports.MapWrapper = MapWrapper; var StringMapWrapper = (function() { function StringMapWrapper() {} StringMapWrapper.create = function() { return {}; }; StringMapWrapper.contains = function(map, key) { return map.hasOwnProperty(key); }; StringMapWrapper.get = function(map, key) { return map.hasOwnProperty(key) ? map[key] : undefined; }; StringMapWrapper.set = function(map, key, value) { map[key] = value; }; StringMapWrapper.keys = function(map) { return Object.keys(map); }; StringMapWrapper.values = function(map) { return Object.keys(map).reduce(function(r, a) { r.push(map[a]); return r; }, []); }; StringMapWrapper.isEmpty = function(map) { for (var prop in map) { return false; } return true; }; StringMapWrapper.delete = function(map, key) { delete map[key]; }; StringMapWrapper.forEach = function(map, callback) { for (var prop in map) { if (map.hasOwnProperty(prop)) { callback(map[prop], prop); } } }; StringMapWrapper.merge = function(m1, m2) { var m = {}; for (var attr in m1) { if (m1.hasOwnProperty(attr)) { m[attr] = m1[attr]; } } for (var attr in m2) { if (m2.hasOwnProperty(attr)) { m[attr] = m2[attr]; } } return m; }; StringMapWrapper.equals = function(m1, m2) { var k1 = Object.keys(m1); var k2 = Object.keys(m2); if (k1.length != k2.length) { return false; } var key; for (var i = 0; i < k1.length; i++) { key = k1[i]; if (m1[key] !== m2[key]) { return false; } } return true; }; return StringMapWrapper; }()); exports.StringMapWrapper = StringMapWrapper; var ListWrapper = (function() { function ListWrapper() {} ListWrapper.createFixedSize = function(size) { return new Array(size); }; ListWrapper.createGrowableSize = function(size) { return new Array(size); }; ListWrapper.clone = function(array) { return array.slice(0); }; ListWrapper.forEachWithIndex = function(array, fn) { for (var i = 0; i < array.length; i++) { fn(array[i], i); } }; ListWrapper.first = function(array) { if (!array) return null; return array[0]; }; ListWrapper.last = function(array) { if (!array || array.length == 0) return null; return array[array.length - 1]; }; ListWrapper.indexOf = function(array, value, startIndex) { if (startIndex === void 0) { startIndex = 0; } return array.indexOf(value, startIndex); }; ListWrapper.contains = function(list, el) { return list.indexOf(el) !== -1; }; ListWrapper.reversed = function(array) { var a = ListWrapper.clone(array); return a.reverse(); }; ListWrapper.concat = function(a, b) { return a.concat(b); }; ListWrapper.insert = function(list, index, value) { list.splice(index, 0, value); }; ListWrapper.removeAt = function(list, index) { var res = list[index]; list.splice(index, 1); return res; }; ListWrapper.removeAll = function(list, items) { for (var i = 0; i < items.length; ++i) { var index = list.indexOf(items[i]); list.splice(index, 1); } }; ListWrapper.remove = function(list, el) { var index = list.indexOf(el); if (index > -1) { list.splice(index, 1); return true; } return false; }; ListWrapper.clear = function(list) { list.length = 0; }; ListWrapper.isEmpty = function(list) { return list.length == 0; }; ListWrapper.fill = function(list, value, start, end) { if (start === void 0) { start = 0; } if (end === void 0) { end = null; } list.fill(value, start, end === null ? list.length : end); }; ListWrapper.equals = function(a, b) { if (a.length != b.length) return false; for (var i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }; ListWrapper.slice = function(l, from, to) { if (from === void 0) { from = 0; } if (to === void 0) { to = null; } return l.slice(from, to === null ? undefined : to); }; ListWrapper.splice = function(l, from, length) { return l.splice(from, length); }; ListWrapper.sort = function(l, compareFn) { if (lang_1.isPresent(compareFn)) { l.sort(compareFn); } else { l.sort(); } }; ListWrapper.toString = function(l) { return l.toString(); }; ListWrapper.toJSON = function(l) { return JSON.stringify(l); }; ListWrapper.maximum = function(list, predicate) { if (list.length == 0) { return null; } var solution = null; var maxValue = -Infinity; for (var index = 0; index < list.length; index++) { var candidate = list[index]; if (lang_1.isBlank(candidate)) { continue; } var candidateValue = predicate(candidate); if (candidateValue > maxValue) { solution = candidate; maxValue = candidateValue; } } return solution; }; ListWrapper.flatten = function(list) { var target = []; _flattenArray(list, target); return target; }; ListWrapper.addAll = function(list, source) { for (var i = 0; i < source.length; i++) { list.push(source[i]); } }; return ListWrapper; }()); exports.ListWrapper = ListWrapper; function _flattenArray(source, target) { if (lang_1.isPresent(source)) { for (var i = 0; i < source.length; i++) { var item = source[i]; if (lang_1.isArray(item)) { _flattenArray(item, target); } else { target.push(item); } } } return target; } function isListLikeIterable(obj) { if (!lang_1.isJsObject(obj)) return false; return lang_1.isArray(obj) || (!(obj instanceof exports.Map) && lang_1.getSymbolIterator() in obj); } exports.isListLikeIterable = isListLikeIterable; function areIterablesEqual(a, b, comparator) { var iterator1 = a[lang_1.getSymbolIterator()](); var iterator2 = b[lang_1.getSymbolIterator()](); while (true) { var item1 = iterator1.next(); var item2 = iterator2.next(); if (item1.done && item2.done) return true; if (item1.done || item2.done) return false; if (!comparator(item1.value, item2.value)) return false; } } exports.areIterablesEqual = areIterablesEqual; function iterateListLike(obj, fn) { if (lang_1.isArray(obj)) { for (var i = 0; i < obj.length; i++) { fn(obj[i]); } } else { var iterator = obj[lang_1.getSymbolIterator()](); var item; while (!((item = iterator.next()).done)) { fn(item.value); } } } exports.iterateListLike = iterateListLike; var createSetFromList = (function() { var test = new exports.Set([1, 2, 3]); if (test.size === 3) { return function createSetFromList(lst) { return new exports.Set(lst); }; } else { return function createSetAndPopulateFromList(lst) { var res = new exports.Set(lst); if (res.size !== lst.length) { for (var i = 0; i < lst.length; i++) { res.add(lst[i]); } } return res; }; } })(); var SetWrapper = (function() { function SetWrapper() {} SetWrapper.createFromList = function(lst) { return createSetFromList(lst); }; SetWrapper.has = function(s, key) { return s.has(key); }; SetWrapper.delete = function(m, k) { m.delete(k); }; return SetWrapper; }()); exports.SetWrapper = SetWrapper; global.define = __define; return module.exports; }); System.register("angular2/src/core/reflection/reflector_reader", [], true, function(require, exports, module) { var global = System.global, __define = global.define; global.define = undefined; "use strict"; var ReflectorReader = (function() { function ReflectorReader() {} return ReflectorReader; }()); exports.ReflectorReader = ReflectorReader; global.define = __define; return module.exports; }); System.register("angular2/src/core/reflection/reflection_capabilities", ["angular2/src/facade/lang", "angular2/src/facade/exceptions"], 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 exceptions_1 = require("angular2/src/facade/exceptions"); var ReflectionCapabilities = (function() { function ReflectionCapabilities(reflect) { this._reflect = lang_1.isPresent(reflect) ? reflect : lang_1.global.Reflect; } ReflectionCapabilities.prototype.isReflectionEnabled = function() { return true; }; ReflectionCapabilities.prototype.factory = function(t) { switch (t.length) { case 0: return function() { return new t(); }; case 1: return function(a1) { return new t(a1); }; case 2: return function(a1, a2) { return new t(a1, a2); }; case 3: return function(a1, a2, a3) { return new t(a1, a2, a3); }; case 4: return function(a1, a2, a3, a4) { return new t(a1, a2, a3, a4); }; case 5: return function(a1, a2, a3, a4, a5) { return new t(a1, a2, a3, a4, a5); }; case 6: return function(a1, a2, a3, a4, a5, a6) { return new t(a1, a2, a3, a4, a5, a6); }; case 7: return function(a1, a2, a3, a4, a5, a6, a7) { return new t(a1, a2, a3, a4, a5, a6, a7); }; case 8: return function(a1, a2, a3, a4, a5, a6, a7, a8) { return new t(a1, a2, a3, a4, a5, a6, a7, a8); }; case 9: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9); }; case 10: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }; case 11: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }; case 12: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }; case 13: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }; case 14: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }; case 15: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }; case 16: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }; case 17: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }; case 18: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }; case 19: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }; case 20: return function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) { return new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); }; } ; throw new Error("Cannot create a factory for '" + lang_1.stringify(t) + "' because its constructor has more than 20 arguments"); }; ReflectionCapabilities.prototype._zipTypesAndAnnotations = function(paramTypes, paramAnnotations) { var result; if (typeof paramTypes === 'undefined') { result = new Array(paramAnnotations.length); } else { result = new Array(paramTypes.length); } for (var i = 0; i < result.length; i++) { if (typeof paramTypes === 'undefined') { result[i] = []; } else if (paramTypes[i] != Object) { result[i] = [paramTypes[i]]; } else { result[i] = []; } if (lang_1.isPresent(paramAnnotations) && lang_1.isPresent(paramAnnotations[i])) { result[i] = result[i].concat(paramAnnotations[i]); } } return result; }; ReflectionCapabilities.prototype.parameters = function(typeOrFunc) { if (lang_1.isPresent(typeOrFunc.parameters)) { return typeOrFunc.parameters; } if (lang_1.isPresent(this._reflect) && lang_1.isPresent(this._reflect.getMetadata)) { var paramAnnotations = this._reflect.getMetadata('parameters', typeOrFunc); var paramTypes = this._reflect.getMetadata('design:paramtypes', typeOrFunc); if (lang_1.isPresent(paramTypes) || lang_1.isPresent(paramAnnotations)) { return this._zipTypesAndAnnotations(paramTypes, paramAnnotations); } } var parameters = new Array(typeOrFunc.length); parameters.fill(undefined); return parameters; }; ReflectionCapabilities.prototype.annotations = function(typeOrFunc) { if (lang_1.isPresent(typeOrFunc.annotations)) { var annotations = typeOrFunc.annotations; if (lang_1.isFunction(annotations) && annotations.annotations) { annotations = annotations.annotations; } return annotations; } if (lang_1.isPresent(this._reflect) && lang_1.isPresent(this._reflect.getMetadata)) { var annotations = this._reflect.getMetadata('annotations', typeOrFunc); if (lang_1.isPresent(annotations)) return annotations; } return []; }; ReflectionCapabilities.prototype.propMetadata = function(typeOrFunc) { if (lang_1.isPresent(typeOrFunc.propMetadata)) { var propMetadata = typeOrFunc.propMetadata; if (lang_1.isFunction(propMetadata) && propMetadata.propMetadata) { propMetadata = propMetadata.propMetadata; } return propMetadata; } if (lang_1.isPresent(this._reflect) && lang_1.isPresent(this._reflect.getMetadata)) { var propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc); if (lang_1.isPresent(propMetadata)) return propMetadata; } return {}; }; ReflectionCapabilities.prototype.interfaces = function(type) { throw new exceptions_1.BaseException("JavaScript does not support interfaces"); }; ReflectionCapabilities.prototype.getter = function(name) { return new Function('o', 'return o.' + name + ';'); }; ReflectionCapabilities.prototype.setter = function(name) { return new Function('o', 'v', 'return o.' + name + ' = v;'); }; ReflectionCapabilities.prototype.method = function(name) { var functionBody = "if (!o." + name + ") throw new Error('\"" + name + "\" is undefined');\n return o." + name + ".apply(o, args);"; return new Function('o', 'args', functionBody); }; ReflectionCapabilities.prototype.importUri = function(type) { return "./" + lang_1.stringify(type); }; return ReflectionCapabilities; }()); exports.ReflectionCapabilities = ReflectionCapabilities; global.define = __define; return module.exports; }); System.register("angular2/src/core/di/reflective_key", ["angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/core/di/forward_ref"], 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 exceptions_1 = require("angular2/src/facade/exceptions"); var forward_ref_1 = require("angular2/src/core/di/forward_ref"); var ReflectiveKey = (function() { function ReflectiveKey(token, id) { this.token = token; this.id = id; if (lang_1.isBlank(token)) { throw new exceptions_1.BaseException('Token must be defined!'); } } Object.defineProperty(ReflectiveKey.prototype, "displayName", { get: function() { return lang_1.stringify(this.token); }, enumerable: true, configurable: true }); ReflectiveKey.get = function(token) { return _globalKeyRegistry.get(forward_ref_1.resolveForwardRef(token)); }; Object.defineProperty(ReflectiveKey, "numberOfKeys", { get: function() { return _globalKeyRegistry.numberOfKeys; }, enumerable: true, configurable: true }); return ReflectiveKey; }()); exports.ReflectiveKey = ReflectiveKey; var KeyRegistry = (function() { function KeyRegistry() { this._allKeys = new Map(); } KeyRegistry.prototype.get = function(token) { if (token instanceof ReflectiveKey) return token; if (this._allKeys.has(token)) { return this._allKeys.get(token); } var newKey = new ReflectiveKey(token, ReflectiveKey.numberOfKeys); this._allKeys.set(token, newKey); return newKey; }; Object.defineProperty(KeyRegistry.prototype, "numberOfKeys", { get: function() { return this._allKeys.size; }, enumerable: true, configurable: true }); return KeyRegistry; }()); exports.KeyRegistry = KeyRegistry; var _globalKeyRegistry = new KeyRegistry(); global.define = __define; return module.exports; }); System.register("angular2/src/core/di/reflective_exceptions", ["angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/facade/exceptions"], true, function(require, exports, module) { var global = Sys