UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

63 lines (61 loc) 6.24 kB
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==