@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
72 lines (70 loc) • 8.34 kB
JavaScript
;
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