@syntest/analysis-javascript
Version:
SynTest CFG JavaScript is a library for generating control flow graphs for the JavaScript language
57 lines • 1.67 kB
TypeScript
import { SubTarget as CoreSubTarget, Target as CoreTarget, TargetType } from "@syntest/analysis";
import { VisibilityType } from "./VisibilityType";
export interface Target extends CoreTarget {
path: string;
name: string;
subTargets: SubTarget[];
}
export interface SubTarget extends CoreSubTarget {
type: TargetType;
id: string;
}
export interface NamedSubTarget extends SubTarget {
name: string;
typeId: string;
}
export type Exportable = {
exported: boolean;
renamedTo?: string;
module?: boolean;
default?: boolean;
};
export declare function isExported(target: any): target is Exportable;
export interface Callable {
isAsync: boolean;
}
export interface FunctionTarget extends NamedSubTarget, Exportable, Callable {
type: TargetType.FUNCTION;
}
export interface ClassTarget extends NamedSubTarget, Exportable {
type: TargetType.CLASS;
}
export interface MethodTarget extends NamedSubTarget, Callable {
type: TargetType.METHOD;
classId: string;
visibility: VisibilityType;
methodType: "constructor" | "method" | "get" | "set";
isStatic: boolean;
}
export interface ObjectTarget extends NamedSubTarget, Exportable {
type: TargetType.OBJECT;
}
export interface ObjectFunctionTarget extends NamedSubTarget, Callable {
type: TargetType.OBJECT_FUNCTION;
objectId: string;
}
export interface PathTarget extends SubTarget {
type: TargetType.PATH;
ids: string[];
}
export interface BranchTarget extends SubTarget {
type: TargetType.BRANCH;
}
export interface LineTarget extends SubTarget {
type: TargetType.LINE;
line: number;
}
//# sourceMappingURL=Target.d.ts.map