Skip to content

Commit

Permalink
refactor hogfish geocoder
Browse files Browse the repository at this point in the history
  • Loading branch information
Natalia Kowalczyk committed Jan 25, 2025
1 parent 82f0774 commit 6aca200
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 24 deletions.
55 changes: 33 additions & 22 deletions lib/service/hogfish/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,8 @@ function prepareRequest(types, op, query) {
}

function matchNames(n1, n2) {
let n;
if (n1.length > n2.length) {
n = n1;
const n = n1;
n1 = n2;
n2 = n;
}
Expand Down Expand Up @@ -71,31 +70,43 @@ function isCloser(result, place) {
function findPlace(result, place) {
if ((!result.place || (place.name && matchNames(place.name, result.place))) &&
isCloser(result, place)) {
result.found = place;
place.type = result.type;
result[0] = place;
}
return result;
}

function processResponse(response, query, result) {
let place = response.reduce(findPlace, {
place: query.place,
ll: query.ll
}).found;
if (place) {
place = {
ll: place.ll,
place: place.name,
url: place.url,
street: place.address,
town: place.city,
province: place.state,
country: place.country,
type: query.type,
service: place.service
};
result.places = [place];
return result;
function map(f) {
const place = {
ll: f.ll,
place: f.name,
url: f.url,
street: f.address,
town: f.city,
province: f.state,
country: f.country,
type: f.type,
service: f.service
};

// remove empties
return util.removeEmpties(place);
}

function filterResponse(query, response) {
if (!query.type) {
return response;
}
const places = [];
places.type = query.type;
places.place = query.place;
places.ll = query.ll;
return response.reduce(findPlace, places);
}

function processResponse(response, query, result) {
result.places = filterResponse(query, response).map(map);
return result;
}

function init(options) {
Expand Down
2 changes: 0 additions & 2 deletions test/service/hogfish/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ describe('hogfish geocoding', function () {
street: '11005 E Briarwood Ave',
town: 'Centennial',
province: 'CO',
country: undefined,
type: 'fillingstation',
service: {
pure_gas: {
Expand Down Expand Up @@ -65,7 +64,6 @@ describe('hogfish geocoding', function () {
result.places[0].should.deepEqual({
ll: [-104.879164, 39.591416],
place: 'Hyatt House Denver Tech Center',
url: undefined,
street: '9280 E Costilla Ave',
town: 'Englewood',
province: 'CO',
Expand Down

0 comments on commit 6aca200

Please sign in to comment.