refactor: enforce frontend view model boundaries
This commit is contained in:
@@ -8,14 +8,22 @@ function formatShare(
|
||||
numerator: Money | null,
|
||||
denominator: Money | null,
|
||||
): null | string {
|
||||
if (!numerator || !denominator) return /* eslint-disable-line unicorn/no-null -- The existing formatter contract uses null for unavailable data. */ null;
|
||||
if (!numerator || !denominator)
|
||||
// eslint-disable-next-line unicorn/no-null -- The existing formatter contract uses null for unavailable data.
|
||||
return null;
|
||||
const total = Number(denominator.value);
|
||||
if (!Number.isFinite(total) || total <= 0) return /* eslint-disable-line unicorn/no-null -- The existing formatter contract uses null for unavailable data. */ null;
|
||||
if (!Number.isFinite(total) || total <= 0)
|
||||
// eslint-disable-next-line unicorn/no-null -- The existing formatter contract uses null for unavailable data.
|
||||
return null;
|
||||
const percent = (Number(numerator.value) / total) * PERCENT_SCALE;
|
||||
if (!Number.isFinite(percent)) return /* eslint-disable-line unicorn/no-null -- The existing formatter contract uses null for unavailable data. */ null;
|
||||
if (!Number.isFinite(percent))
|
||||
// eslint-disable-next-line unicorn/no-null -- The existing formatter contract uses null for unavailable data.
|
||||
return null;
|
||||
|
||||
const rounded = new Intl.NumberFormat("ru-RU", {
|
||||
maximumFractionDigits: 1,
|
||||
}).format(percent);
|
||||
|
||||
return `${rounded} %`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user