Skip to content

Commit fb4c0ca

Browse files
committed
TypescriptAPIUtils.isClassInstanceOf: return true for same classes
1 parent 8466592 commit fb4c0ca

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

packages/typescript-api-utils/classes/instanceOf.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import * as ts from 'typescript';
77

88
export function isClassInstanceOf(classDeclaration: ts.ClassDeclaration, parentClass: ts.ClassDeclaration, compilerOptions: ts.CompilerOptions, moduleResolutionHost: ts.ModuleResolutionHost): boolean
99
{
10+
if (classDeclaration === parentClass) {
11+
return true;
12+
}
13+
1014
let parentClassSourceFile: ts.SourceFile = undefined;
1115
function getParentClassSourceFile(): ts.SourceFile
1216
{
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export class A {}

packages/typescript-api-utils/tests/tests/classes/instanceOf.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ describe('#classes/instanceOf', () => {
6161
expect(isClassInstanceOf(classB, classA)).to.be.equal(true);
6262
});
6363

64+
it('should return true when test class is same as testing class', () => {
65+
const sourceFile = getSourceFile('valid_5');
66+
const classA = findNode<ts.ClassDeclaration>(ts.SyntaxKind.ClassDeclaration, 'A', sourceFile);
67+
68+
expect(isClassInstanceOf(classA, classA)).to.be.equal(true);
69+
});
70+
6471
});
6572

6673
});

0 commit comments

Comments
 (0)