universal-geocoder
Version:
Universal geocoding abstraction server-side and client-side with multiple built-in providers
98 lines • 4.66 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import { GeocodeQuery } from "../../query";
var YandexGeocodeQuery = /** @class */ (function (_super) {
__extends(YandexGeocodeQuery, _super);
function YandexGeocodeQuery(_a) {
var bounded = _a.bounded, proximity = _a.proximity, span = _a.span, skip = _a.skip, bounds = _a.bounds, geocodeQueryObject = __rest(_a, ["bounded", "proximity", "span", "skip", "bounds"]);
var _this = _super.call(this, __assign({ bounds: bounds }, geocodeQueryObject)) || this;
if (bounded && (!bounds || !proximity)) {
throw new Error('The "bounded" parameter can only be used with the "bounds" or "proximity" parameter.');
}
_this.bounded = bounded;
if (proximity && (!proximity.latitude || !proximity.longitude)) {
throw new Error('The "proximity" parameter must be an object with the keys: "latitude", "longitude".');
}
_this.proximity = proximity;
if (span && !proximity) {
throw new Error('The "proximity" parameter must be defined to use the "span" parameter.');
}
if (span && (!span.spanLatitude || !span.spanLongitude)) {
throw new Error('The "span" parameter must be an object with the keys: "spanLatitude", "spanLongitude".');
}
_this.span = span;
if (bounds && proximity) {
throw new Error('The "bounds" and "proximity" parameters cannot be used at the same time.');
}
_this.skip = skip;
return _this;
}
YandexGeocodeQuery.create = function (object) {
return new this(object);
};
YandexGeocodeQuery.prototype.toObject = function () {
return __assign(__assign({}, _super.prototype.toObject.call(this)), { bounded: this.bounded, proximity: this.proximity, span: this.span, skip: this.skip });
};
YandexGeocodeQuery.prototype.withBounded = function (bounded) {
return new YandexGeocodeQuery(__assign(__assign({}, this.toObject()), { bounded: bounded }));
};
YandexGeocodeQuery.prototype.getBounded = function () {
return this.bounded;
};
YandexGeocodeQuery.prototype.withProximity = function (proximity) {
return new YandexGeocodeQuery(__assign(__assign({}, this.toObject()), { proximity: proximity }));
};
YandexGeocodeQuery.prototype.getProximity = function () {
return this.proximity;
};
YandexGeocodeQuery.prototype.withSpan = function (span) {
return new YandexGeocodeQuery(__assign(__assign({}, this.toObject()), { span: span }));
};
YandexGeocodeQuery.prototype.getSpan = function () {
return this.span;
};
YandexGeocodeQuery.prototype.withSkip = function (skip) {
return new YandexGeocodeQuery(__assign(__assign({}, this.toObject()), { skip: skip }));
};
YandexGeocodeQuery.prototype.getSkip = function () {
return this.skip;
};
return YandexGeocodeQuery;
}(GeocodeQuery));
export default YandexGeocodeQuery;
//# sourceMappingURL=YandexGeocodeQuery.js.map