static _flattenTree()

in src/app/teamcity/teamcity-service.js [108:129]


  static _flattenTree(roots) {
    const flattenProjects = [];
    let currentLevel = 0;

    function flattenTree(node) {
      node.level = currentLevel;
      flattenProjects.push(node);
      currentLevel++;
      if (node.buildTypes) {
        node.buildTypes.forEach(flattenTree);
      }
      if (node.children) {
        node.children.forEach(flattenTree);
      }
      currentLevel--;
    }

    roots.forEach(flattenTree);

    return flattenProjects;

  }