fix(compiler): emits quoted keys only iff they are quoted in the original template

fixes #14292
This commit is contained in:
Victor Berchet
2017-07-05 14:51:39 -07:00
committed by Jason Aden
parent 798947efa4
commit 9c1f6fd06f
11 changed files with 77 additions and 55 deletions

View File

@ -18,7 +18,16 @@ export function pureArrayDef(argCount: number): NodeDef {
return _pureExpressionDef(NodeFlags.TypePureArray, new Array(argCount));
}
export function pureObjectDef(propertyNames: string[]): NodeDef {
export function pureObjectDef(propToIndex: {[p: string]: number}): NodeDef {
const keys = Object.keys(propToIndex);
const nbKeys = keys.length;
const propertyNames = new Array(nbKeys);
for (let i = 0; i < nbKeys; i++) {
const key = keys[i];
const index = propToIndex[key];
propertyNames[index] = key;
}
return _pureExpressionDef(NodeFlags.TypePureObject, propertyNames);
}