Skip to content

Commit 49ab990

Browse files
committed
revert(utils): "refactor(utils): fix compiler errors from recursive schema types"
This reverts commit 9c10784.
1 parent dd81d8a commit 49ab990

File tree

4 files changed

+8
-30
lines changed

4 files changed

+8
-30
lines changed

packages/models/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,6 @@ export {
132132
type CoverageTreeMissingLOC,
133133
type CoverageTreeNode,
134134
type Tree,
135-
type BasicTreeNodeValues,
136-
type CoverageTreeNodeValues,
137135
} from './lib/tree.js';
138136
export { uploadConfigSchema, type UploadConfig } from './lib/upload-config.js';
139137
export {

packages/models/src/lib/tree.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ const basicTreeNodeValuesSchema = z.record(
55
z.string(),
66
z.union([z.number(), z.string()]),
77
);
8-
export type BasicTreeNodeValues = z.infer<typeof basicTreeNodeValuesSchema>;
9-
108
const basicTreeNodeDataSchema = z.object({
119
name: z.string().min(1).describe('Text label for node'),
1210
values: basicTreeNodeValuesSchema
@@ -43,10 +41,6 @@ const coverageTreeNodeValuesSchema = z.object({
4341
.optional()
4442
.describe('Uncovered lines of code'),
4543
});
46-
export type CoverageTreeNodeValues = z.infer<
47-
typeof coverageTreeNodeValuesSchema
48-
>;
49-
5044
const coverageTreeNodeDataSchema = z.object({
5145
name: z.string().min(1).describe('File or folder name'),
5246
values: coverageTreeNodeValuesSchema.describe(

packages/utils/src/lib/coverage-tree.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
import type {
22
CoverageTree,
33
CoverageTreeMissingLOC,
4-
CoverageTreeNodeValues,
4+
CoverageTreeNode,
55
} from '@code-pushup/models';
66
import { splitFilePath } from './file-system.js';
77
import { formatGitPath } from './git/git.js';
88

9-
// recursive schemas cause compiler problems when using CoverageTreeNode
10-
type TreeNode = {
11-
name: string;
12-
values: CoverageTreeNodeValues;
13-
children?: TreeNode[];
14-
};
15-
169
export type FileCoverage = {
1710
path: string;
1811
total: number;
@@ -101,7 +94,7 @@ function addNode(
10194
};
10295
}
10396

104-
function calculateTreeCoverage(root: FileTree): TreeNode {
97+
function calculateTreeCoverage(root: FileTree): CoverageTreeNode {
10598
if ('children' in root) {
10699
const stats = aggregateChildCoverage(root.children);
107100
const coverage = calculateCoverage(stats);
@@ -160,7 +153,7 @@ function getNodeCoverageStats(
160153
return stats;
161154
}
162155

163-
function sortCoverageTree(root: TreeNode): TreeNode {
156+
function sortCoverageTree(root: CoverageTreeNode): CoverageTreeNode {
164157
if (!root.children?.length) {
165158
return root;
166159
}

packages/utils/src/lib/text-formats/ascii/tree.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
import type {
2-
BasicTreeNodeValues,
3-
CoverageTreeNodeValues,
2+
BasicTreeNode,
3+
CoverageTreeNode,
44
Tree,
55
} from '@code-pushup/models';
66

7-
// recursive schemas cause compiler problems when using BasicTreeNode | CoverageTreeNode
8-
type TreeNode = {
9-
name: string;
10-
values?: BasicTreeNodeValues | CoverageTreeNodeValues;
11-
children?: TreeNode[];
12-
};
7+
type TreeNode = BasicTreeNode | CoverageTreeNode;
138

149
const INDENT_CHARS = 4;
1510
const COL_GAP = 2;
1611

1712
export function formatAsciiTree(tree: Tree): string {
18-
const root = tree.root as TreeNode;
19-
20-
const nodes = flatten(root);
13+
const nodes = flatten(tree.root);
2114
const maxWidth = Math.max(
2215
...nodes.map(({ node, level }) => level * INDENT_CHARS + node.name.length),
2316
);
@@ -37,7 +30,7 @@ export function formatAsciiTree(tree: Tree): string {
3730
{},
3831
);
3932

40-
return formatTreeNode(root, '', maxWidth, keysMaxWidths)
33+
return formatTreeNode(tree.root, '', maxWidth, keysMaxWidths)
4134
.map(line => `${line}\n`)
4235
.join('');
4336
}

0 commit comments

Comments
 (0)