import { DocumentSymbolResult, ParentChildRelationships as LsifParentChildRelationships } from './lsif-data/lsif'; export class ParentChildRelationships { id: number; isModuleLevel: boolean; children: ParentChildRelationships[] = new Array(); 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)), }); } }