From 5282a8d0f5c1ddcf104eb44b36923f7f8d26a240 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Mon, 30 Jan 2017 08:55:32 -0800 Subject: [PATCH] ES6 target uses Object.assign for emitting spread Also omits the __assign helper --- src/compiler/transformers/esnext.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index 0a529a8e871..ee92ec7c613 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -402,6 +402,11 @@ namespace ts { }; export function createAssignHelper(context: TransformationContext, attributesSegments: Expression[]) { + if (context.getCompilerOptions().target === ScriptTarget.ES2015) { + return createCall(createPropertyAccess(createIdentifier("Object"), "assign"), + /*typeArguments*/ undefined, + attributesSegments); + } context.requestEmitHelper(assignHelper); return createCall( getHelperName("__assign"),