@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
73 lines (71 loc) • 7.89 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-line.ts
var geometry_line_exports = {};
__export(geometry_line_exports, {
GeometryLine: () => GeometryLine,
GeometryLineBase: () => GeometryLineBase
});
module.exports = __toCommonJS(geometry_line_exports);
var import_encodable_datatypes = require("../encodable/index.cjs");
var import_geometry = require("../_internals/geometry.cjs");
var import_geometry_point = require("./geometry-point.cjs");
var _GeometryLineBase = class _GeometryLineBase extends import_encodable_datatypes.GeometryLineBase {
get coordinates() {
return (0, import_geometry.map)(this.line, (p) => p.coordinates);
}
set coordinates(source) {
this.line = (0, import_geometry.map)(
source,
(p) => p instanceof this.types.Point ? p : new this.types.Point(p)
);
}
clone() {
const This = this.constructor;
return new This((0, import_geometry.map)(this.line, (p) => p.clone()), this.types);
}
equals(other) {
return (0, import_geometry.isGeometryLine)(other) && other.line.length === this.line.length && other.line.every((p, i) => this.line[i].equals(p));
}
isClosed() {
return this.line[0].equals(this.line[this.line.length - 1]);
}
toClosed() {
const line = this.clone();
line.close();
return line;
}
close() {
if (!this.isClosed()) {
this.line = [...this.line, this.line[0].clone()];
}
}
};
__name(_GeometryLineBase, "GeometryLineBase");
var GeometryLineBase = _GeometryLineBase;
var _GeometryLine = class _GeometryLine extends GeometryLineBase {
constructor(source) {
super(source, _GeometryLine);
}
};
__name(_GeometryLine, "GeometryLine");
_GeometryLine.Point = import_geometry_point.GeometryPoint;
var GeometryLine = _GeometryLine;
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvc3RhbmRhcmQvZ2VvbWV0cnktbGluZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtcbiAgdHlwZSBHZW9Kc29uTGluZVN0cmluZyxcbiAgR2VvbWV0cnlMaW5lQmFzZSBhcyBCYXNlLFxuICB0eXBlIEdlb21ldHJ5TGluZVNvdXJjZSBhcyBHZW9tZXRyeUxpbmVTb3VyY2VCYXNlLFxuICB0eXBlIEdlb21ldHJ5TGluZVR5cGVzIGFzIEdlb21ldHJ5TGluZVR5cGVzQmFzZSxcbn0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi9lbmNvZGFibGUtZGF0YXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIENvb3JkLCBpc0dlb21ldHJ5TGluZSwgbWFwIH0gZnJvbSBcIi4uL19pbnRlcm5hbHMvZ2VvbWV0cnlcIjtcbmltcG9ydCB7XG4gIEdlb21ldHJ5UG9pbnQsXG4gIHR5cGUgR2VvbWV0cnlQb2ludEJhc2UsXG4gIHR5cGUgR2VvbWV0cnlQb2ludFR5cGVzLFxufSBmcm9tIFwiLi9nZW9tZXRyeS1wb2ludFwiO1xuXG50eXBlIFBvaW50QmFzZSA9IG5ldyhcbiAgc291cmNlOiBhbnksXG4pID0+IEdlb21ldHJ5UG9pbnRCYXNlPEdlb21ldHJ5UG9pbnRUeXBlczxDb29yZD4+O1xuXG5leHBvcnQgdHlwZSBHZW9tZXRyeUxpbmVUeXBlczxUUG9pbnQgZXh0ZW5kcyBQb2ludEJhc2UgPSBQb2ludEJhc2U+ID1cbiAgR2VvbWV0cnlMaW5lVHlwZXNCYXNlPFRQb2ludD47XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5TGluZVNvdXJjZTxcbiAgVFR5cGVzIGV4dGVuZHMgR2VvbWV0cnlMaW5lVHlwZXMgPSBHZW9tZXRyeUxpbmVUeXBlcyxcbj4gPSBHZW9tZXRyeUxpbmVTb3VyY2VCYXNlPFRUeXBlcz47XG5cbmV4cG9ydCB0eXBlIHsgR2VvSnNvbkxpbmVTdHJpbmcgfTtcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5TGluZUJhc2U8VFR5cGVzIGV4dGVuZHMgR2VvbWV0cnlMaW5lVHlwZXM+XG4gIGV4dGVuZHMgQmFzZTxUVHlwZXM+XG57XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgcmVhZG9ubHkgXHUzMDkyXHU1OTE2XHUzMDU5XHUzMDYwXHUzMDUxXHUzMDAyXG4gIG92ZXJyaWRlIGxpbmU6IFtcbiAgICBJbnN0YW5jZVR5cGU8VFR5cGVzW1wiUG9pbnRcIl0+LFxuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJQb2ludFwiXT4sXG4gICAgLi4uSW5zdGFuY2VUeXBlPFRUeXBlc1tcIlBvaW50XCJdPltdLFxuICBdO1xuXG4gIG92ZXJyaWRlIGdldCBjb29yZGluYXRlcygpOiBbXG4gICAgSW5zdGFuY2VUeXBlPFRUeXBlc1tcIlBvaW50XCJdPltcImNvb3JkaW5hdGVzXCJdLFxuICAgIEluc3RhbmNlVHlwZTxUVHlwZXNbXCJQb2ludFwiXT5bXCJjb29yZGluYXRlc1wiXSxcbiAgICAuLi5JbnN0YW5jZVR5cGU8VFR5cGVzW1wiUG9pbnRcIl0+W1wiY29vcmRpbmF0ZXNcIl1bXSxcbiAgXSB7XG4gICAgcmV0dXJuIG1hcCh0aGlzLmxpbmUsIHAgPT4gcC5jb29yZGluYXRlcyk7XG4gIH1cblxuICBvdmVycmlkZSBzZXQgY29vcmRpbmF0ZXMoc291cmNlOiBHZW9tZXRyeUxpbmVTb3VyY2U8VFR5cGVzPikge1xuICAgIHRoaXMubGluZSA9IG1hcChcbiAgICAgIHNvdXJjZSxcbiAgICAgIHAgPT5cbiAgICAgICAgKHAgaW5zdGFuY2VvZiB0aGlzLnR5cGVzLlBvaW50XG4gICAgICAgICAgPyBwXG4gICAgICAgICAgOiBuZXcgdGhpcy50eXBlcy5Qb2ludChwKSkgYXMgSW5zdGFuY2VUeXBlPFRUeXBlc1tcIlBvaW50XCJdPixcbiAgICApO1xuICB9XG5cbiAgY2xvbmUoKTogdGhpcyB7XG4gICAgY29uc3QgVGhpcyA9IHRoaXMuY29uc3RydWN0b3IgYXMgdHlwZW9mIEdlb21ldHJ5TGluZUJhc2U7XG5cbiAgICByZXR1cm4gbmV3IFRoaXMobWFwKHRoaXMubGluZSwgcCA9PiBwLmNsb25lKCkpLCB0aGlzLnR5cGVzKSBhcyB0aGlzO1xuICB9XG5cbiAgZXF1YWxzKG90aGVyOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzR2VvbWV0cnlMaW5lPEdlb21ldHJ5TGluZUJhc2U8R2VvbWV0cnlMaW5lVHlwZXM+PihvdGhlcilcbiAgICAgICYmIG90aGVyLmxpbmUubGVuZ3RoID09PSB0aGlzLmxpbmUubGVuZ3RoXG4gICAgICAmJiBvdGhlci5saW5lLmV2ZXJ5KChwLCBpKSA9PiB0aGlzLmxpbmVbaV0hLmVxdWFscyhwKSk7XG4gIH1cblxuICBpc0Nsb3NlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5lWzBdLmVxdWFscyh0aGlzLmxpbmVbdGhpcy5saW5lLmxlbmd0aCAtIDFdKTtcbiAgfVxuXG4gIHRvQ2xvc2VkKCk6IHRoaXMge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgbGluZS5jbG9zZSgpO1xuXG4gICAgcmV0dXJuIGxpbmU7XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgdGhpcy5saW5lID0gWy4uLnRoaXMubGluZSwgdGhpcy5saW5lWzBdLmNsb25lKCldO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvZGF0YS9nZW9tZXRyeS1saW5lKVxuICovXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlMaW5lXG4gIGV4dGVuZHMgR2VvbWV0cnlMaW5lQmFzZTxHZW9tZXRyeUxpbmVUeXBlczx0eXBlb2YgR2VvbWV0cnlQb2ludD4+XG57XG4gIHN0YXRpYyByZWFkb25seSBQb2ludCA9IEdlb21ldHJ5UG9pbnQ7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlOiBHZW9tZXRyeUxpbmVTb3VyY2U8dHlwZW9mIEdlb21ldHJ5TGluZT4pIHtcbiAgICBzdXBlcihzb3VyY2UsIEdlb21ldHJ5TGluZSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlDQUtPO0FBQ1Asc0JBQWdEO0FBQ2hELDRCQUlPO0FBZUEsSUFBTSxvQkFBTixNQUFNLDBCQUNILDJCQUFBQSxpQkFDVjtBQUFBLEVBUUUsSUFBYSxjQUlYO0FBQ0EsZUFBTyxxQkFBSSxLQUFLLE1BQU0sT0FBSyxFQUFFLFdBQVc7QUFBQSxFQUMxQztBQUFBLEVBRUEsSUFBYSxZQUFZLFFBQW9DO0FBQzNELFNBQUssV0FBTztBQUFBLE1BQ1Y7QUFBQSxNQUNBLE9BQ0csYUFBYSxLQUFLLE1BQU0sUUFDckIsSUFDQSxJQUFJLEtBQUssTUFBTSxNQUFNLENBQUM7QUFBQSxJQUM5QjtBQUFBLEVBQ0Y7QUFBQSxFQUVBLFFBQWM7QUFDWixVQUFNLE9BQU8sS0FBSztBQUVsQixXQUFPLElBQUksU0FBSyxxQkFBSSxLQUFLLE1BQU0sT0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEtBQUssS0FBSztBQUFBLEVBQzVEO0FBQUEsRUFFQSxPQUFPLE9BQXlCO0FBQzlCLGVBQU8sZ0NBQW9ELEtBQUssS0FDM0QsTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLFVBQ2hDLE1BQU0sS0FBSyxNQUFNLENBQUMsR0FBRyxNQUFNLEtBQUssS0FBSyxDQUFDLEVBQUcsT0FBTyxDQUFDLENBQUM7QUFBQSxFQUN6RDtBQUFBLEVBRUEsV0FBb0I7QUFDbEIsV0FBTyxLQUFLLEtBQUssQ0FBQyxFQUFFLE9BQU8sS0FBSyxLQUFLLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztBQUFBLEVBQzVEO0FBQUEsRUFFQSxXQUFpQjtBQUNmLFVBQU0sT0FBTyxLQUFLLE1BQU07QUFDeEIsU0FBSyxNQUFNO0FBRVgsV0FBTztBQUFBLEVBQ1Q7QUFBQSxFQUVBLFFBQWM7QUFDWixRQUFJLENBQUMsS0FBSyxTQUFTLEdBQUc7QUFDcEIsV0FBSyxPQUFPLENBQUMsR0FBRyxLQUFLLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7QUFBQSxJQUNqRDtBQUFBLEVBQ0Y7QUFDRjtBQXREQTtBQUZPLElBQU0sbUJBQU47QUE2REEsSUFBTSxnQkFBTixNQUFNLHNCQUNILGlCQUNWO0FBQUEsRUFHRSxZQUFZLFFBQWlEO0FBQzNELFVBQU0sUUFBUSxhQUFZO0FBQUEsRUFDNUI7QUFDRjtBQU5BO0FBRmEsY0FHSyxRQUFRO0FBSG5CLElBQU0sZUFBTjsiLAogICJuYW1lcyI6IFsiQmFzZSJdCn0K