Add risk charts
Signed-off-by: Bryan Frimin <bryan@getprobo.com> Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
committed by
Sacha Al Himdani
parent
fc45d2f00d
commit
08bf65d919
20
packages/helpers/src/array.ts
Normal file
20
packages/helpers/src/array.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
export function times<T>(n: number, cb: (i: number) => T): T[] {
|
||||
return Array.from({ length: n }, (_, i) => cb(i));
|
||||
}
|
||||
|
||||
export function groupBy<T>(
|
||||
arr: T[],
|
||||
key: (item: T) => string,
|
||||
): Record<string, T[]> {
|
||||
return arr.reduce(
|
||||
(acc, item) => {
|
||||
const k = key(item);
|
||||
if (!acc[k]) {
|
||||
acc[k] = [];
|
||||
}
|
||||
acc[k].push(item);
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, T[]>,
|
||||
);
|
||||
}
|
||||
@@ -1,2 +1,5 @@
|
||||
export { objectKeys } from "./object";
|
||||
export { sprintf } from "./string";
|
||||
export { getRiskImpacts, getRiskLikelihoods } from "./risk";
|
||||
export { times, groupBy } from "./array";
|
||||
export { randomInt } from "./number";
|
||||
|
||||
3
packages/helpers/src/number.ts
Normal file
3
packages/helpers/src/number.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export function randomInt(min: number, max: number): number {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
51
packages/helpers/src/risk.ts
Normal file
51
packages/helpers/src/risk.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
type Translator = (s: string) => string;
|
||||
|
||||
export function getRiskImpacts(__: Translator) {
|
||||
return [
|
||||
{
|
||||
value: 1,
|
||||
label: __("Negligible"),
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: __("Low"),
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: __("Moderate"),
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: __("Significant"),
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: __("Catastrophic"),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
export function getRiskLikelihoods(__: Translator) {
|
||||
return [
|
||||
{
|
||||
value: 1,
|
||||
label: __("Improbable"),
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: __("Remote"),
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: __("Occasional"),
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: __("Probable"),
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: __("Frequent"),
|
||||
},
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user