Skip to content

Commit c356caa

Browse files
authored
fix(transformer): ignore namespace when resolving a declaration (#793)
1 parent 84c24f7 commit c356caa

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/transformer/descriptor/helper/helper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,8 @@ export namespace TypescriptHelper {
155155
declarations.find(
156156
(declaration: ts.Declaration) =>
157157
!ts.isVariableDeclaration(declaration) &&
158-
!ts.isFunctionDeclaration(declaration)
158+
!ts.isFunctionDeclaration(declaration) &&
159+
!ts.isModuleDeclaration(declaration)
159160
) || declarations[0]
160161
);
161162
}

test/transformer/descriptor/declarations/declarations.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,23 @@ describe('declarations', () => {
127127
});
128128
});
129129

130+
describe('interface and namespace', () => {
131+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
132+
// @ts-ignore
133+
namespace InterfaceNamespaceTest {}
134+
135+
interface InterfaceNamespaceTest {
136+
value: boolean;
137+
value2: string;
138+
}
139+
140+
it('should ignore the namespace', () => {
141+
const properties: InterfaceNamespaceTest = createMock<InterfaceNamespaceTest>();
142+
expect(properties.value).toBe(false);
143+
expect(properties.value2).toBe('');
144+
});
145+
});
146+
130147
describe('type', () => {
131148
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
132149
// @ts-ignore

0 commit comments

Comments
 (0)