backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
135 lines (130 loc) • 4.03 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _geometry = _interopRequireDefault(require("./geometry"));
var _constants = require("./constants");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var GEOJSON_TYPE = _constants.GeoTypes.POINT;
var WKT_TYPE = GEOJSON_TYPE.toUpperCase();
var PRECISION = .000000001;
var Point = /*#__PURE__*/function (_Geometry) {
(0, _inherits2["default"])(Point, _Geometry);
var _super = _createSuper(Point);
function Point(srs) {
(0, _classCallCheck2["default"])(this, Point);
return _super.call(this, srs);
}
(0, _createClass2["default"])(Point, [{
key: "lng",
get: function get() {
return this.getLongitude();
},
set: function set(x) {
this.setLongitude(x);
}
}, {
key: "lat",
get: function get() {
return this.getLatitude();
},
set: function set(y) {
this.setLatitude(y);
}
}, {
key: "getX",
value: function getX() {
return this.x;
}
}, {
key: "getY",
value: function getY() {
return this.y;
}
}, {
key: "getLongitude",
value: function getLongitude() {
return this.x;
}
}, {
key: "getLatitude",
value: function getLatitude() {
return this.y;
}
}, {
key: "setX",
value: function setX(x) {
this.x = x;
return this;
}
}, {
key: "setY",
value: function setY(y) {
this.y = y;
return this;
}
}, {
key: "setLongitude",
value: function setLongitude(x) {
return this.setX(x);
}
}, {
key: "setLatitude",
value: function setLatitude(y) {
return this.setY(y);
}
/**
* @override
*/
}, {
key: "getGeojsonType",
value: function getGeojsonType() {
return GEOJSON_TYPE;
}
/**
* @override
*/
}, {
key: "getWktType",
value: function getWktType() {
return WKT_TYPE;
}
/**
* @override
*/
}, {
key: "wktCoordinatePairs",
value: function wktCoordinatePairs() {
return "".concat(this.x, " ").concat(this.y);
}
/**
* @override
*/
}, {
key: "jsonCoordinatePairs",
value: function jsonCoordinatePairs() {
return [this.x, this.y];
}
}, {
key: "equals",
value: function equals(point) {
if (this === point) {
return true;
}
if (!(point instanceof Point)) {
return false;
}
return Math.abs(point.x - this.x) < PRECISION && Math.abs(point.y - this.y) < PRECISION && this.srs === point.srs;
}
}]);
return Point;
}(_geometry["default"]);
exports["default"] = Point;