@sourcefield/lsif-typescript
Version:
LSIF indexer for TypeScript and JavaScript
29 lines (27 loc) • 975 B
text/typescript
import { DocumentSymbolResult, ParentChildRelationships as LsifParentChildRelationships } from './lsif-data/lsif';
export class ParentChildRelationships {
id: number;
isModuleLevel: boolean;
children: ParentChildRelationships[] = new Array<ParentChildRelationships>();
constructor(id: number, isModuleLevel: boolean) {
this.id = id;
this.isModuleLevel = isModuleLevel;
}
getEmittable(id: number) {
return new DocumentSymbolResult({
id,
type: 'vertex',
label: 'documentSymbolResult',
result: this.getResult(),
});
}
getResult(
id: number = this.id,
children: ParentChildRelationships[] = this.children
): LsifParentChildRelationships {
return new LsifParentChildRelationships({
id: id,
children: children.map((child) => this.getResult(child.id, child.children)),
});
}
}