UNPKG

insee-municipality-code

Version:

🇫🇷 Get the INSEE municipality code from postal code and name of French municipality

29 lines (24 loc) • 868 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _cities = require("../data/cities.json"); var _cities2 = _interopRequireDefault(_cities); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (insee, { postalCode } = {}) => { if (!/^(\d{2}|2[AB])\d{3}$/i.test(insee)) { throw new Error("Please provide a valid argument"); } const matchingCities = _cities2.default.filter(city => city.insee === insee); if (matchingCities.length === 0) { return null; } if (matchingCities.length === 1) { return matchingCities[0]; } const postalCodeMatchingCities = matchingCities.filter(city => city.postalCode === String(postalCode)); if (postalCodeMatchingCities.length === 0) { return matchingCities[0]; } return postalCodeMatchingCities[0]; };