From d98e9e7c7f8ef7d115b7a6b11680eee109f7c108 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Thu, 22 Mar 2018 15:02:30 -0700 Subject: [PATCH] fix(compiler): take quoting into account when determining if object literals can be shared (#22942) PR Close #22942 --- packages/compiler/src/constant_pool.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/compiler/src/constant_pool.ts b/packages/compiler/src/constant_pool.ts index c3f236876c..c13b909e13 100644 --- a/packages/compiler/src/constant_pool.ts +++ b/packages/compiler/src/constant_pool.ts @@ -227,8 +227,12 @@ class KeyVisitor implements o.ExpressionVisitor { } visitLiteralMapExpr(ast: o.LiteralMapExpr, context: object): string { - const mapEntry = (entry: o.LiteralMapEntry) => - `${entry.key}:${entry.value.visitExpression(this, context)}`; + const mapKey = + (entry: o.LiteralMapEntry) => { + const quote = entry.quoted ? '"' : ''; + return `${quote}${entry.key}${quote}`; + } const mapEntry = (entry: o.LiteralMapEntry) => + `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`; return `{${ast.entries.map(mapEntry).join(',')}`; }