async getChildren()

in vscode/qodana/src/core/ui/projectsView.ts [16:36]


    async getChildren(_element?: vscode.TreeItem): Promise<vscode.TreeItem[]> {
        let projects = await this.getProjects();
        let idToProject = new Map<string, MatchingProject>;
        projects?.forEach(project => {
            if (!idToProject.has(project.projectId)) {
                idToProject.set(project.projectId, project);
            }
        });
        //todo add sorting
        let projectsSet = [... new Set(idToProject.values())].sort();
        let projectItems: vscode.TreeItem[] = projectsSet.map((project => new LinkTreeItem(project)));

        const otherItem = new OtherTreeItem(OTHER_PROJECT);
        otherItem.command = {
            command: 'qodanaTreeItem.other-item',
            title: LINK_OTHER_PROJECT,
            arguments: [otherItem]
        };
        projectItems.push(otherItem);
        return projectItems;
    }