normalizeForSearch (utils/turkishText.ts)

OmniRoute · src/shared/utils/turkishText.ts · typescript · MIT
search

* Türkçe-güvenli metin normalizasyonu, arama ve sıralama yardımcıları. JavaScript'in locale-bağımsız `toLowerCase()`'i Türkçe `İ/I/ı/i` karakterlerini bozar: `"İ".toLowerCase()` → `"i̇"` (U+0069 U+0307 combining dot above). Bu, `toLowerCase().includes()` tabanlı aramada Türkçe gi

// Source: https://github.com/diegosouzapw/OmniRoute | License: MIT | Copyright 2026 diegosouzapw
// Provided via justclaw.it.com; keep this notice with the code.
/**
 * Türkçe-güvenli metin normalizasyonu, arama ve sıralama yardımcıları.
 *
 * JavaScript'in locale-bağımsız `toLowerCase()`'i Türkçe `İ/I/ı/i`
 * karakterlerini bozar: `"İ".toLowerCase()` → `"i̇"` (U+0069 U+0307
 * combining dot above). Bu, `toLowerCase().includes()` tabanlı aramada
 * Türkçe girdileri eşleşmez kılar.
 *
 * Saf fonksiyonlar — yan etki ve bağımlılık yok.
 *
 * @module shared/utils/turkishText
 */

/** NFD ile katlanmayan Türkçe harfler için açık eşleme. */
const TR_FOLD: Readonly<Record<string, string>> = {
  ı: "i",
  ş: "s",
  ğ: "g",
  ü: "u",
  ö: "o",
  ç: "c",
};

/**
 * Aksan-duyarsız, Türkçe-güvenli ar

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key