UNPKG

brazilian-cities

Version:
151 lines (150 loc) 4.8 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _ = require('lodash'); const states_and_cities_1 = require("./states-and-cities"); function getStateByLabel(label) { if (!states_and_cities_1.default || !label) return; var index = _.findIndex(states_and_cities_1.default, function (state) { return state.label.toLowerCase() === label.toLowerCase(); }); if (index >= 0) return states_and_cities_1.default[index]; return undefined; } exports.getStateByLabel = getStateByLabel; function getStateByCod(cod) { if (!states_and_cities_1.default || !cod) return; var index = _.findIndex(states_and_cities_1.default, function (state) { return state.cod.toLowerCase() === cod.toLowerCase(); }); if (index >= 0) return states_and_cities_1.default[index]; return undefined; } exports.getStateByCod = getStateByCod; function getStateByIbgeCod(cod) { if (!states_and_cities_1.default || !cod) return; var index = _.findIndex(states_and_cities_1.default, function (state) { return state.ibgeCod === cod; }); if (index >= 0) return states_and_cities_1.default[index]; return undefined; } exports.getStateByIbgeCod = getStateByIbgeCod; function allStates() { return states_and_cities_1.default; } exports.allStates = allStates; function allStateCodes() { if (!states_and_cities_1.default) return; var codes = []; states_and_cities_1.default.forEach(function (state) { codes.push(state.cod); }); return codes; } exports.allStateCodes = allStateCodes; function getCityByLabel(state, label) { if (!state || !state.cities) return; if (!label) return; var index = _.findIndex(state.cities, function (city) { return city.label.toLowerCase() === label.toLowerCase(); }); if (index >= 0) return state.cities[index]; return undefined; } exports.getCityByLabel = getCityByLabel; function getCityByCod(state, cod) { if (!state || !state.cities) return; if (!cod) return; var index = _.findIndex(state.cities, function (city) { return city.cod.toLowerCase() === cod.toLowerCase(); }); if (index >= 0) return state.cities[index]; return undefined; } exports.getCityByCod = getCityByCod; function getAllByDDD(ddd) { if (!ddd) return; return _.compact(states_and_cities_1.default.map(function (state) { var newState = _.clone(state); newState.cities = newState.cities.filter(function (city) { return city.ddd === ddd; }); if (newState.cities.length > 0) return newState; return null; })); } exports.getAllByDDD = getAllByDDD; function getCityByIbgeCod(cod) { if (!cod) return; var state = getStateByIbgeCod(Math.floor(cod / 10000)); var city = _.find(state.cities, { ibgeCod: cod }); if (!city) return; var newCity = _.clone(city); newCity.state = { cod: state.cod, label: state.label, ibgeCod: state.ibgeCod }; return newCity; } exports.getCityByIbgeCod = getCityByIbgeCod; function getAllByAnsArea(ansAreaCod) { if (!ansAreaCod) return; return _.compact(states_and_cities_1.default.map(function (state) { var newState = _.clone(state); newState.cities = newState.cities.filter(function (city) { return city.ansArea === ansAreaCod; }); if (newState.cities.length > 0) return newState; return null; })); } exports.getAllByAnsArea = getAllByAnsArea; function allCityCodes(state) { if (!states_and_cities_1.default) return; var codes = []; if (!state) { states_and_cities_1.default.forEach(function (state) { state.cities.forEach(function (city) { codes.push(city.cod); }); }); } else { state.cities.forEach(function (city) { codes.push(city.cod); }); } return codes; } exports.allCityCodes = allCityCodes; function allCities(state) { if (!states_and_cities_1.default) return; var cities = []; if (!state) { states_and_cities_1.default.forEach(function (state) { state.cities.forEach(function (city) { cities.push(city); }); }); } else { state.cities.forEach(function (city) { cities.push(city); }); } return cities; } exports.allCities = allCities; function getCapitalOfState(state) { if (!states_and_cities_1.default) return; if (!state || !state.cities) return; var index = _.findIndex(state.cities, { capital: true }); if (index >= 0) return state.cities[index]; return undefined; } exports.getCapitalOfState = getCapitalOfState;