diff --git a/packages/compiler/src/render3/view/template.ts b/packages/compiler/src/render3/view/template.ts index 9e224891de6..b4fc5e90676 100644 --- a/packages/compiler/src/render3/view/template.ts +++ b/packages/compiler/src/render3/view/template.ts @@ -1393,7 +1393,7 @@ export class TemplateDefinitionBuilder implements t.Visitor, LocalResolver return o.TYPED_NULL_EXPR; } - const refsParam = flatten(references.map(reference => { + const refsParam = references.flatMap(reference => { const slot = this.allocateDataSlot(); // Generate the update temporary. const variableName = this._bindingScope.freshReferenceName(); @@ -1410,8 +1410,9 @@ export class TemplateDefinitionBuilder implements t.Visitor, LocalResolver const refExpr = lhs.set(o.importExpr(R3.reference).callFn([o.literal(slot)])); return nextContextStmt.concat(refExpr.toConstDecl()); }, true); + return [reference.name, reference.value]; - })); + }); return asLiteral(refsParam); } @@ -2360,10 +2361,3 @@ export interface ParsedTemplate { */ commentNodes?: t.Comment[]; } - -function flatten(list: Array): T[] { - return list.reduce((flat: any[], item: T|T[]): T[] => { - const flatItem = Array.isArray(item) ? flatten(item) : item; - return (flat).concat(flatItem); - }, []); -}