UNPKG

@sourcefield/lsif-typescript

Version:
29 lines (27 loc) 975 B
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)), }); } }