@goparrot/geocoder
Version:
TypeScript GeoCoder, node geocoding library, supports google maps, mapquest, here, open street map, tom tom
39 lines • 1.57 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.HereCommonCommandMixin = void 0;
const exception_1 = require("../../../../exception");
const model_1 = require("../../../../model");
const transformer_1 = require("../../transformer");
const util_1 = require("../../util");
function HereCommonCommandMixin(Base) {
class HereCommonCommand extends Base {
constructor(...args) {
super(args[0]);
this.appId = args[1];
this.appCode = args[2];
if (!this.appId || !this.appCode) {
throw new exception_1.InvalidCredentialsException('Invalid or missing api key.');
}
}
static getMaxAccuracy() {
return model_1.AccuracyEnum.HOUSE_NUMBER;
}
async validateResponse(_response) {
//
}
async parseResponse(response, query) {
if (!response.data.Response || !Array.isArray(response.data.Response.View) || !response.data.Response.View[0]) {
return [];
}
let results = response.data.Response.View[0].Result;
results = results.filter((raw) => (0, util_1.filterByAccuracy)(raw, query.accuracy));
if (!results.length) {
return [];
}
return Promise.all(results.map(async (raw) => new transformer_1.HereLocationTransformer(raw)));
}
}
return HereCommonCommand;
}
exports.HereCommonCommandMixin = HereCommonCommandMixin;
//# sourceMappingURL=here-common-command.mixin.js.map
;