diff --git a/libs/inspecjs/src/compat_impl/compat_inspec_1_0.ts b/libs/inspecjs/src/compat_impl/compat_inspec_1_0.ts index 62016cdb81..129866c8aa 100644 --- a/libs/inspecjs/src/compat_impl/compat_inspec_1_0.ts +++ b/libs/inspecjs/src/compat_impl/compat_inspec_1_0.ts @@ -8,6 +8,7 @@ import { HDFControlSegment, SegmentStatus, Severity, + convertImpactToSeverity, severities } from '../compat_wrappers'; import { @@ -174,17 +175,7 @@ abstract class HDFControl10 implements HDFControl { return raw.tags['severity']; // otherwise, compute severity with impact - if (raw.impact < 0.1) { - return 'none'; - } else if (raw.impact < 0.4) { - return 'low'; - } else if (raw.impact < 0.7) { - return 'medium'; - } else if (raw.impact < 0.9) { - return 'high'; - } else { - return 'critical'; - } + return convertImpactToSeverity(raw.impact); } } diff --git a/libs/inspecjs/src/compat_wrappers.ts b/libs/inspecjs/src/compat_wrappers.ts index a0a75297f4..bf358c64df 100644 --- a/libs/inspecjs/src/compat_wrappers.ts +++ b/libs/inspecjs/src/compat_wrappers.ts @@ -75,6 +75,20 @@ export type SegmentStatus = | 'error' | 'no_status'; +export function convertImpactToSeverity(impact: number): Severity { + if (impact < 0.1) { + return 'none'; + } else if (impact < 0.4) { + return 'low'; + } else if (impact < 0.7) { + return 'medium'; + } else if (impact < 0.9) { + return 'high'; + } else { + return 'critical'; + } +} + /** * This interface acts as a polyfill on controls for our HDF "guaranteed" derived types, to provide a stable * method for acessing their properties across different schemas. diff --git a/libs/inspecjs/src/index.ts b/libs/inspecjs/src/index.ts index 76cf3b3f39..3f5584988a 100644 --- a/libs/inspecjs/src/index.ts +++ b/libs/inspecjs/src/index.ts @@ -1,6 +1,6 @@ // Our foreign package API. -// Export types +// Export types and helper functions export { ControlStatus, controlStatuses, @@ -13,7 +13,8 @@ export { severities, Severity, titleCasedSeverities, - TitleCasedSeverity + TitleCasedSeverity, + convertImpactToSeverity } from './compat_wrappers'; // Export Conversion functions export * from './context';