2016-06-23 09:47:54 -07:00
|
|
|
/**
|
|
|
|
* @license
|
|
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
|
|
* found in the LICENSE file at https://angular.io/license
|
|
|
|
*/
|
|
|
|
|
2017-02-17 09:01:37 -08:00
|
|
|
import {ANALYZE_FOR_ENTRY_COMPONENTS, ChangeDetectionStrategy, ChangeDetectorRef, ComponentFactory, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, LOCALE_ID, NgModuleFactory, QueryList, RenderComponentType, Renderer, RendererTypeV2, SecurityContext, SimpleChange, TRANSLATIONS_FORMAT, TemplateRef, ViewContainerRef, ViewEncapsulation, ɵAnimationGroupPlayer, ɵAnimationKeyframe, ɵAnimationSequencePlayer, ɵAnimationStyles, ɵAnimationTransition, ɵAppView, ɵChangeDetectorStatus, ɵCodegenComponentFactoryResolver, ɵComponentRef_, ɵDebugAppView, ɵDebugContext, ɵNgModuleInjector, ɵNoOpAnimationPlayer, ɵStaticNodeDebugInfo, ɵTemplateRef_, ɵValueUnwrapper, ɵViewContainer, ɵViewType, ɵbalanceAnimationKeyframes, ɵclearStyles, ɵcollectAndResolveStyles, ɵdevModeEqual, ɵprepareFinalAnimationStyles, ɵreflector, ɵregisterModuleFactory, ɵrenderStyles, ɵviewEngine, ɵview_utils} from '@angular/core';
|
2016-08-22 17:18:25 -07:00
|
|
|
|
2017-01-04 13:59:43 -08:00
|
|
|
import {CompileIdentifierMetadata, CompileTokenMetadata} from './compile_metadata';
|
2016-01-06 14:13:44 -08:00
|
|
|
|
2017-02-14 13:33:06 -08:00
|
|
|
const CORE = assetUrl('core');
|
2016-11-12 14:08:58 +01:00
|
|
|
const VIEW_UTILS_MODULE_URL = assetUrl('core', 'linker/view_utils');
|
2016-01-06 14:13:44 -08:00
|
|
|
|
2016-08-24 17:39:49 -07:00
|
|
|
export interface IdentifierSpec {
|
|
|
|
name: string;
|
|
|
|
moduleUrl: string;
|
2017-02-14 13:33:06 -08:00
|
|
|
member?: string;
|
2016-08-24 17:39:49 -07:00
|
|
|
runtime: any;
|
|
|
|
}
|
|
|
|
|
2016-01-06 14:13:44 -08:00
|
|
|
export class Identifiers {
|
2016-08-24 17:39:49 -07:00
|
|
|
static ANALYZE_FOR_ENTRY_COMPONENTS: IdentifierSpec = {
|
2016-07-25 00:36:30 -07:00
|
|
|
name: 'ANALYZE_FOR_ENTRY_COMPONENTS',
|
2017-02-14 13:33:06 -08:00
|
|
|
moduleUrl: CORE,
|
2016-07-25 00:36:30 -07:00
|
|
|
runtime: ANALYZE_FOR_ENTRY_COMPONENTS
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static ViewUtils: IdentifierSpec =
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'ViewUtils', runtime: ɵview_utils.ViewUtils};
|
|
|
|
static AppView: IdentifierSpec = {name: 'ɵAppView', moduleUrl: CORE, runtime: ɵAppView};
|
|
|
|
static DebugAppView:
|
|
|
|
IdentifierSpec = {name: 'ɵDebugAppView', moduleUrl: CORE, runtime: ɵDebugAppView};
|
|
|
|
static ViewContainer:
|
|
|
|
IdentifierSpec = {name: 'ɵViewContainer', moduleUrl: CORE, runtime: ɵViewContainer};
|
|
|
|
static ElementRef: IdentifierSpec = {name: 'ElementRef', moduleUrl: CORE, runtime: ElementRef};
|
|
|
|
static ViewContainerRef:
|
|
|
|
IdentifierSpec = {name: 'ViewContainerRef', moduleUrl: CORE, runtime: ViewContainerRef};
|
|
|
|
static ChangeDetectorRef:
|
|
|
|
IdentifierSpec = {name: 'ChangeDetectorRef', moduleUrl: CORE, runtime: ChangeDetectorRef};
|
|
|
|
static RenderComponentType:
|
|
|
|
IdentifierSpec = {name: 'RenderComponentType', moduleUrl: CORE, runtime: RenderComponentType};
|
|
|
|
static QueryList: IdentifierSpec = {name: 'QueryList', moduleUrl: CORE, runtime: QueryList};
|
|
|
|
static TemplateRef: IdentifierSpec = {name: 'TemplateRef', moduleUrl: CORE, runtime: TemplateRef};
|
|
|
|
static TemplateRef_:
|
|
|
|
IdentifierSpec = {name: 'ɵTemplateRef_', moduleUrl: CORE, runtime: ɵTemplateRef_};
|
2016-08-24 17:39:49 -07:00
|
|
|
static CodegenComponentFactoryResolver: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵCodegenComponentFactoryResolver',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵCodegenComponentFactoryResolver
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static ComponentFactoryResolver: IdentifierSpec = {
|
2016-06-22 14:06:23 -07:00
|
|
|
name: 'ComponentFactoryResolver',
|
2017-02-14 13:33:06 -08:00
|
|
|
moduleUrl: CORE,
|
2016-06-22 14:06:23 -07:00
|
|
|
runtime: ComponentFactoryResolver
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static ComponentFactory:
|
|
|
|
IdentifierSpec = {name: 'ComponentFactory', moduleUrl: CORE, runtime: ComponentFactory};
|
2016-11-01 08:21:39 -07:00
|
|
|
static ComponentRef_: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵComponentRef_',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵComponentRef_,
|
|
|
|
};
|
|
|
|
static ComponentRef:
|
|
|
|
IdentifierSpec = {name: 'ComponentRef', moduleUrl: CORE, runtime: ComponentRef};
|
|
|
|
static NgModuleFactory:
|
|
|
|
IdentifierSpec = {name: 'NgModuleFactory', moduleUrl: CORE, runtime: NgModuleFactory};
|
2016-08-24 17:39:49 -07:00
|
|
|
static NgModuleInjector: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵNgModuleInjector',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵNgModuleInjector,
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2016-09-01 13:46:08 -07:00
|
|
|
static RegisterModuleFactoryFn: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵregisterModuleFactory',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵregisterModuleFactory,
|
2016-09-01 13:46:08 -07:00
|
|
|
};
|
2016-08-29 08:52:25 -07:00
|
|
|
static ValueUnwrapper:
|
2017-02-14 13:33:06 -08:00
|
|
|
IdentifierSpec = {name: 'ɵValueUnwrapper', moduleUrl: CORE, runtime: ɵValueUnwrapper};
|
|
|
|
static Injector: IdentifierSpec = {name: 'Injector', moduleUrl: CORE, runtime: Injector};
|
|
|
|
static ViewEncapsulation:
|
|
|
|
IdentifierSpec = {name: 'ViewEncapsulation', moduleUrl: CORE, runtime: ViewEncapsulation};
|
|
|
|
static ViewType: IdentifierSpec = {name: 'ɵViewType', moduleUrl: CORE, runtime: ɵViewType};
|
2016-08-24 17:39:49 -07:00
|
|
|
static ChangeDetectionStrategy: IdentifierSpec = {
|
2016-01-06 14:13:44 -08:00
|
|
|
name: 'ChangeDetectionStrategy',
|
2017-02-14 13:33:06 -08:00
|
|
|
moduleUrl: CORE,
|
2016-08-29 08:52:25 -07:00
|
|
|
runtime: ChangeDetectionStrategy
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static StaticNodeDebugInfo: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵStaticNodeDebugInfo',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵStaticNodeDebugInfo
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static DebugContext:
|
|
|
|
IdentifierSpec = {name: 'ɵDebugContext', moduleUrl: CORE, runtime: ɵDebugContext};
|
|
|
|
static Renderer: IdentifierSpec = {name: 'Renderer', moduleUrl: CORE, runtime: Renderer};
|
2016-08-24 17:39:49 -07:00
|
|
|
static SimpleChange:
|
2017-02-14 13:33:06 -08:00
|
|
|
IdentifierSpec = {name: 'SimpleChange', moduleUrl: CORE, runtime: SimpleChange};
|
2016-08-24 17:39:49 -07:00
|
|
|
static ChangeDetectorStatus: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵChangeDetectorStatus',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵChangeDetectorStatus
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static checkBinding: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkBinding',
|
|
|
|
runtime: ɵview_utils.checkBinding
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
static checkBindingChange: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkBindingChange',
|
|
|
|
runtime: ɵview_utils.checkBindingChange
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
|
|
|
static checkRenderText: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkRenderText',
|
|
|
|
runtime: ɵview_utils.checkRenderText
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
|
|
|
static checkRenderProperty: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkRenderProperty',
|
|
|
|
runtime: ɵview_utils.checkRenderProperty
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
|
|
|
static checkRenderAttribute: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkRenderAttribute',
|
|
|
|
runtime: ɵview_utils.checkRenderAttribute
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
|
|
|
static checkRenderClass: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkRenderClass',
|
|
|
|
runtime: ɵview_utils.checkRenderClass
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
|
|
|
static checkRenderStyle: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'checkRenderStyle',
|
|
|
|
runtime: ɵview_utils.checkRenderStyle
|
refactor(compiler): generate less code for bindings to DOM elements
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2016-12-29 15:03:55 -08:00
|
|
|
};
|
2016-08-24 17:39:49 -07:00
|
|
|
static devModeEqual:
|
2017-02-14 13:33:06 -08:00
|
|
|
IdentifierSpec = {name: 'ɵdevModeEqual', moduleUrl: CORE, runtime: ɵdevModeEqual};
|
2016-11-07 21:23:03 +01:00
|
|
|
static inlineInterpolate: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'inlineInterpolate',
|
|
|
|
runtime: ɵview_utils.inlineInterpolate
|
2016-11-07 21:23:03 +01:00
|
|
|
};
|
2016-08-24 17:39:49 -07:00
|
|
|
static interpolate: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'interpolate',
|
|
|
|
runtime: ɵview_utils.interpolate
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static castByValue: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'castByValue',
|
|
|
|
runtime: ɵview_utils.castByValue
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static EMPTY_ARRAY: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'EMPTY_ARRAY',
|
|
|
|
runtime: ɵview_utils.EMPTY_ARRAY
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static EMPTY_MAP: IdentifierSpec =
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'EMPTY_MAP', runtime: ɵview_utils.EMPTY_MAP};
|
2016-10-19 09:17:36 -07:00
|
|
|
static createRenderElement: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'createRenderElement',
|
|
|
|
runtime: ɵview_utils.createRenderElement
|
2016-10-19 09:17:36 -07:00
|
|
|
};
|
|
|
|
static selectOrCreateRenderHostElement: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'selectOrCreateRenderHostElement',
|
|
|
|
runtime: ɵview_utils.selectOrCreateRenderHostElement
|
2016-10-19 09:17:36 -07:00
|
|
|
};
|
|
|
|
static pureProxies: IdentifierSpec[] = [
|
2016-04-22 15:33:32 -07:00
|
|
|
null,
|
2017-02-14 13:33:06 -08:00
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy1', runtime: ɵview_utils.pureProxy1},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy2', runtime: ɵview_utils.pureProxy2},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy3', runtime: ɵview_utils.pureProxy3},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy4', runtime: ɵview_utils.pureProxy4},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy5', runtime: ɵview_utils.pureProxy5},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy6', runtime: ɵview_utils.pureProxy6},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy7', runtime: ɵview_utils.pureProxy7},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy8', runtime: ɵview_utils.pureProxy8},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy9', runtime: ɵview_utils.pureProxy9},
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy10', runtime: ɵview_utils.pureProxy10},
|
2016-04-22 15:33:32 -07:00
|
|
|
];
|
2016-08-24 17:39:49 -07:00
|
|
|
static SecurityContext: IdentifierSpec = {
|
feat: security implementation in Angular 2.
Summary:
This adds basic security hooks to Angular 2.
* `SecurityContext` is a private API between core, compiler, and
platform-browser. `SecurityContext` communicates what context a value is used
in across template parser, compiler, and sanitization at runtime.
* `SanitizationService` is the bare bones interface to sanitize values for a
particular context.
* `SchemaElementRegistry.securityContext(tagName, attributeOrPropertyName)`
determines the security context for an attribute or property (it turns out
attributes and properties match for the purposes of sanitization).
Based on these hooks:
* `DomSchemaElementRegistry` decides what sanitization applies in a particular
context.
* `DomSanitizationService` implements `SanitizationService` and adds *Safe
Value*s, i.e. the ability to mark a value as safe and not requiring further
sanitization.
* `url_sanitizer` and `style_sanitizer` sanitize URLs and Styles, respectively
(surprise!).
`DomSanitizationService` is the default implementation bound for browser
applications, in the three contexts (browser rendering, web worker rendering,
server side rendering).
BREAKING CHANGES:
*** SECURITY WARNING ***
Angular 2 Release Candidates do not implement proper contextual escaping yet.
Make sure to correctly escape all values that go into the DOM.
*** SECURITY WARNING ***
Reviewers: IgorMinar
Differential Revision: https://reviews.angular.io/D103
2016-04-29 16:04:08 -07:00
|
|
|
name: 'SecurityContext',
|
2017-02-14 13:33:06 -08:00
|
|
|
moduleUrl: CORE,
|
feat: security implementation in Angular 2.
Summary:
This adds basic security hooks to Angular 2.
* `SecurityContext` is a private API between core, compiler, and
platform-browser. `SecurityContext` communicates what context a value is used
in across template parser, compiler, and sanitization at runtime.
* `SanitizationService` is the bare bones interface to sanitize values for a
particular context.
* `SchemaElementRegistry.securityContext(tagName, attributeOrPropertyName)`
determines the security context for an attribute or property (it turns out
attributes and properties match for the purposes of sanitization).
Based on these hooks:
* `DomSchemaElementRegistry` decides what sanitization applies in a particular
context.
* `DomSanitizationService` implements `SanitizationService` and adds *Safe
Value*s, i.e. the ability to mark a value as safe and not requiring further
sanitization.
* `url_sanitizer` and `style_sanitizer` sanitize URLs and Styles, respectively
(surprise!).
`DomSanitizationService` is the default implementation bound for browser
applications, in the three contexts (browser rendering, web worker rendering,
server side rendering).
BREAKING CHANGES:
*** SECURITY WARNING ***
Angular 2 Release Candidates do not implement proper contextual escaping yet.
Make sure to correctly escape all values that go into the DOM.
*** SECURITY WARNING ***
Reviewers: IgorMinar
Differential Revision: https://reviews.angular.io/D103
2016-04-29 16:04:08 -07:00
|
|
|
runtime: SecurityContext,
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static AnimationKeyframe:
|
|
|
|
IdentifierSpec = {name: 'ɵAnimationKeyframe', moduleUrl: CORE, runtime: ɵAnimationKeyframe};
|
|
|
|
static AnimationStyles:
|
|
|
|
IdentifierSpec = {name: 'ɵAnimationStyles', moduleUrl: CORE, runtime: ɵAnimationStyles};
|
2016-08-24 17:39:49 -07:00
|
|
|
static NoOpAnimationPlayer: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵNoOpAnimationPlayer',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵNoOpAnimationPlayer
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static AnimationGroupPlayer: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵAnimationGroupPlayer',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵAnimationGroupPlayer
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static AnimationSequencePlayer: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵAnimationSequencePlayer',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵAnimationSequencePlayer
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static prepareFinalAnimationStyles: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵprepareFinalAnimationStyles',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵprepareFinalAnimationStyles
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
|
|
|
static balanceAnimationKeyframes: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵbalanceAnimationKeyframes',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵbalanceAnimationKeyframes
|
|
|
|
};
|
|
|
|
static clearStyles:
|
|
|
|
IdentifierSpec = {name: 'ɵclearStyles', moduleUrl: CORE, runtime: ɵclearStyles};
|
|
|
|
static renderStyles:
|
|
|
|
IdentifierSpec = {name: 'ɵrenderStyles', moduleUrl: CORE, runtime: ɵrenderStyles};
|
2016-08-24 17:39:49 -07:00
|
|
|
static collectAndResolveStyles: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵcollectAndResolveStyles',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵcollectAndResolveStyles
|
2016-10-13 16:34:37 -07:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static LOCALE_ID: IdentifierSpec = {name: 'LOCALE_ID', moduleUrl: CORE, runtime: LOCALE_ID};
|
|
|
|
static TRANSLATIONS_FORMAT:
|
|
|
|
IdentifierSpec = {name: 'TRANSLATIONS_FORMAT', moduleUrl: CORE, runtime: TRANSLATIONS_FORMAT};
|
2016-10-13 16:34:37 -07:00
|
|
|
static setBindingDebugInfo: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'setBindingDebugInfo',
|
|
|
|
runtime: ɵview_utils.setBindingDebugInfo
|
2016-10-13 16:34:37 -07:00
|
|
|
};
|
|
|
|
static setBindingDebugInfoForChanges: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'setBindingDebugInfoForChanges',
|
|
|
|
runtime: ɵview_utils.setBindingDebugInfoForChanges
|
2016-08-24 17:39:49 -07:00
|
|
|
};
|
2016-10-18 17:16:51 -07:00
|
|
|
static AnimationTransition: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵAnimationTransition',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
runtime: ɵAnimationTransition
|
2016-10-12 11:24:54 -07:00
|
|
|
};
|
2016-10-19 09:17:36 -07:00
|
|
|
|
|
|
|
// This is just the interface!
|
2016-10-24 11:11:31 -07:00
|
|
|
static InlineArray:
|
|
|
|
IdentifierSpec = {name: 'InlineArray', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: null};
|
|
|
|
static inlineArrays: IdentifierSpec[] = [
|
2017-02-14 13:33:06 -08:00
|
|
|
{
|
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArray2',
|
|
|
|
runtime: ɵview_utils.InlineArray2
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArray2',
|
|
|
|
runtime: ɵview_utils.InlineArray2
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArray4',
|
|
|
|
runtime: ɵview_utils.InlineArray4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArray8',
|
|
|
|
runtime: ɵview_utils.InlineArray8
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArray16',
|
|
|
|
runtime: ɵview_utils.InlineArray16
|
|
|
|
},
|
2016-10-19 09:17:36 -07:00
|
|
|
];
|
2016-10-24 11:11:31 -07:00
|
|
|
static EMPTY_INLINE_ARRAY: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'EMPTY_INLINE_ARRAY',
|
|
|
|
runtime: ɵview_utils.EMPTY_INLINE_ARRAY
|
2016-10-19 09:17:36 -07:00
|
|
|
};
|
2016-10-24 11:11:31 -07:00
|
|
|
static InlineArrayDynamic: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'InlineArrayDynamic',
|
|
|
|
runtime: ɵview_utils.InlineArrayDynamic
|
2016-10-19 09:17:36 -07:00
|
|
|
};
|
2016-10-26 16:58:35 -07:00
|
|
|
static subscribeToRenderElement: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'subscribeToRenderElement',
|
|
|
|
runtime: ɵview_utils.subscribeToRenderElement
|
2016-10-26 16:58:35 -07:00
|
|
|
};
|
2016-11-02 08:11:10 -07:00
|
|
|
static createRenderComponentType: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵview_utils',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'createRenderComponentType',
|
|
|
|
runtime: ɵview_utils.createRenderComponentType
|
2016-11-02 08:11:10 -07:00
|
|
|
};
|
2017-02-02 15:01:35 -08:00
|
|
|
|
2017-02-14 13:33:06 -08:00
|
|
|
|
|
|
|
static noop: IdentifierSpec =
|
|
|
|
{name: 'ɵview_utils', moduleUrl: CORE, member: 'noop', runtime: ɵview_utils.noop};
|
|
|
|
|
|
|
|
static viewDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'viewDef', runtime: ɵviewEngine.viewDef};
|
|
|
|
static elementDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'elementDef', runtime: ɵviewEngine.elementDef};
|
|
|
|
static anchorDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'anchorDef', runtime: ɵviewEngine.anchorDef};
|
|
|
|
static textDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'textDef', runtime: ɵviewEngine.textDef};
|
2017-02-02 15:01:35 -08:00
|
|
|
static directiveDef: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'directiveDef',
|
|
|
|
runtime: ɵviewEngine.directiveDef
|
2017-02-02 15:01:35 -08:00
|
|
|
};
|
|
|
|
static providerDef: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'providerDef',
|
|
|
|
runtime: ɵviewEngine.providerDef
|
2017-02-02 15:01:35 -08:00
|
|
|
};
|
2017-02-14 13:33:06 -08:00
|
|
|
static queryDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'queryDef', runtime: ɵviewEngine.queryDef};
|
2017-02-09 14:59:57 -08:00
|
|
|
static pureArrayDef: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'pureArrayDef',
|
|
|
|
runtime: ɵviewEngine.pureArrayDef
|
2017-02-09 14:59:57 -08:00
|
|
|
};
|
|
|
|
static pureObjectDef: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'pureObjectDef',
|
|
|
|
runtime: ɵviewEngine.pureObjectDef
|
2017-02-09 14:59:57 -08:00
|
|
|
};
|
|
|
|
static purePipeDef: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'purePipeDef',
|
|
|
|
runtime: ɵviewEngine.purePipeDef
|
|
|
|
};
|
|
|
|
static pipeDef: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'pipeDef', runtime: ɵviewEngine.pipeDef};
|
|
|
|
static nodeValue: IdentifierSpec =
|
|
|
|
{name: 'ɵviewEngine', moduleUrl: CORE, member: 'nodeValue', runtime: ɵviewEngine.nodeValue};
|
2017-02-15 08:36:49 -08:00
|
|
|
static ngContentDef: IdentifierSpec = {
|
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'ngContentDef',
|
|
|
|
runtime: ɵviewEngine.ngContentDef
|
|
|
|
};
|
2017-02-09 14:59:57 -08:00
|
|
|
static unwrapValue: IdentifierSpec = {
|
2017-02-14 13:33:06 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'unwrapValue',
|
|
|
|
runtime: ɵviewEngine.unwrapValue
|
2017-02-09 14:59:57 -08:00
|
|
|
};
|
2017-02-17 09:01:37 -08:00
|
|
|
static createRendererTypeV2: IdentifierSpec = {
|
2017-02-16 13:55:55 -08:00
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
2017-02-17 09:01:37 -08:00
|
|
|
member: 'createRendererTypeV2',
|
|
|
|
runtime: ɵviewEngine.createRendererTypeV2
|
2017-02-16 13:55:55 -08:00
|
|
|
};
|
2017-02-17 08:56:49 -08:00
|
|
|
static RendererTypeV2: IdentifierSpec = {
|
|
|
|
name: 'RendererTypeV2',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
// type only
|
|
|
|
runtime: null
|
|
|
|
};
|
|
|
|
static ViewDefinition: IdentifierSpec = {
|
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'ViewDefinition',
|
|
|
|
// type only
|
|
|
|
runtime: null
|
|
|
|
};
|
|
|
|
static createComponentFactory: IdentifierSpec = {
|
|
|
|
name: 'ɵviewEngine',
|
|
|
|
moduleUrl: CORE,
|
|
|
|
member: 'createComponentFactory',
|
|
|
|
runtime: ɵviewEngine.createComponentFactory
|
|
|
|
};
|
2016-10-19 09:17:36 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
export function assetUrl(pkg: string, path: string = null, type: string = 'src'): string {
|
|
|
|
if (path == null) {
|
2017-02-14 13:33:06 -08:00
|
|
|
return `@angular/${pkg}`;
|
2016-10-19 09:17:36 -07:00
|
|
|
} else {
|
2016-11-15 10:14:01 -08:00
|
|
|
return `@angular/${pkg}/${type}/${path}`;
|
2016-10-19 09:17:36 -07:00
|
|
|
}
|
2016-08-24 17:39:49 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
export function resolveIdentifier(identifier: IdentifierSpec) {
|
2017-02-14 13:33:06 -08:00
|
|
|
let name = identifier.name;
|
|
|
|
let members = identifier.member && [identifier.member];
|
|
|
|
return ɵreflector.resolveIdentifier(name, identifier.moduleUrl, members, identifier.runtime);
|
2016-11-23 09:42:19 -08:00
|
|
|
}
|
|
|
|
|
2016-11-30 10:52:51 -08:00
|
|
|
export function createIdentifier(identifier: IdentifierSpec): CompileIdentifierMetadata {
|
2017-02-14 13:33:06 -08:00
|
|
|
return {reference: resolveIdentifier(identifier)};
|
2016-01-06 14:13:44 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
export function identifierToken(identifier: CompileIdentifierMetadata): CompileTokenMetadata {
|
2016-11-30 10:52:51 -08:00
|
|
|
return {identifier: identifier};
|
2016-01-06 14:13:44 -08:00
|
|
|
}
|
2016-08-24 17:39:49 -07:00
|
|
|
|
2016-11-23 09:42:19 -08:00
|
|
|
export function createIdentifierToken(identifier: IdentifierSpec): CompileTokenMetadata {
|
|
|
|
return identifierToken(createIdentifier(identifier));
|
2016-08-24 17:39:49 -07:00
|
|
|
}
|
|
|
|
|
2016-11-23 09:42:19 -08:00
|
|
|
export function createEnumIdentifier(
|
|
|
|
enumType: IdentifierSpec, name: string): CompileIdentifierMetadata {
|
2017-02-14 13:33:06 -08:00
|
|
|
const resolvedEnum = ɵreflector.resolveEnum(resolveIdentifier(enumType), name);
|
2016-11-30 10:52:51 -08:00
|
|
|
return {reference: resolvedEnum};
|
2016-08-30 18:07:40 -07:00
|
|
|
}
|