Files
gridpilot.gg/apps/website/lib/formatters/CountryFlagFormatter.ts
2026-01-24 01:07:43 +01:00

22 lines
596 B
TypeScript

export class CountryFlagFormatter {
private constructor(private readonly value: string) {}
static fromCountryCode(countryCode: string | null | undefined): CountryFlagFormatter {
if (!countryCode) {
return new CountryFlagFormatter('🏁');
}
const code = countryCode.toUpperCase();
if (code.length !== 2) {
return new CountryFlagFormatter('🏁');
}
const codePoints = [...code].map((char) => 127397 + char.charCodeAt(0));
return new CountryFlagFormatter(String.fromCodePoint(...codePoints));
}
toString(): string {
return this.value;
}
}