philippine-administrative-divisions
Version:
Regions, Provinces, Municipalities and cities, and barangays of the Philippines
71 lines (70 loc) • 2.73 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRegions = getRegions;
exports.getProvinces = getProvinces;
exports.getProvincesByRegionName = getProvincesByRegionName;
exports.getMunicipalitiesByProvince = getMunicipalitiesByProvince;
exports.getBarangaysByProvinceAndMunicipality = getBarangaysByProvinceAndMunicipality;
exports.searchProvincesByStartString = searchProvincesByStartString;
exports.searchRegionsByStartString = searchRegionsByStartString;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
function _loadData(file) {
const rawData = fs_1.default.readFileSync(path_1.default.resolve(__dirname, `./${file}.json`));
return JSON.parse(rawData.toString());
}
function getRegions() {
let regions = _loadData('regions');
const regionals = regions.map((region) => region.name);
return regionals;
}
function getProvinces() {
let provinces = _loadData('provinces');
const provincesToReturn = Object.keys(provinces).sort();
return provincesToReturn;
}
function getProvincesByRegionName(region) {
region = region.toUpperCase();
const regions = _loadData('regions');
const dregion = regions.find((dregion) => dregion.name === region);
if (dregion) {
return dregion.provinces;
}
else {
return false;
}
}
function getMunicipalitiesByProvince(province) {
province = province.toUpperCase();
const provinces = _loadData('provinces');
if (provinces[province]) {
let municipalities = Object.keys(provinces[province].municipalities);
return municipalities;
}
else {
return false;
}
}
function getBarangaysByProvinceAndMunicipality(province, municipality) {
province = province.toUpperCase();
municipality = municipality.toUpperCase();
const municipalities = getMunicipalitiesByProvince(province);
if (typeof municipalities === 'boolean' ||
municipalities.indexOf(municipality) < 0) {
return false;
}
const provinces = _loadData('provinces');
const barangays = provinces[province].municipalities[municipality].barangays;
return barangays;
}
function searchProvincesByStartString(startString) {
const provinces = getProvinces();
return provinces.filter((provinceName) => provinceName.toLowerCase().startsWith(startString.toLowerCase()));
}
function searchRegionsByStartString(startString) {
const regions = getRegions();
return regions.filter((regionName) => regionName.toLowerCase().startsWith(startString.toLowerCase()));
}