trkit
Menü

Paketler

@trkit-app-pack/address

81 il, 973 ilçe, bölge ve alan kodu verisi; Türkçe karakter duyarsız arama.

.mdChatGPT'de açClaude'da aç
npm install @trkit-app-pack/address

Veri paketle birlikte gelir (yaklaşık 15 KB), ağ isteği yapılmaz.

Veri

import { provinces, getProvince, getDistricts, getDistrict, regions, getProvincesByRegion } from "@trkit-app-pack/address";

provinces.length;                  // 81
getProvince(34);                   // { code: 34, codeStr: "34", name: "İstanbul", slug: "istanbul", region: "Marmara", areaCodes: [212, 216], districts: [...] }
getProvince("ISTANBUL")?.code;     // 34 (büyük/küçük harf ve Türkçe karakter duyarsız)
getProvince("urfa")?.name;         // "Şanlıurfa" (yaygın alternatif adlar)
getDistricts("Diyarbakır");        // [{ name: "Bağlar", slug: "baglar", provinceCode: 21 }, ...]
getDistrict(34, "kadikoy")?.name;  // "Kadıköy"
getProvincesByRegion("Ege");

Doğrulama

isValidDistrict("Ankara", "Çankaya");  // true
isValidDistrict("İzmir", "Çankaya");   // false

Form verisini sunucuda bununla doğrulayın; istemciden gelen il/ilçe çiftine güvenmeyin.

Arama

search("kadikoy");
// [{ type: "district", province: { name: "İstanbul" }, district: { name: "Kadıköy" }, score: 100 }]

search("kaya", { province: 21, limit: 5 });  // yalnızca Diyarbakır'da
formatLocation(34, "kadıköy");                // "Kadıköy / İstanbul"

Sıralama: tam eşleşme > önek > kelime başı > içerir. Aynı adlı il ve ilçede il önce gelir.

Türkçe metin yardımcıları

foldTr("ÇANAKKALE");                    // "canakkale" (arama anahtarı)
slugifyTr("Kahramanmaraş Onikişubat");  // "kahramanmaras-onikisubat"
trUpper("istanbul");                    // "İSTANBUL"
["Zonguldak", "Çorum", "Ceyhan"].sort(compareTr); // ["Ceyhan", "Çorum", "Zonguldak"]

Veriyi güncellemek

İlçe veri kaynağı Türkiye API'dir. trkit deposunda npm run sync:address ile yeniden üretilir.

Mahalle verisi (~32.000 kayıt) boyutu nedeniyle henüz pakette yoktur.