You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
877 B
30 lines
877 B
import * as ts from 'typescript'; |
|
export interface VariableInfo { |
|
domain: DeclarationDomain; |
|
exported: boolean; |
|
uses: VariableUse[]; |
|
inGlobalScope: boolean; |
|
declarations: ts.Identifier[]; |
|
} |
|
export interface VariableUse { |
|
domain: UsageDomain; |
|
location: ts.Identifier; |
|
} |
|
export declare enum DeclarationDomain { |
|
Namespace = 1, |
|
Type = 2, |
|
Value = 4, |
|
Import = 8, |
|
Any = 7 |
|
} |
|
export declare enum UsageDomain { |
|
Namespace = 1, |
|
Type = 2, |
|
Value = 4, |
|
ValueOrNamespace = 5, |
|
Any = 7, |
|
TypeQuery = 8 |
|
} |
|
export declare function getUsageDomain(node: ts.Identifier): UsageDomain | undefined; |
|
export declare function getDeclarationDomain(node: ts.Identifier): DeclarationDomain | undefined; |
|
export declare function collectVariableUsage(sourceFile: ts.SourceFile): Map<ts.Identifier, VariableInfo>;
|
|
|