@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
63 lines (61 loc) • 6.24 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/data-types/standard/geometry-point.ts
import {
GeometryPointBase as Base
} from "../encodable/index.mjs";
import { canClone } from "../../utils/index.mjs";
import {
coord,
isGeometryPoint,
map
} from "../_internals/geometry.mjs";
function clone(v) {
return canClone(v) ? v.clone() : v;
}
__name(clone, "clone");
var _GeometryPointBase = class _GeometryPointBase extends Base {
get x() {
return this.point[0];
}
set x(v) {
this.point[0] = v;
}
get y() {
return this.point[1];
}
set y(v) {
this.point[1] = v;
}
get coordinates() {
return this.point;
}
set coordinates(source) {
this.point = map(source, (arg) => coord(this.types.Coord, arg));
}
clone() {
const This = this.constructor;
return new This([clone(this.x), clone(this.y)], this.types);
}
equals(other) {
return isGeometryPoint(other) && String(other.x) === String(this.x) && String(other.y) === String(this.y);
}
};
__name(_GeometryPointBase, "GeometryPointBase");
var GeometryPointBase = _GeometryPointBase;
var _GeometryPoint = class _GeometryPoint extends GeometryPointBase {
static get ZERO() {
return new this([0, 0]);
}
constructor(source) {
super(source, _GeometryPoint);
}
};
__name(_GeometryPoint, "GeometryPoint");
_GeometryPoint.Coord = Number;
var GeometryPoint = _GeometryPoint;
export {
GeometryPoint,
GeometryPointBase
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvc3RhbmRhcmQvZ2VvbWV0cnktcG9pbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7XG4gIHR5cGUgR2VvSnNvblBvaW50LFxuICBHZW9tZXRyeVBvaW50QmFzZSBhcyBCYXNlLFxuICB0eXBlIEdlb21ldHJ5UG9pbnRTb3VyY2UsXG4gIHR5cGUgR2VvbWV0cnlQb2ludFR5cGVzLFxufSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2VuY29kYWJsZS1kYXRhdHlwZXNcIjtcbmltcG9ydCB7IGNhbkNsb25lIH0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi91dGlsc1wiO1xuaW1wb3J0IHtcbiAgY29vcmQsXG4gIHR5cGUgQ29vcmRWYWx1ZSxcbiAgaXNHZW9tZXRyeVBvaW50LFxuICBtYXAsXG59IGZyb20gXCIuLi9faW50ZXJuYWxzL2dlb21ldHJ5XCI7XG5cbmZ1bmN0aW9uIGNsb25lPFQ+KHY6IFQpOiBUIHtcbiAgcmV0dXJuIGNhbkNsb25lKHYpXG4gICAgPyB2LmNsb25lKClcbiAgICA6IHY7XG59XG5cbmV4cG9ydCB0eXBlIHsgR2VvSnNvblBvaW50LCBHZW9tZXRyeVBvaW50U291cmNlLCBHZW9tZXRyeVBvaW50VHlwZXMgfTtcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5UG9pbnRCYXNlPFRUeXBlcyBleHRlbmRzIEdlb21ldHJ5UG9pbnRUeXBlcz5cbiAgZXh0ZW5kcyBCYXNlPFRUeXBlcz5cbntcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWFkb25seSBcdTMwOTJcdTU5MTZcdTMwNTlcdTMwNjBcdTMwNTFcdTMwMDJcbiAgb3ZlcnJpZGUgcG9pbnQ6IFtcbiAgICB4OiBDb29yZFZhbHVlPFRUeXBlc1tcIkNvb3JkXCJdPixcbiAgICB5OiBDb29yZFZhbHVlPFRUeXBlc1tcIkNvb3JkXCJdPixcbiAgXTtcblxuICBvdmVycmlkZSBnZXQgeCgpOiBDb29yZFZhbHVlPFRUeXBlc1tcIkNvb3JkXCJdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9pbnRbMF07XG4gIH1cblxuICBvdmVycmlkZSBzZXQgeCh2OiBDb29yZFZhbHVlPFRUeXBlc1tcIkNvb3JkXCJdPikge1xuICAgIHRoaXMucG9pbnRbMF0gPSB2O1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IHkoKTogQ29vcmRWYWx1ZTxUVHlwZXNbXCJDb29yZFwiXT4ge1xuICAgIHJldHVybiB0aGlzLnBvaW50WzFdO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IHkodjogQ29vcmRWYWx1ZTxUVHlwZXNbXCJDb29yZFwiXT4pIHtcbiAgICB0aGlzLnBvaW50WzFdID0gdjtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBjb29yZGluYXRlcygpOiBbXG4gICAgeDogQ29vcmRWYWx1ZTxUVHlwZXNbXCJDb29yZFwiXT4sXG4gICAgeTogQ29vcmRWYWx1ZTxUVHlwZXNbXCJDb29yZFwiXT4sXG4gIF0ge1xuICAgIHJldHVybiB0aGlzLnBvaW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IGNvb3JkaW5hdGVzKHNvdXJjZTogR2VvbWV0cnlQb2ludFNvdXJjZTxUVHlwZXM+KSB7XG4gICAgdGhpcy5wb2ludCA9IG1hcChzb3VyY2UsIGFyZyA9PiBjb29yZCh0aGlzLnR5cGVzLkNvb3JkLCBhcmcpKTtcbiAgfVxuXG4gIGNsb25lKCk6IHRoaXMge1xuICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBHZW9tZXRyeVBvaW50QmFzZTtcblxuICAgIHJldHVybiBuZXcgVGhpcyhbY2xvbmUodGhpcy54KSwgY2xvbmUodGhpcy55KV0sIHRoaXMudHlwZXMpIGFzIHRoaXM7XG4gIH1cblxuICBlcXVhbHMob3RoZXI6IHVua25vd24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNHZW9tZXRyeVBvaW50PEdlb21ldHJ5UG9pbnRCYXNlPEdlb21ldHJ5UG9pbnRUeXBlcz4+KG90aGVyKVxuICAgICAgLy8gVE9ETyh0YWkta3VuKTogXHU1MDI0XHUzMDZFXHU1MUZBXHUzMDU3XHU2NUI5XHUzMDkyXHU2QzdBXHUzMDgxXHUzMDVGXHUzMDQ0XHUzMDAyXG4gICAgICAmJiBTdHJpbmcob3RoZXIueCkgPT09IFN0cmluZyh0aGlzLngpXG4gICAgICAmJiBTdHJpbmcob3RoZXIueSkgPT09IFN0cmluZyh0aGlzLnkpO1xuICB9XG59XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2dlb21ldHJ5LXBvaW50KVxuICovXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlQb2ludFxuICBleHRlbmRzIEdlb21ldHJ5UG9pbnRCYXNlPEdlb21ldHJ5UG9pbnRUeXBlczx0eXBlb2YgTnVtYmVyPj5cbntcbiAgc3RhdGljIGdldCBaRVJPKCkge1xuICAgIHJldHVybiBuZXcgdGhpcyhbMCwgMF0pO1xuICB9XG5cbiAgc3RhdGljIHJlYWRvbmx5IENvb3JkID0gTnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogR2VvbWV0cnlQb2ludFNvdXJjZTx0eXBlb2YgR2VvbWV0cnlQb2ludD4pIHtcbiAgICBzdXBlcihzb3VyY2UsIEdlb21ldHJ5UG9pbnQpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBQUE7QUFBQSxFQUVFLHFCQUFxQjtBQUFBLE9BR2hCO0FBQ1AsU0FBUyxnQkFBZ0I7QUFDekI7QUFBQSxFQUNFO0FBQUEsRUFFQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxNQUFTLEdBQVM7QUFDekIsU0FBTyxTQUFTLENBQUMsSUFDYixFQUFFLE1BQU0sSUFDUjtBQUNOO0FBSlM7QUFRRixJQUFNLHFCQUFOLE1BQU0sMkJBQ0gsS0FDVjtBQUFBLEVBT0UsSUFBYSxJQUFpQztBQUM1QyxXQUFPLEtBQUssTUFBTSxDQUFDO0FBQUEsRUFDckI7QUFBQSxFQUVBLElBQWEsRUFBRSxHQUFnQztBQUM3QyxTQUFLLE1BQU0sQ0FBQyxJQUFJO0FBQUEsRUFDbEI7QUFBQSxFQUVBLElBQWEsSUFBaUM7QUFDNUMsV0FBTyxLQUFLLE1BQU0sQ0FBQztBQUFBLEVBQ3JCO0FBQUEsRUFFQSxJQUFhLEVBQUUsR0FBZ0M7QUFDN0MsU0FBSyxNQUFNLENBQUMsSUFBSTtBQUFBLEVBQ2xCO0FBQUEsRUFFQSxJQUFhLGNBR1g7QUFDQSxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFQSxJQUFhLFlBQVksUUFBcUM7QUFDNUQsU0FBSyxRQUFRLElBQUksUUFBUSxTQUFPLE1BQU0sS0FBSyxNQUFNLE9BQU8sR0FBRyxDQUFDO0FBQUEsRUFDOUQ7QUFBQSxFQUVBLFFBQWM7QUFDWixVQUFNLE9BQU8sS0FBSztBQUVsQixXQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUcsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSztBQUFBLEVBQzVEO0FBQUEsRUFFQSxPQUFPLE9BQXlCO0FBQzlCLFdBQU8sZ0JBQXVELEtBQUssS0FFOUQsT0FBTyxNQUFNLENBQUMsTUFBTSxPQUFPLEtBQUssQ0FBQyxLQUNqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLE9BQU8sS0FBSyxDQUFDO0FBQUEsRUFDeEM7QUFDRjtBQTlDQTtBQUZPLElBQU0sb0JBQU47QUFxREEsSUFBTSxpQkFBTixNQUFNLHVCQUNILGtCQUNWO0FBQUEsRUFDRSxXQUFXLE9BQU87QUFDaEIsV0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUFBLEVBQ3hCO0FBQUEsRUFJQSxZQUFZLFFBQW1EO0FBQzdELFVBQU0sUUFBUSxjQUFhO0FBQUEsRUFDN0I7QUFDRjtBQVZBO0FBRmEsZUFPSyxRQUFRO0FBUG5CLElBQU0sZ0JBQU47IiwKICAibmFtZXMiOiBbXQp9Cg==