@angular/core 2.2.0-rc.0 → 2.2.3
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/bundles/core-testing.umd.js +44 -11
- package/bundles/core.umd.js +560 -513
- package/bundles/core.umd.min.js +8 -8
- package/package.json +1 -1
- package/src/animation/animation_group_player.d.ts +3 -1
- package/src/animation/animation_group_player.js +18 -7
- package/src/animation/animation_group_player.js.map +1 -1
- package/src/animation/animation_player.d.ts +1 -1
- package/src/animation/animation_player.js +1 -1
- package/src/animation/animation_player.js.map +1 -1
- package/src/animation/animation_queue.js +8 -0
- package/src/animation/animation_queue.js.map +1 -1
- package/src/animation/animation_sequence_player.d.ts +3 -1
- package/src/animation/animation_sequence_player.js +20 -8
- package/src/animation/animation_sequence_player.js.map +1 -1
- package/src/animation/animation_style_util.js +1 -0
- package/src/animation/animation_style_util.js.map +1 -1
- package/src/animation/animation_style_util.metadata.json +1 -1
- package/src/animation/metadata.js.map +1 -1
- package/src/animation/view_animation_map.js.map +1 -1
- package/src/change_detection/constants.d.ts +1 -1
- package/src/change_detection/constants.js +1 -1
- package/src/change_detection/constants.js.map +1 -1
- package/src/change_detection/differs/default_iterable_differ.js +2 -2
- package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/src/core_private_export.d.ts +8 -3
- package/src/core_private_export.js +6 -2
- package/src/core_private_export.js.map +1 -1
- package/src/core_private_export.metadata.json +1 -1
- package/src/debug/debug_node.js +12 -24
- package/src/debug/debug_node.js.map +1 -1
- package/src/debug/debug_node.metadata.json +1 -1
- package/src/debug/debug_renderer.d.ts +2 -2
- package/src/debug/debug_renderer.js +7 -5
- package/src/debug/debug_renderer.js.map +1 -1
- package/src/di/reflective_errors.js.map +1 -1
- package/src/di/reflective_injector.js.map +1 -1
- package/src/di/reflective_key.js.map +1 -1
- package/src/di/reflective_provider.js +13 -14
- package/src/di/reflective_provider.js.map +1 -1
- package/src/facade/collection.d.ts +2 -10
- package/src/facade/collection.js +8 -73
- package/src/facade/collection.js.map +1 -1
- package/src/facade/lang.d.ts +0 -1
- package/src/facade/lang.js +5 -24
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/linker/animation_view_context.d.ts +1 -1
- package/src/linker/animation_view_context.js +16 -5
- package/src/linker/animation_view_context.js.map +1 -1
- package/src/linker/component_factory.d.ts +8 -6
- package/src/linker/component_factory.js +17 -23
- package/src/linker/component_factory.js.map +1 -1
- package/src/linker/component_factory_resolver.js.map +1 -1
- package/src/linker/debug_context.js +6 -9
- package/src/linker/debug_context.js.map +1 -1
- package/src/linker/element_injector.js +1 -8
- package/src/linker/element_injector.js.map +1 -1
- package/src/linker/ng_module_factory.js.map +1 -1
- package/src/linker/ng_module_factory_loader.js.map +1 -1
- package/src/linker/system_js_ng_module_factory_loader.js +2 -1
- package/src/linker/system_js_ng_module_factory_loader.js.map +1 -1
- package/src/linker/template_ref.d.ts +5 -4
- package/src/linker/template_ref.js +8 -6
- package/src/linker/template_ref.js.map +1 -1
- package/src/linker/view.d.ts +29 -17
- package/src/linker/view.js +143 -51
- package/src/linker/view.js.map +1 -1
- package/src/linker/{element.d.ts → view_container.d.ts} +4 -7
- package/src/linker/{element.js → view_container.js} +45 -50
- package/src/linker/view_container.js.map +1 -0
- package/src/linker/view_container_ref.d.ts +2 -2
- package/src/linker/view_container_ref.js.map +1 -1
- package/src/linker/view_utils.d.ts +6 -10
- package/src/linker/view_utils.js +17 -14
- package/src/linker/view_utils.js.map +1 -1
- package/src/linker/view_utils.metadata.json +1 -1
- package/src/profile/wtf_impl.js.map +1 -1
- package/src/reflection/reflection_capabilities.js +5 -2
- package/src/reflection/reflection_capabilities.js.map +1 -1
- package/src/render/api.d.ts +8 -1
- package/src/render/api.js.map +1 -1
- package/src/testability/testability.js +2 -3
- package/src/testability/testability.js.map +1 -1
- package/src/util/decorators.js.map +1 -1
- package/testing/async.js.map +1 -1
- package/testing/facade/lang.d.ts +0 -1
- package/testing/facade/lang.js +5 -24
- package/testing/facade/lang.js.map +1 -1
- package/testing/facade/lang.metadata.json +1 -1
- package/testing/fake_async.js.map +1 -1
- package/testing/mock_animation_player.d.ts +16 -1
- package/testing/mock_animation_player.js +43 -14
- package/testing/mock_animation_player.js.map +1 -1
- package/testing/test_bed.js.map +1 -1
- package/testing/testing.js.map +1 -1
- package/src/linker/element.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testability.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/testability/testability.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,UAAU,EAAC,MAAM,OAAO;OACzB,EAAC,
|
|
1
|
+
{"version":3,"file":"testability.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/testability/testability.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '../di';\nimport {scheduleMicroTask} from '../facade/lang';\nimport {NgZone} from '../zone/ng_zone';\n\n/**\n * Testability API.\n * `declare` keyword causes tsickle to generate externs, so these methods are\n * not renamed by Closure Compiler.\n * @experimental\n */\nexport declare interface PublicTestability {\n isStable(): boolean;\n whenStable(callback: Function): void;\n findProviders(using: any, provider: string, exactMatch: boolean): any[];\n}\n\n/**\n * The Testability service provides testing hooks that can be accessed from\n * the browser and by services such as Protractor. Each bootstrapped Angular\n * application on the page will have an instance of Testability.\n * @experimental\n */\n\nexport class Testability implements PublicTestability {\n /** @internal */\n _pendingCount: number = 0;\n /** @internal */\n _isZoneStable: boolean = true;\n /**\n * Whether any work was done since the last 'whenStable' callback. This is\n * useful to detect if this could have potentially destabilized another\n * component while it is stabilizing.\n * @internal\n */\n _didWork: boolean = false;\n /** @internal */\n _callbacks: Function[] = [];\n constructor(private _ngZone: NgZone) { this._watchAngularEvents(); }\n\n /** @internal */\n _watchAngularEvents(): void {\n this._ngZone.onUnstable.subscribe({\n next: () => {\n this._didWork = true;\n this._isZoneStable = false;\n }\n });\n\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.subscribe({\n next: () => {\n NgZone.assertNotInAngularZone();\n scheduleMicroTask(() => {\n this._isZoneStable = true;\n this._runCallbacksIfReady();\n });\n }\n });\n });\n }\n\n increasePendingRequestCount(): number {\n this._pendingCount += 1;\n this._didWork = true;\n return this._pendingCount;\n }\n\n decreasePendingRequestCount(): number {\n this._pendingCount -= 1;\n if (this._pendingCount < 0) {\n throw new Error('pending async requests below zero');\n }\n this._runCallbacksIfReady();\n return this._pendingCount;\n }\n\n isStable(): boolean {\n return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;\n }\n\n /** @internal */\n _runCallbacksIfReady(): void {\n if (this.isStable()) {\n // Schedules the call backs in a new frame so that it is always async.\n scheduleMicroTask(() => {\n while (this._callbacks.length !== 0) {\n (this._callbacks.pop())(this._didWork);\n }\n this._didWork = false;\n });\n } else {\n // Not Ready\n this._didWork = true;\n }\n }\n\n whenStable(callback: Function): void {\n this._callbacks.push(callback);\n this._runCallbacksIfReady();\n }\n\n getPendingRequestCount(): number { return this._pendingCount; }\n\n /** @deprecated use findProviders */\n findBindings(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\n\n findProviders(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n{type: NgZone, },\n];\n}\n\n/**\n * A global registry of {@link Testability} instances for specific elements.\n * @experimental\n */\n\nexport class TestabilityRegistry {\n /** @internal */\n _applications = new Map<any, Testability>();\n\n constructor() { _testabilityGetter.addToWindow(this); }\n\n registerApplication(token: any, testability: Testability) {\n this._applications.set(token, testability);\n }\n\n getTestability(elem: any): Testability { return this._applications.get(elem); }\n\n getAllTestabilities(): Testability[] { return Array.from(this._applications.values()); }\n\n getAllRootElements(): any[] { return Array.from(this._applications.keys()); }\n\n findTestabilityInTree(elem: Node, findInAncestors: boolean = true): Testability {\n return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n];\n}\n\n/**\n * Adapter interface for retrieving the `Testability` service associated for a\n * particular context.\n *\n * @experimental Testability apis are primarily intended to be used by e2e test tool vendors like\n * the Protractor team.\n */\nexport interface GetTestability {\n addToWindow(registry: TestabilityRegistry): void;\n findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean):\n Testability;\n}\n\nclass _NoopGetTestability implements GetTestability {\n addToWindow(registry: TestabilityRegistry): void {}\n findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean):\n Testability {\n return null;\n }\n}\n\n/**\n * Set the {@link GetTestability} implementation used by the Angular testing framework.\n * @experimental\n */\nexport function setTestabilityGetter(getter: GetTestability): void {\n _testabilityGetter = getter;\n}\n\nlet _testabilityGetter: GetTestability = new _NoopGetTestability();\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/util/decorators.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {global, stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nlet _nextClassId = 0;\nconst Reflect = global.Reflect;\n\n/**\n * Declares the interface to be used with {@link Class}.\n *\n * @stable\n */\nexport interface ClassDefinition {\n /**\n * Optional argument for specifying the superclass.\n */\n extends?: Type<any>;\n\n /**\n * Required constructor function for a class.\n *\n * The function may be optionally wrapped in an `Array`, in which case additional parameter\n * annotations may be specified.\n * The number of arguments and the number of parameter annotations must match.\n *\n * See {@link Class} for example of usage.\n */\n constructor: Function|any[];\n\n /**\n * Other methods on the class. Note that values should have type 'Function' but TS requires\n * all properties to have a narrower type than the index signature.\n */\n [x: string]: Type<any>|Function|any[];\n}\n\n/**\n * An interface implemented by all Angular type decorators, which allows them to be used as ES7\n * decorators as well as\n * Angular DSL syntax.\n *\n * DSL syntax:\n *\n * ```\n * var MyClass = ng\n * .Component({...})\n * .Class({...});\n * ```\n *\n * ES7 syntax:\n *\n * ```\n * @ng.Component({...})\n * class MyClass {...}\n * ```\n * @stable\n */\nexport interface TypeDecorator {\n /**\n * Invoke as ES7 decorator.\n */\n <T extends Type<any>>(type: T): T;\n\n // Make TypeDecorator assignable to built-in ParameterDecorator type.\n // ParameterDecorator is declared in lib.d.ts as a `declare type`\n // so we cannot declare this interface as a subtype.\n // see https://github.com/angular/angular/issues/3379#issuecomment-126169417\n (target: Object, propertyKey?: string|symbol, parameterIndex?: number): void;\n\n /**\n * Storage for the accumulated annotations so far used by the DSL syntax.\n *\n * Used by {@link Class} to annotate the generated class.\n */\n annotations: any[];\n\n /**\n * Generate a class from the definition and annotate it with {@link TypeDecorator#annotations}.\n */\n Class(obj: ClassDefinition): Type<any>;\n}\n\nfunction extractAnnotation(annotation: any): any {\n if (typeof annotation === 'function' && annotation.hasOwnProperty('annotation')) {\n // it is a decorator, extract annotation\n annotation = annotation.annotation;\n }\n return annotation;\n}\n\nfunction applyParams(fnOrArray: (Function | any[]), key: string): Function {\n if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||\n fnOrArray === Number || fnOrArray === Array) {\n throw new Error(`Can not use native ${stringify(fnOrArray)} as constructor`);\n }\n\n if (typeof fnOrArray === 'function') {\n return fnOrArray;\n }\n\n if (Array.isArray(fnOrArray)) {\n const annotations: any[] = fnOrArray;\n const annoLength = annotations.length - 1;\n const fn: Function = fnOrArray[annoLength];\n if (typeof fn !== 'function') {\n throw new Error(\n `Last position of Class method array must be Function in key ${key} was '${stringify(fn)}'`);\n }\n if (annoLength != fn.length) {\n throw new Error(\n `Number of annotations (${annoLength}) does not match number of arguments (${fn.length}) in the function: ${stringify(fn)}`);\n }\n const paramsAnnotations: any[][] = [];\n for (let i = 0, ii = annotations.length - 1; i < ii; i++) {\n const paramAnnotations: any[] = [];\n paramsAnnotations.push(paramAnnotations);\n const annotation = annotations[i];\n if (Array.isArray(annotation)) {\n for (let j = 0; j < annotation.length; j++) {\n paramAnnotations.push(extractAnnotation(annotation[j]));\n }\n } else if (typeof annotation === 'function') {\n paramAnnotations.push(extractAnnotation(annotation));\n } else {\n paramAnnotations.push(annotation);\n }\n }\n Reflect.defineMetadata('parameters', paramsAnnotations, fn);\n return fn;\n }\n\n throw new Error(\n `Only Function or Array is supported in Class definition for key '${key}' is '${stringify(fnOrArray)}'`);\n}\n\n/**\n * Provides a way for expressing ES6 classes with parameter annotations in ES5.\n *\n * ## Basic Example\n *\n * ```\n * var Greeter = ng.Class({\n * constructor: function(name) {\n * this.name = name;\n * },\n *\n * greet: function() {\n * alert('Hello ' + this.name + '!');\n * }\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class Greeter {\n * constructor(name) {\n * this.name = name;\n * }\n *\n * greet() {\n * alert('Hello ' + this.name + '!');\n * }\n * }\n * ```\n *\n * or equivalent to ES5:\n *\n * ```\n * var Greeter = function (name) {\n * this.name = name;\n * }\n *\n * Greeter.prototype.greet = function () {\n * alert('Hello ' + this.name + '!');\n * }\n * ```\n *\n * ### Example with parameter annotations\n *\n * ```\n * var MyService = ng.Class({\n * constructor: [String, [new Optional(), Service], function(name, myService) {\n * ...\n * }]\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class MyService {\n * constructor(name: string, @Optional() myService: Service) {\n * ...\n * }\n * }\n * ```\n *\n * ### Example with inheritance\n *\n * ```\n * var Shape = ng.Class({\n * constructor: (color) {\n * this.color = color;\n * }\n * });\n *\n * var Square = ng.Class({\n * extends: Shape,\n * constructor: function(color, size) {\n * Shape.call(this, color);\n * this.size = size;\n * }\n * });\n * ```\n * @stable\n */\nexport function Class(clsDef: ClassDefinition): Type<any> {\n const constructor = applyParams(\n clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');\n\n let proto = constructor.prototype;\n\n if (clsDef.hasOwnProperty('extends')) {\n if (typeof clsDef.extends === 'function') {\n (<Function>constructor).prototype = proto =\n Object.create((<Function>clsDef.extends).prototype);\n } else {\n throw new Error(\n `Class definition 'extends' property must be a constructor function was: ${stringify(clsDef.extends)}`);\n }\n }\n\n for (let key in clsDef) {\n if (key !== 'extends' && key !== 'prototype' && clsDef.hasOwnProperty(key)) {\n proto[key] = applyParams(clsDef[key], key);\n }\n }\n\n if (this && this.annotations instanceof Array) {\n Reflect.defineMetadata('annotations', this.annotations, constructor);\n }\n\n const constructorName = constructor['name'];\n if (!constructorName || constructorName === 'constructor') {\n (constructor as any)['overriddenName'] = `class${_nextClassId++}`;\n }\n\n return <Type<any>>constructor;\n}\n\nexport function makeDecorator(\n name: string, props: {[name: string]: any}, parentClass?: any,\n chainFn: (fn: Function) => void = null): (...args: any[]) => (cls: any) => any {\n const metaCtor = makeMetadataCtor([props]);\n\n function DecoratorFactory(objOrType: any): (cls: any) => any {\n if (!(Reflect && Reflect.getMetadata)) {\n throw 'reflect-metadata shim is required when using class decorators';\n }\n\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, objOrType);\n return this;\n }\n\n const annotationInstance = new (<any>DecoratorFactory)(objOrType);\n const chainAnnotation =\n typeof this === 'function' && Array.isArray(this.annotations) ? this.annotations : [];\n chainAnnotation.push(annotationInstance);\n const TypeDecorator: TypeDecorator = <TypeDecorator>function TypeDecorator(cls: Type<any>) {\n const annotations = Reflect.getOwnMetadata('annotations', cls) || [];\n annotations.push(annotationInstance);\n Reflect.defineMetadata('annotations', annotations, cls);\n return cls;\n };\n TypeDecorator.annotations = chainAnnotation;\n TypeDecorator.Class = Class;\n if (chainFn) chainFn(TypeDecorator);\n return TypeDecorator;\n }\n\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n\n DecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>DecoratorFactory).annotationCls = DecoratorFactory;\n return DecoratorFactory;\n}\n\nfunction makeMetadataCtor(props: ([string, any] | {[key: string]: any})[]): any {\n return function ctor(...args: any[]) {\n props.forEach((prop, i) => {\n const argVal = args[i];\n if (Array.isArray(prop)) {\n // plain parameter\n this[prop[0]] = argVal === undefined ? prop[1] : argVal;\n } else {\n for (const propName in prop) {\n this[propName] =\n argVal && argVal.hasOwnProperty(propName) ? argVal[propName] : prop[propName];\n }\n }\n });\n };\n}\n\nexport function makeParamDecorator(\n name: string, props: ([string, any] | {[name: string]: any})[], parentClass?: any): any {\n const metaCtor = makeMetadataCtor(props);\n function ParamDecoratorFactory(...args: any[]): any {\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const annotationInstance = new (<any>ParamDecoratorFactory)(...args);\n\n (<any>ParamDecorator).annotation = annotationInstance;\n return ParamDecorator;\n\n function ParamDecorator(cls: any, unusedKey: any, index: number): any {\n const parameters: any[][] = Reflect.getMetadata('parameters', cls) || [];\n\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n\n parameters[index] = parameters[index] || [];\n parameters[index].push(annotationInstance);\n\n Reflect.defineMetadata('parameters', parameters, cls);\n return cls;\n }\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>ParamDecoratorFactory).annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n}\n\nexport function makePropDecorator(\n name: string, props: ([string, any] | {[key: string]: any})[], parentClass?: any): any {\n const metaCtor = makeMetadataCtor(props);\n\n function PropDecoratorFactory(...args: any[]): any {\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n\n const decoratorInstance = new (<any>PropDecoratorFactory)(...args);\n\n return function PropDecorator(target: any, name: string) {\n const meta = Reflect.getOwnMetadata('propMetadata', target.constructor) || {};\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n Reflect.defineMetadata('propMetadata', meta, target.constructor);\n };\n }\n\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n\n PropDecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>PropDecoratorFactory).annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/util/decorators.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {global, stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nlet _nextClassId = 0;\nconst Reflect = global.Reflect;\n\n/**\n * Declares the interface to be used with {@link Class}.\n *\n * @stable\n */\nexport interface ClassDefinition {\n /**\n * Optional argument for specifying the superclass.\n */\n extends?: Type<any>;\n\n /**\n * Required constructor function for a class.\n *\n * The function may be optionally wrapped in an `Array`, in which case additional parameter\n * annotations may be specified.\n * The number of arguments and the number of parameter annotations must match.\n *\n * See {@link Class} for example of usage.\n */\n constructor: Function|any[];\n\n /**\n * Other methods on the class. Note that values should have type 'Function' but TS requires\n * all properties to have a narrower type than the index signature.\n */\n [x: string]: Type<any>|Function|any[];\n}\n\n/**\n * An interface implemented by all Angular type decorators, which allows them to be used as ES7\n * decorators as well as\n * Angular DSL syntax.\n *\n * DSL syntax:\n *\n * ```\n * var MyClass = ng\n * .Component({...})\n * .Class({...});\n * ```\n *\n * ES7 syntax:\n *\n * ```\n * @ng.Component({...})\n * class MyClass {...}\n * ```\n * @stable\n */\nexport interface TypeDecorator {\n /**\n * Invoke as ES7 decorator.\n */\n <T extends Type<any>>(type: T): T;\n\n // Make TypeDecorator assignable to built-in ParameterDecorator type.\n // ParameterDecorator is declared in lib.d.ts as a `declare type`\n // so we cannot declare this interface as a subtype.\n // see https://github.com/angular/angular/issues/3379#issuecomment-126169417\n (target: Object, propertyKey?: string|symbol, parameterIndex?: number): void;\n\n /**\n * Storage for the accumulated annotations so far used by the DSL syntax.\n *\n * Used by {@link Class} to annotate the generated class.\n */\n annotations: any[];\n\n /**\n * Generate a class from the definition and annotate it with {@link TypeDecorator#annotations}.\n */\n Class(obj: ClassDefinition): Type<any>;\n}\n\nfunction extractAnnotation(annotation: any): any {\n if (typeof annotation === 'function' && annotation.hasOwnProperty('annotation')) {\n // it is a decorator, extract annotation\n annotation = annotation.annotation;\n }\n return annotation;\n}\n\nfunction applyParams(fnOrArray: (Function | any[]), key: string): Function {\n if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||\n fnOrArray === Number || fnOrArray === Array) {\n throw new Error(`Can not use native ${stringify(fnOrArray)} as constructor`);\n }\n\n if (typeof fnOrArray === 'function') {\n return fnOrArray;\n }\n\n if (Array.isArray(fnOrArray)) {\n const annotations: any[] = fnOrArray;\n const annoLength = annotations.length - 1;\n const fn: Function = fnOrArray[annoLength];\n if (typeof fn !== 'function') {\n throw new Error(\n `Last position of Class method array must be Function in key ${key} was '${stringify(fn)}'`);\n }\n if (annoLength != fn.length) {\n throw new Error(\n `Number of annotations (${annoLength}) does not match number of arguments (${fn.length}) in the function: ${stringify(fn)}`);\n }\n const paramsAnnotations: any[][] = [];\n for (let i = 0, ii = annotations.length - 1; i < ii; i++) {\n const paramAnnotations: any[] = [];\n paramsAnnotations.push(paramAnnotations);\n const annotation = annotations[i];\n if (Array.isArray(annotation)) {\n for (let j = 0; j < annotation.length; j++) {\n paramAnnotations.push(extractAnnotation(annotation[j]));\n }\n } else if (typeof annotation === 'function') {\n paramAnnotations.push(extractAnnotation(annotation));\n } else {\n paramAnnotations.push(annotation);\n }\n }\n Reflect.defineMetadata('parameters', paramsAnnotations, fn);\n return fn;\n }\n\n throw new Error(\n `Only Function or Array is supported in Class definition for key '${key}' is '${stringify(fnOrArray)}'`);\n}\n\n/**\n * Provides a way for expressing ES6 classes with parameter annotations in ES5.\n *\n * ## Basic Example\n *\n * ```\n * var Greeter = ng.Class({\n * constructor: function(name) {\n * this.name = name;\n * },\n *\n * greet: function() {\n * alert('Hello ' + this.name + '!');\n * }\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class Greeter {\n * constructor(name) {\n * this.name = name;\n * }\n *\n * greet() {\n * alert('Hello ' + this.name + '!');\n * }\n * }\n * ```\n *\n * or equivalent to ES5:\n *\n * ```\n * var Greeter = function (name) {\n * this.name = name;\n * }\n *\n * Greeter.prototype.greet = function () {\n * alert('Hello ' + this.name + '!');\n * }\n * ```\n *\n * ### Example with parameter annotations\n *\n * ```\n * var MyService = ng.Class({\n * constructor: [String, [new Optional(), Service], function(name, myService) {\n * ...\n * }]\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class MyService {\n * constructor(name: string, @Optional() myService: Service) {\n * ...\n * }\n * }\n * ```\n *\n * ### Example with inheritance\n *\n * ```\n * var Shape = ng.Class({\n * constructor: (color) {\n * this.color = color;\n * }\n * });\n *\n * var Square = ng.Class({\n * extends: Shape,\n * constructor: function(color, size) {\n * Shape.call(this, color);\n * this.size = size;\n * }\n * });\n * ```\n * @stable\n */\nexport function Class(clsDef: ClassDefinition): Type<any> {\n const constructor = applyParams(\n clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');\n\n let proto = constructor.prototype;\n\n if (clsDef.hasOwnProperty('extends')) {\n if (typeof clsDef.extends === 'function') {\n (<Function>constructor).prototype = proto =\n Object.create((<Function>clsDef.extends).prototype);\n } else {\n throw new Error(\n `Class definition 'extends' property must be a constructor function was: ${stringify(clsDef.extends)}`);\n }\n }\n\n for (const key in clsDef) {\n if (key !== 'extends' && key !== 'prototype' && clsDef.hasOwnProperty(key)) {\n proto[key] = applyParams(clsDef[key], key);\n }\n }\n\n if (this && this.annotations instanceof Array) {\n Reflect.defineMetadata('annotations', this.annotations, constructor);\n }\n\n const constructorName = constructor['name'];\n if (!constructorName || constructorName === 'constructor') {\n (constructor as any)['overriddenName'] = `class${_nextClassId++}`;\n }\n\n return <Type<any>>constructor;\n}\n\nexport function makeDecorator(\n name: string, props: {[name: string]: any}, parentClass?: any,\n chainFn: (fn: Function) => void = null): (...args: any[]) => (cls: any) => any {\n const metaCtor = makeMetadataCtor([props]);\n\n function DecoratorFactory(objOrType: any): (cls: any) => any {\n if (!(Reflect && Reflect.getMetadata)) {\n throw 'reflect-metadata shim is required when using class decorators';\n }\n\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, objOrType);\n return this;\n }\n\n const annotationInstance = new (<any>DecoratorFactory)(objOrType);\n const chainAnnotation =\n typeof this === 'function' && Array.isArray(this.annotations) ? this.annotations : [];\n chainAnnotation.push(annotationInstance);\n const TypeDecorator: TypeDecorator = <TypeDecorator>function TypeDecorator(cls: Type<any>) {\n const annotations = Reflect.getOwnMetadata('annotations', cls) || [];\n annotations.push(annotationInstance);\n Reflect.defineMetadata('annotations', annotations, cls);\n return cls;\n };\n TypeDecorator.annotations = chainAnnotation;\n TypeDecorator.Class = Class;\n if (chainFn) chainFn(TypeDecorator);\n return TypeDecorator;\n }\n\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n\n DecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>DecoratorFactory).annotationCls = DecoratorFactory;\n return DecoratorFactory;\n}\n\nfunction makeMetadataCtor(props: ([string, any] | {[key: string]: any})[]): any {\n return function ctor(...args: any[]) {\n props.forEach((prop, i) => {\n const argVal = args[i];\n if (Array.isArray(prop)) {\n // plain parameter\n this[prop[0]] = argVal === undefined ? prop[1] : argVal;\n } else {\n for (const propName in prop) {\n this[propName] =\n argVal && argVal.hasOwnProperty(propName) ? argVal[propName] : prop[propName];\n }\n }\n });\n };\n}\n\nexport function makeParamDecorator(\n name: string, props: ([string, any] | {[name: string]: any})[], parentClass?: any): any {\n const metaCtor = makeMetadataCtor(props);\n function ParamDecoratorFactory(...args: any[]): any {\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const annotationInstance = new (<any>ParamDecoratorFactory)(...args);\n\n (<any>ParamDecorator).annotation = annotationInstance;\n return ParamDecorator;\n\n function ParamDecorator(cls: any, unusedKey: any, index: number): any {\n const parameters: any[][] = Reflect.getMetadata('parameters', cls) || [];\n\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n\n parameters[index] = parameters[index] || [];\n parameters[index].push(annotationInstance);\n\n Reflect.defineMetadata('parameters', parameters, cls);\n return cls;\n }\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>ParamDecoratorFactory).annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n}\n\nexport function makePropDecorator(\n name: string, props: ([string, any] | {[key: string]: any})[], parentClass?: any): any {\n const metaCtor = makeMetadataCtor(props);\n\n function PropDecoratorFactory(...args: any[]): any {\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n\n const decoratorInstance = new (<any>PropDecoratorFactory)(...args);\n\n return function PropDecorator(target: any, name: string) {\n const meta = Reflect.getOwnMetadata('propMetadata', target.constructor) || {};\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n Reflect.defineMetadata('propMetadata', meta, target.constructor);\n };\n }\n\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n\n PropDecoratorFactory.prototype.toString = () => `@${name}`;\n (<any>PropDecoratorFactory).annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/testing/async.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,
|
|
1
|
+
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ndeclare var global: any;\n\nconst _global = <any>(typeof window === 'undefined' ? global : window);\n\n/**\n * Wraps a test function in an asynchronous test zone. The test will automatically\n * complete when all asynchronous calls within this zone are done. Can be used\n * to wrap an {@link inject} call.\n *\n * Example:\n *\n * ```\n * it('...', async(inject([AClass], (object) => {\n * object.doSomething.then(() => {\n * expect(...);\n * })\n * });\n * ```\n *\n * @stable\n */\nexport function async(fn: Function): (done: any) => any {\n // If we're running using the Jasmine test framework, adapt to call the 'done'\n // function when asynchronous activity is finished.\n if (_global.jasmine) {\n return (done: any) => {\n if (!done) {\n // if we run beforeEach in @angular/core/testing/testing_internal then we get no done\n // fake it here and assume sync.\n done = function() {};\n done.fail = function(e: any) { throw e; };\n }\n runInTestZone(fn, done, (err: any) => {\n if (typeof err === 'string') {\n return done.fail(new Error(<string>err));\n } else {\n done.fail(err);\n }\n });\n };\n }\n // Otherwise, return a promise which will resolve when asynchronous activity\n // is finished. This will be correctly consumed by the Mocha framework with\n // it('...', async(myFn)); or can be used in a custom framework.\n return () => new Promise<void>((finishCallback, failCallback) => {\n runInTestZone(fn, finishCallback, failCallback);\n });\n}\n\nfunction runInTestZone(fn: Function, finishCallback: Function, failCallback: Function) {\n const currentZone = Zone.current;\n const AsyncTestZoneSpec = (Zone as any)['AsyncTestZoneSpec'];\n if (AsyncTestZoneSpec === undefined) {\n throw new Error(\n 'AsyncTestZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/async-test.js');\n }\n const ProxyZoneSpec = (Zone as any)['ProxyZoneSpec'] as {\n get(): {setDelegate(spec: ZoneSpec): void; getDelegate(): ZoneSpec;};\n assertPresent: () => void;\n };\n if (ProxyZoneSpec === undefined) {\n throw new Error(\n 'ProxyZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/proxy.js');\n }\n const proxyZoneSpec = ProxyZoneSpec.get();\n ProxyZoneSpec.assertPresent();\n // We need to create the AsyncTestZoneSpec outside the ProxyZone.\n // If we do it in ProxyZone then we will get to infinite recursion.\n const proxyZone = Zone.current.getZoneWith('ProxyZoneSpec');\n const previousDelegate = proxyZoneSpec.getDelegate();\n proxyZone.parent.run(() => {\n const testZoneSpec: ZoneSpec = new AsyncTestZoneSpec(\n () => {\n // Need to restore the original zone.\n currentZone.run(() => {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n finishCallback();\n });\n },\n (error: any) => {\n // Need to restore the original zone.\n currentZone.run(() => {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n failCallback(error);\n });\n },\n 'test');\n proxyZoneSpec.setDelegate(testZoneSpec);\n });\n return Zone.current.runGuarded(fn);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/testing/facade/lang.d.ts
CHANGED
|
@@ -38,7 +38,6 @@ export declare function isDate(obj: any): obj is Date;
|
|
|
38
38
|
export declare function stringify(token: any): string;
|
|
39
39
|
export declare class NumberWrapper {
|
|
40
40
|
static parseIntAutoRadix(text: string): number;
|
|
41
|
-
static parseInt(text: string, radix: number): number;
|
|
42
41
|
static isNumeric(value: any): boolean;
|
|
43
42
|
}
|
|
44
43
|
export declare function looseIdentical(a: any, b: any): boolean;
|
package/testing/facade/lang.js
CHANGED
|
@@ -51,7 +51,7 @@ export function stringify(token) {
|
|
|
51
51
|
if (typeof token === 'string') {
|
|
52
52
|
return token;
|
|
53
53
|
}
|
|
54
|
-
if (token
|
|
54
|
+
if (token == null) {
|
|
55
55
|
return '' + token;
|
|
56
56
|
}
|
|
57
57
|
if (token.overriddenName) {
|
|
@@ -74,25 +74,6 @@ export var NumberWrapper = (function () {
|
|
|
74
74
|
}
|
|
75
75
|
return result;
|
|
76
76
|
};
|
|
77
|
-
NumberWrapper.parseInt = function (text, radix) {
|
|
78
|
-
if (radix == 10) {
|
|
79
|
-
if (/^(\-|\+)?[0-9]+$/.test(text)) {
|
|
80
|
-
return parseInt(text, radix);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else if (radix == 16) {
|
|
84
|
-
if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
|
|
85
|
-
return parseInt(text, radix);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
var result = parseInt(text, radix);
|
|
90
|
-
if (!isNaN(result)) {
|
|
91
|
-
return result;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
|
|
95
|
-
};
|
|
96
77
|
NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
|
|
97
78
|
return NumberWrapper;
|
|
98
79
|
}());
|
|
@@ -113,12 +94,12 @@ export function setValueOnPath(global, path, value) {
|
|
|
113
94
|
var parts = path.split('.');
|
|
114
95
|
var obj = global;
|
|
115
96
|
while (parts.length > 1) {
|
|
116
|
-
var
|
|
117
|
-
if (obj.hasOwnProperty(
|
|
118
|
-
obj = obj[
|
|
97
|
+
var name_1 = parts.shift();
|
|
98
|
+
if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {
|
|
99
|
+
obj = obj[name_1];
|
|
119
100
|
}
|
|
120
101
|
else {
|
|
121
|
-
obj = obj[
|
|
102
|
+
obj = obj[name_1] = {};
|
|
122
103
|
}
|
|
123
104
|
}
|
|
124
105
|
if (obj === undefined || obj === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/testing/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport 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\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nconst _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport function getTypeNameForDebugging(type: any): string {\n return type['name'] || typeof type;\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 != null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj == null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isDate(obj: any): obj is Date {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\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.overriddenName) {\n return token.overriddenName;\n }\n if (token.name) {\n return token.name;\n }\n\n const res = token.toString();\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n\nexport class NumberWrapper {\n static parseIntAutoRadix(text: string): number {\n const result: number = parseInt(text);\n if (isNaN(result)) {\n throw new Error('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 const result = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);\n }\n\n static isNumeric(value: any): boolean { return !isNaN(value - parseFloat(value)); }\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\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\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 let Symbol: any;\nlet _symbolIterator: any = null;\nexport function getSymbolIterator(): string|symbol {\n if (!_symbolIterator) {\n if ((<any>globalScope).Symbol && Symbol.iterator) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n const keys = Object.getOwnPropertyNames(Map.prototype);\n for (let i = 0; i < keys.length; ++i) {\n let 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 isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function escapeRegExp(s: string): string {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/testing/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport 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\nlet 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\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nconst _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport function getTypeNameForDebugging(type: any): string {\n return type['name'] || typeof type;\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 != null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj == null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isDate(obj: any): obj is Date {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\n\nexport function stringify(token: any): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token == null) {\n return '' + token;\n }\n\n if (token.overriddenName) {\n return token.overriddenName;\n }\n\n if (token.name) {\n return token.name;\n }\n\n const res = token.toString();\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n\nexport class NumberWrapper {\n static parseIntAutoRadix(text: string): number {\n const result: number = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n }\n\n static isNumeric(value: any): boolean { return !isNaN(value - parseFloat(value)); }\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\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\nexport function setValueOnPath(global: any, path: string, value: any) {\n const parts = path.split('.');\n let obj: any = global;\n while (parts.length > 1) {\n const name = parts.shift();\n if (obj.hasOwnProperty(name) && obj[name] != null) {\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 const Symbol: any;\nlet _symbolIterator: any = null;\nexport function getSymbolIterator(): string|symbol {\n if (!_symbolIterator) {\n if ((<any>globalScope).Symbol && Symbol.iterator) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n const keys = Object.getOwnPropertyNames(Map.prototype);\n for (let i = 0; i < keys.length; ++i) {\n const 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 isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function escapeRegExp(s: string): string {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":1,"metadata":{"getTypeNameForDebugging":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"type"},"index":"name"},"right":{"__symbolic":"error","message":"Expression form not supported","line":60,"character":25}}},"isPresent":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"!=","left":{"__symbolic":"reference","name":"obj"},"right":null}},"isBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"reference","name":"obj"},"right":null}},"isStrictStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":80,"character":9},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{}]}}}},"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"}}]}}}},"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":
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"getTypeNameForDebugging":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"type"},"index":"name"},"right":{"__symbolic":"error","message":"Expression form not supported","line":60,"character":25}}},"isPresent":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"!=","left":{"__symbolic":"reference","name":"obj"},"right":null}},"isBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"reference","name":"obj"},"right":null}},"isStrictStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":80,"character":9},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{}]}}}},"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"}}]}}}},"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":123,"character":20},"right":"number"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":123,"character":45},"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"}]}}}},"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":127,"character":24},"right":"function"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":127,"character":51},"right":"object"}}}},"isPrimitive":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isJsObject"},"arguments":[{"__symbolic":"reference","name":"obj"}]}}},"escapeRegExp":{"__symbolic":"function","parameters":["s"],"value":{"__symbolic":"error","message":"Expression form not supported","line":182,"character":19}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake_async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/fake_async.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,IAAM,qBAAqB,GAAI,IAAY,CAAC,uBAAuB,CAAC,CAAC;AAIrE,IAAM,aAAa,GACd,IAAY,CAAC,eAAe,CAAC,CAAC;AAEnC,IAAI,sBAAsB,GAAQ,IAAI,CAAC;AAEvC;;;;;GAKG;AACH;IACE,sBAAsB,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC;AAChD,CAAC;AAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,0BAA0B,EAAY;IACpC,MAAM,CAAC;QAAS,cAAc;aAAd,WAAc,CAAd,sBAAc,CAAd,IAAc;YAAd,6BAAc;;QAC5B,IAAM,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QACpD,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,qBAAqB,CAAC,CAAC,CAAC;oBACjE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;gBAED,sBAAsB,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACvD,CAAC;YAED,IAAI,GAAG,SAAK,CAAC;YACb,IAAM,iBAAiB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;YACtD,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAClD,IAAI,CAAC;gBACH,GAAG,GAAG,EAAE,eAAI,IAAI,CAAC,CAAC;gBAClB,eAAe,EAAE,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC;YAED,EAAE,CAAC,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACX,CAAG,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,OAAG;oBACzD,uCAAuC,CAAC,CAAC;YAC/C,CAAC;YAED,EAAE,CAAC,CAAC,sBAAsB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CACR,sBAAsB,CAAC,aAAa,CAAC,MAAM,kCAA+B,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,gBAAgB,GAAG,KAAK,CAAC;YACzB,kBAAkB,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;IACE,EAAE,CAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,CAAC,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,qBAAqB,MAAkB;IAAlB,sBAAkB,GAAlB,UAAkB;IACrC,qBAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH;IACE,
|
|
1
|
+
{"version":3,"file":"fake_async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/fake_async.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nconst FakeAsyncTestZoneSpec = (Zone as any)['FakeAsyncTestZoneSpec'];\ntype ProxyZoneSpec = {\n setDelegate(delegateSpec: ZoneSpec): void; getDelegate(): ZoneSpec; resetDelegate(): void;\n};\nconst ProxyZoneSpec: {get(): ProxyZoneSpec; assertPresent: () => ProxyZoneSpec} =\n (Zone as any)['ProxyZoneSpec'];\n\nlet _fakeAsyncTestZoneSpec: any = null;\n\n/**\n * Clears out the shared fake async zone for a test.\n * To be called in a global `beforeEach`.\n *\n * @experimental\n */\nexport function resetFakeAsyncZone() {\n _fakeAsyncTestZoneSpec = null;\n ProxyZoneSpec.assertPresent().resetDelegate();\n}\n\nlet _inFakeAsyncCall = false;\n\n/**\n * Wraps a function to be executed in the fakeAsync zone:\n * - microtasks are manually executed by calling `flushMicrotasks()`,\n * - timers are synchronous, `tick()` simulates the asynchronous passage of time.\n *\n * If there are any pending timers at the end of the function, an exception will be thrown.\n *\n * Can be used to wrap inject() calls.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n * @param fn\n * @returns {Function} The function wrapped to be executed in the fakeAsync zone\n *\n * @experimental\n */\nexport function fakeAsync(fn: Function): (...args: any[]) => any {\n return function(...args: any[]) {\n const proxyZoneSpec = ProxyZoneSpec.assertPresent();\n if (_inFakeAsyncCall) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n _inFakeAsyncCall = true;\n try {\n if (!_fakeAsyncTestZoneSpec) {\n if (proxyZoneSpec.getDelegate() instanceof FakeAsyncTestZoneSpec) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n\n _fakeAsyncTestZoneSpec = new FakeAsyncTestZoneSpec();\n }\n\n let res: any;\n const lastProxyZoneSpec = proxyZoneSpec.getDelegate();\n proxyZoneSpec.setDelegate(_fakeAsyncTestZoneSpec);\n try {\n res = fn(...args);\n flushMicrotasks();\n } finally {\n proxyZoneSpec.setDelegate(lastProxyZoneSpec);\n }\n\n if (_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {\n throw new Error(\n `${_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length} ` +\n `periodic timer(s) still in the queue.`);\n }\n\n if (_fakeAsyncTestZoneSpec.pendingTimers.length > 0) {\n throw new Error(\n `${_fakeAsyncTestZoneSpec.pendingTimers.length} timer(s) still in the queue.`);\n }\n return res;\n } finally {\n _inFakeAsyncCall = false;\n resetFakeAsyncZone();\n }\n };\n}\n\nfunction _getFakeAsyncZoneSpec(): any {\n if (_fakeAsyncTestZoneSpec == null) {\n throw new Error('The code should be running in the fakeAsync zone to call this function');\n }\n return _fakeAsyncTestZoneSpec;\n}\n\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone.\n *\n * The microtasks queue is drained at the very start of this function and after any timer callback\n * has been executed.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n * @experimental\n */\nexport function tick(millis: number = 0): void {\n _getFakeAsyncZoneSpec().tick(millis);\n}\n\n/**\n * Discard all remaining periodic tasks.\n *\n * @experimental\n */\nexport function discardPeriodicTasks(): void {\n const zoneSpec = _getFakeAsyncZoneSpec();\n const pendingTimers = zoneSpec.pendingPeriodicTimers;\n zoneSpec.pendingPeriodicTimers.length = 0;\n}\n\n/**\n * Flush any pending microtasks.\n *\n * @experimental\n */\nexport function flushMicrotasks(): void {\n _getFakeAsyncZoneSpec().flushMicrotasks();\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -7,13 +7,27 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { AnimationPlayer } from '@angular/core';
|
|
9
9
|
export declare class MockAnimationPlayer implements AnimationPlayer {
|
|
10
|
+
startingStyles: {
|
|
11
|
+
[key: string]: string | number;
|
|
12
|
+
};
|
|
13
|
+
keyframes: Array<[number, {
|
|
14
|
+
[style: string]: string | number;
|
|
15
|
+
}]>;
|
|
10
16
|
private _onDoneFns;
|
|
11
17
|
private _onStartFns;
|
|
12
18
|
private _finished;
|
|
13
19
|
private _destroyed;
|
|
14
20
|
private _started;
|
|
15
21
|
parentPlayer: AnimationPlayer;
|
|
22
|
+
previousStyles: {
|
|
23
|
+
[styleName: string]: string | number;
|
|
24
|
+
};
|
|
16
25
|
log: any[];
|
|
26
|
+
constructor(startingStyles?: {
|
|
27
|
+
[key: string]: string | number;
|
|
28
|
+
}, keyframes?: Array<[number, {
|
|
29
|
+
[style: string]: string | number;
|
|
30
|
+
}]>, previousPlayers?: AnimationPlayer[]);
|
|
17
31
|
private _onFinish();
|
|
18
32
|
init(): void;
|
|
19
33
|
onDone(fn: () => void): void;
|
|
@@ -25,6 +39,7 @@ export declare class MockAnimationPlayer implements AnimationPlayer {
|
|
|
25
39
|
finish(): void;
|
|
26
40
|
reset(): void;
|
|
27
41
|
destroy(): void;
|
|
28
|
-
setPosition(p:
|
|
42
|
+
setPosition(p: number): void;
|
|
29
43
|
getPosition(): number;
|
|
44
|
+
private _captureStyles();
|
|
30
45
|
}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { isPresent } from './facade/lang';
|
|
1
|
+
import { AUTO_STYLE } from '@angular/core';
|
|
9
2
|
export var MockAnimationPlayer = (function () {
|
|
10
|
-
function MockAnimationPlayer() {
|
|
3
|
+
function MockAnimationPlayer(startingStyles, keyframes, previousPlayers) {
|
|
4
|
+
var _this = this;
|
|
5
|
+
if (startingStyles === void 0) { startingStyles = {}; }
|
|
6
|
+
if (keyframes === void 0) { keyframes = []; }
|
|
7
|
+
if (previousPlayers === void 0) { previousPlayers = []; }
|
|
8
|
+
this.startingStyles = startingStyles;
|
|
9
|
+
this.keyframes = keyframes;
|
|
11
10
|
this._onDoneFns = [];
|
|
12
11
|
this._onStartFns = [];
|
|
13
12
|
this._finished = false;
|
|
14
13
|
this._destroyed = false;
|
|
15
14
|
this._started = false;
|
|
16
15
|
this.parentPlayer = null;
|
|
16
|
+
this.previousStyles = {};
|
|
17
17
|
this.log = [];
|
|
18
|
+
previousPlayers.forEach(function (player) {
|
|
19
|
+
if (player instanceof MockAnimationPlayer) {
|
|
20
|
+
var styles_1 = player._captureStyles();
|
|
21
|
+
Object.keys(styles_1).forEach(function (prop) { return _this.previousStyles[prop] = styles_1[prop]; });
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
}
|
|
19
25
|
MockAnimationPlayer.prototype._onFinish = function () {
|
|
20
26
|
if (!this._finished) {
|
|
@@ -22,9 +28,6 @@ export var MockAnimationPlayer = (function () {
|
|
|
22
28
|
this.log.push('finish');
|
|
23
29
|
this._onDoneFns.forEach(function (fn) { return fn(); });
|
|
24
30
|
this._onDoneFns = [];
|
|
25
|
-
if (!isPresent(this.parentPlayer)) {
|
|
26
|
-
this.destroy();
|
|
27
|
-
}
|
|
28
31
|
}
|
|
29
32
|
};
|
|
30
33
|
MockAnimationPlayer.prototype.init = function () { this.log.push('init'); };
|
|
@@ -42,7 +45,12 @@ export var MockAnimationPlayer = (function () {
|
|
|
42
45
|
MockAnimationPlayer.prototype.pause = function () { this.log.push('pause'); };
|
|
43
46
|
MockAnimationPlayer.prototype.restart = function () { this.log.push('restart'); };
|
|
44
47
|
MockAnimationPlayer.prototype.finish = function () { this._onFinish(); };
|
|
45
|
-
MockAnimationPlayer.prototype.reset = function () {
|
|
48
|
+
MockAnimationPlayer.prototype.reset = function () {
|
|
49
|
+
this.log.push('reset');
|
|
50
|
+
this._destroyed = false;
|
|
51
|
+
this._finished = false;
|
|
52
|
+
this._started = false;
|
|
53
|
+
};
|
|
46
54
|
MockAnimationPlayer.prototype.destroy = function () {
|
|
47
55
|
if (!this._destroyed) {
|
|
48
56
|
this._destroyed = true;
|
|
@@ -50,8 +58,29 @@ export var MockAnimationPlayer = (function () {
|
|
|
50
58
|
this.log.push('destroy');
|
|
51
59
|
}
|
|
52
60
|
};
|
|
53
|
-
MockAnimationPlayer.prototype.setPosition = function (p
|
|
61
|
+
MockAnimationPlayer.prototype.setPosition = function (p) { };
|
|
54
62
|
MockAnimationPlayer.prototype.getPosition = function () { return 0; };
|
|
63
|
+
MockAnimationPlayer.prototype._captureStyles = function () {
|
|
64
|
+
var _this = this;
|
|
65
|
+
var captures = {};
|
|
66
|
+
if (this.hasStarted()) {
|
|
67
|
+
// when assembling the captured styles, it's important that
|
|
68
|
+
// we build the keyframe styles in the following order:
|
|
69
|
+
// {startingStyles, ... other styles within keyframes, ... previousStyles }
|
|
70
|
+
Object.keys(this.startingStyles).forEach(function (prop) {
|
|
71
|
+
captures[prop] = _this.startingStyles[prop];
|
|
72
|
+
});
|
|
73
|
+
this.keyframes.forEach(function (kf) {
|
|
74
|
+
var offset = kf[0], styles = kf[1];
|
|
75
|
+
var newStyles = {};
|
|
76
|
+
Object.keys(styles).forEach(function (prop) { captures[prop] = _this._finished ? styles[prop] : AUTO_STYLE; });
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
Object.keys(this.previousStyles).forEach(function (prop) {
|
|
80
|
+
captures[prop] = _this.previousStyles[prop];
|
|
81
|
+
});
|
|
82
|
+
return captures;
|
|
83
|
+
};
|
|
55
84
|
return MockAnimationPlayer;
|
|
56
85
|
}());
|
|
57
86
|
//# sourceMappingURL=mock_animation_player.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_animation_player.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/mock_animation_player.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mock_animation_player.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/mock_animation_player.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AUTO_STYLE, AnimationPlayer} from '@angular/core';\n\nexport class MockAnimationPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _finished = false;\n private _destroyed = false;\n private _started = false;\n\n public parentPlayer: AnimationPlayer = null;\n public previousStyles: {[styleName: string]: string | number} = {};\n\n public log: any[] = [];\n\n constructor(\n public startingStyles: {[key: string]: string | number} = {},\n public keyframes: Array<[number, {[style: string]: string | number}]> = [],\n previousPlayers: AnimationPlayer[] = []) {\n previousPlayers.forEach(player => {\n if (player instanceof MockAnimationPlayer) {\n const styles = player._captureStyles();\n Object.keys(styles).forEach(prop => this.previousStyles[prop] = styles[prop]);\n }\n });\n }\n\n private _onFinish(): void {\n if (!this._finished) {\n this._finished = true;\n this.log.push('finish');\n\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void { this.log.push('init'); }\n\n onDone(fn: () => void): void { this._onDoneFns.push(fn); }\n\n onStart(fn: () => void): void { this._onStartFns.push(fn); }\n\n hasStarted() { return this._started; }\n\n play(): void {\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n }\n this.log.push('play');\n }\n\n pause(): void { this.log.push('pause'); }\n\n restart(): void { this.log.push('restart'); }\n\n finish(): void { this._onFinish(); }\n\n reset(): void {\n this.log.push('reset');\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n this.finish();\n this.log.push('destroy');\n }\n }\n\n setPosition(p: number): void {}\n getPosition(): number { return 0; }\n\n private _captureStyles(): {[styleName: string]: string | number} {\n const captures: {[prop: string]: string | number} = {};\n\n if (this.hasStarted()) {\n // when assembling the captured styles, it's important that\n // we build the keyframe styles in the following order:\n // {startingStyles, ... other styles within keyframes, ... previousStyles }\n Object.keys(this.startingStyles).forEach(prop => {\n captures[prop] = this.startingStyles[prop];\n });\n\n this.keyframes.forEach(kf => {\n const [offset, styles] = kf;\n const newStyles: {[prop: string]: string | number} = {};\n Object.keys(styles).forEach(\n prop => { captures[prop] = this._finished ? styles[prop] : AUTO_STYLE; });\n });\n }\n\n Object.keys(this.previousStyles).forEach(prop => {\n captures[prop] = this.previousStyles[prop];\n });\n\n return captures;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|