universal-geocoder
Version:
Universal geocoding abstraction server-side and client-side with multiple built-in providers
62 lines • 2.53 kB
JavaScript
import { GeocodeQuery, ReverseQuery, } from "../query";
import { isIpv4, isIpv6 } from "../utils";
var ProviderHelpers = /** @class */ (function () {
function ProviderHelpers() {
}
ProviderHelpers.getGeocodeQueryFromParameter = function (query, geocodeQuery) {
if (geocodeQuery === void 0) { geocodeQuery = GeocodeQuery; }
if (typeof query === "string") {
if (isIpv4(query) || 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 = 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;
}());
export default ProviderHelpers;
//# sourceMappingURL=ProviderHelpers.js.map