UNPKG

@eclipse-glsp/protocol

Version:

The protocol definition for client-server communication in GLSP

101 lines 4.46 kB
"use strict"; /******************************************************************************** * 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