diff --git a/packages/compiler/src/template/pipeline/ir/src/enums.ts b/packages/compiler/src/template/pipeline/ir/src/enums.ts index 776e9c25d59..9d2e9ecd422 100644 --- a/packages/compiler/src/template/pipeline/ir/src/enums.ts +++ b/packages/compiler/src/template/pipeline/ir/src/enums.ts @@ -528,3 +528,13 @@ export enum DeferTriggerKind { Interaction, Viewport, } + +/** + * Repeaters implicitly define these derived variables, and child nodes may read them. + */ +export enum DerivedRepeaterVarIdentity { + First, + Last, + Even, + Odd, +} diff --git a/packages/compiler/src/template/pipeline/ir/src/expression.ts b/packages/compiler/src/template/pipeline/ir/src/expression.ts index 6b750b87c99..a7adb7c7f2b 100644 --- a/packages/compiler/src/template/pipeline/ir/src/expression.ts +++ b/packages/compiler/src/template/pipeline/ir/src/expression.ts @@ -10,7 +10,7 @@ import * as o from '../../../../output/output_ast'; import type {ParseSourceSpan} from '../../../../parse_util'; import * as t from '../../../../render3/r3_ast'; -import {ExpressionKind, OpKind, SanitizerFn} from './enums'; +import {DerivedRepeaterVarIdentity, ExpressionKind, OpKind, SanitizerFn} from './enums'; import {ConsumesVarsTrait, UsesVarOffset, UsesVarOffsetTrait} from './traits'; import {SlotHandle} from './handle'; import type {XrefId} from './operations'; @@ -820,13 +820,6 @@ export class ConditionalCaseExpr extends ExpressionBase { } } -export enum DerivedRepeaterVarIdentity { - First, - Last, - Even, - Odd, -} - export class DerivedRepeaterVarExpr extends ExpressionBase { override readonly kind = ExpressionKind.DerivedRepeaterVar;