npm install @trkit-app-pack/addressVeri 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"); // falseForm 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.