@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view_container.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_container.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 {Injector} from '../di/injector';\nimport {isPresent} from '../facade/lang';\n\nimport {ElementRef} from './element_ref';\nimport {QueryList} from './query_list';\nimport {AppView} from './view';\nimport {ViewContainerRef_} from './view_container_ref';\nimport {ViewType} from './view_type';\n\n\n/**\n * A ViewContainer is created for elements that have a ViewContainerRef\n * to keep track of the nested views.\n */\nexport class ViewContainer {\n public nestedViews: AppView<any>[];\n // views that have been declared at the place of this view container,\n // but inserted into another view container\n public projectedViews: AppView<any>[];\n\n constructor(\n public index: number, public parentIndex: number, public parentView: AppView<any>,\n public nativeElement: any) {}\n\n get elementRef(): ElementRef { return new ElementRef(this.nativeElement); }\n\n get vcRef(): ViewContainerRef_ { return new ViewContainerRef_(this); }\n\n get parentInjector(): Injector { return this.parentView.injector(this.parentIndex); }\n get injector(): Injector { return this.parentView.injector(this.index); }\n\n detectChangesInNestedViews(throwOnChange: boolean): void {\n if (this.nestedViews) {\n for (let i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].detectChanges(throwOnChange);\n }\n }\n }\n\n destroyNestedViews(): void {\n if (this.nestedViews) {\n for (let i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].destroy();\n }\n }\n }\n\n visitNestedViewRootNodes<C>(cb: (node: any, ctx: C) => void, c: C): void {\n if (this.nestedViews) {\n for (let i = 0; i < this.nestedViews.length; i++) {\n this.nestedViews[i].visitRootNodesInternal(cb, c);\n }\n }\n }\n\n mapNestedViews(nestedViewClass: any, callback: Function): any[] {\n const result: any[] = [];\n if (this.nestedViews) {\n for (let i = 0; i < this.nestedViews.length; i++) {\n const nestedView = this.nestedViews[i];\n if (nestedView.clazz === nestedViewClass) {\n result.push(callback(nestedView));\n }\n }\n }\n if (this.projectedViews) {\n for (let i = 0; i < this.projectedViews.length; i++) {\n const projectedView = this.projectedViews[i];\n if (projectedView.clazz === nestedViewClass) {\n result.push(callback(projectedView));\n }\n }\n }\n return result;\n }\n\n moveView(view: AppView<any>, currentIndex: number) {\n const previousIndex = this.nestedViews.indexOf(view);\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n let nestedViews = this.nestedViews;\n if (nestedViews == null) {\n nestedViews = [];\n this.nestedViews = nestedViews;\n }\n nestedViews.splice(previousIndex, 1);\n nestedViews.splice(currentIndex, 0, view);\n const prevView = currentIndex > 0 ? nestedViews[currentIndex - 1] : null;\n view.moveAfter(this, prevView);\n }\n\n attachView(view: AppView<any>, viewIndex: number) {\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n let nestedViews = this.nestedViews;\n if (nestedViews == null) {\n nestedViews = [];\n this.nestedViews = nestedViews;\n }\n // perf: array.push is faster than array.splice!\n if (viewIndex >= nestedViews.length) {\n nestedViews.push(view);\n } else {\n nestedViews.splice(viewIndex, 0, view);\n }\n const prevView = viewIndex > 0 ? nestedViews[viewIndex - 1] : null;\n view.attachAfter(this, prevView);\n }\n\n detachView(viewIndex: number): AppView<any> {\n const view = this.nestedViews[viewIndex];\n // perf: array.pop is faster than array.splice!\n if (viewIndex >= this.nestedViews.length - 1) {\n this.nestedViews.pop();\n } else {\n this.nestedViews.splice(viewIndex, 1);\n }\n if (view.type === ViewType.COMPONENT) {\n throw new Error(`Component views can't be moved!`);\n }\n view.detach();\n return view;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { Injector } from '../di/injector';
|
|
9
9
|
import { ComponentFactory, ComponentRef } from './component_factory';
|
|
10
|
-
import { AppElement } from './element';
|
|
11
10
|
import { ElementRef } from './element_ref';
|
|
12
11
|
import { TemplateRef } from './template_ref';
|
|
12
|
+
import { ViewContainer } from './view_container';
|
|
13
13
|
import { EmbeddedViewRef, ViewRef } from './view_ref';
|
|
14
14
|
/**
|
|
15
15
|
* Represents a container where one or more Views can be attached.
|
|
@@ -106,7 +106,7 @@ export declare abstract class ViewContainerRef {
|
|
|
106
106
|
}
|
|
107
107
|
export declare class ViewContainerRef_ implements ViewContainerRef {
|
|
108
108
|
private _element;
|
|
109
|
-
constructor(_element:
|
|
109
|
+
constructor(_element: ViewContainer);
|
|
110
110
|
get(index: number): ViewRef;
|
|
111
111
|
length: number;
|
|
112
112
|
element: ElementRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_container_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_container_ref.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 {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {isPresent} from '../facade/lang';\nimport {WtfScopeFn, wtfCreateScope, wtfLeave} from '../profile/profile';\nimport {ComponentFactory, ComponentRef} from './component_factory';\nimport {AppElement} from './element';\nimport {ElementRef} from './element_ref';\nimport {TemplateRef} from './template_ref';\nimport {EmbeddedViewRef, ViewRef, ViewRef_} from './view_ref';\n\n\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an\n * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.\n * @stable\n */\nexport abstract class ViewContainerRef {\n /**\n * Anchor element that specifies the location of this container in the containing View.\n * <!-- TODO: rename to anchorElement -->\n */\n get element(): ElementRef { return <ElementRef>unimplemented(); }\n\n get injector(): Injector { return <Injector>unimplemented(); }\n\n get parentInjector(): Injector { return <Injector>unimplemented(); }\n\n /**\n * Destroys all Views in this container.\n */\n abstract clear(): void;\n\n /**\n * Returns the {@link ViewRef} for the View located in this container at the specified index.\n */\n abstract get(index: number): ViewRef;\n\n /**\n * Returns the number of Views currently attached to this container.\n */\n get length(): number { return <number>unimplemented(); };\n\n /**\n * Instantiates an Embedded View based on the {@link TemplateRef `templateRef`} and inserts it\n * into this container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the {@link ViewRef} for the newly created View.\n */\n abstract createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C, index?: number):\n EmbeddedViewRef<C>;\n\n /**\n * Instantiates a single {@link Component} and inserts its Host View into this container at the\n * specified `index`.\n *\n * The component is instantiated using its {@link ComponentFactory} which can be\n * obtained via {@link ComponentFactoryResolver#resolveComponentFactory}.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * You can optionally specify the {@link Injector} that will be used as parent for the Component.\n *\n * Returns the {@link ComponentRef} of the Host View created for the newly instantiated Component.\n */\n abstract createComponent<C>(\n componentFactory: ComponentFactory<C>, index?: number, injector?: Injector,\n projectableNodes?: any[][]): ComponentRef<C>;\n\n /**\n * Inserts a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract insert(viewRef: ViewRef, index?: number): ViewRef;\n\n /**\n * Moves a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract move(viewRef: ViewRef, currentIndex: number): ViewRef;\n\n /**\n * Returns the index of the View, specified via {@link ViewRef}, within the current container or\n * `-1` if this container doesn't contain the View.\n */\n abstract indexOf(viewRef: ViewRef): number;\n\n /**\n * Destroys a View attached to this container at the specified `index`.\n *\n * If `index` is not specified, the last View in the container will be removed.\n */\n abstract remove(index?: number): void;\n\n /**\n * Use along with {@link #insert} to move a View within the current container.\n *\n * If the `index` param is omitted, the last {@link ViewRef} is detached.\n */\n abstract detach(index?: number): ViewRef;\n}\n\nexport class ViewContainerRef_ implements ViewContainerRef {\n constructor(private _element: AppElement) {}\n\n get(index: number): ViewRef { return this._element.nestedViews[index].ref; }\n get length(): number {\n var views = this._element.nestedViews;\n return isPresent(views) ? views.length : 0;\n }\n\n get element(): ElementRef { return this._element.elementRef; }\n\n get injector(): Injector { return this._element.injector; }\n\n get parentInjector(): Injector { return this._element.parentInjector; }\n\n // TODO(rado): profile and decide whether bounds checks should be added\n // to the methods below.\n createEmbeddedView<C>(templateRef: TemplateRef<C>, context: C = null, index: number = -1):\n EmbeddedViewRef<C> {\n var viewRef: EmbeddedViewRef<any> = templateRef.createEmbeddedView(context);\n this.insert(viewRef, index);\n return viewRef;\n }\n\n /** @internal */\n _createComponentInContainerScope: WtfScopeFn =\n wtfCreateScope('ViewContainerRef#createComponent()');\n\n createComponent<C>(\n componentFactory: ComponentFactory<C>, index: number = -1, injector: Injector = null,\n projectableNodes: any[][] = null): ComponentRef<C> {\n var s = this._createComponentInContainerScope();\n var contextInjector = injector || this._element.parentInjector;\n var componentRef = componentFactory.create(contextInjector, projectableNodes);\n this.insert(componentRef.hostView, index);\n return wtfLeave(s, componentRef);\n }\n\n /** @internal */\n _insertScope = wtfCreateScope('ViewContainerRef#insert()');\n\n // TODO(i): refactor insert+remove into move\n insert(viewRef: ViewRef, index: number = -1): ViewRef {\n var s = this._insertScope();\n if (index == -1) index = this.length;\n var viewRef_ = <ViewRef_<any>>viewRef;\n this._element.attachView(viewRef_.internalView, index);\n return wtfLeave(s, viewRef_);\n }\n\n move(viewRef: ViewRef, currentIndex: number): ViewRef {\n var s = this._insertScope();\n if (currentIndex == -1) return;\n var viewRef_ = <ViewRef_<any>>viewRef;\n this._element.moveView(viewRef_.internalView, currentIndex);\n return wtfLeave(s, viewRef_);\n }\n\n indexOf(viewRef: ViewRef): number {\n return this._element.nestedViews.indexOf((<ViewRef_<any>>viewRef).internalView);\n }\n\n /** @internal */\n _removeScope = wtfCreateScope('ViewContainerRef#remove()');\n\n // TODO(i): rename to destroy\n remove(index: number = -1): void {\n const s = this._removeScope();\n if (index == -1) index = this.length - 1;\n const view = this._element.detachView(index);\n view.destroy();\n // view is intentionally not returned to the client.\n wtfLeave(s);\n }\n\n /** @internal */\n _detachScope = wtfCreateScope('ViewContainerRef#detach()');\n\n // TODO(i): refactor insert+remove into move\n detach(index: number = -1): ViewRef {\n const s = this._detachScope();\n if (index == -1) index = this.length - 1;\n const view = this._element.detachView(index);\n return wtfLeave(s, view.ref);\n }\n\n clear() {\n for (let i = this.length - 1; i >= 0; i--) {\n this.remove(i);\n }\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"view_container_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_container_ref.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 {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {isPresent} from '../facade/lang';\nimport {WtfScopeFn, wtfCreateScope, wtfLeave} from '../profile/profile';\n\nimport {ComponentFactory, ComponentRef} from './component_factory';\nimport {ElementRef} from './element_ref';\nimport {TemplateRef} from './template_ref';\nimport {ViewContainer} from './view_container';\nimport {EmbeddedViewRef, ViewRef, ViewRef_} from './view_ref';\n\n\n\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an\n * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.\n * @stable\n */\nexport abstract class ViewContainerRef {\n /**\n * Anchor element that specifies the location of this container in the containing View.\n * <!-- TODO: rename to anchorElement -->\n */\n get element(): ElementRef { return <ElementRef>unimplemented(); }\n\n get injector(): Injector { return <Injector>unimplemented(); }\n\n get parentInjector(): Injector { return <Injector>unimplemented(); }\n\n /**\n * Destroys all Views in this container.\n */\n abstract clear(): void;\n\n /**\n * Returns the {@link ViewRef} for the View located in this container at the specified index.\n */\n abstract get(index: number): ViewRef;\n\n /**\n * Returns the number of Views currently attached to this container.\n */\n get length(): number { return <number>unimplemented(); };\n\n /**\n * Instantiates an Embedded View based on the {@link TemplateRef `templateRef`} and inserts it\n * into this container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the {@link ViewRef} for the newly created View.\n */\n abstract createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C, index?: number):\n EmbeddedViewRef<C>;\n\n /**\n * Instantiates a single {@link Component} and inserts its Host View into this container at the\n * specified `index`.\n *\n * The component is instantiated using its {@link ComponentFactory} which can be\n * obtained via {@link ComponentFactoryResolver#resolveComponentFactory}.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * You can optionally specify the {@link Injector} that will be used as parent for the Component.\n *\n * Returns the {@link ComponentRef} of the Host View created for the newly instantiated Component.\n */\n abstract createComponent<C>(\n componentFactory: ComponentFactory<C>, index?: number, injector?: Injector,\n projectableNodes?: any[][]): ComponentRef<C>;\n\n /**\n * Inserts a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract insert(viewRef: ViewRef, index?: number): ViewRef;\n\n /**\n * Moves a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract move(viewRef: ViewRef, currentIndex: number): ViewRef;\n\n /**\n * Returns the index of the View, specified via {@link ViewRef}, within the current container or\n * `-1` if this container doesn't contain the View.\n */\n abstract indexOf(viewRef: ViewRef): number;\n\n /**\n * Destroys a View attached to this container at the specified `index`.\n *\n * If `index` is not specified, the last View in the container will be removed.\n */\n abstract remove(index?: number): void;\n\n /**\n * Use along with {@link #insert} to move a View within the current container.\n *\n * If the `index` param is omitted, the last {@link ViewRef} is detached.\n */\n abstract detach(index?: number): ViewRef;\n}\n\nexport class ViewContainerRef_ implements ViewContainerRef {\n constructor(private _element: ViewContainer) {}\n\n get(index: number): ViewRef { return this._element.nestedViews[index].ref; }\n get length(): number {\n const views = this._element.nestedViews;\n return isPresent(views) ? views.length : 0;\n }\n\n get element(): ElementRef { return this._element.elementRef; }\n\n get injector(): Injector { return this._element.injector; }\n\n get parentInjector(): Injector { return this._element.parentInjector; }\n\n // TODO(rado): profile and decide whether bounds checks should be added\n // to the methods below.\n createEmbeddedView<C>(templateRef: TemplateRef<C>, context: C = null, index: number = -1):\n EmbeddedViewRef<C> {\n const viewRef: EmbeddedViewRef<any> = templateRef.createEmbeddedView(context);\n this.insert(viewRef, index);\n return viewRef;\n }\n\n /** @internal */\n _createComponentInContainerScope: WtfScopeFn =\n wtfCreateScope('ViewContainerRef#createComponent()');\n\n createComponent<C>(\n componentFactory: ComponentFactory<C>, index: number = -1, injector: Injector = null,\n projectableNodes: any[][] = null): ComponentRef<C> {\n const s = this._createComponentInContainerScope();\n const contextInjector = injector || this._element.parentInjector;\n const componentRef = componentFactory.create(contextInjector, projectableNodes);\n this.insert(componentRef.hostView, index);\n return wtfLeave(s, componentRef);\n }\n\n /** @internal */\n _insertScope = wtfCreateScope('ViewContainerRef#insert()');\n\n // TODO(i): refactor insert+remove into move\n insert(viewRef: ViewRef, index: number = -1): ViewRef {\n const s = this._insertScope();\n if (index == -1) index = this.length;\n const viewRef_ = <ViewRef_<any>>viewRef;\n this._element.attachView(viewRef_.internalView, index);\n return wtfLeave(s, viewRef_);\n }\n\n move(viewRef: ViewRef, currentIndex: number): ViewRef {\n const s = this._insertScope();\n if (currentIndex == -1) return;\n const viewRef_ = <ViewRef_<any>>viewRef;\n this._element.moveView(viewRef_.internalView, currentIndex);\n return wtfLeave(s, viewRef_);\n }\n\n indexOf(viewRef: ViewRef): number {\n return this._element.nestedViews.indexOf((<ViewRef_<any>>viewRef).internalView);\n }\n\n /** @internal */\n _removeScope = wtfCreateScope('ViewContainerRef#remove()');\n\n // TODO(i): rename to destroy\n remove(index: number = -1): void {\n const s = this._removeScope();\n if (index == -1) index = this.length - 1;\n const view = this._element.detachView(index);\n view.destroy();\n // view is intentionally not returned to the client.\n wtfLeave(s);\n }\n\n /** @internal */\n _detachScope = wtfCreateScope('ViewContainerRef#detach()');\n\n // TODO(i): refactor insert+remove into move\n detach(index: number = -1): ViewRef {\n const s = this._detachScope();\n if (index == -1) index = this.length - 1;\n const view = this._element.detachView(index);\n return wtfLeave(s, view.ref);\n }\n\n clear() {\n for (let i = this.length - 1; i >= 0; i--) {\n this.remove(i);\n }\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -5,20 +5,16 @@ import { Sanitizer } from '../security';
|
|
|
5
5
|
import { AppView } from './view';
|
|
6
6
|
export declare class ViewUtils {
|
|
7
7
|
private _renderer;
|
|
8
|
-
private _appId;
|
|
9
8
|
sanitizer: Sanitizer;
|
|
10
9
|
private _nextCompTypeId;
|
|
11
|
-
constructor(_renderer: RootRenderer,
|
|
12
|
-
/**
|
|
13
|
-
* Used by the generated code
|
|
14
|
-
*/
|
|
15
|
-
createRenderComponentType(templateUrl: string, slotCount: number, encapsulation: ViewEncapsulation, styles: Array<string | any[]>, animations: {
|
|
16
|
-
[key: string]: Function;
|
|
17
|
-
}): RenderComponentType;
|
|
10
|
+
constructor(_renderer: RootRenderer, sanitizer: Sanitizer);
|
|
18
11
|
}
|
|
12
|
+
export declare function createRenderComponentType(templateUrl: string, slotCount: number, encapsulation: ViewEncapsulation, styles: Array<string | any[]>, animations: {
|
|
13
|
+
[key: string]: Function;
|
|
14
|
+
}): RenderComponentType;
|
|
19
15
|
export declare function addToArray(e: any, array: any[]): void;
|
|
20
|
-
export declare
|
|
21
|
-
export declare function
|
|
16
|
+
export declare function interpolate(valueCount: number, constAndInterp: string[]): string;
|
|
17
|
+
export declare function inlineInterpolate(valueCount: number, c0: string, a1: any, c1: string, a2?: any, c2?: string, a3?: any, c3?: string, a4?: any, c4?: string, a5?: any, c5?: string, a6?: any, c6?: string, a7?: any, c7?: string, a8?: any, c8?: string, a9?: any, c9?: string): string;
|
|
22
18
|
export declare function checkBinding(throwOnChange: boolean, oldValue: any, newValue: any): boolean;
|
|
23
19
|
export declare function castByValue<T>(input: any, value: T): T;
|
|
24
20
|
export declare const EMPTY_ARRAY: any[];
|
package/src/linker/view_utils.js
CHANGED
|
@@ -5,28 +5,19 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { APP_ID } from '../application_tokens';
|
|
9
8
|
import { devModeEqual } from '../change_detection/change_detection';
|
|
10
9
|
import { UNINITIALIZED } from '../change_detection/change_detection_util';
|
|
11
|
-
import {
|
|
10
|
+
import { Injectable } from '../di';
|
|
12
11
|
import { isPresent, looseIdentical } from '../facade/lang';
|
|
13
12
|
import { RenderComponentType, RootRenderer } from '../render/api';
|
|
14
13
|
import { Sanitizer } from '../security';
|
|
15
14
|
import { ExpressionChangedAfterItHasBeenCheckedError } from './errors';
|
|
16
15
|
export var ViewUtils = (function () {
|
|
17
|
-
function ViewUtils(_renderer,
|
|
16
|
+
function ViewUtils(_renderer, sanitizer) {
|
|
18
17
|
this._renderer = _renderer;
|
|
19
|
-
this._appId = _appId;
|
|
20
18
|
this._nextCompTypeId = 0;
|
|
21
19
|
this.sanitizer = sanitizer;
|
|
22
20
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Used by the generated code
|
|
25
|
-
*/
|
|
26
|
-
// TODO (matsko): add typing for the animation function
|
|
27
|
-
ViewUtils.prototype.createRenderComponentType = function (templateUrl, slotCount, encapsulation, styles, animations) {
|
|
28
|
-
return new RenderComponentType(this._appId + "-" + this._nextCompTypeId++, templateUrl, slotCount, encapsulation, styles, animations);
|
|
29
|
-
};
|
|
30
21
|
/** @internal */
|
|
31
22
|
ViewUtils.prototype.renderComponent = function (renderComponentType) {
|
|
32
23
|
return this._renderer.renderComponent(renderComponentType);
|
|
@@ -37,16 +28,25 @@ export var ViewUtils = (function () {
|
|
|
37
28
|
/** @nocollapse */
|
|
38
29
|
ViewUtils.ctorParameters = [
|
|
39
30
|
{ type: RootRenderer, },
|
|
40
|
-
{ type: undefined, decorators: [{ type: Inject, args: [APP_ID,] },] },
|
|
41
31
|
{ type: Sanitizer, },
|
|
42
32
|
];
|
|
43
33
|
return ViewUtils;
|
|
44
34
|
}());
|
|
35
|
+
var nextRenderComponentTypeId = 0;
|
|
36
|
+
export function createRenderComponentType(templateUrl, slotCount, encapsulation, styles, animations) {
|
|
37
|
+
return new RenderComponentType("" + nextRenderComponentTypeId++, templateUrl, slotCount, encapsulation, styles, animations);
|
|
38
|
+
}
|
|
45
39
|
export function addToArray(e, array) {
|
|
46
40
|
array.push(e);
|
|
47
41
|
}
|
|
48
|
-
export
|
|
49
|
-
|
|
42
|
+
export function interpolate(valueCount, constAndInterp) {
|
|
43
|
+
var result = '';
|
|
44
|
+
for (var i = 0; i < valueCount * 2; i = i + 2) {
|
|
45
|
+
result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]);
|
|
46
|
+
}
|
|
47
|
+
return result + constAndInterp[valueCount * 2];
|
|
48
|
+
}
|
|
49
|
+
export function inlineInterpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {
|
|
50
50
|
switch (valueCount) {
|
|
51
51
|
case 1:
|
|
52
52
|
return c0 + _toStringWithNull(a1) + c1;
|
|
@@ -310,6 +310,9 @@ export function selectOrCreateRenderHostElement(renderer, elementName, attrs, ro
|
|
|
310
310
|
var hostElement;
|
|
311
311
|
if (isPresent(rootSelectorOrNode)) {
|
|
312
312
|
hostElement = renderer.selectRootElement(rootSelectorOrNode, debugInfo);
|
|
313
|
+
for (var i = 0; i < attrs.length; i += 2) {
|
|
314
|
+
renderer.setElementAttribute(hostElement, attrs.get(i), attrs.get(i + 1));
|
|
315
|
+
}
|
|
313
316
|
}
|
|
314
317
|
else {
|
|
315
318
|
hostElement = createRenderElement(renderer, null, elementName, attrs, debugInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_utils.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,MAAM,EAAC,MAAM,uBAAuB;OACrC,EAAe,YAAY,EAAC,MAAM,sCAAsC;OACxE,EAAC,aAAa,EAAC,MAAM,2CAA2C;OAChE,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,OAAO;OACjC,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,gBAAgB;OAEjD,EAAC,mBAAmB,EAA6B,YAAY,EAAC,MAAM,eAAe;OACnF,EAAC,SAAS,EAAC,MAAM,aAAa;OAG9B,EAAC,2CAA2C,EAAC,MAAM,UAAU;AAIpE;IAIE,mBACY,SAAuB,EAAW,MAAc,EACxD,SAAoB;QADZ,cAAS,GAAT,SAAS,CAAc;QAAW,WAAM,GAAN,MAAM,CAAQ;QAHpD,oBAAe,GAAW,CAAC,CAAC;QAKlC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,uDAAuD;IACvD,6CAAyB,GAAzB,UACI,WAAmB,EAAE,SAAiB,EAAE,aAAgC,EACxE,MAA2B,EAAE,UAAqC;QACpE,MAAM,CAAC,IAAI,mBAAmB,CACvB,IAAI,CAAC,MAAM,SAAI,IAAI,CAAC,eAAe,EAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EACzF,UAAU,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,mCAAe,GAAf,UAAgB,mBAAwC;QACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IACI,oBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,wBAAc,GAA6D;QAClF,EAAC,IAAI,EAAE,YAAY,GAAG;QACtB,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAG,EAAE,EAAG,EAAC;QACrE,EAAC,IAAI,EAAE,SAAS,GAAG;KAClB,CAAC;IACF,gBAAC;AAAD,CAAC,AAnCD,IAmCC;AAED,2BAA2B,CAAM,EAAE,KAAY;IAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,OAAO,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,4BACI,UAAkB,EAAE,EAAU,EAAE,EAAO,EAAE,EAAU,EAAE,EAAQ,EAAE,EAAW,EAAE,EAAQ,EACpF,EAAW,EAAE,EAAQ,EAAE,EAAW,EAAE,EAAQ,EAAE,EAAW,EAAE,EAAQ,EAAE,EAAW,EAAE,EAAQ,EAC1F,EAAW,EAAE,EAAQ,EAAE,EAAW,EAAE,EAAQ,EAAE,EAAW;IAC3D,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACzC,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtE,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,CAAC;QACT,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtC,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACnE,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAChG,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACpF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACtC,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACpF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACnE,KAAK,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACvF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACpF,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAChG;YACE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,2BAA2B,CAAM;IAC/B,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;AACvC,CAAC;AAED,6BAA6B,aAAsB,EAAE,QAAa,EAAE,QAAa;IAC/E,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,IAAI,2CAA2C,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,4BAA+B,KAAU,EAAE,KAAQ;IACjD,MAAM,CAAI,KAAK,CAAC;AAClB,CAAC;AAED,OAAO,IAAM,WAAW,GAAU,EAAE,CAAC;AACrC,OAAO,IAAM,SAAS,GAAG,EAAE,CAAC;AAE5B,2BAAkC,EAAiB;IACjD,IAAI,MAAS,CAAC;IACd,IAAI,EAAE,GAAQ,aAAa,CAAC;IAE5B,MAAM,CAAC,UAAC,EAAE;QACR,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BAAsC,EAAyB;IAC7D,IAAI,MAAS,CAAC;IACd,IAAI,EAAE,GAAQ,aAAa,CAAC;IAC5B,IAAI,EAAE,GAAQ,aAAa,CAAC;IAE5B,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BAA0C,EAAiC;IAEzE,IAAI,MAAS,CAAC;IACd,IAAI,EAAE,GAAQ,aAAa,CAAC;IAC5B,IAAI,EAAE,GAAQ,aAAa,CAAC;IAC5B,IAAI,EAAE,GAAQ,aAAa,CAAC;IAE5B,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAChB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BAA8C,EAAyC;IAErF,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IACvC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAClC,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACpB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BACI,EAAiD;IAEnD,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IAChD,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACxB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAGD,2BACI,EACK;IACP,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IACzD,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5B,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BACI,EACK;IACP,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IAClE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IACjD,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAChC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BACI,EACK;IACP,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IAC3E,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IACtD,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACpC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,2BACI,EACK;IACP,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IACpF,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAC3D,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,4BACI,EACK;IACP,IAAI,MAAS,CAAC;IACd,IAAI,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,CAAC;IAC7F,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAChE,MAAM,CAAC,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5C,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,8CACI,QAAkB,EAAE,EAAO,EAAE,OAAsC;IACrE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;QACpC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oCAAoC,QAAkB,EAAE,EAAO,EAAE,QAAgB,EAAE,KAAU;IAC3F,IAAI,CAAC;QACH,QAAQ,CAAC,mBAAmB,CACxB,EAAE,EAAE,gBAAc,mBAAmB,CAAC,QAAQ,CAAG,EAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,CAAE;IAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACX,QAAQ,CAAC,mBAAmB,CACxB,EAAE,EAAE,gBAAc,mBAAmB,CAAC,QAAQ,CAAG,EACjD,uDAAuD,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,IAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,6BAA6B,KAAa;IACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAAC,WAAW;aAAX,WAAW,CAAX,sBAAW,CAAX,IAAW;YAAX,0BAAW;;QAAK,OAAA,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;IAAxB,CAAwB,CAAC,CAAC;AACrF,CAAC;AAED,oCACI,QAAkB,EAAE,aAAkB,EAAE,IAAY,EAAE,KAA0B,EAChF,SAA2B;IAC7B,IAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,EAAE,CAAC;AACZ,CAAC;AAED,gDACI,QAAkB,EAAE,WAAmB,EAAE,KAA0B,EACnE,kBAAgC,EAAE,SAA2B;IAC/D,IAAI,WAAgB,CAAC;IACrB,EAAE,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAClC,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,CAAC,WAAW,CAAC;AACrB,CAAC;AAED,yCACI,IAAkB,EAAE,OAAY,EAAE,oBAAyC,EAC3E,QAAgD;IAClD,IAAM,WAAW,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,IAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,UAAU,SAAU,CAAC;QACzB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CACnC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAK,WAAW,SAAI,SAAW,CAAC,CAAC,CAAC;QAClF,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,4BAA4B,WAAkC;IAC5D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,yBAAwB,CAAC;AAQzB,gCAAmC,MAAc;IAC/C,IAAI,IAAS,CAAC;IACd,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,aAAa,CAAC;IACvB,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,IAAI,GAAG,kBAAkB,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;IAAA;QACE,WAAM,GAAG,CAAC,CAAC;IAGb,CAAC;IAFC,0BAAG,GAAH,UAAI,KAAa,IAAS,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,0BAAG,GAAH,UAAI,KAAa,EAAE,KAAU,IAAS,CAAC;IACzC,mBAAC;AAAD,CAAC,AAJD,IAIC;AAED;IACE,sBAAmB,MAAc,EAAU,GAAO,EAAU,GAAO;QAAhD,WAAM,GAAN,MAAM,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;IAAG,CAAC;IACvE,0BAAG,GAAH,UAAI,KAAa;QACf,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB;gBACE,MAAM,CAAC,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,0BAAG,GAAH,UAAI,KAAa,EAAE,KAAQ;QACzB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AAtBD,IAsBC;AAED;IACE,sBACW,MAAc,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO;QAAlF,WAAM,GAAN,MAAM,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;IAAG,CAAC;IACjG,0BAAG,GAAH,UAAI,KAAa;QACf,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB;gBACE,MAAM,CAAC,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,0BAAG,GAAH,UAAI,KAAa,EAAE,KAAQ;QACzB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AAjCD,IAiCC;AAED;IACE,sBACW,MAAc,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EACjF,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO;QAD3D,WAAM,GAAN,MAAM,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QACjF,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;IAAG,CAAC;IAC1E,0BAAG,GAAH,UAAI,KAAa;QACf,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB;gBACE,MAAM,CAAC,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,0BAAG,GAAH,UAAI,KAAa,EAAE,KAAQ;QACzB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AAtDD,IAsDC;AAED;IACE,uBACW,MAAc,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EACjF,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EAAU,GAAO,EAC3E,GAAO,EAAU,IAAQ,EAAU,IAAQ,EAAU,IAAQ,EAAU,IAAQ,EAC/E,IAAQ,EAAU,IAAQ;QAH3B,WAAM,GAAN,MAAM,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QACjF,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAAU,QAAG,GAAH,GAAG,CAAI;QAC3E,QAAG,GAAH,GAAG,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAI;QAC/E,SAAI,GAAJ,IAAI,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAI;IAAG,CAAC;IAC1C,2BAAG,GAAH,UAAI,KAAa;QACf,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;gBACE,MAAM,CAAC,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,2BAAG,GAAH,UAAI,KAAa,EAAE,KAAQ;QACzB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AAhGD,IAgGC;AAED;IAEE,uEAAuE;IACvE,yCAAyC;IACzC,4BAAmB,MAAc;QAAE,gBAAgB;aAAhB,WAAgB,CAAhB,sBAAgB,CAAhB,IAAgB;YAAhB,+BAAgB;;QAAhC,WAAM,GAAN,MAAM,CAAQ;QAAsB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAAC,CAAC;IAE/E,gCAAG,GAAH,UAAI,KAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,gCAAG,GAAH,UAAI,KAAa,EAAE,KAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/D,yBAAC;AAAD,CAAC,AARD,IAQC;AAED,OAAO,IAAM,kBAAkB,GAAqB,IAAI,YAAY,EAAE,CAAC","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 {APP_ID} from '../application_tokens';\nimport {SimpleChange, devModeEqual} from '../change_detection/change_detection';\nimport {UNINITIALIZED} from '../change_detection/change_detection_util';\nimport {Inject, Injectable} from '../di';\nimport {isPresent, looseIdentical} from '../facade/lang';\nimport {ViewEncapsulation} from '../metadata/view';\nimport {RenderComponentType, RenderDebugInfo, Renderer, RootRenderer} from '../render/api';\nimport {Sanitizer} from '../security';\n\nimport {AppElement} from './element';\nimport {ExpressionChangedAfterItHasBeenCheckedError} from './errors';\nimport {AppView} from './view';\n\n\nexport class ViewUtils {\n sanitizer: Sanitizer;\n private _nextCompTypeId: number = 0;\n\n constructor(\n private _renderer: RootRenderer, private _appId: string,\n sanitizer: Sanitizer) {\n this.sanitizer = sanitizer;\n }\n\n /**\n * Used by the generated code\n */\n // TODO (matsko): add typing for the animation function\n createRenderComponentType(\n templateUrl: string, slotCount: number, encapsulation: ViewEncapsulation,\n styles: Array<string|any[]>, animations: {[key: string]: Function}): RenderComponentType {\n return new RenderComponentType(\n `${this._appId}-${this._nextCompTypeId++}`, templateUrl, slotCount, encapsulation, styles,\n animations);\n }\n\n /** @internal */\n renderComponent(renderComponentType: RenderComponentType): Renderer {\n return this._renderer.renderComponent(renderComponentType);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n{type: RootRenderer, },\n{type: undefined, decorators: [{ type: Inject, args: [APP_ID, ] }, ]},\n{type: Sanitizer, },\n];\n}\n\nexport function addToArray(e: any, array: any[]) {\n array.push(e);\n}\n\nexport const MAX_INTERPOLATION_VALUES = 9;\n\nexport function interpolate(\n valueCount: number, c0: string, a1: any, c1: string, a2?: any, c2?: string, a3?: any,\n c3?: string, a4?: any, c4?: string, a5?: any, c5?: string, a6?: any, c6?: string, a7?: any,\n c7?: string, a8?: any, c8?: string, a9?: any, c9?: string): string {\n switch (valueCount) {\n case 1:\n return c0 + _toStringWithNull(a1) + c1;\n case 2:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2;\n case 3:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3;\n case 4:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4;\n case 5:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5;\n case 6:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6;\n case 7:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7;\n case 8:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8;\n case 9:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9;\n default:\n throw new Error(`Does not support more than 9 expressions`);\n }\n}\n\nfunction _toStringWithNull(v: any): string {\n return v != null ? v.toString() : '';\n}\n\nexport function checkBinding(throwOnChange: boolean, oldValue: any, newValue: any): boolean {\n if (throwOnChange) {\n if (!devModeEqual(oldValue, newValue)) {\n throw new ExpressionChangedAfterItHasBeenCheckedError(oldValue, newValue);\n }\n return false;\n } else {\n return !looseIdentical(oldValue, newValue);\n }\n}\n\nexport function castByValue<T>(input: any, value: T): T {\n return <T>input;\n}\n\nexport const EMPTY_ARRAY: any[] = [];\nexport const EMPTY_MAP = {};\n\nexport function pureProxy1<P0, R>(fn: (p0: P0) => R): (p0: P0) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n\n return (p0) => {\n if (!looseIdentical(v0, p0)) {\n v0 = p0;\n result = fn(p0);\n }\n return result;\n };\n}\n\nexport function pureProxy2<P0, P1, R>(fn: (p0: P0, p1: P1) => R): (p0: P0, p1: P1) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n let v1: any = UNINITIALIZED;\n\n return (p0, p1) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1)) {\n v0 = p0;\n v1 = p1;\n result = fn(p0, p1);\n }\n return result;\n };\n}\n\nexport function pureProxy3<P0, P1, P2, R>(fn: (p0: P0, p1: P1, p2: P2) => R): (\n p0: P0, p1: P1, p2: P2) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n let v1: any = UNINITIALIZED;\n let v2: any = UNINITIALIZED;\n\n return (p0, p1, p2) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n result = fn(p0, p1, p2);\n }\n return result;\n };\n}\n\nexport function pureProxy4<P0, P1, P2, P3, R>(fn: (p0: P0, p1: P1, p2: P2, p3: P3) => R): (\n p0: P0, p1: P1, p2: P2, p3: P3) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any;\n v0 = v1 = v2 = v3 = UNINITIALIZED;\n return (p0, p1, p2, p3) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n result = fn(p0, p1, p2, p3);\n }\n return result;\n };\n}\n\nexport function pureProxy5<P0, P1, P2, P3, P4, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4) => R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4) =>\n R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any;\n v0 = v1 = v2 = v3 = v4 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n result = fn(p0, p1, p2, p3, p4);\n }\n return result;\n };\n}\n\n\nexport function pureProxy6<P0, P1, P2, P3, P4, P5, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any;\n v0 = v1 = v2 = v3 = v4 = v5 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n result = fn(p0, p1, p2, p3, p4, p5);\n }\n return result;\n };\n}\n\nexport function pureProxy7<P0, P1, P2, P3, P4, P5, P6, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n result = fn(p0, p1, p2, p3, p4, p5, p6);\n }\n return result;\n };\n}\n\nexport function pureProxy8<P0, P1, P2, P3, P4, P5, P6, P7, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7);\n }\n return result;\n };\n}\n\nexport function pureProxy9<P0, P1, P2, P3, P4, P5, P6, P7, P8, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7, p8) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n v8 = p8;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8);\n }\n return result;\n };\n}\n\nexport function pureProxy10<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any, v9: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8) ||\n !looseIdentical(v9, p9)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n v8 = p8;\n v9 = p9;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);\n }\n return result;\n };\n}\n\nexport function setBindingDebugInfoForChanges(\n renderer: Renderer, el: any, changes: {[key: string]: SimpleChange}) {\n Object.keys(changes).forEach((propName) => {\n setBindingDebugInfo(renderer, el, propName, changes[propName].currentValue);\n });\n}\n\nexport function setBindingDebugInfo(renderer: Renderer, el: any, propName: string, value: any) {\n try {\n renderer.setBindingDebugInfo(\n el, `ng-reflect-${camelCaseToDashCase(propName)}`, value ? value.toString() : null);\n } catch (e) {\n renderer.setBindingDebugInfo(\n el, `ng-reflect-${camelCaseToDashCase(propName)}`,\n '[ERROR] Exception while trying to serialize the value');\n }\n}\n\nconst CAMEL_CASE_REGEXP = /([A-Z])/g;\n\nfunction camelCaseToDashCase(input: string): string {\n return input.replace(CAMEL_CASE_REGEXP, (...m: any[]) => '-' + m[1].toLowerCase());\n}\n\nexport function createRenderElement(\n renderer: Renderer, parentElement: any, name: string, attrs: InlineArray<string>,\n debugInfo?: RenderDebugInfo): any {\n const el = renderer.createElement(parentElement, name, debugInfo);\n for (var i = 0; i < attrs.length; i += 2) {\n renderer.setElementAttribute(el, attrs.get(i), attrs.get(i + 1));\n }\n return el;\n}\n\nexport function selectOrCreateRenderHostElement(\n renderer: Renderer, elementName: string, attrs: InlineArray<string>,\n rootSelectorOrNode: string | any, debugInfo?: RenderDebugInfo): any {\n var hostElement: any;\n if (isPresent(rootSelectorOrNode)) {\n hostElement = renderer.selectRootElement(rootSelectorOrNode, debugInfo);\n } else {\n hostElement = createRenderElement(renderer, null, elementName, attrs, debugInfo);\n }\n return hostElement;\n}\n\nexport function subscribeToRenderElement(\n view: AppView<any>, element: any, eventNamesAndTargets: InlineArray<string>,\n listener: (eventName: string, event: any) => any) {\n const disposables = createEmptyInlineArray(eventNamesAndTargets.length / 2);\n for (var i = 0; i < eventNamesAndTargets.length; i += 2) {\n const eventName = eventNamesAndTargets.get(i);\n const eventTarget = eventNamesAndTargets.get(i + 1);\n let disposable: Function;\n if (eventTarget) {\n disposable = view.renderer.listenGlobal(\n eventTarget, eventName, listener.bind(view, `${eventTarget}:${eventName}`));\n } else {\n disposable = view.renderer.listen(element, eventName, listener.bind(view, eventName));\n }\n disposables.set(i / 2, disposable);\n }\n return disposeInlineArray.bind(null, disposables);\n}\n\nfunction disposeInlineArray(disposables: InlineArray<Function>) {\n for (var i = 0; i < disposables.length; i++) {\n disposables.get(i)();\n }\n}\n\nexport function noop() {}\n\nexport interface InlineArray<T> {\n length: number;\n get(index: number): T;\n set(index: number, value: T): void;\n}\n\nfunction createEmptyInlineArray<T>(length: number): InlineArray<T> {\n let ctor: any;\n if (length <= 2) {\n ctor = InlineArray2;\n } else if (length <= 4) {\n ctor = InlineArray4;\n } else if (length <= 8) {\n ctor = InlineArray8;\n } else if (length <= 16) {\n ctor = InlineArray16;\n } else {\n ctor = InlineArrayDynamic;\n }\n return new ctor(length);\n}\n\nclass InlineArray0 implements InlineArray<any> {\n length = 0;\n get(index: number): any { return undefined; }\n set(index: number, value: any): void {}\n}\n\nexport class InlineArray2<T> implements InlineArray<T> {\n constructor(public length: number, private _v0?: T, private _v1?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n }\n }\n}\n\nexport class InlineArray4<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n }\n }\n}\n\nexport class InlineArray8<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T,\n private _v4?: T, private _v5?: T, private _v6?: T, private _v7?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n case 4:\n return this._v4;\n case 5:\n return this._v5;\n case 6:\n return this._v6;\n case 7:\n return this._v7;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n case 4:\n this._v4 = value;\n break;\n case 5:\n this._v5 = value;\n break;\n case 6:\n this._v6 = value;\n break;\n case 7:\n this._v7 = value;\n break;\n }\n }\n}\n\nexport class InlineArray16<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T,\n private _v4?: T, private _v5?: T, private _v6?: T, private _v7?: T, private _v8?: T,\n private _v9?: T, private _v10?: T, private _v11?: T, private _v12?: T, private _v13?: T,\n private _v14?: T, private _v15?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n case 4:\n return this._v4;\n case 5:\n return this._v5;\n case 6:\n return this._v6;\n case 7:\n return this._v7;\n case 8:\n return this._v8;\n case 9:\n return this._v9;\n case 10:\n return this._v10;\n case 11:\n return this._v11;\n case 12:\n return this._v12;\n case 13:\n return this._v13;\n case 14:\n return this._v14;\n case 15:\n return this._v15;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n case 4:\n this._v4 = value;\n break;\n case 5:\n this._v5 = value;\n break;\n case 6:\n this._v6 = value;\n break;\n case 7:\n this._v7 = value;\n break;\n case 8:\n this._v8 = value;\n break;\n case 9:\n this._v9 = value;\n break;\n case 10:\n this._v10 = value;\n break;\n case 11:\n this._v11 = value;\n break;\n case 12:\n this._v12 = value;\n break;\n case 13:\n this._v13 = value;\n break;\n case 14:\n this._v14 = value;\n break;\n case 15:\n this._v15 = value;\n break;\n }\n }\n}\n\nexport class InlineArrayDynamic<T> implements InlineArray<T> {\n private _values: any[];\n // Note: We still take the length argument so this class can be created\n // in the same ways as the other classes!\n constructor(public length: number, ...values: any[]) { this._values = values; }\n\n get(index: number) { return this._values[index]; }\n set(index: number, value: T) { this._values[index] = value; }\n}\n\nexport const EMPTY_INLINE_ARRAY: InlineArray<any> = new InlineArray0();\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"view_utils.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_utils.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 {APP_ID} from '../application_tokens';\nimport {SimpleChange, devModeEqual} from '../change_detection/change_detection';\nimport {UNINITIALIZED} from '../change_detection/change_detection_util';\nimport {Inject, Injectable} from '../di';\nimport {isPresent, looseIdentical} from '../facade/lang';\nimport {ViewEncapsulation} from '../metadata/view';\nimport {RenderComponentType, RenderDebugInfo, Renderer, RootRenderer} from '../render/api';\nimport {Sanitizer} from '../security';\n\nimport {ExpressionChangedAfterItHasBeenCheckedError} from './errors';\nimport {AppView} from './view';\nimport {ViewContainer} from './view_container';\n\n\nexport class ViewUtils {\n sanitizer: Sanitizer;\n private _nextCompTypeId: number = 0;\n\n constructor(private _renderer: RootRenderer, sanitizer: Sanitizer) { this.sanitizer = sanitizer; }\n\n /** @internal */\n renderComponent(renderComponentType: RenderComponentType): Renderer {\n return this._renderer.renderComponent(renderComponentType);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n{type: RootRenderer, },\n{type: Sanitizer, },\n];\n}\n\nlet nextRenderComponentTypeId = 0;\n\nexport function createRenderComponentType(\n templateUrl: string, slotCount: number, encapsulation: ViewEncapsulation,\n styles: Array<string|any[]>, animations: {[key: string]: Function}): RenderComponentType {\n return new RenderComponentType(\n `${nextRenderComponentTypeId++}`, templateUrl, slotCount, encapsulation, styles, animations);\n}\n\nexport function addToArray(e: any, array: any[]) {\n array.push(e);\n}\n\nexport function interpolate(valueCount: number, constAndInterp: string[]): string {\n let result = '';\n for (let i = 0; i < valueCount * 2; i = i + 2) {\n result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]);\n }\n return result + constAndInterp[valueCount * 2];\n}\n\nexport function inlineInterpolate(\n valueCount: number, c0: string, a1: any, c1: string, a2?: any, c2?: string, a3?: any,\n c3?: string, a4?: any, c4?: string, a5?: any, c5?: string, a6?: any, c6?: string, a7?: any,\n c7?: string, a8?: any, c8?: string, a9?: any, c9?: string): string {\n switch (valueCount) {\n case 1:\n return c0 + _toStringWithNull(a1) + c1;\n case 2:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2;\n case 3:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3;\n case 4:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4;\n case 5:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5;\n case 6:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6;\n case 7:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7;\n case 8:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8;\n case 9:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9;\n default:\n throw new Error(`Does not support more than 9 expressions`);\n }\n}\n\nfunction _toStringWithNull(v: any): string {\n return v != null ? v.toString() : '';\n}\n\nexport function checkBinding(throwOnChange: boolean, oldValue: any, newValue: any): boolean {\n if (throwOnChange) {\n if (!devModeEqual(oldValue, newValue)) {\n throw new ExpressionChangedAfterItHasBeenCheckedError(oldValue, newValue);\n }\n return false;\n } else {\n return !looseIdentical(oldValue, newValue);\n }\n}\n\nexport function castByValue<T>(input: any, value: T): T {\n return <T>input;\n}\n\nexport const EMPTY_ARRAY: any[] = [];\nexport const EMPTY_MAP = {};\n\nexport function pureProxy1<P0, R>(fn: (p0: P0) => R): (p0: P0) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n\n return (p0) => {\n if (!looseIdentical(v0, p0)) {\n v0 = p0;\n result = fn(p0);\n }\n return result;\n };\n}\n\nexport function pureProxy2<P0, P1, R>(fn: (p0: P0, p1: P1) => R): (p0: P0, p1: P1) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n let v1: any = UNINITIALIZED;\n\n return (p0, p1) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1)) {\n v0 = p0;\n v1 = p1;\n result = fn(p0, p1);\n }\n return result;\n };\n}\n\nexport function pureProxy3<P0, P1, P2, R>(fn: (p0: P0, p1: P1, p2: P2) => R): (\n p0: P0, p1: P1, p2: P2) => R {\n let result: R;\n let v0: any = UNINITIALIZED;\n let v1: any = UNINITIALIZED;\n let v2: any = UNINITIALIZED;\n\n return (p0, p1, p2) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n result = fn(p0, p1, p2);\n }\n return result;\n };\n}\n\nexport function pureProxy4<P0, P1, P2, P3, R>(fn: (p0: P0, p1: P1, p2: P2, p3: P3) => R): (\n p0: P0, p1: P1, p2: P2, p3: P3) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any;\n v0 = v1 = v2 = v3 = UNINITIALIZED;\n return (p0, p1, p2, p3) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n result = fn(p0, p1, p2, p3);\n }\n return result;\n };\n}\n\nexport function pureProxy5<P0, P1, P2, P3, P4, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4) => R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4) =>\n R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any;\n v0 = v1 = v2 = v3 = v4 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n result = fn(p0, p1, p2, p3, p4);\n }\n return result;\n };\n}\n\n\nexport function pureProxy6<P0, P1, P2, P3, P4, P5, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any;\n v0 = v1 = v2 = v3 = v4 = v5 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n result = fn(p0, p1, p2, p3, p4, p5);\n }\n return result;\n };\n}\n\nexport function pureProxy7<P0, P1, P2, P3, P4, P5, P6, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n result = fn(p0, p1, p2, p3, p4, p5, p6);\n }\n return result;\n };\n}\n\nexport function pureProxy8<P0, P1, P2, P3, P4, P5, P6, P7, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7);\n }\n return result;\n };\n}\n\nexport function pureProxy9<P0, P1, P2, P3, P4, P5, P6, P7, P8, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7, p8) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n v8 = p8;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8);\n }\n return result;\n };\n}\n\nexport function pureProxy10<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R>(\n fn: (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9) =>\n R): (p0: P0, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9) => R {\n let result: R;\n let v0: any, v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any, v9: any;\n v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = UNINITIALIZED;\n return (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) => {\n if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8) ||\n !looseIdentical(v9, p9)) {\n v0 = p0;\n v1 = p1;\n v2 = p2;\n v3 = p3;\n v4 = p4;\n v5 = p5;\n v6 = p6;\n v7 = p7;\n v8 = p8;\n v9 = p9;\n result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);\n }\n return result;\n };\n}\n\nexport function setBindingDebugInfoForChanges(\n renderer: Renderer, el: any, changes: {[key: string]: SimpleChange}) {\n Object.keys(changes).forEach((propName) => {\n setBindingDebugInfo(renderer, el, propName, changes[propName].currentValue);\n });\n}\n\nexport function setBindingDebugInfo(renderer: Renderer, el: any, propName: string, value: any) {\n try {\n renderer.setBindingDebugInfo(\n el, `ng-reflect-${camelCaseToDashCase(propName)}`, value ? value.toString() : null);\n } catch (e) {\n renderer.setBindingDebugInfo(\n el, `ng-reflect-${camelCaseToDashCase(propName)}`,\n '[ERROR] Exception while trying to serialize the value');\n }\n}\n\nconst CAMEL_CASE_REGEXP = /([A-Z])/g;\n\nfunction camelCaseToDashCase(input: string): string {\n return input.replace(CAMEL_CASE_REGEXP, (...m: any[]) => '-' + m[1].toLowerCase());\n}\n\nexport function createRenderElement(\n renderer: Renderer, parentElement: any, name: string, attrs: InlineArray<string>,\n debugInfo?: RenderDebugInfo): any {\n const el = renderer.createElement(parentElement, name, debugInfo);\n for (let i = 0; i < attrs.length; i += 2) {\n renderer.setElementAttribute(el, attrs.get(i), attrs.get(i + 1));\n }\n return el;\n}\n\nexport function selectOrCreateRenderHostElement(\n renderer: Renderer, elementName: string, attrs: InlineArray<string>,\n rootSelectorOrNode: string | any, debugInfo?: RenderDebugInfo): any {\n let hostElement: any;\n if (isPresent(rootSelectorOrNode)) {\n hostElement = renderer.selectRootElement(rootSelectorOrNode, debugInfo);\n for (let i = 0; i < attrs.length; i += 2) {\n renderer.setElementAttribute(hostElement, attrs.get(i), attrs.get(i + 1));\n }\n } else {\n hostElement = createRenderElement(renderer, null, elementName, attrs, debugInfo);\n }\n return hostElement;\n}\n\nexport function subscribeToRenderElement(\n view: AppView<any>, element: any, eventNamesAndTargets: InlineArray<string>,\n listener: (eventName: string, event: any) => any) {\n const disposables = createEmptyInlineArray(eventNamesAndTargets.length / 2);\n for (let i = 0; i < eventNamesAndTargets.length; i += 2) {\n const eventName = eventNamesAndTargets.get(i);\n const eventTarget = eventNamesAndTargets.get(i + 1);\n let disposable: Function;\n if (eventTarget) {\n disposable = view.renderer.listenGlobal(\n eventTarget, eventName, listener.bind(view, `${eventTarget}:${eventName}`));\n } else {\n disposable = view.renderer.listen(element, eventName, listener.bind(view, eventName));\n }\n disposables.set(i / 2, disposable);\n }\n return disposeInlineArray.bind(null, disposables);\n}\n\nfunction disposeInlineArray(disposables: InlineArray<Function>) {\n for (let i = 0; i < disposables.length; i++) {\n disposables.get(i)();\n }\n}\n\nexport function noop() {}\n\nexport interface InlineArray<T> {\n length: number;\n get(index: number): T;\n set(index: number, value: T): void;\n}\n\nfunction createEmptyInlineArray<T>(length: number): InlineArray<T> {\n let ctor: any;\n if (length <= 2) {\n ctor = InlineArray2;\n } else if (length <= 4) {\n ctor = InlineArray4;\n } else if (length <= 8) {\n ctor = InlineArray8;\n } else if (length <= 16) {\n ctor = InlineArray16;\n } else {\n ctor = InlineArrayDynamic;\n }\n return new ctor(length);\n}\n\nclass InlineArray0 implements InlineArray<any> {\n length = 0;\n get(index: number): any { return undefined; }\n set(index: number, value: any): void {}\n}\n\nexport class InlineArray2<T> implements InlineArray<T> {\n constructor(public length: number, private _v0?: T, private _v1?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n }\n }\n}\n\nexport class InlineArray4<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n }\n }\n}\n\nexport class InlineArray8<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T,\n private _v4?: T, private _v5?: T, private _v6?: T, private _v7?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n case 4:\n return this._v4;\n case 5:\n return this._v5;\n case 6:\n return this._v6;\n case 7:\n return this._v7;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n case 4:\n this._v4 = value;\n break;\n case 5:\n this._v5 = value;\n break;\n case 6:\n this._v6 = value;\n break;\n case 7:\n this._v7 = value;\n break;\n }\n }\n}\n\nexport class InlineArray16<T> implements InlineArray<T> {\n constructor(\n public length: number, private _v0?: T, private _v1?: T, private _v2?: T, private _v3?: T,\n private _v4?: T, private _v5?: T, private _v6?: T, private _v7?: T, private _v8?: T,\n private _v9?: T, private _v10?: T, private _v11?: T, private _v12?: T, private _v13?: T,\n private _v14?: T, private _v15?: T) {}\n get(index: number) {\n switch (index) {\n case 0:\n return this._v0;\n case 1:\n return this._v1;\n case 2:\n return this._v2;\n case 3:\n return this._v3;\n case 4:\n return this._v4;\n case 5:\n return this._v5;\n case 6:\n return this._v6;\n case 7:\n return this._v7;\n case 8:\n return this._v8;\n case 9:\n return this._v9;\n case 10:\n return this._v10;\n case 11:\n return this._v11;\n case 12:\n return this._v12;\n case 13:\n return this._v13;\n case 14:\n return this._v14;\n case 15:\n return this._v15;\n default:\n return undefined;\n }\n }\n set(index: number, value: T) {\n switch (index) {\n case 0:\n this._v0 = value;\n break;\n case 1:\n this._v1 = value;\n break;\n case 2:\n this._v2 = value;\n break;\n case 3:\n this._v3 = value;\n break;\n case 4:\n this._v4 = value;\n break;\n case 5:\n this._v5 = value;\n break;\n case 6:\n this._v6 = value;\n break;\n case 7:\n this._v7 = value;\n break;\n case 8:\n this._v8 = value;\n break;\n case 9:\n this._v9 = value;\n break;\n case 10:\n this._v10 = value;\n break;\n case 11:\n this._v11 = value;\n break;\n case 12:\n this._v12 = value;\n break;\n case 13:\n this._v13 = value;\n break;\n case 14:\n this._v14 = value;\n break;\n case 15:\n this._v15 = value;\n break;\n }\n }\n}\n\nexport class InlineArrayDynamic<T> implements InlineArray<T> {\n private _values: any[];\n // Note: We still take the length argument so this class can be created\n // in the same ways as the other classes!\n constructor(public length: number, ...values: any[]) { this._values = values; }\n\n get(index: number) { return this._values[index]; }\n set(index: number, value: T) { this._values[index] = value; }\n}\n\nexport const EMPTY_INLINE_ARRAY: InlineArray<any> = new InlineArray0();\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":1,"metadata":{"ViewUtils":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../di","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"ViewUtils":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../di","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../render/api","name":"RootRenderer"},{"__symbolic":"reference","module":"../security","name":"Sanitizer"}]}],"renderComponent":[{"__symbolic":"method"}]}},"createRenderComponentType":{"__symbolic":"function","parameters":["templateUrl","slotCount","encapsulation","styles","animations"],"value":{"__symbolic":"error","message":"Expression form not supported","line":40,"character":6}},"castByValue":{"__symbolic":"function","parameters":["input","value"],"value":{"__symbolic":"reference","name":"input"}},"EMPTY_ARRAY":[],"EMPTY_MAP":{},"EMPTY_INLINE_ARRAY":{"__symbolic":"error","message":"Reference to non-exported class","line":418,"character":0,"context":{"className":"InlineArray0"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wtf_impl.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/profile/wtf_impl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,MAAM,EAAC,MAAM,gBAAgB;AA4BrC,IAAI,KAAY,CAAC;AACjB,IAAI,MAAc,CAAC;AAEnB;IACE,
|
|
1
|
+
{"version":3,"file":"wtf_impl.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/profile/wtf_impl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,MAAM,EAAC,MAAM,gBAAgB;AA4BrC,IAAI,KAAY,CAAC;AACjB,IAAI,MAAc,CAAC;AAEnB;IACE,IAAM,GAAG,GAAS,MAAgC,CAAC,KAAK,CAAC,CAAC;IAC1D,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACR,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AAED,4BAA4B,SAAiB,EAAE,KAAiB;IAAjB,qBAAiB,GAAjB,YAAiB;IAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,sBAAyB,KAAY,EAAE,WAAe;IACpD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,CAAC;AACrB,CAAC;AAED,+BAA+B,SAAiB,EAAE,MAAc;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,6BAA6B,KAAY;IACvC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC","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} from '../facade/lang';\n\n/**\n * A scope function for the Web Tracing Framework (WTF).\n *\n * @experimental\n */\nexport interface WtfScopeFn { (arg0?: any, arg1?: any): any; }\n\ninterface WTF {\n trace: Trace;\n}\n\ninterface Trace {\n events: Events;\n leaveScope(scope: Scope, returnValue: any): any /** TODO #9100 */;\n beginTimeRange(rangeType: string, action: string): Range;\n endTimeRange(range: Range): any /** TODO #9100 */;\n}\n\nexport interface Range {}\n\ninterface Events {\n createScope(signature: string, flags: any): Scope;\n}\n\nexport interface Scope { (...args: any[] /** TODO #9100 */): any; }\n\nlet trace: Trace;\nlet events: Events;\n\nexport function detectWTF(): boolean {\n const wtf: WTF = (global as any /** TODO #9100 */)['wtf'];\n if (wtf) {\n trace = wtf['trace'];\n if (trace) {\n events = trace['events'];\n return true;\n }\n }\n return false;\n}\n\nexport function createScope(signature: string, flags: any = null): any {\n return events.createScope(signature, flags);\n}\n\nexport function leave<T>(scope: Scope, returnValue?: T): T {\n trace.leaveScope(scope, returnValue);\n return returnValue;\n}\n\nexport function startTimeRange(rangeType: string, action: string): Range {\n return trace.beginTimeRange(rangeType, action);\n}\n\nexport function endTimeRange(range: Range): void {\n trace.endTimeRange(range);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -53,8 +53,11 @@ export var ReflectionCapabilities = (function () {
|
|
|
53
53
|
return type.parameters;
|
|
54
54
|
}
|
|
55
55
|
// API of tsickle for lowering decorators to properties on the class.
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
var tsickleCtorParams = type.ctorParameters;
|
|
57
|
+
if (tsickleCtorParams) {
|
|
58
|
+
// Newer tsickle uses a function closure
|
|
59
|
+
// Retain the non-function case for compatibility with older tsickle
|
|
60
|
+
var ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;
|
|
58
61
|
var paramTypes = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; });
|
|
59
62
|
var paramAnnotations = ctorParameters.map(function (ctorParam) {
|
|
60
63
|
return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflection_capabilities.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/reflection/reflection_capabilities.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, isPresent, stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nimport {GetterFn, MethodFn, SetterFn} from './types';\n\nexport class ReflectionCapabilities implements PlatformReflectionCapabilities {\n private _reflect: any;\n\n constructor(reflect?: any) { this._reflect = reflect || global.Reflect; }\n\n isReflectionEnabled(): boolean { return true; }\n\n factory<T>(t: Type<T>): (args: any[]) => T { return (...args: any[]) => new t(...args); }\n\n /** @internal */\n _zipTypesAndAnnotations(paramTypes: any[], paramAnnotations: any[]): any[][] {\n var result: any[][];\n\n if (typeof paramTypes === 'undefined') {\n result = new Array(paramAnnotations.length);\n } else {\n result = new Array(paramTypes.length);\n }\n\n for (var i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n } else if (paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n } else {\n result[i] = [];\n }\n if (paramAnnotations && isPresent(paramAnnotations[i])) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n\n parameters(type: Type<any>): any[][] {\n // Prefer the direct API.\n if ((<any>type).parameters) {\n return (<any>type).parameters;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if ((<any>type).ctorParameters) {\n const ctorParameters = (<any>type).ctorParameters;\n const paramTypes = ctorParameters.map((ctorParam: any) => ctorParam && ctorParam.type);\n const paramAnnotations = ctorParameters.map(\n (ctorParam: any) =>\n ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n const paramAnnotations = this._reflect.getMetadata('parameters', type);\n const paramTypes = this._reflect.getMetadata('design:paramtypes', type);\n if (paramTypes || paramAnnotations) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n }\n // The array has to be filled with `undefined` because holes would be skipped by `some`\n return new Array((<any>type.length)).fill(undefined);\n }\n\n annotations(typeOrFunc: Type<any>): any[] {\n // Prefer the direct API.\n if ((<any>typeOrFunc).annotations) {\n let annotations = (<any>typeOrFunc).annotations;\n if (typeof annotations === 'function' && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if ((<any>typeOrFunc).decorators) {\n return convertTsickleDecoratorIntoMetadata((<any>typeOrFunc).decorators);\n }\n\n // API for metadata created by invoking the decorators.\n if (this._reflect && this._reflect.getMetadata) {\n const annotations = this._reflect.getMetadata('annotations', typeOrFunc);\n if (annotations) return annotations;\n }\n return [];\n }\n\n propMetadata(typeOrFunc: any): {[key: string]: any[]} {\n // Prefer the direct API.\n if ((<any>typeOrFunc).propMetadata) {\n let propMetadata = (<any>typeOrFunc).propMetadata;\n if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if ((<any>typeOrFunc).propDecorators) {\n const propDecorators = (<any>typeOrFunc).propDecorators;\n const propMetadata = <{[key: string]: any[]}>{};\n Object.keys(propDecorators).forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n\n // API for metadata created by invoking the decorators.\n if (this._reflect && this._reflect.getMetadata) {\n const propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc);\n if (propMetadata) return propMetadata;\n }\n return {};\n }\n\n hasLifecycleHook(type: any, lcProperty: string): boolean {\n return type instanceof Type && lcProperty in type.prototype;\n }\n\n getter(name: string): GetterFn { return <GetterFn>new Function('o', 'return o.' + name + ';'); }\n\n setter(name: string): SetterFn {\n return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n\n method(name: string): MethodFn {\n const functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return <MethodFn>new Function('o', 'args', functionBody);\n }\n\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type: any): string {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return `./${stringify(type)}`;\n }\n\n resolveIdentifier(name: string, moduleUrl: string, runtime: any): any { return runtime; }\n resolveEnum(enumIdentifier: any, name: string): any { return enumIdentifier[name]; }\n}\n\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations: any[]): any[] {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n const decoratorType = decoratorInvocation.type;\n const annotationCls = decoratorType.annotationCls;\n const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n return new annotationCls(...annotationArgs);\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"reflection_capabilities.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/reflection/reflection_capabilities.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, isPresent, stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nimport {GetterFn, MethodFn, SetterFn} from './types';\n\nexport class ReflectionCapabilities implements PlatformReflectionCapabilities {\n private _reflect: any;\n\n constructor(reflect?: any) { this._reflect = reflect || global.Reflect; }\n\n isReflectionEnabled(): boolean { return true; }\n\n factory<T>(t: Type<T>): (args: any[]) => T { return (...args: any[]) => new t(...args); }\n\n /** @internal */\n _zipTypesAndAnnotations(paramTypes: any[], paramAnnotations: any[]): any[][] {\n let result: any[][];\n\n if (typeof paramTypes === 'undefined') {\n result = new Array(paramAnnotations.length);\n } else {\n result = new Array(paramTypes.length);\n }\n\n for (let i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n } else if (paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n } else {\n result[i] = [];\n }\n if (paramAnnotations && isPresent(paramAnnotations[i])) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n\n parameters(type: Type<any>): any[][] {\n // Prefer the direct API.\n if ((<any>type).parameters) {\n return (<any>type).parameters;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n const tsickleCtorParams = (<any>type).ctorParameters;\n if (tsickleCtorParams) {\n // Newer tsickle uses a function closure\n // Retain the non-function case for compatibility with older tsickle\n const ctorParameters =\n typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;\n const paramTypes = ctorParameters.map((ctorParam: any) => ctorParam && ctorParam.type);\n const paramAnnotations = ctorParameters.map(\n (ctorParam: any) =>\n ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n const paramAnnotations = this._reflect.getMetadata('parameters', type);\n const paramTypes = this._reflect.getMetadata('design:paramtypes', type);\n if (paramTypes || paramAnnotations) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n }\n // The array has to be filled with `undefined` because holes would be skipped by `some`\n return new Array((<any>type.length)).fill(undefined);\n }\n\n annotations(typeOrFunc: Type<any>): any[] {\n // Prefer the direct API.\n if ((<any>typeOrFunc).annotations) {\n let annotations = (<any>typeOrFunc).annotations;\n if (typeof annotations === 'function' && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if ((<any>typeOrFunc).decorators) {\n return convertTsickleDecoratorIntoMetadata((<any>typeOrFunc).decorators);\n }\n\n // API for metadata created by invoking the decorators.\n if (this._reflect && this._reflect.getMetadata) {\n const annotations = this._reflect.getMetadata('annotations', typeOrFunc);\n if (annotations) return annotations;\n }\n return [];\n }\n\n propMetadata(typeOrFunc: any): {[key: string]: any[]} {\n // Prefer the direct API.\n if ((<any>typeOrFunc).propMetadata) {\n let propMetadata = (<any>typeOrFunc).propMetadata;\n if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if ((<any>typeOrFunc).propDecorators) {\n const propDecorators = (<any>typeOrFunc).propDecorators;\n const propMetadata = <{[key: string]: any[]}>{};\n Object.keys(propDecorators).forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n\n // API for metadata created by invoking the decorators.\n if (this._reflect && this._reflect.getMetadata) {\n const propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc);\n if (propMetadata) return propMetadata;\n }\n return {};\n }\n\n hasLifecycleHook(type: any, lcProperty: string): boolean {\n return type instanceof Type && lcProperty in type.prototype;\n }\n\n getter(name: string): GetterFn { return <GetterFn>new Function('o', 'return o.' + name + ';'); }\n\n setter(name: string): SetterFn {\n return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n\n method(name: string): MethodFn {\n const functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return <MethodFn>new Function('o', 'args', functionBody);\n }\n\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type: any): string {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return `./${stringify(type)}`;\n }\n\n resolveIdentifier(name: string, moduleUrl: string, runtime: any): any { return runtime; }\n resolveEnum(enumIdentifier: any, name: string): any { return enumIdentifier[name]; }\n}\n\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations: any[]): any[] {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n const decoratorType = decoratorInvocation.type;\n const annotationCls = decoratorType.annotationCls;\n const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n return new annotationCls(...annotationArgs);\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/src/render/api.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export declare abstract class RenderDebugInfo {
|
|
|
36
36
|
context: any;
|
|
37
37
|
source: string;
|
|
38
38
|
}
|
|
39
|
+
export interface DirectRenderer {
|
|
40
|
+
remove(node: any): void;
|
|
41
|
+
appendChild(node: any, parent: any): void;
|
|
42
|
+
insertBefore(node: any, refNode: any): void;
|
|
43
|
+
nextSibling(node: any): any;
|
|
44
|
+
parentElement(node: any): any;
|
|
45
|
+
}
|
|
39
46
|
/**
|
|
40
47
|
* @experimental
|
|
41
48
|
*/
|
|
@@ -61,7 +68,7 @@ export declare abstract class Renderer {
|
|
|
61
68
|
abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): void;
|
|
62
69
|
abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): void;
|
|
63
70
|
abstract setText(renderNode: any, text: string): void;
|
|
64
|
-
abstract animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string): AnimationPlayer;
|
|
71
|
+
abstract animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[]): AnimationPlayer;
|
|
65
72
|
}
|
|
66
73
|
/**
|
|
67
74
|
* Injectable service that provides a low-level interface for modifying the UI.
|
package/src/render/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/render/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAMI,EAAC,aAAa,EAAC,MAAM,kBAAkB;AAG9C;;GAEG;AACH,uDAAuD;AACvD;IACE,6BACW,EAAU,EAAS,WAAmB,EAAS,SAAiB,EAChE,aAAgC,EAAS,MAA2B,EACpE,UAAqC;QAFrC,OAAE,GAAF,EAAE,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAQ;QAChE,kBAAa,GAAb,aAAa,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAqB;QACpE,eAAU,GAAV,UAAU,CAA2B;IAAG,CAAC;IACtD,0BAAC;AAAD,CAAC,AALD,IAKC;AAED;IAAA;IAOA,CAAC;IANC,sBAAI,qCAAQ;aAAZ,cAA2B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpD,sBAAI,sCAAS;aAAb,cAAuB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAChD,sBAAI,2CAAc;aAAlB,cAA8B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACvD,sBAAI,uCAAU;aAAd,cAAyC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClE,sBAAI,oCAAO;aAAX,cAAqB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAC9C,sBAAI,mCAAM;aAAV,cAAuB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClD,sBAAC;AAAD,CAAC,AAPD,IAOC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/render/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAMI,EAAC,aAAa,EAAC,MAAM,kBAAkB;AAG9C;;GAEG;AACH,uDAAuD;AACvD;IACE,6BACW,EAAU,EAAS,WAAmB,EAAS,SAAiB,EAChE,aAAgC,EAAS,MAA2B,EACpE,UAAqC;QAFrC,OAAE,GAAF,EAAE,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAQ;QAChE,kBAAa,GAAb,aAAa,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAqB;QACpE,eAAU,GAAV,UAAU,CAA2B;IAAG,CAAC;IACtD,0BAAC;AAAD,CAAC,AALD,IAKC;AAED;IAAA;IAOA,CAAC;IANC,sBAAI,qCAAQ;aAAZ,cAA2B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpD,sBAAI,sCAAS;aAAb,cAAuB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAChD,sBAAI,2CAAc;aAAlB,cAA8B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACvD,sBAAI,uCAAU;aAAd,cAAyC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClE,sBAAI,oCAAO;aAAX,cAAqB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAC9C,sBAAI,mCAAM;aAAV,cAAuB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClD,sBAAC;AAAD,CAAC,AAPD,IAOC;AAUD;;GAEG;AACH;IAAA;IA8CA,CAAC;IAAD,eAAC;AAAD,CAAC,AA9CD,IA8CC;AAED;;;;;;;;;;;;GAYG;AACH;IAAA;IAEA,CAAC;IAAD,mBAAC;AAAD,CAAC,AAFD,IAEC","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 {AnimationKeyframe} from '../../src/animation/animation_keyframe';\nimport {AnimationPlayer} from '../../src/animation/animation_player';\nimport {AnimationStyles} from '../../src/animation/animation_styles';\nimport {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {ViewEncapsulation} from '../metadata/view';\n\n/**\n * @experimental\n */\n// TODO (matsko): add typing for the animation function\nexport class RenderComponentType {\n constructor(\n public id: string, public templateUrl: string, public slotCount: number,\n public encapsulation: ViewEncapsulation, public styles: Array<string|any[]>,\n public animations: {[key: string]: Function}) {}\n}\n\nexport abstract class RenderDebugInfo {\n get injector(): Injector { return unimplemented(); }\n get component(): any { return unimplemented(); }\n get providerTokens(): any[] { return unimplemented(); }\n get references(): {[key: string]: any} { return unimplemented(); }\n get context(): any { return unimplemented(); }\n get source(): string { return unimplemented(); }\n}\n\nexport interface DirectRenderer {\n remove(node: any): void;\n appendChild(node: any, parent: any): void;\n insertBefore(node: any, refNode: any): void;\n nextSibling(node: any): any;\n parentElement(node: any): any;\n}\n\n/**\n * @experimental\n */\nexport abstract class Renderer {\n abstract selectRootElement(selectorOrNode: string|any, debugInfo?: RenderDebugInfo): any;\n\n abstract createElement(parentElement: any, name: string, debugInfo?: RenderDebugInfo): any;\n\n abstract createViewRoot(hostElement: any): any;\n\n abstract createTemplateAnchor(parentElement: any, debugInfo?: RenderDebugInfo): any;\n\n abstract createText(parentElement: any, value: string, debugInfo?: RenderDebugInfo): any;\n\n abstract projectNodes(parentElement: any, nodes: any[]): void;\n\n abstract attachViewAfter(node: any, viewRootNodes: any[]): void;\n\n abstract detachView(viewRootNodes: any[]): void;\n\n abstract destroyView(hostElement: any, viewAllNodes: any[]): void;\n\n abstract listen(renderElement: any, name: string, callback: Function): Function;\n\n abstract listenGlobal(target: string, name: string, callback: Function): Function;\n\n abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): void;\n\n abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue: string):\n void;\n\n /**\n * Used only in debug mode to serialize property changes to dom nodes as attributes.\n */\n abstract setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string):\n void;\n\n abstract setElementClass(renderElement: any, className: string, isAdd: boolean): void;\n\n abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): void;\n\n abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): void;\n\n abstract setText(renderNode: any, text: string): void;\n\n abstract animate(\n element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[],\n duration: number, delay: number, easing: string,\n previousPlayers?: AnimationPlayer[]): AnimationPlayer;\n}\n\n/**\n * Injectable service that provides a low-level interface for modifying the UI.\n *\n * Use this service to bypass Angular's templating and make custom UI changes that can't be\n * expressed declaratively. For example if you need to set a property or an attribute whose name is\n * not statically known, use {@link #setElementProperty} or {@link #setElementAttribute}\n * respectively.\n *\n * If you are implementing a custom renderer, you must implement this interface.\n *\n * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.\n * @experimental\n */\nexport abstract class RootRenderer {\n abstract renderComponent(componentType: RenderComponentType): Renderer;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
import { Injectable } from '../di';
|
|
9
|
-
import { MapWrapper } from '../facade/collection';
|
|
10
9
|
import { scheduleMicroTask } from '../facade/lang';
|
|
11
10
|
import { NgZone } from '../zone/ng_zone';
|
|
12
11
|
/**
|
|
@@ -124,8 +123,8 @@ export var TestabilityRegistry = (function () {
|
|
|
124
123
|
this._applications.set(token, testability);
|
|
125
124
|
};
|
|
126
125
|
TestabilityRegistry.prototype.getTestability = function (elem) { return this._applications.get(elem); };
|
|
127
|
-
TestabilityRegistry.prototype.getAllTestabilities = function () { return
|
|
128
|
-
TestabilityRegistry.prototype.getAllRootElements = function () { return
|
|
126
|
+
TestabilityRegistry.prototype.getAllTestabilities = function () { return Array.from(this._applications.values()); };
|
|
127
|
+
TestabilityRegistry.prototype.getAllRootElements = function () { return Array.from(this._applications.keys()); };
|
|
129
128
|
TestabilityRegistry.prototype.findTestabilityInTree = function (elem, findInAncestors) {
|
|
130
129
|
if (findInAncestors === void 0) { findInAncestors = true; }
|
|
131
130
|
return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
|