From 18b2b55387a0e140d7ec5366a6821052bd46dbbf Mon Sep 17 00:00:00 2001 From: Gabriela Britto Date: Wed, 6 Feb 2019 15:38:59 -0800 Subject: [PATCH] add option to suppressLeadingAndTrailingTrivia non recursively --- src/services/utilities.ts | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 0574afe34bd..2b6d0acde88 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -1753,23 +1753,33 @@ namespace ts { /** * Sets EmitFlags to suppress leading and trailing trivia on the node. */ - export function suppressLeadingAndTrailingTrivia(node: Node) { - suppressLeadingTrivia(node); - suppressTrailingTrivia(node); + export function suppressLeadingAndTrailingTrivia(node: Node, recursive = true) { + suppressLeadingTrivia(node, recursive); + suppressTrailingTrivia(node, recursive); } /** * Sets EmitFlags to suppress leading trivia on the node. */ - export function suppressLeadingTrivia(node: Node) { - addEmitFlagsRecursively(node, EmitFlags.NoLeadingComments, getFirstChild); + export function suppressLeadingTrivia(node: Node, recursive = true) { + if (recursive) { + addEmitFlagsRecursively(node, EmitFlags.NoLeadingComments, getFirstChild); + } + else { + addEmitFlags(node, EmitFlags.NoLeadingComments); + } } /** * Sets EmitFlags to suppress trailing trivia on the node. */ - export function suppressTrailingTrivia(node: Node) { - addEmitFlagsRecursively(node, EmitFlags.NoTrailingComments, getLastChild); + export function suppressTrailingTrivia(node: Node, recursive = true) { + if (recursive) { + addEmitFlagsRecursively(node, EmitFlags.NoTrailingComments, getLastChild); + } + else { + addEmitFlags(node, EmitFlags.NoTrailingComments); + } } function addEmitFlagsRecursively(node: Node, flag: EmitFlags, getChild: (n: Node) => Node | undefined) {