@angular/router 2.0.0-rc.1 → 2.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{router.umd.js → bundles/router.umd.js} +727 -637
- package/bundles/router.umd.min.js +2 -0
- package/esm/index.d.ts +7 -25
- package/esm/index.js +10 -30
- package/esm/index.js.map +1 -1
- package/esm/src/constants.js +4 -4
- package/esm/src/constants.js.map +1 -1
- package/esm/src/constants.metadata.json +1 -1
- package/esm/src/core_private.d.ts +3 -2
- package/esm/src/core_private.js +3 -2
- package/esm/src/core_private.js.map +1 -1
- package/esm/src/core_private.metadata.json +1 -1
- package/esm/src/directives/router_directives.d.ts +21 -0
- package/esm/src/directives/router_directives.js +24 -0
- package/esm/src/directives/router_directives.js.map +1 -0
- package/esm/src/directives/router_directives.metadata.json +1 -0
- package/esm/src/directives/router_link.d.ts +4 -2
- package/esm/src/directives/router_link.js +21 -13
- package/esm/src/directives/router_link.js.map +1 -1
- package/esm/src/directives/router_link.metadata.json +1 -1
- package/esm/src/directives/router_outlet.d.ts +6 -6
- package/esm/src/directives/router_outlet.js +13 -11
- package/esm/src/directives/router_outlet.js.map +1 -1
- package/esm/src/directives/router_outlet.metadata.json +1 -1
- package/esm/src/facade/async.d.ts +11 -4
- package/esm/src/facade/async.js +25 -15
- package/esm/src/facade/async.js.map +1 -1
- package/esm/src/facade/base_wrapped_exception.js +4 -4
- package/esm/src/facade/base_wrapped_exception.js.map +1 -1
- package/esm/src/facade/collection.js +1 -1
- package/esm/src/facade/collection.js.map +1 -1
- package/esm/src/facade/collection.metadata.json +1 -1
- package/esm/src/facade/exception_handler.d.ts +2 -11
- package/esm/src/facade/exception_handler.js +8 -7
- package/esm/src/facade/exception_handler.js.map +1 -1
- package/esm/src/facade/exceptions.d.ts +4 -0
- package/esm/src/facade/exceptions.js +6 -2
- package/esm/src/facade/exceptions.js.map +1 -1
- package/esm/src/facade/exceptions.metadata.json +1 -0
- package/esm/src/facade/lang.d.ts +6 -4
- package/esm/src/facade/lang.js +12 -11
- package/esm/src/facade/lang.js.map +1 -1
- package/esm/src/facade/lang.metadata.json +1 -1
- package/esm/src/facade/promise.js.map +1 -1
- package/esm/src/interfaces.js.map +1 -1
- package/esm/src/lifecycle_reflector.js.map +1 -1
- package/esm/src/link.d.ts +1 -1
- package/esm/src/link.js +31 -18
- package/esm/src/link.js.map +1 -1
- package/esm/src/metadata/decorators.d.ts +1 -1
- package/esm/src/metadata/decorators.js +1 -1
- package/esm/src/metadata/decorators.js.map +1 -1
- package/esm/src/metadata/decorators.metadata.json +1 -1
- package/esm/src/metadata/metadata.d.ts +3 -3
- package/esm/src/metadata/metadata.js +1 -1
- package/esm/src/metadata/metadata.js.map +1 -1
- package/esm/src/recognize.d.ts +3 -3
- package/esm/src/recognize.js +57 -41
- package/esm/src/recognize.js.map +1 -1
- package/esm/src/router.d.ts +3 -23
- package/esm/src/router.js +54 -58
- package/esm/src/router.js.map +1 -1
- package/esm/src/router_providers.d.ts +1 -1
- package/esm/src/router_providers.js +3 -7
- package/esm/src/router_providers.js.map +1 -1
- package/esm/src/router_providers.metadata.json +1 -1
- package/esm/src/router_providers_common.d.ts +7 -0
- package/esm/src/router_providers_common.js +10 -7
- package/esm/src/router_providers_common.js.map +1 -1
- package/esm/src/router_providers_common.metadata.json +1 -1
- package/esm/src/router_url_serializer.js +9 -9
- package/esm/src/router_url_serializer.js.map +1 -1
- package/esm/src/segments.d.ts +7 -12
- package/esm/src/segments.js +27 -45
- package/esm/src/segments.js.map +1 -1
- package/esm/src/segments.metadata.json +1 -0
- package/esm/testing/router_testing_providers.js +10 -3
- package/esm/testing/router_testing_providers.js.map +1 -1
- package/esm/testing/router_testing_providers.metadata.json +1 -1
- package/esm/testing.js.map +1 -1
- package/index.d.ts +7 -25
- package/index.js +22 -39
- package/index.js.map +1 -1
- package/package.json +8 -4
- package/src/constants.js +4 -4
- package/src/constants.js.map +1 -1
- package/src/constants.metadata.json +1 -1
- package/src/core_private.d.ts +3 -2
- package/src/core_private.js +1 -0
- package/src/core_private.js.map +1 -1
- package/src/core_private.metadata.json +1 -1
- package/src/directives/router_directives.d.ts +21 -0
- package/src/directives/router_directives.js +25 -0
- package/src/directives/router_directives.js.map +1 -0
- package/src/directives/router_directives.metadata.json +1 -0
- package/src/directives/router_link.d.ts +4 -2
- package/src/directives/router_link.js +20 -12
- package/src/directives/router_link.js.map +1 -1
- package/src/directives/router_link.metadata.json +1 -1
- package/src/directives/router_outlet.d.ts +6 -6
- package/src/directives/router_outlet.js +13 -11
- package/src/directives/router_outlet.js.map +1 -1
- package/src/directives/router_outlet.metadata.json +1 -1
- package/src/facade/async.d.ts +11 -4
- package/src/facade/async.js +27 -17
- package/src/facade/async.js.map +1 -1
- package/src/facade/base_wrapped_exception.js +4 -4
- package/src/facade/base_wrapped_exception.js.map +1 -1
- package/src/facade/collection.js.map +1 -1
- package/src/facade/collection.metadata.json +1 -1
- package/src/facade/exception_handler.d.ts +2 -11
- package/src/facade/exception_handler.js +8 -7
- package/src/facade/exception_handler.js.map +1 -1
- package/src/facade/exceptions.d.ts +4 -0
- package/src/facade/exceptions.js +6 -2
- package/src/facade/exceptions.js.map +1 -1
- package/src/facade/exceptions.metadata.json +1 -0
- package/src/facade/lang.d.ts +6 -4
- package/src/facade/lang.js +12 -11
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/facade/promise.js.map +1 -1
- package/src/interfaces.js.map +1 -1
- package/src/lifecycle_reflector.js.map +1 -1
- package/src/link.d.ts +1 -1
- package/src/link.js +33 -18
- package/src/link.js.map +1 -1
- package/src/metadata/decorators.d.ts +1 -1
- package/src/metadata/decorators.js +1 -1
- package/src/metadata/decorators.js.map +1 -1
- package/src/metadata/decorators.metadata.json +1 -1
- package/src/metadata/metadata.d.ts +3 -3
- package/src/metadata/metadata.js +1 -1
- package/src/metadata/metadata.js.map +1 -1
- package/src/recognize.d.ts +3 -3
- package/src/recognize.js +62 -42
- package/src/recognize.js.map +1 -1
- package/src/router.d.ts +3 -23
- package/src/router.js +64 -64
- package/src/router.js.map +1 -1
- package/src/router_providers.d.ts +1 -1
- package/src/router_providers.js +3 -7
- package/src/router_providers.js.map +1 -1
- package/src/router_providers.metadata.json +1 -1
- package/src/router_providers_common.d.ts +7 -0
- package/src/router_providers_common.js +10 -5
- package/src/router_providers_common.js.map +1 -1
- package/src/router_providers_common.metadata.json +1 -1
- package/src/router_url_serializer.js +8 -8
- package/src/router_url_serializer.js.map +1 -1
- package/src/segments.d.ts +7 -12
- package/src/segments.js +26 -44
- package/src/segments.js.map +1 -1
- package/src/segments.metadata.json +1 -0
- package/testing/router_testing_providers.js +9 -2
- package/testing/router_testing_providers.js.map +1 -1
- package/testing/router_testing_providers.metadata.json +1 -1
- package/testing.js.map +1 -1
- package/esm/index.metadata.json +0 -1
- package/index.metadata.json +0 -1
package/src/facade/lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export interface BrowserNodeGlobal {\n Object: typeof Object;\n Array: typeof Array;\n Map: typeof Map;\n Set: typeof Set;\n Date: DateConstructor;\n RegExp: RegExpConstructor;\n JSON: typeof JSON;\n Math: any; // typeof Math;\n assert(condition: any): void;\n Reflect: any;\n getAngularTestability: Function;\n getAllAngularTestabilities: Function;\n getAllAngularRootElements: Function;\n frameworkStabilizers: Array<Function>;\n setTimeout: Function;\n clearTimeout: Function;\n setInterval: Function;\n clearInterval: Function;\n encodeURI: Function;\n}\n\n// TODO(jteplitz602): Load WorkerGlobalScope from lib.webworker.d.ts file #3492\ndeclare var WorkerGlobalScope;\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\ndeclare var global;\n\nvar globalScope: BrowserNodeGlobal;\nif (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = <any>self;\n } else {\n globalScope = <any>global;\n }\n} else {\n globalScope = <any>window;\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n\nexport const IS_DART = false;\n\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport var Type = Function;\n\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n */\nexport interface Type extends Function {}\n\n/**\n * Runtime representation of a type that is constructable (non-abstract).\n */\nexport interface ConcreteType extends Type { new (...args): any; }\n\nexport function getTypeNameForDebugging(type: Type): string {\n if (type['name']) {\n return type['name'];\n }\n return typeof type;\n}\n\n\nexport var Math = _global.Math;\nexport var Date = _global.Date;\n\nvar _devMode: boolean = true;\nvar _modeLocked: boolean = false;\n\nexport function lockMode() {\n _modeLocked = true;\n}\n\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n */\nexport function enableProdMode() {\n if (_modeLocked) {\n // Cannot use BaseException as that ends up importing from facade/lang.\n throw 'Cannot enable prod mode after platform setup.';\n }\n _devMode = false;\n}\n\nexport function assertionsEnabled(): boolean {\n return _devMode;\n}\n\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n};\n\nexport function isPresent(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isBoolean(obj: any): boolean {\n return typeof obj === \"boolean\";\n}\n\nexport function isNumber(obj: any): boolean {\n return typeof obj === \"number\";\n}\n\nexport function isString(obj: any): boolean {\n return typeof obj === \"string\";\n}\n\nexport function isFunction(obj: any): boolean {\n return typeof obj === \"function\";\n}\n\nexport function isType(obj: any): boolean {\n return isFunction(obj);\n}\n\nexport function isStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isPromise(obj: any): boolean {\n return obj instanceof (<any>_global).Promise;\n}\n\nexport function isArray(obj: any): boolean {\n return Array.isArray(obj);\n}\n\nexport function isDate(obj): boolean {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\n\nexport function noop() {}\n\nexport function stringify(token): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token === undefined || token === null) {\n return '' + token;\n }\n\n if (token.name) {\n return token.name;\n }\n if (token.overriddenName) {\n return token.overriddenName;\n }\n\n var res = token.toString();\n var newLineIndex = res.indexOf(\"\\n\");\n return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);\n}\n\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\n\nexport function serializeEnum(val): number {\n return val;\n}\n\nexport function deserializeEnum(val, values: Map<number, any>): any {\n return val;\n}\n\nexport function resolveEnumToken(enumValue, val): string {\n return enumValue[val];\n}\n\nexport class StringWrapper {\n static fromCharCode(code: number): string { return String.fromCharCode(code); }\n\n static charCodeAt(s: string, index: number): number { return s.charCodeAt(index); }\n\n static split(s: string, regExp: RegExp): string[] { return s.split(regExp); }\n\n static equals(s: string, s2: string): boolean { return s === s2; }\n\n static stripLeft(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n if (s[i] != charVal) break;\n pos++;\n }\n s = s.substring(pos);\n }\n return s;\n }\n\n static stripRight(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = s.length;\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] != charVal) break;\n pos--;\n }\n s = s.substring(0, pos);\n }\n return s;\n }\n\n static replace(s: string, from: string, replace: string): string {\n return s.replace(from, replace);\n }\n\n static replaceAll(s: string, from: RegExp, replace: string): string {\n return s.replace(from, replace);\n }\n\n static slice<T>(s: string, from: number = 0, to: number = null): string {\n return s.slice(from, to === null ? undefined : to);\n }\n\n static replaceAllMapped(s: string, from: RegExp, cb: Function): string {\n return s.replace(from, function(...matches) {\n // Remove offset & string from the result array\n matches.splice(-2, 2);\n // The callback receives match, p1, ..., pn\n return cb(matches);\n });\n }\n\n static contains(s: string, substr: string): boolean { return s.indexOf(substr) != -1; }\n\n static compare(a: string, b: string): number {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n}\n\nexport class StringJoiner {\n constructor(public parts = []) {}\n\n add(part: string): void { this.parts.push(part); }\n\n toString(): string { return this.parts.join(\"\"); }\n}\n\nexport class NumberParseError extends Error {\n name: string;\n\n constructor(public message: string) { super(); }\n\n toString(): string { return this.message; }\n}\n\n\nexport class NumberWrapper {\n static toFixed(n: number, fractionDigits: number): string { return n.toFixed(fractionDigits); }\n\n static equal(a: number, b: number): boolean { return a === b; }\n\n static parseIntAutoRadix(text: string): number {\n var result: number = parseInt(text);\n if (isNaN(result)) {\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text);\n }\n return result;\n }\n\n static parseInt(text: string, radix: number): number {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else {\n var result: number = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text + \" in base \" +\n radix);\n }\n\n // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n static parseFloat(text: string): number { return parseFloat(text); }\n\n static get NaN(): number { return NaN; }\n\n static isNaN(value: any): boolean { return isNaN(value); }\n\n static isInteger(value: any): boolean { return Number.isInteger(value); }\n}\n\nexport var RegExp = _global.RegExp;\n\nexport class RegExpWrapper {\n static create(regExpStr: string, flags: string = ''): RegExp {\n flags = flags.replace(/g/g, '');\n return new _global.RegExp(regExpStr, flags + 'g');\n }\n static firstMatch(regExp: RegExp, input: string): RegExpExecArray {\n // Reset multimatch regex state\n regExp.lastIndex = 0;\n return regExp.exec(input);\n }\n static test(regExp: RegExp, input: string): boolean {\n regExp.lastIndex = 0;\n return regExp.test(input);\n }\n static matcher(regExp: RegExp, input: string): {\n re: RegExp;\n input: string\n }\n {\n // Reset regex state for the case\n // someone did not loop over all matches\n // last time.\n regExp.lastIndex = 0;\n return {re: regExp, input: input};\n }\n static replaceAll(regExp: RegExp, input: string, replace: Function): string {\n let c = regExp.exec(input);\n let res = '';\n regExp.lastIndex = 0;\n let prev = 0;\n while (c) {\n res += input.substring(prev, c.index);\n res += replace(c);\n prev = c.index + c[0].length;\n regExp.lastIndex = prev;\n c = regExp.exec(input);\n }\n res += input.substring(prev);\n return res;\n }\n}\n\nexport class RegExpMatcherWrapper {\n static next(matcher: {\n re: RegExp;\n input: string\n }): RegExpExecArray {\n return matcher.re.exec(matcher.input);\n }\n}\n\nexport class FunctionWrapper {\n static apply(fn: Function, posArgs: any): any { return fn.apply(null, posArgs); }\n}\n\n// JS has NaN !== NaN\nexport function looseIdentical(a, b): boolean {\n return a === b || typeof a === \"number\" && typeof b === \"number\" && isNaN(a) && isNaN(b);\n}\n\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nexport function getMapKey<T>(value: T): T {\n return value;\n}\n\nexport function normalizeBlank(obj: Object): any {\n return isBlank(obj) ? null : obj;\n}\n\nexport function normalizeBool(obj: boolean): boolean {\n return isBlank(obj) ? false : obj;\n}\n\nexport function isJsObject(o: any): boolean {\n return o !== null && (typeof o === \"function\" || typeof o === \"object\");\n}\n\nexport function print(obj: Error | Object) {\n console.log(obj);\n}\n\nexport function warn(obj: Error | Object) {\n console.warn(obj);\n}\n\n// Can't be all uppercase as our transpiler would think it is a special directive...\nexport class Json {\n static parse(s: string): Object { return _global.JSON.parse(s); }\n static stringify(data: Object): string {\n // Dart doesn't take 3 arguments\n return _global.JSON.stringify(data, null, 2);\n }\n}\n\nexport class DateWrapper {\n static create(year: number, month: number = 1, day: number = 1, hour: number = 0,\n minutes: number = 0, seconds: number = 0, milliseconds: number = 0): Date {\n return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n }\n static fromISOString(str: string): Date { return new Date(str); }\n static fromMillis(ms: number): Date { return new Date(ms); }\n static toMillis(date: Date): number { return date.getTime(); }\n static now(): Date { return new Date(); }\n static toJson(date: Date): string { return date.toJSON(); }\n}\n\nexport function setValueOnPath(global: any, path: string, value: any) {\n var parts = path.split('.');\n var obj: any = global;\n while (parts.length > 1) {\n var name = parts.shift();\n if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n obj = obj[name];\n } else {\n obj = obj[name] = {};\n }\n }\n if (obj === undefined || obj === null) {\n obj = {};\n }\n obj[parts.shift()] = value;\n}\n\n// When Symbol.iterator doesn't exist, retrieves the key used in es6-shim\ndeclare var Symbol;\nvar _symbolIterator = null;\nexport function getSymbolIterator(): string | symbol {\n if (isBlank(_symbolIterator)) {\n if (isPresent((<any>globalScope).Symbol) && isPresent(Symbol.iterator)) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n var keys = Object.getOwnPropertyNames(Map.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (key !== 'entries' && key !== 'size' &&\n Map.prototype[key] === Map.prototype['entries']) {\n _symbolIterator = key;\n }\n }\n }\n }\n return _symbolIterator;\n}\n\nexport function evalExpression(sourceUrl: string, expr: string, declarations: string,\n vars: {[key: string]: any}): any {\n var fnBody = `${declarations}\\nreturn ${expr}\\n//# sourceURL=${sourceUrl}`;\n var fnArgNames = [];\n var fnArgValues = [];\n for (var argName in vars) {\n fnArgNames.push(argName);\n fnArgValues.push(vars[argName]);\n }\n return new Function(...fnArgNames.concat(fnBody))(...fnArgValues);\n}\n\nexport function isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function hasConstructor(value: Object, type: Type): boolean {\n return value.constructor === type;\n}\n\nexport function bitWiseOr(values: number[]): number {\n return values.reduce((a, b) => { return a | b; });\n}\n\nexport function bitWiseAnd(values: number[]): number {\n return values.reduce((a, b) => { return a & b; });\n}\n\nexport function escape(s: string): string {\n return _global.encodeURI(s);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["export interface BrowserNodeGlobal {\n Object: typeof Object;\n Array: typeof Array;\n Map: typeof Map;\n Set: typeof Set;\n Date: DateConstructor;\n RegExp: RegExpConstructor;\n JSON: typeof JSON;\n Math: any; // typeof Math;\n assert(condition: any): void;\n Reflect: any;\n getAngularTestability: Function;\n getAllAngularTestabilities: Function;\n getAllAngularRootElements: Function;\n frameworkStabilizers: Array<Function>;\n setTimeout: Function;\n clearTimeout: Function;\n setInterval: Function;\n clearInterval: Function;\n encodeURI: Function;\n}\n\n// TODO(jteplitz602): Load WorkerGlobalScope from lib.webworker.d.ts file #3492\ndeclare var WorkerGlobalScope: any /** TODO #9100 */;\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\ndeclare var global: any /** TODO #9100 */;\n\nvar globalScope: BrowserNodeGlobal;\nif (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = <any>self;\n } else {\n globalScope = <any>global;\n }\n} else {\n globalScope = <any>window;\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n\nexport const IS_DART = false;\n\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport var Type = Function;\n\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n */\nexport interface Type extends Function {}\n\n/**\n * Runtime representation of a type that is constructable (non-abstract).\n */\nexport interface ConcreteType extends Type { new (...args: any[] /** TODO #9100 */): any; }\n\nexport function getTypeNameForDebugging(type: Type): string {\n if (type['name']) {\n return type['name'];\n }\n return typeof type;\n}\n\n\nexport var Math = _global.Math;\nexport var Date = _global.Date;\n\nvar _devMode: boolean = true;\nvar _modeLocked: boolean = false;\n\nexport function lockMode() {\n _modeLocked = true;\n}\n\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n * @stable\n */\nexport function enableProdMode() {\n if (_modeLocked) {\n // Cannot use BaseException as that ends up importing from facade/lang.\n throw 'Cannot enable prod mode after platform setup.';\n }\n _devMode = false;\n}\n\nexport function assertionsEnabled(): boolean {\n return _devMode;\n}\n\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n};\n\nexport function isPresent(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isBoolean(obj: any): boolean {\n return typeof obj === 'boolean';\n}\n\nexport function isNumber(obj: any): boolean {\n return typeof obj === 'number';\n}\n\nexport function isString(obj: any): obj is String {\n return typeof obj === 'string';\n}\n\nexport function isFunction(obj: any): boolean {\n return typeof obj === 'function';\n}\n\nexport function isType(obj: any): boolean {\n return isFunction(obj);\n}\n\nexport function isStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isPromise(obj: any): boolean {\n return obj instanceof (<any>_global).Promise;\n}\n\nexport function isArray(obj: any): boolean {\n return Array.isArray(obj);\n}\n\nexport function isDate(obj: any): obj is Date {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\n\nexport function noop() {}\n\nexport function stringify(token: any): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token === undefined || token === null) {\n return '' + token;\n }\n\n if (token.name) {\n return token.name;\n }\n if (token.overriddenName) {\n return token.overriddenName;\n }\n\n var res = token.toString();\n var newLineIndex = res.indexOf('\\n');\n return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);\n}\n\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\n\nexport function serializeEnum(val: any): number {\n return val;\n}\n\nexport function deserializeEnum(val: any, values: Map<number, any>): any {\n return val;\n}\n\nexport function resolveEnumToken(enumValue: any, val: any): string {\n return enumValue[val];\n}\n\nexport class StringWrapper {\n static fromCharCode(code: number): string { return String.fromCharCode(code); }\n\n static charCodeAt(s: string, index: number): number { return s.charCodeAt(index); }\n\n static split(s: string, regExp: RegExp): string[] { return s.split(regExp); }\n\n static equals(s: string, s2: string): boolean { return s === s2; }\n\n static stripLeft(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n if (s[i] != charVal) break;\n pos++;\n }\n s = s.substring(pos);\n }\n return s;\n }\n\n static stripRight(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = s.length;\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] != charVal) break;\n pos--;\n }\n s = s.substring(0, pos);\n }\n return s;\n }\n\n static replace(s: string, from: string, replace: string): string {\n return s.replace(from, replace);\n }\n\n static replaceAll(s: string, from: RegExp, replace: string): string {\n return s.replace(from, replace);\n }\n\n static slice<T>(s: string, from: number = 0, to: number = null): string {\n return s.slice(from, to === null ? undefined : to);\n }\n\n static replaceAllMapped(s: string, from: RegExp, cb: Function): string {\n return s.replace(from, function(...matches: any[]) {\n // Remove offset & string from the result array\n matches.splice(-2, 2);\n // The callback receives match, p1, ..., pn\n return cb(matches);\n });\n }\n\n static contains(s: string, substr: string): boolean { return s.indexOf(substr) != -1; }\n\n static compare(a: string, b: string): number {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n}\n\nexport class StringJoiner {\n constructor(public parts: string[] = []) {}\n\n add(part: string): void { this.parts.push(part); }\n\n toString(): string { return this.parts.join(''); }\n}\n\nexport class NumberParseError extends Error {\n name: string;\n\n constructor(public message: string) { super(); }\n\n toString(): string { return this.message; }\n}\n\n\nexport class NumberWrapper {\n static toFixed(n: number, fractionDigits: number): string { return n.toFixed(fractionDigits); }\n\n static equal(a: number, b: number): boolean { return a === b; }\n\n static parseIntAutoRadix(text: string): number {\n var result: number = parseInt(text);\n if (isNaN(result)) {\n throw new NumberParseError('Invalid integer literal when parsing ' + text);\n }\n return result;\n }\n\n static parseInt(text: string, radix: number): number {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else {\n var result: number = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new NumberParseError(\n 'Invalid integer literal when parsing ' + text + ' in base ' + radix);\n }\n\n // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n static parseFloat(text: string): number { return parseFloat(text); }\n\n static get NaN(): number { return NaN; }\n\n static isNaN(value: any): boolean { return isNaN(value); }\n\n static isInteger(value: any): boolean { return Number.isInteger(value); }\n}\n\nexport var RegExp = _global.RegExp;\n\nexport class RegExpWrapper {\n static create(regExpStr: string, flags: string = ''): RegExp {\n flags = flags.replace(/g/g, '');\n return new _global.RegExp(regExpStr, flags + 'g');\n }\n static firstMatch(regExp: RegExp, input: string): RegExpExecArray {\n // Reset multimatch regex state\n regExp.lastIndex = 0;\n return regExp.exec(input);\n }\n static test(regExp: RegExp, input: string): boolean {\n regExp.lastIndex = 0;\n return regExp.test(input);\n }\n static matcher(regExp: RegExp, input: string): {re: RegExp; input: string} {\n // Reset regex state for the case\n // someone did not loop over all matches\n // last time.\n regExp.lastIndex = 0;\n return {re: regExp, input: input};\n }\n static replaceAll(regExp: RegExp, input: string, replace: Function): string {\n let c = regExp.exec(input);\n let res = '';\n regExp.lastIndex = 0;\n let prev = 0;\n while (c) {\n res += input.substring(prev, c.index);\n res += replace(c);\n prev = c.index + c[0].length;\n regExp.lastIndex = prev;\n c = regExp.exec(input);\n }\n res += input.substring(prev);\n return res;\n }\n}\n\nexport class RegExpMatcherWrapper {\n static next(matcher: {re: RegExp; input: string}): RegExpExecArray {\n return matcher.re.exec(matcher.input);\n }\n}\n\nexport class FunctionWrapper {\n static apply(fn: Function, posArgs: any): any { return fn.apply(null, posArgs); }\n\n static bind(fn: Function, scope: any): Function { return fn.bind(scope); }\n}\n\n// JS has NaN !== NaN\nexport function looseIdentical(a: any, b: any): boolean {\n return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nexport function getMapKey<T>(value: T): T {\n return value;\n}\n\nexport function normalizeBlank(obj: Object): any {\n return isBlank(obj) ? null : obj;\n}\n\nexport function normalizeBool(obj: boolean): boolean {\n return isBlank(obj) ? false : obj;\n}\n\nexport function isJsObject(o: any): boolean {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n\nexport function print(obj: Error | Object) {\n console.log(obj);\n}\n\nexport function warn(obj: Error | Object) {\n console.warn(obj);\n}\n\n// Can't be all uppercase as our transpiler would think it is a special directive...\nexport class Json {\n static parse(s: string): Object { return _global.JSON.parse(s); }\n static stringify(data: Object): string {\n // Dart doesn't take 3 arguments\n return _global.JSON.stringify(data, null, 2);\n }\n}\n\nexport class DateWrapper {\n static create(\n year: number, month: number = 1, day: number = 1, hour: number = 0, minutes: number = 0,\n seconds: number = 0, milliseconds: number = 0): Date {\n return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n }\n static fromISOString(str: string): Date { return new Date(str); }\n static fromMillis(ms: number): Date { return new Date(ms); }\n static toMillis(date: Date): number { return date.getTime(); }\n static now(): Date { return new Date(); }\n static toJson(date: Date): string { return date.toJSON(); }\n}\n\nexport function setValueOnPath(global: any, path: string, value: any) {\n var parts = path.split('.');\n var obj: any = global;\n while (parts.length > 1) {\n var name = parts.shift();\n if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n obj = obj[name];\n } else {\n obj = obj[name] = {};\n }\n }\n if (obj === undefined || obj === null) {\n obj = {};\n }\n obj[parts.shift()] = value;\n}\n\n// When Symbol.iterator doesn't exist, retrieves the key used in es6-shim\ndeclare var Symbol: any;\nvar _symbolIterator: any = null;\nexport function getSymbolIterator(): string|symbol {\n if (isBlank(_symbolIterator)) {\n if (isPresent((<any>globalScope).Symbol) && isPresent(Symbol.iterator)) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n var keys = Object.getOwnPropertyNames(Map.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (key !== 'entries' && key !== 'size' &&\n (Map as any).prototype[key] === Map.prototype['entries']) {\n _symbolIterator = key;\n }\n }\n }\n }\n return _symbolIterator;\n}\n\nexport function evalExpression(\n sourceUrl: string, expr: string, declarations: string, vars: {[key: string]: any}): any {\n var fnBody = `${declarations}\\nreturn ${expr}\\n//# sourceURL=${sourceUrl}`;\n var fnArgNames: string[] = [];\n var fnArgValues: any[] = [];\n for (var argName in vars) {\n fnArgNames.push(argName);\n fnArgValues.push(vars[argName]);\n }\n return new Function(...fnArgNames.concat(fnBody))(...fnArgValues);\n}\n\nexport function isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function hasConstructor(value: Object, type: Type): boolean {\n return value.constructor === type;\n}\n\nexport function bitWiseOr(values: number[]): number {\n return values.reduce((a, b) => { return a | b; });\n}\n\nexport function bitWiseAnd(values: number[]): number {\n return values.reduce((a, b) => { return a & b; });\n}\n\nexport function escape(s: string): string {\n return _global.encodeURI(s);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","metadata":{"IS_DART":false,"Type":{"__symbolic":"reference","name":"Function"},"Math":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Math"},"Date":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Date"},"RegExp":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"RegExp"}}}
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"IS_DART":false,"Type":{"__symbolic":"reference","name":"Function"},"Math":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Math"},"Date":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Date"},"assertionsEnabled":{"__symbolic":"function","parameters":[],"value":true},"isPresent":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"undefined"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isBoolean":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":123,"character":8},"right":"boolean"}},"isNumber":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":127,"character":8},"right":"number"}},"isString":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":131,"character":8},"right":"string"}},"isFunction":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":135,"character":8},"right":"function"}},"isType":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFunction"},"arguments":[{"__symbolic":"reference","name":"obj"}]}},"isStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":143,"character":8},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isStrictStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isStringMap"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"reference","name":"STRING_MAP_PROTO"}}}},"isPromise":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Promise"}}},"isArray":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Array"},"member":"isArray"},"arguments":[{"__symbolic":"reference","name":"obj"}]}},"isDate":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"Date"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"valueOf"}}]}}}},"serializeEnum":{"__symbolic":"function","parameters":["val"],"value":{"__symbolic":"reference","name":"val"}},"deserializeEnum":{"__symbolic":"function","parameters":["val","values"],"value":{"__symbolic":"reference","name":"val"}},"resolveEnumToken":{"__symbolic":"function","parameters":["enumValue","val"],"value":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"enumValue"},"index":{"__symbolic":"reference","name":"val"}}},"RegExp":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"RegExp"},"looseIdentical":{"__symbolic":"function","parameters":["a","b"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"a"},"right":{"__symbolic":"reference","name":"b"}},"right":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":381,"character":19},"right":"number"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":381,"character":44},"right":"number"}},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"reference","name":"a"}]}},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"reference","name":"b"}]}}}},"getMapKey":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"reference","name":"value"}},"normalizeBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"error","message":"Expression form not supported","line":391,"character":8}},"normalizeBool":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"error","message":"Expression form not supported","line":395,"character":8}},"isJsObject":{"__symbolic":"function","parameters":["o"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"o"},"right":null},"right":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":399,"character":24},"right":"function"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":399,"character":50},"right":"object"}}}},"isPrimitive":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isJsObject"},"arguments":[{"__symbolic":"reference","name":"obj"}]}}},"hasConstructor":{"__symbolic":"function","parameters":["value","type"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"constructor"},"right":{"__symbolic":"reference","name":"type"}}},"bitWiseOr":{"__symbolic":"function","parameters":["values"],"value":{"__symbolic":"error","message":"Function call not supported","line":492,"character":23}},"bitWiseAnd":{"__symbolic":"function","parameters":["values"],"value":{"__symbolic":"error","message":"Function call not supported","line":496,"character":23}},"escape":{"__symbolic":"function","parameters":["s"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"encodeURI"},"arguments":[{"__symbolic":"reference","name":"s"}]}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/facade/promise.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/facade/promise.ts"],"names":[],"mappings":";AACA;IAKE;QALF,iBAWC;QALG,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YAClC,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACH,uBAAC;AAAD,CAAC,AAXD,IAWC;AAXY,wBAAgB,mBAW5B,CAAA;AAED;IAAA;IAwCA,CAAC;IAvCQ,sBAAO,GAAd,UAAkB,GAAM,IAAgB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,qBAAM,GAAb,UAAc,GAAQ,EAAE,CAAM,IAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7E,yEAAyE;IACzE,uBAAuB;IAChB,yBAAU,GAAjB,UAAqB,OAAmB,EAAE,OAA2C;QAEnF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEM,kBAAG,GAAV,UAAc,QAA0B;QACtC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,mBAAI,GAAX,UACI,OAAmB,EAAE,OAAyC,EAC9D,SAA2D;QAC7D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAEM,mBAAI,GAAX,UAAe,WAAoB;QACjC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YAC1B,IAAI,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACrB,CAAE;YAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACX,GAAG,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAiB,GAAxB,UAAyB,WAAsB;QAC7C,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAC,CAAC,IAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,wBAAS,GAAhB,UAAiB,GAAQ,IAAa,MAAM,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC;IAE/D,wBAAS,GAAhB,cAA6C,MAAM,CAAC,IAAI,gBAAgB,EAAK,CAAC,CAAC,CAAC;IAClF,qBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,sBAAc,iBAwC1B,CAAA","sourcesContent":["\nexport class PromiseCompleter<R> {\n promise: Promise<R>;\n resolve: (value?: R|PromiseLike<R>) => void;\n reject: (error?: any, stackTrace?: string) => void;\n\n constructor() {\n this.promise = new Promise((res, rej) => {\n this.resolve = res;\n this.reject = rej;\n });\n }\n}\n\nexport class PromiseWrapper {\n static resolve<T>(obj: T): Promise<T> { return Promise.resolve(obj); }\n\n static reject(obj: any, _: any): Promise<any> { return Promise.reject(obj); }\n\n // Note: We can't rename this method into `catch`, as this is not a valid\n // method name in Dart.\n static catchError<T>(promise: Promise<T>, onError: (error: any) => T | PromiseLike<T>):\n Promise<T> {\n return promise.catch(onError);\n }\n\n static all<T>(promises: (T|Promise<T>)[]): Promise<T[]> {\n if (promises.length == 0) return Promise.resolve([]);\n return Promise.all(promises);\n }\n\n static then<T, U>(\n promise: Promise<T>, success: (value: T) => U | PromiseLike<U>,\n rejection?: (error: any, stack?: any) => U | PromiseLike<U>): Promise<U> {\n return promise.then(success, rejection);\n }\n\n static wrap<T>(computation: () => T): Promise<T> {\n return new Promise((res, rej) => {\n try {\n res(computation());\n } catch (e) {\n rej(e);\n }\n });\n }\n\n static scheduleMicrotask(computation: () => any): void {\n PromiseWrapper.then(PromiseWrapper.resolve(null), computation, (_) => {});\n }\n\n static isPromise(obj: any): boolean { return obj instanceof Promise; }\n\n static completer<T>(): PromiseCompleter<T> { return new PromiseCompleter<T>(); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/src/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import {RouteSegment, RouteTree, Tree} from './segments';\n\n\n/**\n * Defines route lifecycle method `routerOnActivate`, which is called by the router at the end of a\n * successful route navigation.\n *\n * The `routerOnActivate` hook is called with the current and previous {@link RouteSegment}s of the\n * component and with the corresponding route trees.\n */\nexport interface OnActivate {\n routerOnActivate(\n curr: RouteSegment, prev?: RouteSegment, currTree?: RouteTree, prevTree?: RouteTree): void;\n}\n\n/**\n * Defines route lifecycle method `routerOnDeactivate`, which is called by the router before\n * destroying a component as part of a route change.\n *\n * The `routerOnDeactivate` hook is called with two {@link RouteTree}s, representing the current\n * and the future state of the application.\n *\n * `routerOnDeactivate` must return a promise. The route change will wait until the promise settles.\n */\nexport interface CanDeactivate {\n routerCanDeactivate(currTree?: RouteTree, futureTree?: RouteTree): Promise<boolean>;\n}\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle_reflector.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/lifecycle_reflector.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"lifecycle_reflector.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/lifecycle_reflector.ts"],"names":[],"mappings":";AAAA,qBAA4B,eAAe,CAAC,CAAA;AAE5C,0BAAiC,IAAY,EAAE,GAAW;IACxD,EAAE,CAAC,CAAC,cAAO,CAAC,GAAG,CAAC,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC/B,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;IAC3B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,WAAI,CAAC,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC1C,MAAM,CAAC,IAAI,IAAU,IAAK,CAAC,SAAS,CAAC;AACvC,CAAC;AALe,wBAAgB,mBAK/B,CAAA","sourcesContent":["import {Type, isBlank} from './facade/lang';\n\nexport function hasLifecycleHook(name: string, obj: Object): boolean {\n if (isBlank(obj)) return false;\n let type = obj.constructor;\n if (!(type instanceof Type)) return false;\n return name in (<any>type).prototype;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/src/link.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { RouteSegment,
|
|
1
|
+
import { RouteSegment, RouteTree, UrlTree } from './segments';
|
|
2
2
|
export declare function link(segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree, commands: any[]): UrlTree;
|
package/src/link.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var segments_1 = require('./segments');
|
|
3
|
-
var lang_1 = require('./facade/lang');
|
|
4
|
-
var exceptions_1 = require('./facade/exceptions');
|
|
5
2
|
var collection_1 = require('./facade/collection');
|
|
6
|
-
|
|
3
|
+
var exceptions_1 = require('./facade/exceptions');
|
|
4
|
+
var lang_1 = require('./facade/lang');
|
|
5
|
+
var segments_1 = require('./segments');
|
|
7
6
|
function link(segment, routeTree, urlTree, commands) {
|
|
8
7
|
if (commands.length === 0)
|
|
9
8
|
return urlTree;
|
|
@@ -13,13 +12,15 @@ function link(segment, routeTree, urlTree, commands) {
|
|
|
13
12
|
}
|
|
14
13
|
var startingNode = _findStartingNode(normalizedCommands, urlTree, segment, routeTree);
|
|
15
14
|
var updated = normalizedCommands.commands.length > 0 ?
|
|
16
|
-
_updateMany(collection_1.ListWrapper.clone(startingNode.children), normalizedCommands.commands) :
|
|
15
|
+
_updateMany(collection_1.ListWrapper.clone(startingNode.children), normalizedCommands.commands) :
|
|
16
|
+
[];
|
|
17
17
|
var newRoot = _constructNewTree(segments_1.rootNode(urlTree), startingNode, updated);
|
|
18
18
|
return new segments_1.UrlTree(newRoot);
|
|
19
19
|
}
|
|
20
20
|
exports.link = link;
|
|
21
21
|
function _navigateToRoot(normalizedChange) {
|
|
22
|
-
return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 &&
|
|
22
|
+
return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 &&
|
|
23
|
+
normalizedChange.commands[0] == '/';
|
|
23
24
|
}
|
|
24
25
|
var _NormalizedNavigationCommands = (function () {
|
|
25
26
|
function _NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, commands) {
|
|
@@ -30,9 +31,7 @@ var _NormalizedNavigationCommands = (function () {
|
|
|
30
31
|
return _NormalizedNavigationCommands;
|
|
31
32
|
}());
|
|
32
33
|
function _normalizeCommands(commands) {
|
|
33
|
-
|
|
34
|
-
'';
|
|
35
|
-
if (lang_1.isString(commands[0]) && commands.length === 1 && commands[0] == "/") {
|
|
34
|
+
if (lang_1.isString(commands[0]) && commands.length === 1 && commands[0] == '/') {
|
|
36
35
|
return new _NormalizedNavigationCommands(true, 0, commands);
|
|
37
36
|
}
|
|
38
37
|
var numberOfDoubleDots = 0;
|
|
@@ -49,12 +48,12 @@ function _normalizeCommands(commands) {
|
|
|
49
48
|
var cc = parts[j];
|
|
50
49
|
// first exp is treated in a special way
|
|
51
50
|
if (i == 0) {
|
|
52
|
-
if (j == 0 && cc ==
|
|
51
|
+
if (j == 0 && cc == '.') {
|
|
53
52
|
}
|
|
54
|
-
else if (j == 0 && cc ==
|
|
53
|
+
else if (j == 0 && cc == '') {
|
|
55
54
|
isAbsolute = true;
|
|
56
55
|
}
|
|
57
|
-
else if (cc ==
|
|
56
|
+
else if (cc == '..') {
|
|
58
57
|
numberOfDoubleDots++;
|
|
59
58
|
}
|
|
60
59
|
else if (cc != '') {
|
|
@@ -78,7 +77,7 @@ function _findUrlSegment(segment, routeTree, urlTree, numberOfDoubleDots) {
|
|
|
78
77
|
var urlSegment = collection_1.ListWrapper.last(s.urlSegments);
|
|
79
78
|
var path = urlTree.pathFromRoot(urlSegment);
|
|
80
79
|
if (path.length <= numberOfDoubleDots) {
|
|
81
|
-
throw new exceptions_1.BaseException(
|
|
80
|
+
throw new exceptions_1.BaseException('Invalid number of \'../\'');
|
|
82
81
|
}
|
|
83
82
|
return path[path.length - 1 - numberOfDoubleDots];
|
|
84
83
|
}
|
|
@@ -122,25 +121,41 @@ function _update(node, commands) {
|
|
|
122
121
|
return new segments_1.TreeNode(urlSegment, children);
|
|
123
122
|
}
|
|
124
123
|
else if (lang_1.isBlank(node) && lang_1.isStringMap(next)) {
|
|
125
|
-
var urlSegment = new segments_1.UrlSegment(segment, next, outlet);
|
|
124
|
+
var urlSegment = new segments_1.UrlSegment(segment, _stringify(next), outlet);
|
|
126
125
|
return _recurse(urlSegment, node, rest.slice(1));
|
|
127
126
|
}
|
|
128
127
|
else if (outlet != node.value.outlet) {
|
|
129
128
|
return node;
|
|
130
129
|
}
|
|
131
130
|
else if (lang_1.isStringMap(segment)) {
|
|
132
|
-
var newSegment = new segments_1.UrlSegment(node.value.segment, segment, node.value.outlet);
|
|
131
|
+
var newSegment = new segments_1.UrlSegment(node.value.segment, _stringify(segment), node.value.outlet);
|
|
133
132
|
return _recurse(newSegment, node, rest);
|
|
134
133
|
}
|
|
134
|
+
else if (lang_1.isStringMap(next) && _compare(segment, _stringify(next), node.value)) {
|
|
135
|
+
return _recurse(node.value, node, rest.slice(1));
|
|
136
|
+
}
|
|
135
137
|
else if (lang_1.isStringMap(next)) {
|
|
136
|
-
var urlSegment = new segments_1.UrlSegment(segment, next, outlet);
|
|
138
|
+
var urlSegment = new segments_1.UrlSegment(segment, _stringify(next), outlet);
|
|
137
139
|
return _recurse(urlSegment, node, rest.slice(1));
|
|
138
140
|
}
|
|
141
|
+
else if (_compare(segment, {}, node.value)) {
|
|
142
|
+
return _recurse(node.value, node, rest);
|
|
143
|
+
}
|
|
139
144
|
else {
|
|
140
145
|
var urlSegment = new segments_1.UrlSegment(segment, {}, outlet);
|
|
141
146
|
return _recurse(urlSegment, node, rest);
|
|
142
147
|
}
|
|
143
148
|
}
|
|
149
|
+
function _stringify(params) {
|
|
150
|
+
var res = {};
|
|
151
|
+
collection_1.StringMapWrapper.forEach(params, function (v /** TODO #9100 */, k /** TODO #9100 */) {
|
|
152
|
+
return res[k] = v.toString();
|
|
153
|
+
});
|
|
154
|
+
return res;
|
|
155
|
+
}
|
|
156
|
+
function _compare(path, params, segment) {
|
|
157
|
+
return path == segment.segment && collection_1.StringMapWrapper.equals(params, segment.parameters);
|
|
158
|
+
}
|
|
144
159
|
function _recurse(urlSegment, node, rest) {
|
|
145
160
|
if (rest.length === 0) {
|
|
146
161
|
return new segments_1.TreeNode(urlSegment, []);
|
|
@@ -162,13 +177,13 @@ function _updateMany(nodes, commands) {
|
|
|
162
177
|
function _segment(commands) {
|
|
163
178
|
if (!lang_1.isString(commands[0]))
|
|
164
179
|
return commands[0];
|
|
165
|
-
var parts = commands[0].toString().split(
|
|
180
|
+
var parts = commands[0].toString().split(':');
|
|
166
181
|
return parts.length > 1 ? parts[1] : commands[0];
|
|
167
182
|
}
|
|
168
183
|
function _outlet(commands) {
|
|
169
184
|
if (!lang_1.isString(commands[0]))
|
|
170
185
|
return null;
|
|
171
|
-
var parts = commands[0].toString().split(
|
|
186
|
+
var parts = commands[0].toString().split(':');
|
|
172
187
|
return parts.length > 1 ? parts[0] : null;
|
|
173
188
|
}
|
|
174
189
|
//# sourceMappingURL=link.js.map
|
package/src/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/link.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Tree, TreeNode, UrlSegment, RouteSegment, rootNode, UrlTree, RouteTree} from './segments';\nimport {isBlank, isPresent, isString, isStringMap} from './facade/lang';\nimport {BaseException} from './facade/exceptions';\nimport {ListWrapper} from './facade/collection';\n\n// TODO: vsavkin: should reuse segments\nexport function link(segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree, commands: any[]): UrlTree {\n if (commands.length === 0) return urlTree;\n\n let normalizedCommands = _normalizeCommands(commands);\n if (_navigateToRoot(normalizedCommands)) {\n return new UrlTree(new TreeNode<UrlSegment>(urlTree.root, []));\n }\n\n let startingNode = _findStartingNode(normalizedCommands, urlTree, segment, routeTree);\n let updated = normalizedCommands.commands.length > 0 ?\n _updateMany(ListWrapper.clone(startingNode.children), normalizedCommands.commands) : [];\n let newRoot = _constructNewTree(rootNode(urlTree), startingNode, updated);\n\n return new UrlTree(newRoot);\n}\n\nfunction _navigateToRoot(normalizedChange:_NormalizedNavigationCommands):boolean {\n return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 && normalizedChange.commands[0] == \"/\";\n}\n\nclass _NormalizedNavigationCommands {\n constructor(public isAbsolute: boolean,\n public numberOfDoubleDots: number,\n public commands: any[]) {}\n}\n\nfunction _normalizeCommands(commands: any[]): _NormalizedNavigationCommands {;''\n if (isString(commands[0]) && commands.length === 1 && commands[0] == \"/\") {\n return new _NormalizedNavigationCommands(true, 0, commands);\n }\n\n let numberOfDoubleDots = 0;\n let isAbsolute = false;\n let res = [];\n\n for (let i = 0; i < commands.length; ++i) {\n let c = commands[i];\n\n if (!isString(c)) {\n res.push(c);\n continue;\n }\n\n let parts = c.split('/');\n for (let j = 0; j < parts.length; ++j) {\n let cc = parts[j];\n\n // first exp is treated in a special way\n if (i == 0) {\n if (j == 0 && cc == \".\") { // './a'\n // skip it\n } else if (j == 0 && cc == \"\") { // '/a'\n isAbsolute = true;\n } else if (cc == \"..\") { // '../a'\n numberOfDoubleDots++;\n } else if (cc != '') {\n res.push(cc);\n }\n\n } else {\n if (cc != ''){\n res.push(cc);\n }\n }\n }\n }\n\n return new _NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res);\n}\n\nfunction _findUrlSegment(segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree, numberOfDoubleDots: number): UrlSegment {\n let s = segment;\n while (s.urlSegments.length === 0) {\n s = routeTree.parent(s);\n }\n let urlSegment = ListWrapper.last(s.urlSegments);\n let path = urlTree.pathFromRoot(urlSegment);\n if (path.length <= numberOfDoubleDots) {\n throw new BaseException(\"Invalid number of '../'\");\n }\n return path[path.length - 1 - numberOfDoubleDots];\n}\n\nfunction _findStartingNode(normalizedChange:_NormalizedNavigationCommands, urlTree:UrlTree, segment:RouteSegment, routeTree:RouteTree):TreeNode<UrlSegment> {\n if (normalizedChange.isAbsolute) {\n return rootNode(urlTree);\n } else {\n let urlSegment = _findUrlSegment(segment, routeTree, urlTree, normalizedChange.numberOfDoubleDots);\n return _findMatchingNode(urlSegment, rootNode(urlTree));\n }\n}\n\nfunction _findMatchingNode(segment: UrlSegment, node: TreeNode<UrlSegment>): TreeNode<UrlSegment> {\n if (node.value === segment) return node;\n for (var c of node.children) {\n let r = _findMatchingNode(segment, c);\n if (isPresent(r)) return r;\n }\n return null;\n}\n\nfunction _constructNewTree(node: TreeNode<UrlSegment>, original: TreeNode<UrlSegment>,\n updated: TreeNode<UrlSegment>[]): TreeNode<UrlSegment> {\n if (node === original) {\n return new TreeNode<UrlSegment>(node.value, updated);\n } else {\n return new TreeNode<UrlSegment>(\n node.value, node.children.map(c => _constructNewTree(c, original, updated)));\n }\n}\n\nfunction _update(node: TreeNode<UrlSegment>, commands: any[]): TreeNode<UrlSegment> {\n let rest = commands.slice(1);\n let next = rest.length === 0 ? null : rest[0];\n let outlet = _outlet(commands);\n let segment = _segment(commands);\n\n // reach the end of the tree => create new tree nodes.\n if (isBlank(node) && !isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, {}, outlet);\n let children = rest.length === 0 ? [] : [_update(null, rest)];\n return new TreeNode<UrlSegment>(urlSegment, children);\n\n } else if (isBlank(node) && isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, next, outlet);\n return _recurse(urlSegment, node, rest.slice(1));\n \n // different outlet => preserve the subtree\n } else if (outlet != node.value.outlet) {\n return node;\n\n // params command\n } else if (isStringMap(segment)) {\n let newSegment = new UrlSegment(node.value.segment, segment, node.value.outlet);\n return _recurse(newSegment, node, rest);\n\n // next one is a params command\n } else if (isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, next, outlet);\n return _recurse(urlSegment, node, rest.slice(1));\n\n // next one is not a params command\n } else {\n let urlSegment = new UrlSegment(segment, {}, outlet);\n return _recurse(urlSegment, node, rest);\n }\n}\n\nfunction _recurse(urlSegment: UrlSegment, node: TreeNode<UrlSegment>, rest: any[]): TreeNode<UrlSegment> {\n if (rest.length === 0) {\n return new TreeNode<UrlSegment>(urlSegment, []);\n }\n return new TreeNode<UrlSegment>(urlSegment, _updateMany(ListWrapper.clone(node.children), rest));\n}\n\nfunction _updateMany(nodes: TreeNode<UrlSegment>[], commands: any[]): TreeNode<UrlSegment>[] {\n let outlet = _outlet(commands);\n let nodesInRightOutlet = nodes.filter(c => c.value.outlet == outlet);\n if (nodesInRightOutlet.length > 0) {\n let nodeRightOutlet = nodesInRightOutlet[0]; // there can be only one\n nodes[nodes.indexOf(nodeRightOutlet)] = _update(nodeRightOutlet, commands);\n } else {\n nodes.push(_update(null, commands));\n }\n\n return nodes;\n}\n\nfunction _segment(commands: any[]): any {\n if (!isString(commands[0])) return commands[0];\n let parts = commands[0].toString().split(\":\");\n return parts.length > 1 ? parts[1] : commands[0];\n}\n\nfunction _outlet(commands: any[]): string {\n if (!isString(commands[0])) return null;\n let parts = commands[0].toString().split(\":\");\n return parts.length > 1 ? parts[0] : null;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/link.ts"],"names":[],"mappings":"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","sourcesContent":["import {ListWrapper, StringMapWrapper} from './facade/collection';\nimport {BaseException} from './facade/exceptions';\nimport {isBlank, isPresent, isString, isStringMap} from './facade/lang';\nimport {RouteSegment, RouteTree, Tree, TreeNode, UrlSegment, UrlTree, rootNode} from './segments';\n\nexport function link(\n segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree, commands: any[]): UrlTree {\n if (commands.length === 0) return urlTree;\n\n let normalizedCommands = _normalizeCommands(commands);\n if (_navigateToRoot(normalizedCommands)) {\n return new UrlTree(new TreeNode<UrlSegment>(urlTree.root, []));\n }\n\n let startingNode = _findStartingNode(normalizedCommands, urlTree, segment, routeTree);\n let updated = normalizedCommands.commands.length > 0 ?\n _updateMany(ListWrapper.clone(startingNode.children), normalizedCommands.commands) :\n [];\n let newRoot = _constructNewTree(rootNode(urlTree), startingNode, updated);\n\n return new UrlTree(newRoot);\n}\n\nfunction _navigateToRoot(normalizedChange: _NormalizedNavigationCommands): boolean {\n return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 &&\n normalizedChange.commands[0] == '/';\n}\n\nclass _NormalizedNavigationCommands {\n constructor(\n public isAbsolute: boolean, public numberOfDoubleDots: number, public commands: any[]) {}\n}\n\nfunction _normalizeCommands(commands: any[]): _NormalizedNavigationCommands {\n if (isString(commands[0]) && commands.length === 1 && commands[0] == '/') {\n return new _NormalizedNavigationCommands(true, 0, commands);\n }\n\n let numberOfDoubleDots = 0;\n let isAbsolute = false;\n let res: any[] /** TODO #9100 */ = [];\n\n for (let i = 0; i < commands.length; ++i) {\n let c = commands[i];\n\n if (!isString(c)) {\n res.push(c);\n continue;\n }\n\n let parts = c.split('/');\n for (let j = 0; j < parts.length; ++j) {\n let cc = parts[j];\n\n // first exp is treated in a special way\n if (i == 0) {\n if (j == 0 && cc == '.') { // './a'\n // skip it\n } else if (j == 0 && cc == '') { // '/a'\n isAbsolute = true;\n } else if (cc == '..') { // '../a'\n numberOfDoubleDots++;\n } else if (cc != '') {\n res.push(cc);\n }\n\n } else {\n if (cc != '') {\n res.push(cc);\n }\n }\n }\n }\n\n return new _NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res);\n}\n\nfunction _findUrlSegment(\n segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree,\n numberOfDoubleDots: number): UrlSegment {\n let s = segment;\n while (s.urlSegments.length === 0) {\n s = routeTree.parent(s);\n }\n let urlSegment = ListWrapper.last(s.urlSegments);\n let path = urlTree.pathFromRoot(urlSegment);\n if (path.length <= numberOfDoubleDots) {\n throw new BaseException('Invalid number of \\'../\\'');\n }\n return path[path.length - 1 - numberOfDoubleDots];\n}\n\nfunction _findStartingNode(\n normalizedChange: _NormalizedNavigationCommands, urlTree: UrlTree, segment: RouteSegment,\n routeTree: RouteTree): TreeNode<UrlSegment> {\n if (normalizedChange.isAbsolute) {\n return rootNode(urlTree);\n } else {\n let urlSegment =\n _findUrlSegment(segment, routeTree, urlTree, normalizedChange.numberOfDoubleDots);\n return _findMatchingNode(urlSegment, rootNode(urlTree));\n }\n}\n\nfunction _findMatchingNode(segment: UrlSegment, node: TreeNode<UrlSegment>): TreeNode<UrlSegment> {\n if (node.value === segment) return node;\n for (var c of node.children) {\n let r = _findMatchingNode(segment, c);\n if (isPresent(r)) return r;\n }\n return null;\n}\n\nfunction _constructNewTree(\n node: TreeNode<UrlSegment>, original: TreeNode<UrlSegment>,\n updated: TreeNode<UrlSegment>[]): TreeNode<UrlSegment> {\n if (node === original) {\n return new TreeNode<UrlSegment>(node.value, updated);\n } else {\n return new TreeNode<UrlSegment>(\n node.value, node.children.map(c => _constructNewTree(c, original, updated)));\n }\n}\n\nfunction _update(node: TreeNode<UrlSegment>, commands: any[]): TreeNode<UrlSegment> {\n let rest = commands.slice(1);\n let next = rest.length === 0 ? null : rest[0];\n let outlet = _outlet(commands);\n let segment = _segment(commands);\n\n // reach the end of the tree => create new tree nodes.\n if (isBlank(node) && !isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, {}, outlet);\n let children = rest.length === 0 ? [] : [_update(null, rest)];\n return new TreeNode<UrlSegment>(urlSegment, children);\n\n } else if (isBlank(node) && isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, _stringify(next), outlet);\n return _recurse(urlSegment, node, rest.slice(1));\n\n // different outlet => preserve the subtree\n } else if (outlet != node.value.outlet) {\n return node;\n\n // params command\n } else if (isStringMap(segment)) {\n let newSegment = new UrlSegment(node.value.segment, _stringify(segment), node.value.outlet);\n return _recurse(newSegment, node, rest);\n\n // next one is a params command && can reuse the node\n } else if (isStringMap(next) && _compare(segment, _stringify(next), node.value)) {\n return _recurse(node.value, node, rest.slice(1));\n\n // next one is a params command && cannot reuse the node\n } else if (isStringMap(next)) {\n let urlSegment = new UrlSegment(segment, _stringify(next), outlet);\n return _recurse(urlSegment, node, rest.slice(1));\n\n // next one is not a params command && can reuse the node\n } else if (_compare(segment, {}, node.value)) {\n return _recurse(node.value, node, rest);\n\n // next one is not a params command && cannot reuse the node\n } else {\n let urlSegment = new UrlSegment(segment, {}, outlet);\n return _recurse(urlSegment, node, rest);\n }\n}\n\nfunction _stringify(params: {[key: string]: any}): {[key: string]: string} {\n let res = {};\n StringMapWrapper.forEach(\n params, (v: any /** TODO #9100 */, k: any /** TODO #9100 */) =>\n (res as any /** TODO #9100 */)[k] = v.toString());\n return res;\n}\n\nfunction _compare(path: string, params: {[key: string]: any}, segment: UrlSegment): boolean {\n return path == segment.segment && StringMapWrapper.equals(params, segment.parameters);\n}\n\nfunction _recurse(\n urlSegment: UrlSegment, node: TreeNode<UrlSegment>, rest: any[]): TreeNode<UrlSegment> {\n if (rest.length === 0) {\n return new TreeNode<UrlSegment>(urlSegment, []);\n }\n return new TreeNode<UrlSegment>(urlSegment, _updateMany(ListWrapper.clone(node.children), rest));\n}\n\nfunction _updateMany(nodes: TreeNode<UrlSegment>[], commands: any[]): TreeNode<UrlSegment>[] {\n let outlet = _outlet(commands);\n let nodesInRightOutlet = nodes.filter(c => c.value.outlet == outlet);\n if (nodesInRightOutlet.length > 0) {\n let nodeRightOutlet = nodesInRightOutlet[0]; // there can be only one\n nodes[nodes.indexOf(nodeRightOutlet)] = _update(nodeRightOutlet, commands);\n } else {\n nodes.push(_update(null, commands));\n }\n\n return nodes;\n}\n\nfunction _segment(commands: any[]): any {\n if (!isString(commands[0])) return commands[0];\n let parts = commands[0].toString().split(':');\n return parts.length > 1 ? parts[1] : commands[0];\n}\n\nfunction _outlet(commands: any[]): string {\n if (!isString(commands[0])) return null;\n let parts = commands[0].toString().split(':');\n return parts.length > 1 ? parts[0] : null;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/metadata/decorators.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/metadata/decorators.ts"],"names":[],"mappings":";AAAA,6BAA4B,iBAAiB,CAAC,CAAA;AAE9C,yBAA4C,YAAY,CAAC,CAAA;AAazD;;;;GAIG;AACQ,cAAM,GAAiC,4BAAa,CAAC,yBAAc,CAAC,CAAC","sourcesContent":["import {makeDecorator} from '../core_private';\n\nimport {RouteMetadata, RoutesMetadata} from './metadata';\n\n\n/**\n * Defines routes for a given component.\n *\n * It takes an array of {@link RouteMetadata}s.\n */\nexport interface RoutesFactory {\n (routes: RouteMetadata[]): any;\n new (routes: RouteMetadata[]): RoutesMetadata;\n}\n\n/**\n * Defines routes for a given component.\n *\n * It takes an array of {@link RouteMetadata}s.\n */\nexport var Routes: RoutesFactory = <RoutesFactory>makeDecorator(RoutesMetadata);\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","metadata":{"Routes":{"__symbolic":"call","expression":{"__symbolic":"reference","
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"Routes":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../core_private","name":"makeDecorator"},"arguments":[{"__symbolic":"reference","module":"./metadata","name":"RoutesMetadata"}]}}}
|
|
@@ -20,7 +20,7 @@ import { Type } from '@angular/core';
|
|
|
20
20
|
*/
|
|
21
21
|
export declare abstract class RouteMetadata {
|
|
22
22
|
path: string;
|
|
23
|
-
component: Type;
|
|
23
|
+
component: Type | string;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* See {@link RouteMetadata} for more information.
|
|
@@ -28,10 +28,10 @@ export declare abstract class RouteMetadata {
|
|
|
28
28
|
*/
|
|
29
29
|
export declare class Route implements RouteMetadata {
|
|
30
30
|
path: string;
|
|
31
|
-
component: Type;
|
|
31
|
+
component: Type | string;
|
|
32
32
|
constructor({path, component}?: {
|
|
33
33
|
path?: string;
|
|
34
|
-
component?: Type;
|
|
34
|
+
component?: Type | string;
|
|
35
35
|
});
|
|
36
36
|
toString(): string;
|
|
37
37
|
}
|
package/src/metadata/metadata.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/metadata/metadata.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/metadata/metadata.ts"],"names":[],"mappings":";AACA,qBAAwB,gBAAgB,CAAC,CAAA;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAAA;IAGA,CAAC;IAFC,sBAAa,+BAAI;aAAjB,eAA4B;;;OAAA;IAC5B,sBAAa,oCAAS;aAAtB,eAAsC;;;OAAA;IACxC,oBAAC;AAAD,CAAC,AAHD,IAGC;AAHqB,qBAAa,gBAGlC,CAAA;AAED;;;GAGG;AACH;IAGE,eAAY,EAAgE;YAAhE,4BAAgE,EAA/D,cAAI,EAAE,wBAAS;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,wBAAQ,GAAR,cAAqB,MAAM,CAAC,YAAU,IAAI,CAAC,IAAI,UAAK,gBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAG,CAAC,CAAC,CAAC;IACrF,YAAC;AAAD,CAAC,AARD,IAQC;AARY,aAAK,QAQjB,CAAA;AAED;;;;;GAKG;AACH;IACE,wBAAmB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAC9C,iCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAW,IAAI,CAAC,MAAM,MAAG,CAAC,CAAC,CAAC;IAC1D,qBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,sBAAc,iBAG1B,CAAA","sourcesContent":["import {Type} from '@angular/core';\nimport {stringify} from '../facade/lang';\n\n/**\n * Information about a route.\n *\n * It has the following properties:\n * - `path` is a string that uses the route matcher DSL.\n * - `component` a component type.\n *\n * ### Example\n * ```\n * import {Routes} from '@angular/router';\n *\n * @Routes([\n * {path: '/home', component: HomeCmp}\n * ])\n * class MyApp {}\n * ```\n *\n * @ts2dart_const\n */\nexport abstract class RouteMetadata {\n abstract get path(): string;\n abstract get component(): Type|string;\n}\n\n/**\n * See {@link RouteMetadata} for more information.\n * @ts2dart_const\n */\nexport class Route implements RouteMetadata {\n path: string;\n component: Type|string;\n constructor({path, component}: {path?: string, component?: Type|string} = {}) {\n this.path = path;\n this.component = component;\n }\n toString(): string { return `@Route(${this.path}, ${stringify(this.component)})`; }\n}\n\n/**\n * Defines routes for a given component.\n *\n * It takes an array of {@link RouteMetadata}s.\n * @ts2dart_const\n */\nexport class RoutesMetadata {\n constructor(public routes: RouteMetadata[]) {}\n toString(): string { return `@Routes(${this.routes})`; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/src/recognize.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UrlTree, RouteTree } from './segments';
|
|
2
|
-
import { Type } from './facade/lang';
|
|
3
1
|
import { ComponentResolver } from '@angular/core';
|
|
4
|
-
|
|
2
|
+
import { Type } from './facade/lang';
|
|
3
|
+
import { RouteTree, UrlTree } from './segments';
|
|
4
|
+
export declare function recognize(componentResolver: ComponentResolver, rootComponent: Type, url: UrlTree, existingTree: RouteTree): Promise<RouteTree>;
|