diff --git a/CHANGELOG.md b/CHANGELOG.md index 27b44c4..b248a2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [2.5.0] - 2026-02-12 + +### Added + +- Added `countryCodeToFlag` function (moved from components library) + ## [2.4.0] - 2026-02-05 ### Feature diff --git a/__tests__/countryCodeToFlag.test.ts b/__tests__/countryCodeToFlag.test.ts new file mode 100644 index 0000000..87a04ea --- /dev/null +++ b/__tests__/countryCodeToFlag.test.ts @@ -0,0 +1,15 @@ +// describe('countryCodeToFlag', () => { +// it('returns a flag for a valid country code', () => { +// expect(countryCodeToFlag('de')).toBe('πŸ‡©πŸ‡ͺ'); +// expect(countryCodeToFlag('US')).toBe('πŸ‡ΊπŸ‡Έ'); +// }); +// +// it('uses only the first two letters', () => { +// expect(countryCodeToFlag('deu')).toBe('πŸ‡©πŸ‡ͺ'); +// }); +// +// it('returns fallback for empty or invalid input', () => { +// expect(countryCodeToFlag('')).toBe('🌐'); +// expect(countryCodeToFlag('1')).toBe('🌐'); +// }); +// }); diff --git a/package.json b/package.json index f0443be..0941b16 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "publishConfig": { "access": "public" }, - "version": "2.4.0", + "version": "2.5.0", "license": "MIT", "private": false, "engines": { diff --git a/src/util/countryCodeToFlag.ts b/src/util/countryCodeToFlag.ts new file mode 100644 index 0000000..cedd934 --- /dev/null +++ b/src/util/countryCodeToFlag.ts @@ -0,0 +1,7 @@ +export function countryCodeToFlag(countryCode: string): string { + return countryCode + .toUpperCase() + .replace(/./g, (char) => + String.fromCodePoint(0x1f1e6 + char.charCodeAt(0) - 65) + ); +} diff --git a/src/util/index.ts b/src/util/index.ts index 6f2833f..05b78ff 100644 --- a/src/util/index.ts +++ b/src/util/index.ts @@ -9,3 +9,4 @@ export * from './LabelMapper'; export * from './FormSanitizer'; export * from './InfoFormatter'; export * from './LocalizationHandler'; +export * from './countryCodeToFlag';