91 lines
3.5 KiB
TypeScript
91 lines
3.5 KiB
TypeScript
/**
|
|
* @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
|
|
*/
|
|
|
|
import {ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';
|
|
|
|
import {ChangeDetectorStatus, ViewType} from '../../core_private';
|
|
import {CompileIdentifierMetadata} from '../compile_metadata';
|
|
import {isBlank, resolveEnumToken} from '../facade/lang';
|
|
import {Identifiers} from '../identifiers';
|
|
import * as o from '../output/output_ast';
|
|
|
|
function _enumExpression(classIdentifier: CompileIdentifierMetadata, value: any): o.Expression {
|
|
if (isBlank(value)) return o.NULL_EXPR;
|
|
var name = resolveEnumToken(classIdentifier.runtime, value);
|
|
return o.importExpr(new CompileIdentifierMetadata({
|
|
name: `${classIdentifier.name}.${name}`,
|
|
moduleUrl: classIdentifier.moduleUrl,
|
|
runtime: value
|
|
}));
|
|
}
|
|
|
|
export class ViewTypeEnum {
|
|
static fromValue(value: ViewType): o.Expression {
|
|
return _enumExpression(Identifiers.ViewType, value);
|
|
}
|
|
static HOST = ViewTypeEnum.fromValue(ViewType.HOST);
|
|
static COMPONENT = ViewTypeEnum.fromValue(ViewType.COMPONENT);
|
|
static EMBEDDED = ViewTypeEnum.fromValue(ViewType.EMBEDDED);
|
|
}
|
|
|
|
export class ViewEncapsulationEnum {
|
|
static fromValue(value: ViewEncapsulation): o.Expression {
|
|
return _enumExpression(Identifiers.ViewEncapsulation, value);
|
|
}
|
|
static Emulated = ViewEncapsulationEnum.fromValue(ViewEncapsulation.Emulated);
|
|
static Native = ViewEncapsulationEnum.fromValue(ViewEncapsulation.Native);
|
|
static None = ViewEncapsulationEnum.fromValue(ViewEncapsulation.None);
|
|
}
|
|
|
|
export class ChangeDetectionStrategyEnum {
|
|
static fromValue(value: ChangeDetectionStrategy): o.Expression {
|
|
return _enumExpression(Identifiers.ChangeDetectionStrategy, value);
|
|
}
|
|
static OnPush = ChangeDetectionStrategyEnum.fromValue(ChangeDetectionStrategy.OnPush);
|
|
static Default = ChangeDetectionStrategyEnum.fromValue(ChangeDetectionStrategy.Default);
|
|
}
|
|
|
|
export class ChangeDetectorStatusEnum {
|
|
static fromValue(value: ChangeDetectorStatusEnum): o.Expression {
|
|
return _enumExpression(Identifiers.ChangeDetectorStatus, value);
|
|
}
|
|
static CheckOnce = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.CheckOnce);
|
|
static Checked = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.Checked);
|
|
static CheckAlways = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.CheckAlways);
|
|
static Detached = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.Detached);
|
|
static Errored = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.Errored);
|
|
static Destroyed = ChangeDetectorStatusEnum.fromValue(ChangeDetectorStatus.Destroyed);
|
|
}
|
|
|
|
export class ViewConstructorVars {
|
|
static viewUtils = o.variable('viewUtils');
|
|
static parentInjector = o.variable('parentInjector');
|
|
static declarationEl = o.variable('declarationEl');
|
|
}
|
|
|
|
export class ViewProperties {
|
|
static renderer = o.THIS_EXPR.prop('renderer');
|
|
static projectableNodes = o.THIS_EXPR.prop('projectableNodes');
|
|
static viewUtils = o.THIS_EXPR.prop('viewUtils');
|
|
}
|
|
|
|
export class EventHandlerVars { static event = o.variable('$event'); }
|
|
|
|
export class InjectMethodVars {
|
|
static token = o.variable('token');
|
|
static requestNodeIndex = o.variable('requestNodeIndex');
|
|
static notFoundResult = o.variable('notFoundResult');
|
|
}
|
|
|
|
export class DetectChangesVars {
|
|
static throwOnChange = o.variable(`throwOnChange`);
|
|
static changes = o.variable(`changes`);
|
|
static changed = o.variable(`changed`);
|
|
static valUnwrapper = o.variable(`valUnwrapper`);
|
|
}
|