UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

57 lines (55 loc) 7.25 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/data-types/standard/geometry-polygon.ts import { GeometryPolygonBase as Base } from "../encodable/index.mjs"; import { isGeometryPolygon, map } from "../_internals/geometry.mjs"; import { GeometryLine } from "./geometry-line.mjs"; var _GeometryPolygonBase = class _GeometryPolygonBase extends Base { get coordinates() { return map(this.polygon, (l) => l.coordinates); } set coordinates(source) { this.polygon = 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(map(this.polygon, (l) => l.clone()), this.types); } equals(other) { return 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 = GeometryLine; var GeometryPolygon = _GeometryPolygon; export { GeometryPolygon, GeometryPolygonBase }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvc3RhbmRhcmQvZ2VvbWV0cnktcG9seWdvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtcbiAgdHlwZSBHZW9Kc29uUG9seWdvbixcbiAgR2VvbWV0cnlQb2x5Z29uQmFzZSBhcyBCYXNlLFxuICB0eXBlIEdlb21ldHJ5UG9seWdvblNvdXJjZSBhcyBHZW9tZXRyeVBvbHlnb25Tb3VyY2VCYXNlLFxuICB0eXBlIEdlb21ldHJ5UG9seWdvblR5cGVzIGFzIEdlb21ldHJ5UG9seWdvblR5cGVzQmFzZSxcbn0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi9lbmNvZGFibGUtZGF0YXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIENvb3JkLCBpc0dlb21ldHJ5UG9seWdvbiwgbWFwIH0gZnJvbSBcIi4uL19pbnRlcm5hbHMvZ2VvbWV0cnlcIjtcbmltcG9ydCB7XG4gIEdlb21ldHJ5TGluZSxcbiAgdHlwZSBHZW9tZXRyeUxpbmVCYXNlLFxuICB0eXBlIEdlb21ldHJ5TGluZVR5cGVzLFxufSBmcm9tIFwiLi9nZW9tZXRyeS1saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEdlb21ldHJ5UG9pbnRCYXNlLCBHZW9tZXRyeVBvaW50VHlwZXMgfSBmcm9tIFwiLi9nZW9tZXRyeS1wb2ludFwiO1xuXG50eXBlIFBvaW50QmFzZSA9IG5ldyhcbiAgc291cmNlOiBhbnksXG4pID0+IEdlb21ldHJ5UG9pbnRCYXNlPEdlb21ldHJ5UG9pbnRUeXBlczxDb29yZD4+O1xuXG50eXBlIExpbmVCYXNlID0gbmV3KFxuICBzb3VyY2U6IGFueSxcbikgPT4gR2VvbWV0cnlMaW5lQmFzZTxHZW9tZXRyeUxpbmVUeXBlczxQb2ludEJhc2U+PjtcblxuZXhwb3J0IHR5cGUgR2VvbWV0cnlQb2x5Z29uVHlwZXM8VExpbmUgZXh0ZW5kcyBMaW5lQmFzZSA9IExpbmVCYXNlPiA9XG4gIEdlb21ldHJ5UG9seWdvblR5cGVzQmFzZTxUTGluZT47XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5UG9seWdvblNvdXJjZTxcbiAgVFR5cGVzIGV4dGVuZHMgR2VvbWV0cnlQb2x5Z29uVHlwZXMgPSBHZW9tZXRyeVBvbHlnb25UeXBlcyxcbj4gPSBHZW9tZXRyeVBvbHlnb25Tb3VyY2VCYXNlPFRUeXBlcz47XG5cbmV4cG9ydCB0eXBlIHsgR2VvSnNvblBvbHlnb24gfTtcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5UG9seWdvbkJhc2U8XG4gIFRUeXBlcyBleHRlbmRzIEdlb21ldHJ5UG9seWdvblR5cGVzID0gR2VvbWV0cnlQb2x5Z29uVHlwZXMsXG4+IGV4dGVuZHMgQmFzZTxUVHlwZXM+IHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWFkb25seSBcdTMwOTJcdTU5MTZcdTMwNTlcdTMwNjBcdTMwNTFcdTMwMDJcbiAgb3ZlcnJpZGUgcG9seWdvbjogW1xuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPixcbiAgICAuLi5JbnN0YW5jZVR5cGU8VFR5cGVzW1wiTGluZVwiXT5bXSxcbiAgXTtcblxuICBvdmVycmlkZSBnZXQgY29vcmRpbmF0ZXMoKTogW1xuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltcImNvb3JkaW5hdGVzXCJdLFxuICAgIC4uLkluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltcImNvb3JkaW5hdGVzXCJdW10sXG4gIF0ge1xuICAgIHJldHVybiBtYXAodGhpcy5wb2x5Z29uLCBsID0+IGwuY29vcmRpbmF0ZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IGNvb3JkaW5hdGVzKHNvdXJjZTogR2VvbWV0cnlQb2x5Z29uU291cmNlPFRUeXBlcz4pIHtcbiAgICB0aGlzLnBvbHlnb24gPSBtYXAoXG4gICAgICBzb3VyY2UsXG4gICAgICAobDogYW55KSA9PlxuICAgICAgICAobCBpbnN0YW5jZW9mIHRoaXMudHlwZXMuTGluZVxuICAgICAgICAgID8gbFxuICAgICAgICAgIDogbmV3IHRoaXMudHlwZXMuTGluZShsKSkgYXMgSW5zdGFuY2VUeXBlPFRUeXBlc1tcIkxpbmVcIl0+LFxuICAgICk7XG4gIH1cblxuICBnZXQgZXh0ZXJpb3JSaW5nKCk6IEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9seWdvblswXTtcbiAgfVxuXG4gIHNldCBleHRlcmlvclJpbmcodjogSW5zdGFuY2VUeXBlPFRUeXBlc1tcIkxpbmVcIl0+KSB7XG4gICAgdGhpcy5wb2x5Z29uID0gW3YsIC4uLnRoaXMuaW50ZXJpb3JSaW5nc107XG4gIH1cblxuICBnZXQgaW50ZXJpb3JSaW5ncygpOiBJbnN0YW5jZVR5cGU8VFR5cGVzW1wiTGluZVwiXT5bXSB7XG4gICAgcmV0dXJuIHRoaXMucG9seWdvbi5zbGljZSgxKTtcbiAgfVxuXG4gIHNldCBpbnRlcmlvclJpbmdzKHY6IEluc3RhbmNlVHlwZTxUVHlwZXNbXCJMaW5lXCJdPltdKSB7XG4gICAgdGhpcy5wb2x5Z29uID0gW3RoaXMuZXh0ZXJpb3JSaW5nLCAuLi52XTtcbiAgfVxuXG4gIGNsb25lKCk6IHRoaXMge1xuICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBHZW9tZXRyeVBvbHlnb25CYXNlO1xuXG4gICAgcmV0dXJuIG5ldyBUaGlzKG1hcCh0aGlzLnBvbHlnb24sIGwgPT4gbC5jbG9uZSgpKSwgdGhpcy50eXBlcykgYXMgdGhpcztcbiAgfVxuXG4gIGVxdWFscyhvdGhlcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0dlb21ldHJ5UG9seWdvbjxHZW9tZXRyeVBvbHlnb25CYXNlPEdlb21ldHJ5UG9seWdvblR5cGVzPj4ob3RoZXIpXG4gICAgICAmJiBvdGhlci5wb2x5Z29uLmxlbmd0aCA9PT0gdGhpcy5wb2x5Z29uLmxlbmd0aFxuICAgICAgJiYgb3RoZXIucG9seWdvbi5ldmVyeSgobCwgaSkgPT4gdGhpcy5wb2x5Z29uW2ldIS5lcXVhbHMobCkpO1xuICB9XG59XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2dlb21ldHJ5LXBvbHlnb24pXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW9tZXRyeVBvbHlnb25cbiAgZXh0ZW5kcyBHZW9tZXRyeVBvbHlnb25CYXNlPEdlb21ldHJ5UG9seWdvblR5cGVzPHR5cGVvZiBHZW9tZXRyeUxpbmU+Plxue1xuICBzdGF0aWMgcmVhZG9ubHkgTGluZSA9IEdlb21ldHJ5TGluZTtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IEdlb21ldHJ5UG9seWdvblNvdXJjZTx0eXBlb2YgR2VvbWV0cnlQb2x5Z29uPikge1xuICAgIHN1cGVyKHNvdXJjZSwgR2VvbWV0cnlQb2x5Z29uKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7OztBQUFBO0FBQUEsRUFFRSx1QkFBdUI7QUFBQSxPQUdsQjtBQUNQLFNBQXFCLG1CQUFtQixXQUFXO0FBQ25EO0FBQUEsRUFDRTtBQUFBLE9BR0s7QUFvQkEsSUFBTSx1QkFBTixNQUFNLDZCQUVILEtBQWE7QUFBQSxFQU9yQixJQUFhLGNBR1g7QUFDQSxXQUFPLElBQUksS0FBSyxTQUFTLE9BQUssRUFBRSxXQUFXO0FBQUEsRUFDN0M7QUFBQSxFQUVBLElBQWEsWUFBWSxRQUF1QztBQUM5RCxTQUFLLFVBQVU7QUFBQSxNQUNiO0FBQUEsTUFDQSxDQUFDLE1BQ0UsYUFBYSxLQUFLLE1BQU0sT0FDckIsSUFDQSxJQUFJLEtBQUssTUFBTSxLQUFLLENBQUM7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFBQSxFQUVBLElBQUksZUFBNkM7QUFDL0MsV0FBTyxLQUFLLFFBQVEsQ0FBQztBQUFBLEVBQ3ZCO0FBQUEsRUFFQSxJQUFJLGFBQWEsR0FBaUM7QUFDaEQsU0FBSyxVQUFVLENBQUMsR0FBRyxHQUFHLEtBQUssYUFBYTtBQUFBLEVBQzFDO0FBQUEsRUFFQSxJQUFJLGdCQUFnRDtBQUNsRCxXQUFPLEtBQUssUUFBUSxNQUFNLENBQUM7QUFBQSxFQUM3QjtBQUFBLEVBRUEsSUFBSSxjQUFjLEdBQW1DO0FBQ25ELFNBQUssVUFBVSxDQUFDLEtBQUssY0FBYyxHQUFHLENBQUM7QUFBQSxFQUN6QztBQUFBLEVBRUEsUUFBYztBQUNaLFVBQU0sT0FBTyxLQUFLO0FBRWxCLFdBQU8sSUFBSSxLQUFLLElBQUksS0FBSyxTQUFTLE9BQUssRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLEtBQUs7QUFBQSxFQUMvRDtBQUFBLEVBRUEsT0FBTyxPQUF5QjtBQUM5QixXQUFPLGtCQUE2RCxLQUFLLEtBQ3BFLE1BQU0sUUFBUSxXQUFXLEtBQUssUUFBUSxVQUN0QyxNQUFNLFFBQVEsTUFBTSxDQUFDLEdBQUcsTUFBTSxLQUFLLFFBQVEsQ0FBQyxFQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQUEsRUFDL0Q7QUFDRjtBQW5EdUI7QUFGaEIsSUFBTSxzQkFBTjtBQTBEQSxJQUFNLG1CQUFOLE1BQU0seUJBQ0gsb0JBQ1Y7QUFBQSxFQUdFLFlBQVksUUFBdUQ7QUFDakUsVUFBTSxRQUFRLGdCQUFlO0FBQUEsRUFDL0I7QUFDRjtBQU5BO0FBRmEsaUJBR0ssT0FBTztBQUhsQixJQUFNLGtCQUFOOyIsCiAgIm5hbWVzIjogW10KfQo=