MCPcopy Index your code
hub / github.com/code-pushup/cli / addNode

Function addNode

packages/utils/src/lib/coverage-tree.ts:57–95  ·  view source on GitHub ↗
(
  root: FileTree,
  folders: string[],
  file: string,
  coverage: FileCoverage,
)

Source from the content-addressed store, hash-verified

55}
56
57function addNode(
58 root: FileTree,
59 folders: string[],
60 file: string,
61 coverage: FileCoverage,
62): FileTree {
63 const folder = folders[0];
64 const rootChildren = 'children' in root ? root.children : [];
65
66 if (folder) {
67 if (rootChildren.some(({ name }) => name === folder)) {
68 return {
69 ...root,
70 children: rootChildren.map(node =>
71 node.name === folder
72 ? addNode(node, folders.slice(1), file, coverage)
73 : node,
74 ),
75 };
76 }
77 return {
78 ...root,
79 children: [
80 ...rootChildren,
81 addNode(
82 { name: folder, children: [] },
83 folders.slice(1),
84 file,
85 coverage,
86 ),
87 ],
88 };
89 }
90
91 return {
92 ...root,
93 children: [...rootChildren, { ...coverage, name: file }],
94 };
95}
96
97function calculateTreeCoverage(root: FileTree): CoverageTreeNode {
98 if ('children' in root) {

Callers 1

filesCoverageToTreeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected