sbt-idp/cope2n-fe/src/utils/metric-format.ts

40 lines
811 B
TypeScript
Raw Normal View History

2024-03-07 09:08:44 +00:00
export const formatPercent = (value: any, floatingPoint: number = 1, maskZero: boolean = false) => {
if (value === null || value === undefined || (value === 0 && maskZero)) {
2024-02-15 08:51:54 +00:00
return '-';
}
if (value < 100.0) {
value = value * 100;
}
return value.toFixed(floatingPoint);
};
2024-02-06 09:25:49 +00:00
2024-02-15 08:51:54 +00:00
export const ensureMin = (
value: number,
min: number,
skipZero: boolean = true,
) => {
2024-03-07 09:08:44 +00:00
if (formatPercent(value) == '-') return false;
2024-02-15 08:51:54 +00:00
if (skipZero && value === 0) {
2024-02-06 09:25:49 +00:00
return false;
2024-02-15 08:51:54 +00:00
}
if (value < min) {
return true;
}
return false;
};
2024-02-06 09:25:49 +00:00
2024-02-15 08:51:54 +00:00
export const ensureMax = (
value: number,
max: number,
skipZero: boolean = true,
) => {
2024-03-07 09:08:44 +00:00
if (formatPercent(value) == '-') return false;
2024-02-15 08:51:54 +00:00
if (skipZero && value === 0) {
2024-02-06 09:25:49 +00:00
return false;
2024-02-15 08:51:54 +00:00
}
if (value > max) {
return true;
}
return false;
};