UNPKG

universal-geocoder

Version:

Universal geocoding abstraction server-side and client-side with multiple built-in providers

98 lines 4.66 kB
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