From a94fb2f5a3103b26eda73b02b0cb6554d371212f Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 24 Oct 2016 09:40:10 -0700 Subject: [PATCH] Explain writeSpreadType a little better --- src/compiler/checker.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e19c779b35a..cfe33252d67 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2338,6 +2338,8 @@ namespace ts { inObjectTypeLiteral = saveInObjectTypeLiteral; } if (type.right.symbol === container) { + // if type.right was written as part of the spread type, don't surround with ...{ }. + // this gives { a: number, ... T } instead of { ...{ a: number }, ...T } const saveInObjectTypeLiteral = inObjectTypeLiteral; inObjectTypeLiteral = true; writeObjectLiteralType(resolveStructuredTypeMembers(type.right));