Files
gridpilot.gg/apps/website/lib/display-objects/CountryFlagDisplay.ts
2026-01-14 02:02:24 +01:00

22 lines
586 B
TypeScript

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