// Packages const gMaps = require('@google/maps'); const MAPS_API_KEY = 'AIzaSyALfKTQ6AiIoJ8WGDXR3E7IBOwlHoTPfYY'; // eslint-disable-next-line camelcase module.exports = function({ country, zipCode: postal_code }) { return new Promise(resolve => { const maps = gMaps.createClient({ key: MAPS_API_KEY }); maps.geocode( { address: `${postal_code} ${country}` // eslint-disable-line camelcase }, (err, res) => { if (err || res.json.results.length === 0) { resolve(); } const data = res.json.results[0]; const components = {}; data.address_components.forEach(c => { components[c.types[0]] = c; }); const state = components.administrative_area_level_1; const city = components.locality; resolve({ state: state && state.long_name, city: city && city.long_name }); } ); }); };