Files
buzz-sheet/lib/guides/comparison.ts
T

15 lines
775 B
TypeScript

export function comparisonDelta(value: string | null): string | null {
if (value === null || !Number.isFinite(Number(value)) || Number(value) === 0) return null;
const difference = Number(value) - 100;
if (!difference) return "เท่าค่าฐาน";
return `${difference > 0 ? "+" : ""}${difference.toLocaleString("th-TH", { maximumFractionDigits: 2 })}% จากค่าฐาน`;
}
export function comparisonReferenceNames(rows: readonly {
weapon: { name: string }; refinement: string;
overallPercent: string | null; personalPercent: string | null;
}[], metric: "overallPercent" | "personalPercent") {
return rows.filter((row) => row[metric] !== null && Number(row[metric]) === 100)
.map((row) => `${row.weapon.name} R${row.refinement}`);
}