Skip to content

Commit

Permalink
Merge pull request #21 from nomoixyz/sort-by-name
Browse files Browse the repository at this point in the history
Sort by name
  • Loading branch information
gnkz authored Aug 10, 2023
2 parents b2c8600 + dcf11ea commit 5c97c36
Showing 1 changed file with 24 additions and 36 deletions.
60 changes: 24 additions & 36 deletions src/formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,18 @@ export class Formatter {
}
}

highFindings.sort(this.sortIssues);
mediumFindings.sort(this.sortIssues);
lowFindings.sort(this.sortIssues);
// By severity and title
highFindings.sort(this.sortIssuesBySeverity);
mediumFindings.sort(this.sortIssuesBySeverity);
lowFindings.sort(this.sortIssuesBySeverity);

// By title
enhancements.sort((issueA, issueB) =>
issueA.title.localeCompare(issueB.title)
);
optimizations.sort((issueA, issueB) =>
issueA.title.localeCompare(issueB.title)
);

if (
criticalFindings.length > 0 ||
Expand Down Expand Up @@ -167,48 +176,27 @@ export class Formatter {
return result.join(`\n\n`);
}

private sortIssues(issueA: ParsedIssue, issueB: ParsedIssue): number {
if (issueA.impact == undefined) {
return -1;
private sortIssuesBySeverity(
issueA: ParsedIssue,
issueB: ParsedIssue
): number {
function compare(a: number | undefined, b: number | undefined): number {
return (b || 0) - (a || 0);
}

if (issueB.impact == undefined) {
return 1;
}

if (issueA.impact > issueB.impact) {
return -1;
}

if (issueB.impact > issueA.impact) {
return 1;
}

if (issueA.likelihood == undefined) {
return -1;
}

if (issueB.likelihood == undefined) {
return 1;
}

if (issueA.likelihood > issueB.likelihood) {
return -1;
}

if (issueB.likelihood > issueA.likelihood) {
return 1;
}

return 0;
return (
compare(issueA.impact, issueB.impact) ||
compare(issueA.likelihood, issueB.likelihood) ||
issueA.title.localeCompare(issueB.title)
);
}

private formatIssue(index: number, issue: ParsedIssue): string {
return [
`### ${index}. ${issue.title}`,
this.issueBadges(issue),
issue.body.replace(/\r/gm, ""),
"<br/><br/>"
"<br/><br/>",
].join(`\n\n`);
}

Expand Down

0 comments on commit 5c97c36

Please sign in to comment.