mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-15 11:35:42 -06:00
Fixes indentation of object literals with computed properties
This commit is contained in:
parent
e3e45c5354
commit
8988ea849b
@ -964,9 +964,18 @@ const _super = (function (geti, seti) {
|
||||
write("{}");
|
||||
}
|
||||
else {
|
||||
const indentedFlag = getNodeEmitFlags(node) & NodeEmitFlags.Indented;
|
||||
if (indentedFlag) {
|
||||
increaseIndent();
|
||||
}
|
||||
|
||||
const preferNewLine = node.multiLine ? ListFormat.PreferNewLine : ListFormat.None;
|
||||
const allowTrailingComma = languageVersion >= ScriptTarget.ES5 ? ListFormat.AllowTrailingComma : ListFormat.None;
|
||||
emitList(node, properties, ListFormat.ObjectLiteralExpressionProperties | allowTrailingComma | preferNewLine);
|
||||
|
||||
if (indentedFlag) {
|
||||
decreaseIndent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1688,10 +1688,13 @@ namespace ts {
|
||||
addNode(expressions,
|
||||
createAssignment(
|
||||
temp,
|
||||
createObjectLiteral(
|
||||
visitNodes(properties, visitor, isObjectLiteralElement, 0, numInitialNonComputedProperties),
|
||||
/*location*/ undefined,
|
||||
node.multiLine
|
||||
setNodeEmitFlags(
|
||||
createObjectLiteral(
|
||||
visitNodes(properties, visitor, isObjectLiteralElement, 0, numInitialNonComputedProperties),
|
||||
/*location*/ undefined,
|
||||
node.multiLine
|
||||
),
|
||||
NodeEmitFlags.Indented
|
||||
)
|
||||
),
|
||||
node.multiLine
|
||||
|
||||
@ -1637,6 +1637,9 @@ namespace ts {
|
||||
const rightHandSideName = (<PropertyAccessExpression>nameExpression).name.text;
|
||||
return getPropertyNameForKnownSymbolName(rightHandSideName);
|
||||
}
|
||||
if (isStringOrNumericLiteral(nameExpression.kind)) {
|
||||
return (<LiteralExpression>nameExpression).text;
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
|
||||
@ -48,6 +48,16 @@ var C = (function () {
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C, "", {
|
||||
set: function (v) { },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, 0, {
|
||||
get: function () { return 0; },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, a, {
|
||||
set: function (v) { },
|
||||
enumerable: true,
|
||||
|
||||
@ -27,6 +27,10 @@ var C = (function () {
|
||||
Object.defineProperty(C.prototype, "get1", {
|
||||
// Computed properties
|
||||
get: function () { return new Foo; },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, "set1", {
|
||||
set: function (p) { },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
|
||||
@ -27,6 +27,10 @@ var C = (function () {
|
||||
Object.defineProperty(C.prototype, "get1", {
|
||||
// Computed properties
|
||||
get: function () { return new Foo; },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(C.prototype, "set1", {
|
||||
set: function (p) { },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
|
||||
@ -41,6 +41,10 @@ var D = (function (_super) {
|
||||
Object.defineProperty(D.prototype, "get1", {
|
||||
// Computed properties
|
||||
get: function () { return new Foo; },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(D.prototype, "set1", {
|
||||
set: function (p) { },
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
|
||||
@ -60,7 +60,6 @@ var x = (_a = {
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
}),
|
||||
,
|
||||
_a.p2 = 20,
|
||||
_a);
|
||||
var _a;
|
||||
|
||||
@ -56,7 +56,6 @@ var x = (_a = {
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
}),
|
||||
,
|
||||
_a.p2 = 20,
|
||||
_a);
|
||||
var _a;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user