UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

72 lines (70 loc) 8.34 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/data-types/standard/geometry-polygon.ts var geometry_polygon_exports = {}; __export(geometry_polygon_exports, { GeometryPolygon: () => GeometryPolygon, GeometryPolygonBase: () => GeometryPolygonBase }); module.exports = __toCommonJS(geometry_polygon_exports); var import_encodable_datatypes = require("../encodable/index.cjs"); var import_geometry = require("../_internals/geometry.cjs"); var import_geometry_line = require("./geometry-line.cjs"); var _GeometryPolygonBase = class _GeometryPolygonBase extends import_encodable_datatypes.GeometryPolygonBase { get coordinates() { return (0, import_geometry.map)(this.polygon, (l) => l.coordinates); } set coordinates(source) { this.polygon = (0, import_geometry.map)( source, (l) => l instanceof this.types.Line ? l : new this.types.Line(l) ); } get exteriorRing() { return this.polygon[0]; } set exteriorRing(v) { this.polygon = [v, ...this.interiorRings]; } get interiorRings() { return this.polygon.slice(1); } set interiorRings(v) { this.polygon = [this.exteriorRing, ...v]; } clone() { const This = this.constructor; return new This((0, import_geometry.map)(this.polygon, (l) => l.clone()), this.types); } equals(other) { return (0, import_geometry.isGeometryPolygon)(other) && other.polygon.length === this.polygon.length && other.polygon.every((l, i) => this.polygon[i].equals(l)); } }; __name(_GeometryPolygonBase, "GeometryPolygonBase"); var GeometryPolygonBase = _GeometryPolygonBase; var _GeometryPolygon = class _GeometryPolygon extends GeometryPolygonBase { constructor(source) { super(source, _GeometryPolygon); } }; __name(_GeometryPolygon, "GeometryPolygon"); _GeometryPolygon.Line = import_geometry_line.GeometryLine; var GeometryPolygon = _GeometryPolygon; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvc3RhbmRhcmQvZ2VvbWV0cnktcG9seWdvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtcbiAgdHlwZSBHZW9Kc29uUG9seWdvbixcbiAgR2VvbWV0cnlQb2x5Z29uQmFzZSBhcyBCYXNlLFxuICB0eXBlIEdlb21ldHJ5UG9seWdvblNvdXJjZSBhcyBHZW9tZXRyeVBvbHlnb25Tb3VyY2VCYXNlLFxuICB0eXBlIEdlb21ldHJ5UG9seWdvblR5cGVzIGFzIEdlb21ldHJ5UG9seWdvblR5cGVzQmFzZSxcbn0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi9lbmNvZGFibGUtZGF0YXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIENvb3JkLCBpc0dlb21ldHJ5UG9seWdvbiwgbWFwIH0gZnJvbSBcIi4uL19pbnRlcm5hbHMvZ2VvbWV0cnlcIjtcbmltcG9ydCB7XG4gIEdlb21ldHJ5TGluZSxcbiAgdHlwZSBHZW9tZXRyeUxpbmVCYXNlLFxuICB0eXBlIEdlb21ldHJ5TGluZVR5cGVzLFxufSBmcm9tIFwiLi9nZW9tZXRyeS1saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEdlb21ldHJ5UG9pbnRCYXNlLCBHZW9tZXRyeVBvaW50VHlwZXMgfSBmcm9tIFwiLi9nZW9tZXRyeS1wb2ludFwiO1xuXG50eXBlIFBvaW50QmFzZSA9IG5ldyhcbiAgc291cmNlOiBhbnksXG4pID0+IEdlb21ldHJ5UG9pbnRCYXNlPEdlb21ldHJ5UG9pbnRUeXBlczxDb29yZD4+O1xuXG50eXBlIExpbmVCYXNlID0gbmV3KFxuICBzb3VyY2U6IGFueSxcbikgPT4gR2VvbWV0cnlMaW5lQmFzZTxHZW9tZXRyeUxpbmVUeXBlczxQb2ludEJhc2U+PjtcblxuZXhwb3J0IHR5cGUgR2VvbWV0cnlQb2x5Z29uVHlwZXM8VExpbmUgZXh0ZW5kcyBMaW5lQmFzZSA9IExpbmVCYXNlPiA9XG4gIEdlb21ldHJ5UG9seWdvblR5cGVzQmFzZTxUTGluZT47XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5UG9seWdvblNvdXJjZTxcbiAgVFR5cGVzIGV4dGVuZHMgR2VvbWV0cnlQb2x5Z29uVHlwZXMgPSBHZW9tZXRyeVBvbHlnb25UeXBlcyxcbj4gPSBHZW9tZXRyeVBvbHlnb25Tb3VyY2VCYXNlPFRUeXBlcz47XG5cbmV4cG9ydCB0eXBlIHsgR2VvSnNvblBvbHlnb24gfTtcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5UG9seWdvbkJhc2U8XG4gIFRUeXBlcyBleHRlbmRzIEdlb21ldHJ5UG9seWdvblR5cGVzID0gR2VvbWV0cnlQb2x5Z29uVHlwZXMsXG4+IGV4dGVuZHMgQmFzZTxUVHlwZXM+IHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWFkb25seSBcdTMwOTJcdTU5MTZcdTMwNTlcdTMwNjBcdTMwNTFcdTMwMDJcbiAgb3ZlcnJpZGUgcG9seWdvbjogW1xuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPixcbiAgICAuLi5JbnN0YW5jZVR5cGU8VFR5cGVzW1wiTGluZVwiXT5bXSxcbiAgXTtcblxuICBvdmVycmlkZSBnZXQgY29vcmRpbmF0ZXMoKTogW1xuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltcImNvb3JkaW5hdGVzXCJdLFxuICAgIC4uLkluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltcImNvb3JkaW5hdGVzXCJdW10sXG4gIF0ge1xuICAgIHJldHVybiBtYXAodGhpcy5wb2x5Z29uLCBsID0+IGwuY29vcmRpbmF0ZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IGNvb3JkaW5hdGVzKHNvdXJjZTogR2VvbWV0cnlQb2x5Z29uU291cmNlPFRUeXBlcz4pIHtcbiAgICB0aGlzLnBvbHlnb24gPSBtYXAoXG4gICAgICBzb3VyY2UsXG4gICAgICAobDogYW55KSA9PlxuICAgICAgICAobCBpbnN0YW5jZW9mIHRoaXMudHlwZXMuTGluZVxuICAgICAgICAgID8gbFxuICAgICAgICAgIDogbmV3IHRoaXMudHlwZXMuTGluZShsKSkgYXMgSW5zdGFuY2VUeXBlPFRUeXBlc1tcIkxpbmVcIl0+LFxuICAgICk7XG4gIH1cblxuICBnZXQgZXh0ZXJpb3JSaW5nKCk6IEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9seWdvblswXTtcbiAgfVxuXG4gIHNldCBleHRlcmlvclJpbmcodjogSW5zdGFuY2VUeXBlPFRUeXBlc1tcIkxpbmVcIl0+KSB7XG4gICAgdGhpcy5wb2x5Z29uID0gW3YsIC4uLnRoaXMuaW50ZXJpb3JSaW5nc107XG4gIH1cblxuICBnZXQgaW50ZXJpb3JSaW5ncygpOiBJbnN0YW5jZVR5cGU8VFR5cGVzW1wiTGluZVwiXT5bXSB7XG4gICAgcmV0dXJuIHRoaXMucG9seWdvbi5zbGljZSgxKTtcbiAgfVxuXG4gIHNldCBpbnRlcmlvclJpbmdzKHY6IEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltdKSB7XG4gICAgdGhpcy5wb2x5Z29uID0gW3RoaXMuZXh0ZXJpb3JSaW5nLCAuLi52XTtcbiAgfVxuXG4gIGNsb25lKCk6IHRoaXMge1xuICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBHZW9tZXRyeVBvbHlnb25CYXNlO1xuXG4gICAgcmV0dXJuIG5ldyBUaGlzKG1hcCh0aGlzLnBvbHlnb24sIGwgPT4gbC5jbG9uZSgpKSwgdGhpcy50eXBlcykgYXMgdGhpcztcbiAgfVxuXG4gIGVxdWFscyhvdGhlcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0dlb21ldHJ5UG9seWdvbjxHZW9tZXRyeVBvbHlnb25CYXNlPEdlb21ldHJ5UG9seWdvblR5cGVzPj4ob3RoZXIpXG4gICAgICAmJiBvdGhlci5wb2x5Z29uLmxlbmd0aCA9PT0gdGhpcy5wb2x5Z29uLmxlbmd0aFxuICAgICAgJiYgb3RoZXIucG9seWdvbi5ldmVyeSgobCwgaSkgPT4gdGhpcy5wb2x5Z29uW2ldIS5lcXVhbHMobCkpO1xuICB9XG59XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2dlb21ldHJ5LXBvbHlnb24pXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW9tZXRyeVBvbHlnb25cbiAgZXh0ZW5kcyBHZW9tZXRyeVBvbHlnb25CYXNlPEdlb21ldHJ5UG9seWdvblR5cGVzPHR5cGVvZiBHZW9tZXRyeUxpbmU+Plxue1xuICBzdGF0aWMgcmVhZG9ubHkgTGluZSA9IEdlb21ldHJ5TGluZTtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IEdlb21ldHJ5UG9seWdvblNvdXJjZTx0eXBlb2YgR2VvbWV0cnlQb2x5Z29uPikge1xuICAgIHN1cGVyKHNvdXJjZSwgR2VvbWV0cnlQb2x5Z29uKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsaUNBS087QUFDUCxzQkFBbUQ7QUFDbkQsMkJBSU87QUFvQkEsSUFBTSx1QkFBTixNQUFNLDZCQUVILDJCQUFBQSxvQkFBYTtBQUFBLEVBT3JCLElBQWEsY0FHWDtBQUNBLGVBQU8scUJBQUksS0FBSyxTQUFTLE9BQUssRUFBRSxXQUFXO0FBQUEsRUFDN0M7QUFBQSxFQUVBLElBQWEsWUFBWSxRQUF1QztBQUM5RCxTQUFLLGNBQVU7QUFBQSxNQUNiO0FBQUEsTUFDQSxDQUFDLE1BQ0UsYUFBYSxLQUFLLE1BQU0sT0FDckIsSUFDQSxJQUFJLEtBQUssTUFBTSxLQUFLLENBQUM7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFBQSxFQUVBLElBQUksZUFBNkM7QUFDL0MsV0FBTyxLQUFLLFFBQVEsQ0FBQztBQUFBLEVBQ3ZCO0FBQUEsRUFFQSxJQUFJLGFBQWEsR0FBaUM7QUFDaEQsU0FBSyxVQUFVLENBQUMsR0FBRyxHQUFHLEtBQUssYUFBYTtBQUFBLEVBQzFDO0FBQUEsRUFFQSxJQUFJLGdCQUFnRDtBQUNsRCxXQUFPLEtBQUssUUFBUSxNQUFNLENBQUM7QUFBQSxFQUM3QjtBQUFBLEVBRUEsSUFBSSxjQUFjLEdBQW1DO0FBQ25ELFNBQUssVUFBVSxDQUFDLEtBQUssY0FBYyxHQUFHLENBQUM7QUFBQSxFQUN6QztBQUFBLEVBRUEsUUFBYztBQUNaLFVBQU0sT0FBTyxLQUFLO0FBRWxCLFdBQU8sSUFBSSxTQUFLLHFCQUFJLEtBQUssU0FBUyxPQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsS0FBSyxLQUFLO0FBQUEsRUFDL0Q7QUFBQSxFQUVBLE9BQU8sT0FBeUI7QUFDOUIsZUFBTyxtQ0FBNkQsS0FBSyxLQUNwRSxNQUFNLFFBQVEsV0FBVyxLQUFLLFFBQVEsVUFDdEMsTUFBTSxRQUFRLE1BQU0sQ0FBQyxHQUFHLE1BQU0sS0FBSyxRQUFRLENBQUMsRUFBRyxPQUFPLENBQUMsQ0FBQztBQUFBLEVBQy9EO0FBQ0Y7QUFuRHVCO0FBRmhCLElBQU0sc0JBQU47QUEwREEsSUFBTSxtQkFBTixNQUFNLHlCQUNILG9CQUNWO0FBQUEsRUFHRSxZQUFZLFFBQXVEO0FBQ2pFLFVBQU0sUUFBUSxnQkFBZTtBQUFBLEVBQy9CO0FBQ0Y7QUFOQTtBQUZhLGlCQUdLLE9BQU87QUFIbEIsSUFBTSxrQkFBTjsiLAogICJuYW1lcyI6IFsiQmFzZSJdCn0K