node-geocoder
node-geocoder copied to clipboard
[Fix] Cannot read properties of undefined (reading 'country_code')
Fixes https://github.com/nchaulet/node-geocoder/issues/350.
I would really appreciate if this could be merged in the near future, as it's affecting the uptime of my app.
Usage (the try/catch doesn't help):
await geocoder
.geocode(privateListingRes.address)
.then((entries) => {
const entry = entries[0];
if (entry?.latitude && entry.longitude) {
latitude = entry.latitude;
longitude = entry.longitude;
}
})
.catch(() => undefined);
Error:
TypeError: Cannot read properties of undefined (reading 'country_code')
at OpenStreetMapGeocoder._formatResult (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/node-geocoder/lib/geocoder/openstreetmapgeocoder.js:71:38)
at /home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/node-geocoder/lib/geocoder/openstreetmapgeocoder.js:58:34
at tryCatcher (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/util.js:16:23)
at Promise.successAdapter [as _fulfillmentHandler0] (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/nodeify.js:23:30)
at Promise._settlePromise (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/promise.js:601:21)
at Promise._settlePromise0 (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues (/home/ec2-user/superset/node_modules/.pnpm/[email protected]/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (node:internal/timers:466:21)
Not sure why the tests were failing but I updated w/ the code I used in my patch.