( prev: SourceFileIssue['source'], curr: SourceFileIssue['source'], changedFiles: ChangedFiles, )
| 128 | } |
| 129 | |
| 130 | function adjustedLineSpansMatch( |
| 131 | prev: SourceFileIssue['source'], |
| 132 | curr: SourceFileIssue['source'], |
| 133 | changedFiles: ChangedFiles, |
| 134 | ): boolean { |
| 135 | if (prev.position?.endLine == null || curr.position?.endLine == null) { |
| 136 | return false; |
| 137 | } |
| 138 | |
| 139 | const prevLineCount = prev.position.endLine - prev.position.startLine; |
| 140 | const currLineCount = curr.position.endLine - curr.position.startLine; |
| 141 | const currStartLineOffset = |
| 142 | adjustLine(changedFiles, curr.file, curr.position.startLine) - |
| 143 | curr.position.startLine; |
| 144 | return prevLineCount === currLineCount - currStartLineOffset; |
| 145 | } |
| 146 | |
| 147 | function createIssuesSortCompareFn(report: Report): IssueCompareFn { |
| 148 | return (a, b) => |
no test coverage detected