async getChildren()

in src/desktop/tree_view/current_branch_data_provider.ts [133:164]


  async getChildren(item: ItemModel | undefined): Promise<(ItemModel | vscode.TreeItem)[]> {
    if (item) return item.getChildren();
    this.#pipelineItem?.dispose();
    this.#pipelineItem = undefined;
    if (this.#state.type === 'invalid') {
      this.disposeMrItem();
      return CurrentBranchDataProvider.renderInvalidState(this.#state);
    }
    if (this.#state.type === 'branch') {
      const mrItem = this.createMrItem(this.#state);
      const pipelineItem = this.createPipelineItem(this.#state);
      const closingIssuesItems = CurrentBranchDataProvider.createClosingIssueItems(
        this.#state.projectInRepository.pointer.repository.rootFsPath,
        this.#state.issues,
      );

      if (getLocalFeatureFlagService().isEnabled(FeatureFlag.SecurityScans)) {
        const securityFindingsItem = CurrentBranchDataProvider.createSecurityFindingsItem(
          this.#state,
        );
        return [pipelineItem, mrItem, ...closingIssuesItems, securityFindingsItem];
      }

      return [pipelineItem, mrItem, ...closingIssuesItems];
    }
    if (this.#state.type === 'tag') {
      this.disposeMrItem();
      const pipelineItem = this.createPipelineItem(this.#state);
      return [pipelineItem];
    }
    throw new Error('Unknown head ref state type');
  }