From 385debec5f50ff96d561b9a3a52b041e586924c3 Mon Sep 17 00:00:00 2001 From: Blaine Bublitz Date: Thu, 18 May 2017 14:19:30 -0700 Subject: [PATCH] Make {create/update}TypeAliasDeclaration API consistent (closes #15918) --- src/compiler/factory.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 63c2028c424..80e3e995e38 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -1502,19 +1502,23 @@ namespace ts { : node; } - export function createTypeAliasDeclaration(name: string | Identifier, typeParameters: TypeParameterDeclaration[] | undefined, type: TypeNode) { + export function createTypeAliasDeclaration(decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: string | Identifier, typeParameters: TypeParameterDeclaration[] | undefined, type: TypeNode) { const node = createSynthesizedNode(SyntaxKind.TypeAliasDeclaration); + node.decorators = asNodeArray(decorators); + node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.typeParameters = asNodeArray(typeParameters); node.type = type; return node; } - export function updateTypeAliasDeclaration(node: TypeAliasDeclaration, name: Identifier, typeParameters: TypeParameterDeclaration[] | undefined, type: TypeNode) { - return node.name !== name + export function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: Identifier, typeParameters: TypeParameterDeclaration[] | undefined, type: TypeNode) { + return node.decorators !== decorators + || node.modifiers !== modifiers + || node.name !== name || node.typeParameters !== typeParameters || node.type !== type - ? updateNode(createTypeAliasDeclaration(name, typeParameters, type), node) + ? updateNode(createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type), node) : node; }