1
0

feat: match ae/oe ligatures in normalization

This commit is contained in:
2026-08-29 16:54:59 +02:00
parent 217c676658
commit c49321ccf1
2 changed files with 3 additions and 0 deletions

View File

@@ -11,6 +11,8 @@ export interface Matchable {
export function normalize(input: string): string {
return input
.toLowerCase()
.replace(/æ/g, 'ae')
.replace(/œ/g, 'oe')
.normalize('NFKD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/[^\p{L}\p{N}\s]/gu, ' ')

View File

@@ -7,6 +7,7 @@ describe('normalize', () => {
expect(normalize(' Blur: The Best of… ')).toBe('blur best of')
expect(normalize('Björk — Début')).toBe('bjork debut')
expect(normalize('A Tribe Called Quest')).toBe('tribe called quest')
expect(normalize('Ænima')).toBe('aenima')
})
})