12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const validate_1 = require("../validate");
- const symbol_1 = require("../helper/symbol");
- const type_1 = require("../utils/type");
- class Point {
- constructor(longitude, latitude) {
- validate_1.Validate.isGeopoint('longitude', longitude);
- validate_1.Validate.isGeopoint('latitude', latitude);
- this.longitude = longitude;
- this.latitude = latitude;
- }
- parse(key) {
- return {
- [key]: {
- type: 'Point',
- coordinates: [this.longitude, this.latitude]
- }
- };
- }
- toJSON() {
- return {
- type: 'Point',
- coordinates: [
- this.longitude,
- this.latitude,
- ],
- };
- }
- toReadableString() {
- return `[${this.longitude},${this.latitude}]`;
- }
- static validate(point) {
- return point.type === 'Point' &&
- type_1.isArray(point.coordinates) &&
- validate_1.Validate.isGeopoint('longitude', point.coordinates[0]) &&
- validate_1.Validate.isGeopoint('latitude', point.coordinates[1]);
- }
- get _internalType() {
- return symbol_1.SYMBOL_GEO_POINT;
- }
- }
- exports.Point = Point;
|