Skip to content

Commit 88f9a97

Browse files
authored
Merge pull request #15500 from phated/interface-declaration
Add {create|update}InterfaceDeclaration methods
2 parents 20bba9c + a6f7f5e commit 88f9a97

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/compiler/factory.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,6 +1440,28 @@ namespace ts {
14401440
: node;
14411441
}
14421442

1443+
export function createInterfaceDeclaration(decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: string | Identifier, typeParameters: TypeParameterDeclaration[] | undefined, heritageClauses: HeritageClause[] | undefined, members: TypeElement[]) {
1444+
const node = <InterfaceDeclaration>createSynthesizedNode(SyntaxKind.InterfaceDeclaration);
1445+
node.decorators = asNodeArray(decorators);
1446+
node.modifiers = asNodeArray(modifiers);
1447+
node.name = asName(name);
1448+
node.typeParameters = asNodeArray(typeParameters);
1449+
node.heritageClauses = asNodeArray(heritageClauses);
1450+
node.members = createNodeArray(members);
1451+
return node;
1452+
}
1453+
1454+
export function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: Identifier, typeParameters: TypeParameterDeclaration[] | undefined, heritageClauses: HeritageClause[] | undefined, members: TypeElement[]) {
1455+
return node.decorators !== decorators
1456+
|| node.modifiers !== modifiers
1457+
|| node.name !== name
1458+
|| node.typeParameters !== typeParameters
1459+
|| node.heritageClauses !== heritageClauses
1460+
|| node.members !== members
1461+
? updateNode(createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members), node)
1462+
: node;
1463+
}
1464+
14431465
export function createEnumDeclaration(decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: string | Identifier, members: EnumMember[]) {
14441466
const node = <EnumDeclaration>createSynthesizedNode(SyntaxKind.EnumDeclaration);
14451467
node.decorators = asNodeArray(decorators);

0 commit comments

Comments
 (0)