"Fossies" - the Fresh Open Source Software Archive 
Member "cli-1.1260.0/packages/snyk-fix/src/lib/issues/fixable-issues.ts" (4 Dec 2023, 1084 Bytes) of package /linux/misc/snyk-cli-1.1260.0.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) TypeScript source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
1 import { DependencyPins, DependencyUpdates, TestResult } from '../../types';
2
3 export function hasFixableIssues(
4 results: TestResult[],
5 ): {
6 hasFixes: boolean;
7 count: number;
8 } {
9 let hasFixes = false;
10 let count = 0;
11 for (const result of Object.values(results)) {
12 const { remediation } = result;
13 if (remediation) {
14 const { upgrade, pin, patch } = remediation;
15 const upgrades = Object.keys(upgrade);
16 const pins = Object.keys(pin);
17 if (pins.length || upgrades.length) {
18 hasFixes = true;
19 // pins & upgrades are mutually exclusive
20 count += getUpgradableIssues(pins.length ? pin : upgrade);
21 }
22 const patches = Object.keys(patch);
23 if (patches.length) {
24 hasFixes = true;
25 count += patches.length;
26 }
27 }
28 }
29
30 return {
31 hasFixes,
32 count,
33 };
34 }
35
36 function getUpgradableIssues(
37 updates: DependencyUpdates | DependencyPins,
38 ): number {
39 const issues: string[] = [];
40 for (const id of Object.keys(updates)) {
41 issues.push(...updates[id].vulns);
42 }
43
44 return issues.length;
45 }