@eclipse-glsp/protocol
Version:
The protocol definition for client-server communication in GLSP
101 lines • 4.46 kB
JavaScript
;
/********************************************************************************
* Copyright (c) 2019-2023 EclipseSource 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
********************************************************************************/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CheckEdgeResultAction = exports.RequestCheckEdgeAction = exports.SetTypeHintsAction = exports.RequestTypeHintsAction = void 0;
const type_util_1 = require("../utils/type-util");
const base_protocol_1 = require("./base-protocol");
var RequestTypeHintsAction;
(function (RequestTypeHintsAction) {
RequestTypeHintsAction.KIND = 'requestTypeHints';
function is(object) {
return base_protocol_1.RequestAction.hasKind(object, RequestTypeHintsAction.KIND);
}
RequestTypeHintsAction.is = is;
function create(options = {}) {
return {
kind: RequestTypeHintsAction.KIND,
requestId: '',
...options
};
}
RequestTypeHintsAction.create = create;
})(RequestTypeHintsAction || (exports.RequestTypeHintsAction = RequestTypeHintsAction = {}));
var SetTypeHintsAction;
(function (SetTypeHintsAction) {
SetTypeHintsAction.KIND = 'setTypeHints';
function is(object) {
return base_protocol_1.Action.hasKind(object, SetTypeHintsAction.KIND) && (0, type_util_1.hasArrayProp)(object, 'shapeHints') && (0, type_util_1.hasArrayProp)(object, 'edgeHints');
}
SetTypeHintsAction.is = is;
function create(options) {
return {
kind: SetTypeHintsAction.KIND,
responseId: '',
...options
};
}
SetTypeHintsAction.create = create;
})(SetTypeHintsAction || (exports.SetTypeHintsAction = SetTypeHintsAction = {}));
var RequestCheckEdgeAction;
(function (RequestCheckEdgeAction) {
RequestCheckEdgeAction.KIND = 'requestCheckEdge';
function is(object) {
return (base_protocol_1.Action.hasKind(object, RequestCheckEdgeAction.KIND) &&
(0, type_util_1.hasStringProp)(object, 'edgeType') &&
(0, type_util_1.hasStringProp)(object, 'sourceElementId') &&
(0, type_util_1.hasStringProp)(object, 'targetElementId', true));
}
RequestCheckEdgeAction.is = is;
function create(options) {
var _a;
return {
kind: RequestCheckEdgeAction.KIND,
edgeType: options.edgeType,
sourceElementId: getElementTypeId(options.sourceElement),
targetElementId: options.targetElement ? getElementTypeId(options.targetElement) : undefined,
requestId: (_a = options.requestId) !== null && _a !== void 0 ? _a : ''
};
}
RequestCheckEdgeAction.create = create;
})(RequestCheckEdgeAction || (exports.RequestCheckEdgeAction = RequestCheckEdgeAction = {}));
function getElementTypeId(element) {
if (typeof element === 'string') {
return element;
}
return element.id;
}
var CheckEdgeResultAction;
(function (CheckEdgeResultAction) {
CheckEdgeResultAction.KIND = 'checkEdgeTargetResult';
function is(object) {
return (base_protocol_1.Action.hasKind(object, CheckEdgeResultAction.KIND) &&
(0, type_util_1.hasBooleanProp)(object, 'isValid') &&
(0, type_util_1.hasStringProp)(object, 'edgeType') &&
(0, type_util_1.hasStringProp)(object, 'sourceElementId') &&
(0, type_util_1.hasStringProp)(object, 'targetElementId', true));
}
CheckEdgeResultAction.is = is;
function create(options) {
return {
kind: CheckEdgeResultAction.KIND,
responseId: '',
...options
};
}
CheckEdgeResultAction.create = create;
})(CheckEdgeResultAction || (exports.CheckEdgeResultAction = CheckEdgeResultAction = {}));
//# sourceMappingURL=element-type-hints.js.map