style(pl24): normalizeLabel'daki yanıltıcı karakter sınıfını düzelt
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
`[̀-ͯ]` bir aralık sınıfı; biome bunu "bir taban karakter +
birleştirici karakter çiftini de eşleyebilir" diye işaretliyordu.
NFD zaten her aksanı kendi işaretine ayırdığı için doğrudan `\p{M}`
(tüm birleştirici işaretler) hem doğru hem daha geniş.
Gerçek Volvo/PSA/Subaru yakalamalarıyla çıktı birebir aynı kaldı.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -66,13 +66,20 @@ const LEGACY_ARCH_SOURCE_TAG: Record<string, string> = {
|
||||
* single spelling matches both "Model yılı" and "MODEL YILI".
|
||||
*/
|
||||
export function normalizeLabel(label: string): string {
|
||||
return label
|
||||
.toLocaleLowerCase("tr")
|
||||
.normalize("NFD")
|
||||
.replace(/[\u0300-\u036f]/g, "")
|
||||
.replace(/ı/g, "i")
|
||||
.replace(/[\s/]+/g, "_")
|
||||
.trim();
|
||||
return (
|
||||
label
|
||||
.toLocaleLowerCase("tr")
|
||||
.normalize("NFD")
|
||||
// \p{M} (all combining marks) rather than the U+0300–U+036F range: the range
|
||||
// is a character class that can also match a base character followed by a
|
||||
// combining one, which biome flags as misleading. NFD has already split every
|
||||
// accent into its own mark, so matching marks directly is both correct and
|
||||
// broader (Turkish, Latin-Extended, anything PL24 sends).
|
||||
.replace(/\p{M}/gu, "")
|
||||
.replace(/ı/g, "i")
|
||||
.replace(/[\s/]+/g, "_")
|
||||
.trim()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user