universal-geocoder
Version:
Universal geocoding abstraction server-side and client-side with multiple built-in providers
64 lines • 2.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var query_1 = require("../query");
var utils_1 = require("../utils");
var ProviderHelpers = /** @class */ (function () {
function ProviderHelpers() {
}
ProviderHelpers.getGeocodeQueryFromParameter = function (query, geocodeQuery) {
if (geocodeQuery === void 0) { geocodeQuery = query_1.GeocodeQuery; }
if (typeof query === "string") {
if (utils_1.isIpv4(query) || utils_1.isIpv6(query)) {
return geocodeQuery.create({ ip: query });
}
return geocodeQuery.create({ text: query });
}
if (!(query instanceof geocodeQuery)) {
return geocodeQuery.create(query);
}
return query;
};
ProviderHelpers.getReverseQueryFromParameters = function (latitudeOrQuery, longitudeOrCallback, reverseQuery) {
if (reverseQuery === void 0) { reverseQuery = query_1.ReverseQuery; }
if (typeof latitudeOrQuery === "number" ||
typeof latitudeOrQuery === "string") {
if (!(typeof longitudeOrCallback === "number" ||
typeof longitudeOrCallback === "string")) {
throw new Error("The second parameter of geodecode must be a longitude if the first one is a latitude");
}
return reverseQuery.create({
coordinates: {
latitude: latitudeOrQuery,
longitude: longitudeOrCallback,
},
});
}
if (!(latitudeOrQuery instanceof reverseQuery)) {
return reverseQuery.create(latitudeOrQuery);
}
return latitudeOrQuery;
};
ProviderHelpers.getCallbackFromParameters = function (longitudeOrCallback, callbackOrErrorCallback) {
if (!(typeof longitudeOrCallback === "number" ||
typeof longitudeOrCallback === "string")) {
return longitudeOrCallback;
}
if (callbackOrErrorCallback) {
return callbackOrErrorCallback;
}
return undefined;
};
ProviderHelpers.getErrorCallbackFromParameters = function (longitudeOrCallback, callbackOrErrorCallback, errorCallback) {
if (errorCallback) {
return errorCallback;
}
if (typeof longitudeOrCallback === "number" ||
typeof longitudeOrCallback === "string") {
return undefined;
}
return callbackOrErrorCallback;
};
return ProviderHelpers;
}());
exports.default = ProviderHelpers;
//# sourceMappingURL=ProviderHelpers.js.map