types/closure.types.ts
types/closure.types.ts is a file in GovLab Extension Host. 60 lines of code and 12 definitions.
export interface Atom {
kind: string;
text: string;
}
export interface CallEntry {
file: string;
fn: string;
idArg: Atom | null;
}
export interface EventEntry {
file: string;
eventArg: Atom | null;
}
export interface ExportEntry {
file: string;
name: string;
}
export interface ImportEntry {
file: string;
from: string;
names: string[];
}
export interface SideEffectEntry {
file: string;
from: string;
}
export interface InterfaceEntry {
file: string;
name: string;
fields: { name: string; optional: boolean }[];
}
export interface BarrelPattern {
dir: string;
suffix: string;
}
export interface ImportEdge {
names: string[];
target: string;
}
export type ImportGraph = Map<string, ImportEdge[]>;
export interface Reachable {
reachableExports: Set<string>;
reachableFiles: Set<string>;
}
export interface ClosureGraph {
version: number;
registers: CallEntry[];
consumers: CallEntry[];
emits: EventEntry[];
subscribes: EventEntry[];
eventActivity: CallEntry[];
exports: ExportEntry[];
imports: ImportEntry[];
externalConsumers: ImportEntry[];
sideEffectImports: SideEffectEntry[];
interfaces: InterfaceEntry[];
idsExports: ExportEntry[];
stringsExports: ExportEntry[];
iconsExports: ExportEntry[];
}