turkey-location-data
Version:
Turkey province, district and neighborhood data
44 lines (43 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllProvinces = getAllProvinces;
exports.getDistrictsByProvinceApiId = getDistrictsByProvinceApiId;
exports.getNeighborhoodsByDistrictApiId = getNeighborhoodsByDistrictApiId;
exports.getDistrictsByProvinceName = getDistrictsByProvinceName;
exports.getProvinceNameByPlateCode = getProvinceNameByPlateCode;
const data_1 = require("./data");
function getAllProvinces() {
const data = (0, data_1.readTurkeyLocationData)();
return data.map(({ name, apiId }) => ({ name, apiId }));
}
function getDistrictsByProvinceApiId(provinceApiId) {
var _a;
const data = (0, data_1.readTurkeyLocationData)();
const province = data.find((p) => p.apiId === provinceApiId);
return (_a = province === null || province === void 0 ? void 0 : province.districts.map(({ name, apiId }) => ({ name, apiId }))) !== null && _a !== void 0 ? _a : [];
}
function getNeighborhoodsByDistrictApiId(districtApiId) {
const data = (0, data_1.readTurkeyLocationData)();
for (const province of data) {
const district = province.districts.find((d) => d.apiId === districtApiId);
if (district) {
return district.neighborhoods.map((neighborhood) => neighborhood.name);
}
}
return [];
}
function getDistrictsByProvinceName(provinceName) {
var _a;
const data = (0, data_1.readTurkeyLocationData)();
const normalizedProvinceName = normalizeName(provinceName);
const province = data.find((p) => p.name === normalizedProvinceName);
return (_a = province === null || province === void 0 ? void 0 : province.districts.map(({ name, apiId }) => ({ name, apiId }))) !== null && _a !== void 0 ? _a : [];
}
function normalizeName(name) {
return (name.charAt(0).toLocaleUpperCase("tr-TR") +
name.slice(1).toLocaleLowerCase("tr-TR"));
}
function getProvinceNameByPlateCode(plateCode) {
const plateCodeMap = (0, data_1.readPlateCodes)();
return plateCodeMap[plateCode] || null;
}