@eclipse-glsp/graph
Version:
The typescript implementation of the GLSP graphical model (GModel)
74 lines • 2.54 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GEdgeBuilder = exports.GEdge = void 0;
/********************************************************************************
* Copyright (c) 2022 STMicroelectronics and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
const protocol_1 = require("@eclipse-glsp/protocol");
const gmodel_element_1 = require("./gmodel-element");
class GEdge extends gmodel_element_1.GModelElement {
constructor() {
super(...arguments);
this.type = protocol_1.DefaultTypes.EDGE;
this.routingPoints = [];
}
static builder() {
return new GEdgeBuilder(GEdge).type(protocol_1.DefaultTypes.EDGE);
}
}
exports.GEdge = GEdge;
(function (GEdge) {
function is(object) {
return GEdge.is(object);
}
GEdge.is = is;
})(GEdge || (exports.GEdge = GEdge = {}));
class GEdgeBuilder extends gmodel_element_1.GModelElementBuilder {
source(source) {
this.proxy.sourceId = source.id;
return this;
}
sourceId(sourceId) {
this.proxy.sourceId = sourceId;
return this;
}
target(target) {
this.proxy.targetId = target.id;
return this;
}
targetId(targetId) {
this.proxy.targetId = targetId;
return this;
}
routerKind(routerKind) {
this.proxy.routerKind = routerKind;
return this;
}
addRoutingPoint(xOrPoint, y) {
if (typeof xOrPoint === 'object') {
this.proxy.routingPoints.push(xOrPoint);
}
else if (y) {
this.proxy.routingPoints.push({ x: xOrPoint, y });
}
return this;
}
addRoutingPoints(...routingPoints) {
(0, protocol_1.flatPush)(this.proxy.routingPoints, routingPoints);
return this;
}
}
exports.GEdgeBuilder = GEdgeBuilder;
//# sourceMappingURL=gedge.js.map