UNPKG

@eclipse-glsp/theia-integration

Version:

Glue code to integrate GLSP clients into Eclipse Theia

44 lines 2.27 kB
"use strict"; /******************************************************************************** * Copyright (c) 2023-2024 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.DiagramWidgetFactory = void 0; exports.createDiagramWidgetFactory = createDiagramWidgetFactory; const glsp_diagram_widget_1 = require("./glsp-diagram-widget"); /** * A factory for creating new, injectable {@link GLSPDiagramWidget} instances. * Scoped to a specific `diagramType` */ exports.DiagramWidgetFactory = Symbol('DiagramWidgetFactory'); /** * Utility function to create the default inversify binding for the {@link DiagramWidgetFactory} * @param context the inversify context * @param diagramType the diagram type this factory is for * @param widgetConstructor The optional widget constructor that should be used by this factory (i.e resolved from the container). * Can be used to create a factory for a subclass of {@link GLSPDiagramWidget}. */ function createDiagramWidgetFactory(context, diagramType, widgetConstructor) { return { diagramType, create: (options, diagramDiContainer) => { const serviceId = widgetConstructor !== null && widgetConstructor !== void 0 ? widgetConstructor : glsp_diagram_widget_1.GLSPDiagramWidget; const diagramWidget = context.container.resolve(serviceId); diagramWidget.configure(options, diagramDiContainer); return diagramWidget; } }; } //# sourceMappingURL=diagram-widget-factory.js.map