// 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 }) } ) }) }