/
ImportBindingDefinition.ts
39 lines (36 loc) · 1.15 KB
/
ImportBindingDefinition.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { TSESTree } from '@typescript-eslint/types';
import { DefinitionType } from './DefinitionType';
import { DefinitionBase } from './DefinitionBase';
class ImportBindingDefinition extends DefinitionBase<
DefinitionType.ImportBinding,
| TSESTree.ImportSpecifier
| TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.TSImportEqualsDeclaration,
TSESTree.ImportDeclaration | TSESTree.TSImportEqualsDeclaration,
TSESTree.Identifier
> {
constructor(
name: TSESTree.Identifier,
node: TSESTree.TSImportEqualsDeclaration,
decl: TSESTree.TSImportEqualsDeclaration,
);
constructor(
name: TSESTree.Identifier,
node: Exclude<
ImportBindingDefinition['node'],
TSESTree.TSImportEqualsDeclaration
>,
decl: TSESTree.ImportDeclaration,
);
constructor(
name: TSESTree.Identifier,
node: ImportBindingDefinition['node'],
decl: TSESTree.ImportDeclaration | TSESTree.TSImportEqualsDeclaration,
) {
super(DefinitionType.ImportBinding, name, node, decl);
}
public readonly isTypeDefinition = true;
public readonly isVariableDefinition = true;
}
export { ImportBindingDefinition };