@eclipse-glsp/server 1.1.0-RC05
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +642 -0
- package/README.md +8 -0
- package/browser.d.ts +16 -0
- package/browser.js +18 -0
- package/lib/browser/di/app-module.d.ts +24 -0
- package/lib/browser/di/app-module.d.ts.map +1 -0
- package/lib/browser/di/app-module.js +55 -0
- package/lib/browser/di/app-module.js.map +1 -0
- package/lib/browser/di/console-logger.d.ts +29 -0
- package/lib/browser/di/console-logger.d.ts.map +1 -0
- package/lib/browser/di/console-logger.js +81 -0
- package/lib/browser/di/console-logger.js.map +1 -0
- package/lib/browser/index.d.ts +20 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +36 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/launch/worker-server-launcher.d.ts +26 -0
- package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -0
- package/lib/browser/launch/worker-server-launcher.js +65 -0
- package/lib/browser/launch/worker-server-launcher.js.map +1 -0
- package/lib/common/actions/action-dispatcher.d.ts +74 -0
- package/lib/common/actions/action-dispatcher.d.ts.map +1 -0
- package/lib/common/actions/action-dispatcher.js +128 -0
- package/lib/common/actions/action-dispatcher.js.map +1 -0
- package/lib/common/actions/action-dispatcher.spec.d.ts +2 -0
- package/lib/common/actions/action-dispatcher.spec.d.ts.map +1 -0
- package/lib/common/actions/action-dispatcher.spec.js +264 -0
- package/lib/common/actions/action-dispatcher.spec.js.map +1 -0
- package/lib/common/actions/action-handler-registry.d.ts +40 -0
- package/lib/common/actions/action-handler-registry.d.ts.map +1 -0
- package/lib/common/actions/action-handler-registry.js +65 -0
- package/lib/common/actions/action-handler-registry.js.map +1 -0
- package/lib/common/actions/action-handler-registry.spec.d.ts +2 -0
- package/lib/common/actions/action-handler-registry.spec.d.ts.map +1 -0
- package/lib/common/actions/action-handler-registry.spec.js +50 -0
- package/lib/common/actions/action-handler-registry.spec.js.map +1 -0
- package/lib/common/actions/action-handler.d.ts +55 -0
- package/lib/common/actions/action-handler.d.ts.map +1 -0
- package/lib/common/actions/action-handler.js +7 -0
- package/lib/common/actions/action-handler.js.map +1 -0
- package/lib/common/actions/client-action-handler.d.ts +30 -0
- package/lib/common/actions/client-action-handler.d.ts.map +1 -0
- package/lib/common/actions/client-action-handler.js +56 -0
- package/lib/common/actions/client-action-handler.js.map +1 -0
- package/lib/common/actions/global-action-provider.d.ts +30 -0
- package/lib/common/actions/global-action-provider.d.ts.map +1 -0
- package/lib/common/actions/global-action-provider.js +81 -0
- package/lib/common/actions/global-action-provider.js.map +1 -0
- package/lib/common/actions/global-action-provider.spec.d.ts +2 -0
- package/lib/common/actions/global-action-provider.spec.d.ts.map +1 -0
- package/lib/common/actions/global-action-provider.spec.js +70 -0
- package/lib/common/actions/global-action-provider.spec.js.map +1 -0
- package/lib/common/command/command-stack.d.ts +67 -0
- package/lib/common/command/command-stack.d.ts.map +1 -0
- package/lib/common/command/command-stack.js +117 -0
- package/lib/common/command/command-stack.js.map +1 -0
- package/lib/common/command/command-stack.spec.d.ts +2 -0
- package/lib/common/command/command-stack.spec.d.ts.map +1 -0
- package/lib/common/command/command-stack.spec.js +207 -0
- package/lib/common/command/command-stack.spec.js.map +1 -0
- package/lib/common/command/command.d.ts +63 -0
- package/lib/common/command/command.d.ts.map +1 -0
- package/lib/common/command/command.js +87 -0
- package/lib/common/command/command.js.map +1 -0
- package/lib/common/command/command.spec.d.ts +2 -0
- package/lib/common/command/command.spec.d.ts.map +1 -0
- package/lib/common/command/command.spec.js +86 -0
- package/lib/common/command/command.spec.js.map +1 -0
- package/lib/common/command/recording-command.d.ts +75 -0
- package/lib/common/command/recording-command.d.ts.map +1 -0
- package/lib/common/command/recording-command.js +99 -0
- package/lib/common/command/recording-command.js.map +1 -0
- package/lib/common/command/recording-command.spec.d.ts +17 -0
- package/lib/common/command/recording-command.spec.d.ts.map +1 -0
- package/lib/common/command/recording-command.spec.js +62 -0
- package/lib/common/command/recording-command.spec.js.map +1 -0
- package/lib/common/command/undo-redo-action-handler.d.ts +28 -0
- package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -0
- package/lib/common/command/undo-redo-action-handler.js +72 -0
- package/lib/common/command/undo-redo-action-handler.js.map +1 -0
- package/lib/common/di/binding-target.d.ts +73 -0
- package/lib/common/di/binding-target.d.ts.map +1 -0
- package/lib/common/di/binding-target.js +143 -0
- package/lib/common/di/binding-target.js.map +1 -0
- package/lib/common/di/binding-target.spec.d.ts +2 -0
- package/lib/common/di/binding-target.spec.d.ts.map +1 -0
- package/lib/common/di/binding-target.spec.js +121 -0
- package/lib/common/di/binding-target.spec.js.map +1 -0
- package/lib/common/di/client-session-module.d.ts +19 -0
- package/lib/common/di/client-session-module.d.ts.map +1 -0
- package/lib/common/di/client-session-module.js +34 -0
- package/lib/common/di/client-session-module.js.map +1 -0
- package/lib/common/di/diagram-module.d.ts +130 -0
- package/lib/common/di/diagram-module.d.ts.map +1 -0
- package/lib/common/di/diagram-module.js +295 -0
- package/lib/common/di/diagram-module.js.map +1 -0
- package/lib/common/di/glsp-module.d.ts +47 -0
- package/lib/common/di/glsp-module.d.ts.map +1 -0
- package/lib/common/di/glsp-module.js +59 -0
- package/lib/common/di/glsp-module.js.map +1 -0
- package/lib/common/di/multi-binding.d.ts +41 -0
- package/lib/common/di/multi-binding.d.ts.map +1 -0
- package/lib/common/di/multi-binding.js +82 -0
- package/lib/common/di/multi-binding.js.map +1 -0
- package/lib/common/di/multi-bindings.spec.d.ts +2 -0
- package/lib/common/di/multi-bindings.spec.d.ts.map +1 -0
- package/lib/common/di/multi-bindings.spec.js +137 -0
- package/lib/common/di/multi-bindings.spec.js.map +1 -0
- package/lib/common/di/server-module.d.ts +73 -0
- package/lib/common/di/server-module.d.ts.map +1 -0
- package/lib/common/di/server-module.js +103 -0
- package/lib/common/di/server-module.js.map +1 -0
- package/lib/common/di/service-identifiers.d.ts +29 -0
- package/lib/common/di/service-identifiers.d.ts.map +1 -0
- package/lib/common/di/service-identifiers.js +14 -0
- package/lib/common/di/service-identifiers.js.map +1 -0
- package/lib/common/diagram/diagram-configuration.d.ts +89 -0
- package/lib/common/diagram/diagram-configuration.d.ts.map +1 -0
- package/lib/common/diagram/diagram-configuration.js +30 -0
- package/lib/common/diagram/diagram-configuration.js.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.d.ts +25 -0
- package/lib/common/diagram/request-type-hints-action-handler.d.ts.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.js +53 -0
- package/lib/common/diagram/request-type-hints-action-handler.js.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts +2 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.js +57 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.js.map +1 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts +26 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts.map +1 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.js +61 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.js.map +1 -0
- package/lib/common/features/contextactions/command-palette-action-provider.d.ts +63 -0
- package/lib/common/features/contextactions/command-palette-action-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/command-palette-action-provider.js +72 -0
- package/lib/common/features/contextactions/command-palette-action-provider.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.d.ts +12 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.js +70 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts +2 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.js +34 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider.d.ts +34 -0
- package/lib/common/features/contextactions/context-actions-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider.js +5 -0
- package/lib/common/features/contextactions/context-actions-provider.js.map +1 -0
- package/lib/common/features/contextactions/context-menu-item-provider.d.ts +43 -0
- package/lib/common/features/contextactions/context-menu-item-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-menu-item-provider.js +36 -0
- package/lib/common/features/contextactions/context-menu-item-provider.js.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.d.ts +24 -0
- package/lib/common/features/contextactions/request-context-actions-handler.d.ts.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.js +53 -0
- package/lib/common/features/contextactions/request-context-actions-handler.js.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts +2 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.js +63 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.js.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.d.ts +50 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.js +86 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.js.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts +2 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.js +48 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.d.ts +14 -0
- package/lib/common/features/directediting/context-edit-validator-registry.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.js +57 -0
- package/lib/common/features/directediting/context-edit-validator-registry.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts +2 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.js +44 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator.d.ts +25 -0
- package/lib/common/features/directediting/context-edit-validator.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator.js +40 -0
- package/lib/common/features/directediting/context-edit-validator.js.map +1 -0
- package/lib/common/features/directediting/label-edit-validator.d.ts +32 -0
- package/lib/common/features/directediting/label-edit-validator.d.ts.map +1 -0
- package/lib/common/features/directediting/label-edit-validator.js +21 -0
- package/lib/common/features/directediting/label-edit-validator.js.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.d.ts +26 -0
- package/lib/common/features/directediting/request-edit-validation-handler.d.ts.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.js +61 -0
- package/lib/common/features/directediting/request-edit-validation-handler.js.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts +2 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.js +97 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.js.map +1 -0
- package/lib/common/features/layout/computed-bounds-action-handler.d.ts +34 -0
- package/lib/common/features/layout/computed-bounds-action-handler.d.ts.map +1 -0
- package/lib/common/features/layout/computed-bounds-action-handler.js +55 -0
- package/lib/common/features/layout/computed-bounds-action-handler.js.map +1 -0
- package/lib/common/features/layout/layout-engine.d.ts +29 -0
- package/lib/common/features/layout/layout-engine.d.ts.map +1 -0
- package/lib/common/features/layout/layout-engine.js +20 -0
- package/lib/common/features/layout/layout-engine.js.map +1 -0
- package/lib/common/features/layout/layout-operation-handler.d.ts +37 -0
- package/lib/common/features/layout/layout-operation-handler.d.ts.map +1 -0
- package/lib/common/features/layout/layout-operation-handler.js +82 -0
- package/lib/common/features/layout/layout-operation-handler.js.map +1 -0
- package/lib/common/features/model/gmodel-factory.d.ts +39 -0
- package/lib/common/features/model/gmodel-factory.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-factory.js +39 -0
- package/lib/common/features/model/gmodel-factory.js.map +1 -0
- package/lib/common/features/model/gmodel-index.d.ts +107 -0
- package/lib/common/features/model/gmodel-index.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-index.js +193 -0
- package/lib/common/features/model/gmodel-index.js.map +1 -0
- package/lib/common/features/model/gmodel-serializer.d.ts +67 -0
- package/lib/common/features/model/gmodel-serializer.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-serializer.js +143 -0
- package/lib/common/features/model/gmodel-serializer.js.map +1 -0
- package/lib/common/features/model/gmodel-serializer.spec.d.ts +2 -0
- package/lib/common/features/model/gmodel-serializer.spec.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-serializer.spec.js +124 -0
- package/lib/common/features/model/gmodel-serializer.spec.js.map +1 -0
- package/lib/common/features/model/model-state.d.ts +51 -0
- package/lib/common/features/model/model-state.d.ts.map +1 -0
- package/lib/common/features/model/model-state.js +74 -0
- package/lib/common/features/model/model-state.js.map +1 -0
- package/lib/common/features/model/model-submission-handler.d.ts +58 -0
- package/lib/common/features/model/model-submission-handler.d.ts.map +1 -0
- package/lib/common/features/model/model-submission-handler.js +102 -0
- package/lib/common/features/model/model-submission-handler.js.map +1 -0
- package/lib/common/features/model/request-model-action-handler.d.ts +37 -0
- package/lib/common/features/model/request-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/model/request-model-action-handler.js +83 -0
- package/lib/common/features/model/request-model-action-handler.js.map +1 -0
- package/lib/common/features/model/save-model-action-handler.d.ts +26 -0
- package/lib/common/features/model/save-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/model/save-model-action-handler.js +54 -0
- package/lib/common/features/model/save-model-action-handler.js.map +1 -0
- package/lib/common/features/model/source-model-storage.d.ts +47 -0
- package/lib/common/features/model/source-model-storage.d.ts.map +1 -0
- package/lib/common/features/model/source-model-storage.js +5 -0
- package/lib/common/features/model/source-model-storage.js.map +1 -0
- package/lib/common/features/navigation/json-opener-options.d.ts +36 -0
- package/lib/common/features/navigation/json-opener-options.d.ts.map +1 -0
- package/lib/common/features/navigation/json-opener-options.js +60 -0
- package/lib/common/features/navigation/json-opener-options.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.d.ts +12 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.js +47 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider.d.ts +48 -0
- package/lib/common/features/navigation/navigation-target-provider.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider.js +5 -0
- package/lib/common/features/navigation/navigation-target-provider.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolution.d.ts +23 -0
- package/lib/common/features/navigation/navigation-target-resolution.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolution.js +12 -0
- package/lib/common/features/navigation/navigation-target-resolution.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolver.d.ts +31 -0
- package/lib/common/features/navigation/navigation-target-resolver.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolver.js +49 -0
- package/lib/common/features/navigation/navigation-target-resolver.js.map +1 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts +24 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts.map +1 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.js +55 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.js.map +1 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts +26 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts.map +1 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js +59 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js.map +1 -0
- package/lib/common/features/popup/popup-model-factory.d.ts +36 -0
- package/lib/common/features/popup/popup-model-factory.d.ts.map +1 -0
- package/lib/common/features/popup/popup-model-factory.js +20 -0
- package/lib/common/features/popup/popup-model-factory.js.map +1 -0
- package/lib/common/features/popup/request-popup-model-action-handler.d.ts +31 -0
- package/lib/common/features/popup/request-popup-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/popup/request-popup-model-action-handler.js +77 -0
- package/lib/common/features/popup/request-popup-model-action-handler.js.map +1 -0
- package/lib/common/features/validation/model-validator.d.ts +33 -0
- package/lib/common/features/validation/model-validator.d.ts.map +1 -0
- package/lib/common/features/validation/model-validator.js +5 -0
- package/lib/common/features/validation/model-validator.js.map +1 -0
- package/lib/common/features/validation/request-markers-handler.d.ts +11 -0
- package/lib/common/features/validation/request-markers-handler.d.ts.map +1 -0
- package/lib/common/features/validation/request-markers-handler.js +70 -0
- package/lib/common/features/validation/request-markers-handler.js.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts +8 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.js +46 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.js.map +1 -0
- package/lib/common/gmodel/change-bounds-operation-handler.d.ts +13 -0
- package/lib/common/gmodel/change-bounds-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/change-bounds-operation-handler.js +71 -0
- package/lib/common/gmodel/change-bounds-operation-handler.js.map +1 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.d.ts +24 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.js +50 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.js.map +1 -0
- package/lib/common/gmodel/cut-operation-handler.d.ts +26 -0
- package/lib/common/gmodel/cut-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/cut-operation-handler.js +55 -0
- package/lib/common/gmodel/cut-operation-handler.js.map +1 -0
- package/lib/common/gmodel/delete-operation-handler.d.ts +32 -0
- package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/delete-operation-handler.js +119 -0
- package/lib/common/gmodel/delete-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts +35 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.js +64 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +58 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js +100 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-diagram-module.d.ts +31 -0
- package/lib/common/gmodel/gmodel-diagram-module.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-diagram-module.js +80 -0
- package/lib/common/gmodel/gmodel-diagram-module.js.map +1 -0
- package/lib/common/gmodel/gmodel-operation-handler.d.ts +23 -0
- package/lib/common/gmodel/gmodel-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-operation-handler.js +43 -0
- package/lib/common/gmodel/gmodel-operation-handler.js.map +1 -0
- package/lib/common/gmodel/index.d.ts +27 -0
- package/lib/common/gmodel/index.d.ts.map +1 -0
- package/lib/common/gmodel/index.js +43 -0
- package/lib/common/gmodel/index.js.map +1 -0
- package/lib/common/gmodel/paste-operation-handler.d.ts +36 -0
- package/lib/common/gmodel/paste-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/paste-operation-handler.js +136 -0
- package/lib/common/gmodel/paste-operation-handler.js.map +1 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts +9 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.js +64 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.js.map +1 -0
- package/lib/common/index.d.ts +89 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +105 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/launch/glsp-server-launcher.d.ts +34 -0
- package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -0
- package/lib/common/launch/glsp-server-launcher.js +64 -0
- package/lib/common/launch/glsp-server-launcher.js.map +1 -0
- package/lib/common/operations/compound-operation-handler.d.ts +25 -0
- package/lib/common/operations/compound-operation-handler.d.ts.map +1 -0
- package/lib/common/operations/compound-operation-handler.js +82 -0
- package/lib/common/operations/compound-operation-handler.js.map +1 -0
- package/lib/common/operations/create-operation-handler.d.ts +32 -0
- package/lib/common/operations/create-operation-handler.d.ts.map +1 -0
- package/lib/common/operations/create-operation-handler.js +31 -0
- package/lib/common/operations/create-operation-handler.js.map +1 -0
- package/lib/common/operations/operation-action-handler.d.ts +42 -0
- package/lib/common/operations/operation-action-handler.d.ts.map +1 -0
- package/lib/common/operations/operation-action-handler.js +109 -0
- package/lib/common/operations/operation-action-handler.js.map +1 -0
- package/lib/common/operations/operation-handler-registry.d.ts +38 -0
- package/lib/common/operations/operation-handler-registry.d.ts.map +1 -0
- package/lib/common/operations/operation-handler-registry.js +87 -0
- package/lib/common/operations/operation-handler-registry.js.map +1 -0
- package/lib/common/operations/operation-handler-registry.spec.d.ts +2 -0
- package/lib/common/operations/operation-handler-registry.spec.d.ts.map +1 -0
- package/lib/common/operations/operation-handler-registry.spec.js +50 -0
- package/lib/common/operations/operation-handler-registry.spec.js.map +1 -0
- package/lib/common/operations/operation-handler.d.ts +67 -0
- package/lib/common/operations/operation-handler.d.ts.map +1 -0
- package/lib/common/operations/operation-handler.js +56 -0
- package/lib/common/operations/operation-handler.js.map +1 -0
- package/lib/common/protocol/glsp-client-proxy.d.ts +45 -0
- package/lib/common/protocol/glsp-client-proxy.d.ts.map +1 -0
- package/lib/common/protocol/glsp-client-proxy.js +53 -0
- package/lib/common/protocol/glsp-client-proxy.js.map +1 -0
- package/lib/common/protocol/glsp-server-listener.d.ts +37 -0
- package/lib/common/protocol/glsp-server-listener.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server-listener.js +5 -0
- package/lib/common/protocol/glsp-server-listener.js.map +1 -0
- package/lib/common/protocol/glsp-server.d.ts +150 -0
- package/lib/common/protocol/glsp-server.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server.js +188 -0
- package/lib/common/protocol/glsp-server.js.map +1 -0
- package/lib/common/protocol/glsp-server.spec.d.ts +2 -0
- package/lib/common/protocol/glsp-server.spec.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server.spec.js +119 -0
- package/lib/common/protocol/glsp-server.spec.js.map +1 -0
- package/lib/common/session/client-session-factory.d.ts +42 -0
- package/lib/common/session/client-session-factory.d.ts.map +1 -0
- package/lib/common/session/client-session-factory.js +54 -0
- package/lib/common/session/client-session-factory.js.map +1 -0
- package/lib/common/session/client-session-factory.spec.d.ts +2 -0
- package/lib/common/session/client-session-factory.spec.d.ts.map +1 -0
- package/lib/common/session/client-session-factory.spec.js +56 -0
- package/lib/common/session/client-session-factory.spec.js.map +1 -0
- package/lib/common/session/client-session-initializer.d.ts +26 -0
- package/lib/common/session/client-session-initializer.d.ts.map +1 -0
- package/lib/common/session/client-session-initializer.js +5 -0
- package/lib/common/session/client-session-initializer.js.map +1 -0
- package/lib/common/session/client-session-listener.d.ts +40 -0
- package/lib/common/session/client-session-listener.d.ts.map +1 -0
- package/lib/common/session/client-session-listener.js +3 -0
- package/lib/common/session/client-session-listener.js.map +1 -0
- package/lib/common/session/client-session-manager.d.ts +102 -0
- package/lib/common/session/client-session-manager.d.ts.map +1 -0
- package/lib/common/session/client-session-manager.js +116 -0
- package/lib/common/session/client-session-manager.js.map +1 -0
- package/lib/common/session/client-session-manager.spec.d.ts +2 -0
- package/lib/common/session/client-session-manager.spec.d.ts.map +1 -0
- package/lib/common/session/client-session-manager.spec.js +74 -0
- package/lib/common/session/client-session-manager.spec.js.map +1 -0
- package/lib/common/session/client-session.d.ts +52 -0
- package/lib/common/session/client-session.d.ts.map +1 -0
- package/lib/common/session/client-session.js +34 -0
- package/lib/common/session/client-session.js.map +1 -0
- package/lib/common/test/mock-util.d.ts +117 -0
- package/lib/common/test/mock-util.d.ts.map +1 -0
- package/lib/common/test/mock-util.js +194 -0
- package/lib/common/test/mock-util.js.map +1 -0
- package/lib/common/utils/args-util.d.ts +38 -0
- package/lib/common/utils/args-util.d.ts.map +1 -0
- package/lib/common/utils/args-util.js +81 -0
- package/lib/common/utils/args-util.js.map +1 -0
- package/lib/common/utils/client-options-util.d.ts +20 -0
- package/lib/common/utils/client-options-util.d.ts.map +1 -0
- package/lib/common/utils/client-options-util.js +26 -0
- package/lib/common/utils/client-options-util.js.map +1 -0
- package/lib/common/utils/glsp-server-error.d.ts +21 -0
- package/lib/common/utils/glsp-server-error.d.ts.map +1 -0
- package/lib/common/utils/glsp-server-error.js +33 -0
- package/lib/common/utils/glsp-server-error.js.map +1 -0
- package/lib/common/utils/layout-util.d.ts +74 -0
- package/lib/common/utils/layout-util.d.ts.map +1 -0
- package/lib/common/utils/layout-util.js +166 -0
- package/lib/common/utils/layout-util.js.map +1 -0
- package/lib/common/utils/logger.d.ts +27 -0
- package/lib/common/utils/logger.d.ts.map +1 -0
- package/lib/common/utils/logger.js +67 -0
- package/lib/common/utils/logger.js.map +1 -0
- package/lib/common/utils/promise-queue.d.ts +48 -0
- package/lib/common/utils/promise-queue.d.ts.map +1 -0
- package/lib/common/utils/promise-queue.js +93 -0
- package/lib/common/utils/promise-queue.js.map +1 -0
- package/lib/common/utils/promise-queue.spec.d.ts +2 -0
- package/lib/common/utils/promise-queue.spec.d.ts.map +1 -0
- package/lib/common/utils/promise-queue.spec.js +117 -0
- package/lib/common/utils/promise-queue.spec.js.map +1 -0
- package/lib/common/utils/registry.d.ts +73 -0
- package/lib/common/utils/registry.d.ts.map +1 -0
- package/lib/common/utils/registry.js +160 -0
- package/lib/common/utils/registry.js.map +1 -0
- package/lib/common/utils/registry.spec.d.ts +2 -0
- package/lib/common/utils/registry.spec.d.ts.map +1 -0
- package/lib/common/utils/registry.spec.js +199 -0
- package/lib/common/utils/registry.spec.js.map +1 -0
- package/lib/node/abstract-json-model-storage.d.ts +45 -0
- package/lib/node/abstract-json-model-storage.d.ts.map +1 -0
- package/lib/node/abstract-json-model-storage.js +103 -0
- package/lib/node/abstract-json-model-storage.js.map +1 -0
- package/lib/node/di/app-module.d.ts +36 -0
- package/lib/node/di/app-module.d.ts.map +1 -0
- package/lib/node/di/app-module.js +91 -0
- package/lib/node/di/app-module.js.map +1 -0
- package/lib/node/di/winston-logger.d.ts +32 -0
- package/lib/node/di/winston-logger.d.ts.map +1 -0
- package/lib/node/di/winston-logger.js +57 -0
- package/lib/node/di/winston-logger.js.map +1 -0
- package/lib/node/gmodel/gmodel-storage.d.ts +34 -0
- package/lib/node/gmodel/gmodel-storage.d.ts.map +1 -0
- package/lib/node/gmodel/gmodel-storage.js +68 -0
- package/lib/node/gmodel/gmodel-storage.js.map +1 -0
- package/lib/node/index.d.ts +24 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +40 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/launch/cli-parser.d.ts +34 -0
- package/lib/node/launch/cli-parser.d.ts.map +1 -0
- package/lib/node/launch/cli-parser.js +71 -0
- package/lib/node/launch/cli-parser.js.map +1 -0
- package/lib/node/launch/cli-parser.spec.d.ts +2 -0
- package/lib/node/launch/cli-parser.spec.d.ts.map +1 -0
- package/lib/node/launch/cli-parser.spec.js +56 -0
- package/lib/node/launch/cli-parser.spec.js.map +1 -0
- package/lib/node/launch/socket-cli-parser.d.ts +9 -0
- package/lib/node/launch/socket-cli-parser.d.ts.map +1 -0
- package/lib/node/launch/socket-cli-parser.js +43 -0
- package/lib/node/launch/socket-cli-parser.js.map +1 -0
- package/lib/node/launch/socket-cli-parser.spec.d.ts +2 -0
- package/lib/node/launch/socket-cli-parser.spec.d.ts.map +1 -0
- package/lib/node/launch/socket-cli-parser.spec.js +66 -0
- package/lib/node/launch/socket-cli-parser.spec.js.map +1 -0
- package/lib/node/launch/socket-server-launcher.d.ts +34 -0
- package/lib/node/launch/socket-server-launcher.d.ts.map +1 -0
- package/lib/node/launch/socket-server-launcher.js +104 -0
- package/lib/node/launch/socket-server-launcher.js.map +1 -0
- package/lib/node/launch/socket-server-launcher.spec.d.ts +17 -0
- package/lib/node/launch/socket-server-launcher.spec.d.ts.map +1 -0
- package/lib/node/launch/socket-server-launcher.spec.js +70 -0
- package/lib/node/launch/socket-server-launcher.spec.js.map +1 -0
- package/node.d.ts +16 -0
- package/node.js +18 -0
- package/package.json +77 -0
- package/src/browser/di/app-module.ts +55 -0
- package/src/browser/di/console-logger.ts +71 -0
- package/src/browser/index.ts +19 -0
- package/src/browser/launch/worker-server-launcher.ts +58 -0
- package/src/common/actions/action-dispatcher.spec.ts +290 -0
- package/src/common/actions/action-dispatcher.ts +152 -0
- package/src/common/actions/action-handler-registry.spec.ts +52 -0
- package/src/common/actions/action-handler-registry.ts +60 -0
- package/src/common/actions/action-handler.ts +62 -0
- package/src/common/actions/client-action-handler.ts +50 -0
- package/src/common/actions/global-action-provider.spec.ts +79 -0
- package/src/common/actions/global-action-provider.ts +72 -0
- package/src/common/command/command-stack.spec.ts +239 -0
- package/src/common/command/command-stack.ts +159 -0
- package/src/common/command/command.spec.ts +93 -0
- package/src/common/command/command.ts +124 -0
- package/src/common/command/recording-command.spec.ts +74 -0
- package/src/common/command/recording-command.ts +119 -0
- package/src/common/command/undo-redo-action-handler.ts +57 -0
- package/src/common/di/binding-target.spec.ts +147 -0
- package/src/common/di/binding-target.ts +188 -0
- package/src/common/di/client-session-module.ts +29 -0
- package/src/common/di/diagram-module.ts +410 -0
- package/src/common/di/glsp-module.ts +66 -0
- package/src/common/di/multi-binding.ts +89 -0
- package/src/common/di/multi-bindings.spec.ts +133 -0
- package/src/common/di/server-module.ts +131 -0
- package/src/common/di/service-identifiers.ts +39 -0
- package/src/common/diagram/diagram-configuration.ts +97 -0
- package/src/common/diagram/request-type-hints-action-handler.spec.ts +59 -0
- package/src/common/diagram/request-type-hints-action-handler.ts +36 -0
- package/src/common/features/clipboard/request-clipboard-data-action-handler.ts +51 -0
- package/src/common/features/contextactions/command-palette-action-provider.ts +94 -0
- package/src/common/features/contextactions/context-actions-provider-registry.spec.ts +69 -0
- package/src/common/features/contextactions/context-actions-provider-registry.ts +47 -0
- package/src/common/features/contextactions/context-actions-provider.ts +36 -0
- package/src/common/features/contextactions/context-menu-item-provider.ts +52 -0
- package/src/common/features/contextactions/request-context-actions-handler.spec.ts +75 -0
- package/src/common/features/contextactions/request-context-actions-handler.ts +37 -0
- package/src/common/features/contextactions/tool-palette-item-provider.spec.ts +46 -0
- package/src/common/features/contextactions/tool-palette-item-provider.ts +88 -0
- package/src/common/features/directediting/context-edit-validator-registry.spec.ts +54 -0
- package/src/common/features/directediting/context-edit-validator-registry.ts +43 -0
- package/src/common/features/directediting/context-edit-validator.ts +55 -0
- package/src/common/features/directediting/label-edit-validator.ts +35 -0
- package/src/common/features/directediting/request-edit-validation-handler.spec.ts +131 -0
- package/src/common/features/directediting/request-edit-validation-handler.ts +43 -0
- package/src/common/features/layout/computed-bounds-action-handler.ts +56 -0
- package/src/common/features/layout/layout-engine.ts +31 -0
- package/src/common/features/layout/layout-operation-handler.ts +62 -0
- package/src/common/features/model/gmodel-factory.ts +60 -0
- package/src/common/features/model/gmodel-index.ts +195 -0
- package/src/common/features/model/gmodel-serializer.spec.ts +141 -0
- package/src/common/features/model/gmodel-serializer.ts +175 -0
- package/src/common/features/model/model-state.ts +98 -0
- package/src/common/features/model/model-submission-handler.ts +110 -0
- package/src/common/features/model/request-model-action-handler.ts +67 -0
- package/src/common/features/model/save-model-action-handler.ts +37 -0
- package/src/common/features/model/source-model-storage.ts +49 -0
- package/src/common/features/navigation/json-opener-options.ts +69 -0
- package/src/common/features/navigation/navigation-target-provider-registry.ts +36 -0
- package/src/common/features/navigation/navigation-target-provider.ts +50 -0
- package/src/common/features/navigation/navigation-target-resolution.ts +22 -0
- package/src/common/features/navigation/navigation-target-resolver.ts +61 -0
- package/src/common/features/navigation/request-navigation-targets-action-handler.ts +39 -0
- package/src/common/features/navigation/resolve-navigation-targets-action-handler.ts +42 -0
- package/src/common/features/popup/popup-model-factory.ts +38 -0
- package/src/common/features/popup/request-popup-model-action-handler.ts +60 -0
- package/src/common/features/validation/model-validator.ts +34 -0
- package/src/common/features/validation/request-markers-handler.ts +51 -0
- package/src/common/gmodel/README.md +7 -0
- package/src/common/gmodel/apply-label-edit-operation-handler.ts +36 -0
- package/src/common/gmodel/change-bounds-operation-handler.ts +62 -0
- package/src/common/gmodel/change-routing-points-operation-handler.ts +40 -0
- package/src/common/gmodel/cut-operation-handler.ts +39 -0
- package/src/common/gmodel/delete-operation-handler.ts +121 -0
- package/src/common/gmodel/gmodel-create-edge-operation-handler.ts +64 -0
- package/src/common/gmodel/gmodel-create-node-operation-handler.ts +95 -0
- package/src/common/gmodel/gmodel-diagram-module.ts +76 -0
- package/src/common/gmodel/gmodel-operation-handler.ts +31 -0
- package/src/common/gmodel/index.ts +27 -0
- package/src/common/gmodel/paste-operation-handler.ts +127 -0
- package/src/common/gmodel/reconnect-edge-operation-handler.ts +56 -0
- package/src/common/index.ts +89 -0
- package/src/common/launch/glsp-server-launcher.ts +70 -0
- package/src/common/operations/compound-operation-handler.ts +40 -0
- package/src/common/operations/create-operation-handler.ts +49 -0
- package/src/common/operations/operation-action-handler.ts +93 -0
- package/src/common/operations/operation-handler-registry.spec.ts +50 -0
- package/src/common/operations/operation-handler-registry.ts +66 -0
- package/src/common/operations/operation-handler.ts +82 -0
- package/src/common/protocol/glsp-client-proxy.ts +65 -0
- package/src/common/protocol/glsp-server-listener.ts +39 -0
- package/src/common/protocol/glsp-server.spec.ts +150 -0
- package/src/common/protocol/glsp-server.ts +320 -0
- package/src/common/session/client-session-factory.spec.ts +60 -0
- package/src/common/session/client-session-factory.ts +70 -0
- package/src/common/session/client-session-initializer.ts +27 -0
- package/src/common/session/client-session-listener.ts +41 -0
- package/src/common/session/client-session-manager.spec.ts +82 -0
- package/src/common/session/client-session-manager.ts +182 -0
- package/src/common/session/client-session.ts +62 -0
- package/src/common/test/mock-util.ts +241 -0
- package/src/common/utils/args-util.ts +98 -0
- package/src/common/utils/client-options-util.ts +22 -0
- package/src/common/utils/glsp-server-error.ts +27 -0
- package/src/common/utils/layout-util.ts +164 -0
- package/src/common/utils/logger.ts +72 -0
- package/src/common/utils/promise-queue.spec.ts +138 -0
- package/src/common/utils/promise-queue.ts +103 -0
- package/src/common/utils/registry.spec.ts +223 -0
- package/src/common/utils/registry.ts +154 -0
- package/src/node/abstract-json-model-storage.ts +114 -0
- package/src/node/di/app-module.ts +102 -0
- package/src/node/di/winston-logger.ts +76 -0
- package/src/node/gmodel/gmodel-storage.ts +53 -0
- package/src/node/index.ts +23 -0
- package/src/node/launch/cli-parser.spec.ts +61 -0
- package/src/node/launch/cli-parser.ts +86 -0
- package/src/node/launch/socket-cli-parser.spec.ts +73 -0
- package/src/node/launch/socket-cli-parser.ts +52 -0
- package/src/node/launch/socket-server-launcher.spec.ts +68 -0
- package/src/node/launch/socket-server-launcher.ts +90 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { GEdge, GModelElement, GModelElementConstructor, GModelRoot, GNode } from '@eclipse-glsp/graph';
|
|
17
|
+
import { TypeGuard } from '@eclipse-glsp/protocol';
|
|
18
|
+
/**
|
|
19
|
+
* Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
|
|
20
|
+
* of query methods to retrieve indexed elements.
|
|
21
|
+
*/
|
|
22
|
+
export declare class GModelIndex {
|
|
23
|
+
protected idToElement: Map<string, GModelElement>;
|
|
24
|
+
protected typeToElements: Map<string, GModelElement[]>;
|
|
25
|
+
constructor();
|
|
26
|
+
clear(): void;
|
|
27
|
+
indexRoot(root: GModelRoot): void;
|
|
28
|
+
protected doIndex(element: GModelElement): void;
|
|
29
|
+
find(elementId: string, predicate?: (test: GModelElement) => boolean): GModelElement | undefined;
|
|
30
|
+
findByClass<G extends GModelElement>(elementTypeId: string, constructor: GModelElementConstructor<G>): G | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Returns an optional {@link GModelElement} by its elementId.
|
|
33
|
+
*
|
|
34
|
+
* @param elementId The id of the requested {@link GModelElement}.
|
|
35
|
+
* @returns An optional instance of the {@link GModelElement}.
|
|
36
|
+
*/
|
|
37
|
+
get(elementId: string): GModelElement;
|
|
38
|
+
/**
|
|
39
|
+
* Returns a set of {@link GModelElement} instances by a Collection of elementIds.
|
|
40
|
+
*
|
|
41
|
+
* @param elementIds The ids to request the {@link GModelElement} from an array of elementIds.
|
|
42
|
+
* @returns A set of {@link GModelElement}s.
|
|
43
|
+
*/
|
|
44
|
+
getAll(elementIds: string[]): GModelElement[];
|
|
45
|
+
/**
|
|
46
|
+
* Returns all elements of the type constructor contained in the {@link GModelRoot}.
|
|
47
|
+
*
|
|
48
|
+
* @type Type of the elements to be returned.
|
|
49
|
+
* @param constructor The class of which the returned elements should be instances.
|
|
50
|
+
* @returns A set containing the elements of type constructor.
|
|
51
|
+
*/
|
|
52
|
+
getAllByClass<G extends GModelElement>(constructor: GModelElementConstructor<G>): G[];
|
|
53
|
+
/**
|
|
54
|
+
* Returns a list of all {@link GModelElement} ids contained in this instance of the GModelIndex.
|
|
55
|
+
*
|
|
56
|
+
* @returns A list of elementIds.
|
|
57
|
+
*/
|
|
58
|
+
allIds(): string[];
|
|
59
|
+
/**
|
|
60
|
+
* Returns all elements of a type {@link GModelRoot}.
|
|
61
|
+
*
|
|
62
|
+
* @param type Type of the elements to be returned.
|
|
63
|
+
* @returns A set containing the elements of the given type.
|
|
64
|
+
*/
|
|
65
|
+
getElements(type: string): GModelElement[];
|
|
66
|
+
/**
|
|
67
|
+
* Returns the current amount of type occurrences in this instance of the GModelIndex.
|
|
68
|
+
*
|
|
69
|
+
* @param eClass The EClass to be counted in this instance of the GModelIndex.
|
|
70
|
+
*
|
|
71
|
+
* @returns The amount of type occurrences.
|
|
72
|
+
*/
|
|
73
|
+
typeCount(type: string): number;
|
|
74
|
+
/**
|
|
75
|
+
* Returns all incoming edges for a node.
|
|
76
|
+
*
|
|
77
|
+
* @param node The node where the edges are connected.
|
|
78
|
+
*
|
|
79
|
+
* @returns All incoming edges.
|
|
80
|
+
*/
|
|
81
|
+
getIncomingEdges(node: GNode): GEdge[];
|
|
82
|
+
/**
|
|
83
|
+
* Returns all outgoing edges for a node.
|
|
84
|
+
*
|
|
85
|
+
* @param node The node where the edges are connected.
|
|
86
|
+
*
|
|
87
|
+
* @returns All outgoing edges.
|
|
88
|
+
*/
|
|
89
|
+
getOutgoingEdges(node: GModelElement): GEdge[];
|
|
90
|
+
/**
|
|
91
|
+
* Returns all edges in the index.
|
|
92
|
+
*
|
|
93
|
+
* @returns All edges in the index.
|
|
94
|
+
*/
|
|
95
|
+
getAllEdges(): GEdge[];
|
|
96
|
+
/**
|
|
97
|
+
* Returns the first element matching the given {@link TypeGuard} starting element with the
|
|
98
|
+
* given id and walking up the parent hierarchy.
|
|
99
|
+
*
|
|
100
|
+
* @param elementId The element to start the search from
|
|
101
|
+
* @param guard The typeguard which the element should match
|
|
102
|
+
* @return The first matching element or `undefined`.
|
|
103
|
+
*/
|
|
104
|
+
findParentElement<T extends GModelElement>(elementId: string, guard: TypeGuard<T>): T | undefined;
|
|
105
|
+
protected _findElement<T>(element: GModelElement, guard: TypeGuard<T>): T | undefined;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=gmodel-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmodel-index.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;;GAGG;AACH,qBACa,WAAW;IACpB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;;IAOvD,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAiB/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAAG,aAAa,GAAG,SAAS;IAQhG,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAQpH;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAI7C;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAIrF;;;;OAIG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAI1C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE;IAItC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;OAIG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAKjG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;CAYxF"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GModelIndex = void 0;
|
|
13
|
+
/********************************************************************************
|
|
14
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
15
|
+
*
|
|
16
|
+
* This program and the accompanying materials are made available under the
|
|
17
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
18
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
19
|
+
*
|
|
20
|
+
* This Source Code may also be made available under the following Secondary
|
|
21
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
22
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
23
|
+
* with the GNU Classpath Exception which is available at
|
|
24
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
25
|
+
*
|
|
26
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
|
+
********************************************************************************/
|
|
28
|
+
const graph_1 = require("@eclipse-glsp/graph");
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
const glsp_server_error_1 = require("../../utils/glsp-server-error");
|
|
31
|
+
/**
|
|
32
|
+
* Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
|
|
33
|
+
* of query methods to retrieve indexed elements.
|
|
34
|
+
*/
|
|
35
|
+
let GModelIndex = class GModelIndex {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.idToElement = new Map();
|
|
38
|
+
this.typeToElements = new Map();
|
|
39
|
+
}
|
|
40
|
+
clear() {
|
|
41
|
+
this.idToElement.clear();
|
|
42
|
+
this.typeToElements.clear();
|
|
43
|
+
}
|
|
44
|
+
indexRoot(root) {
|
|
45
|
+
this.clear();
|
|
46
|
+
this.doIndex(root);
|
|
47
|
+
}
|
|
48
|
+
doIndex(element) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
if (this.idToElement.has(element.id)) {
|
|
51
|
+
throw new glsp_server_error_1.GLSPServerError('Duplicate ID in model: ' + element.id);
|
|
52
|
+
}
|
|
53
|
+
this.idToElement.set(element.id, element);
|
|
54
|
+
const typeSet = (_a = this.typeToElements.get(element.type)) !== null && _a !== void 0 ? _a : [];
|
|
55
|
+
typeSet.push(element);
|
|
56
|
+
this.typeToElements.set(element.type, typeSet);
|
|
57
|
+
((_b = element.children) !== null && _b !== void 0 ? _b : []).forEach(child => {
|
|
58
|
+
this.doIndex(child);
|
|
59
|
+
// Double check wether the parent reference of the child is set correctly
|
|
60
|
+
if (!child.parent) {
|
|
61
|
+
child.parent = element;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
find(elementId, predicate) {
|
|
66
|
+
const element = this.idToElement.get(elementId);
|
|
67
|
+
if (element && predicate ? predicate(element) : true) {
|
|
68
|
+
return element;
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
findByClass(elementTypeId, constructor) {
|
|
73
|
+
const element = this.find(elementTypeId);
|
|
74
|
+
if (element && element instanceof constructor) {
|
|
75
|
+
return element;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns an optional {@link GModelElement} by its elementId.
|
|
81
|
+
*
|
|
82
|
+
* @param elementId The id of the requested {@link GModelElement}.
|
|
83
|
+
* @returns An optional instance of the {@link GModelElement}.
|
|
84
|
+
*/
|
|
85
|
+
get(elementId) {
|
|
86
|
+
return (0, glsp_server_error_1.getOrThrow)(this.find(elementId), `Could not retrieve element with id: '${elementId}'`);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns a set of {@link GModelElement} instances by a Collection of elementIds.
|
|
90
|
+
*
|
|
91
|
+
* @param elementIds The ids to request the {@link GModelElement} from an array of elementIds.
|
|
92
|
+
* @returns A set of {@link GModelElement}s.
|
|
93
|
+
*/
|
|
94
|
+
getAll(elementIds) {
|
|
95
|
+
return elementIds.map(id => this.idToElement.get(id)).filter(element => element);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns all elements of the type constructor contained in the {@link GModelRoot}.
|
|
99
|
+
*
|
|
100
|
+
* @type Type of the elements to be returned.
|
|
101
|
+
* @param constructor The class of which the returned elements should be instances.
|
|
102
|
+
* @returns A set containing the elements of type constructor.
|
|
103
|
+
*/
|
|
104
|
+
getAllByClass(constructor) {
|
|
105
|
+
return Array.from(this.idToElement.values()).filter(element => element instanceof constructor);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns a list of all {@link GModelElement} ids contained in this instance of the GModelIndex.
|
|
109
|
+
*
|
|
110
|
+
* @returns A list of elementIds.
|
|
111
|
+
*/
|
|
112
|
+
allIds() {
|
|
113
|
+
return Array.from(this.idToElement.keys());
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Returns all elements of a type {@link GModelRoot}.
|
|
117
|
+
*
|
|
118
|
+
* @param type Type of the elements to be returned.
|
|
119
|
+
* @returns A set containing the elements of the given type.
|
|
120
|
+
*/
|
|
121
|
+
getElements(type) {
|
|
122
|
+
var _a;
|
|
123
|
+
return (_a = this.typeToElements.get(type)) !== null && _a !== void 0 ? _a : [];
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Returns the current amount of type occurrences in this instance of the GModelIndex.
|
|
127
|
+
*
|
|
128
|
+
* @param eClass The EClass to be counted in this instance of the GModelIndex.
|
|
129
|
+
*
|
|
130
|
+
* @returns The amount of type occurrences.
|
|
131
|
+
*/
|
|
132
|
+
typeCount(type) {
|
|
133
|
+
return this.getElements(type).length;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Returns all incoming edges for a node.
|
|
137
|
+
*
|
|
138
|
+
* @param node The node where the edges are connected.
|
|
139
|
+
*
|
|
140
|
+
* @returns All incoming edges.
|
|
141
|
+
*/
|
|
142
|
+
getIncomingEdges(node) {
|
|
143
|
+
return this.getAllEdges().filter(edge => edge.targetId === node.id);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Returns all outgoing edges for a node.
|
|
147
|
+
*
|
|
148
|
+
* @param node The node where the edges are connected.
|
|
149
|
+
*
|
|
150
|
+
* @returns All outgoing edges.
|
|
151
|
+
*/
|
|
152
|
+
getOutgoingEdges(node) {
|
|
153
|
+
return this.getAllEdges().filter(edge => edge.sourceId === node.id);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Returns all edges in the index.
|
|
157
|
+
*
|
|
158
|
+
* @returns All edges in the index.
|
|
159
|
+
*/
|
|
160
|
+
getAllEdges() {
|
|
161
|
+
return this.getAllByClass(graph_1.GEdge);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Returns the first element matching the given {@link TypeGuard} starting element with the
|
|
165
|
+
* given id and walking up the parent hierarchy.
|
|
166
|
+
*
|
|
167
|
+
* @param elementId The element to start the search from
|
|
168
|
+
* @param guard The typeguard which the element should match
|
|
169
|
+
* @return The first matching element or `undefined`.
|
|
170
|
+
*/
|
|
171
|
+
findParentElement(elementId, guard) {
|
|
172
|
+
const element = this.get(elementId);
|
|
173
|
+
return element ? this._findElement(element, guard) : undefined;
|
|
174
|
+
}
|
|
175
|
+
_findElement(element, guard) {
|
|
176
|
+
if (!element) {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
if (guard(element)) {
|
|
180
|
+
return element;
|
|
181
|
+
}
|
|
182
|
+
if (element instanceof graph_1.GModelRoot) {
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
return this._findElement(element.parent, guard);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
GModelIndex = __decorate([
|
|
189
|
+
(0, inversify_1.injectable)(),
|
|
190
|
+
__metadata("design:paramtypes", [])
|
|
191
|
+
], GModelIndex);
|
|
192
|
+
exports.GModelIndex = GModelIndex;
|
|
193
|
+
//# sourceMappingURL=gmodel-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmodel-index.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2017-2023 TypeFox and other
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { GModelElement, GModelElementConstructor, GModelElementSchema, GModelRoot, GModelRootSchema } from '@eclipse-glsp/graph';
|
|
17
|
+
import { SModelElementSchema, SModelRootSchema } from '@eclipse-glsp/protocol';
|
|
18
|
+
import { DiagramConfiguration } from '../../diagram/diagram-configuration';
|
|
19
|
+
export declare const GModelSerializer: unique symbol;
|
|
20
|
+
/**
|
|
21
|
+
* The `GModelSerializer` is used to transform a graphical model received as serializable JSON schema into the ES6-class based
|
|
22
|
+
* model representation and vice versa. It has to be invoked for whenever a graphical model is received in JSON format
|
|
23
|
+
* (i.e. by the GLSP client) to derive the corresponding class based model which is used internally by the GLSP server. In addition,
|
|
24
|
+
* it has to be invoked before the graphical model is sent based to the client. This is necessary to resolve the parent-child cycles
|
|
25
|
+
* inside of the graphical model which ensures that the model is serializable.
|
|
26
|
+
*/
|
|
27
|
+
export interface GModelSerializer {
|
|
28
|
+
/**
|
|
29
|
+
* Transform the given {@link GModelRootSchema} into its {@link GModelRoot} representation.
|
|
30
|
+
* @throws An error if the received element cannot be transformed into a {@link GModelRoot}.
|
|
31
|
+
* @param schema The root schema that should be transformed.
|
|
32
|
+
* @returns The transformed {@link GModelRoot}.
|
|
33
|
+
*/
|
|
34
|
+
createRoot(schema: GModelRootSchema): GModelRoot;
|
|
35
|
+
/**
|
|
36
|
+
* Transform the given {@link GModelRootSchema} into its {@link GModelElement} representation.
|
|
37
|
+
* @throws An error if the received element cannot be transformed into a {@link GModelElement}.
|
|
38
|
+
* @param schema The element schema that should be transformed.
|
|
39
|
+
* @returns The transformed {@link GModelElement}.
|
|
40
|
+
*/
|
|
41
|
+
createElement(schema: GModelElementSchema, parent?: GModelElement): GModelElement;
|
|
42
|
+
/**
|
|
43
|
+
* Transforms the given {@link GModelElement} into its serializable {@link GModelElementSchema} representation.
|
|
44
|
+
* @param element The element that should be serialized.
|
|
45
|
+
* @returns The transformed {@link GModelElementSchema}.
|
|
46
|
+
*/
|
|
47
|
+
createSchema(element: GModelElement): GModelElementSchema;
|
|
48
|
+
/**
|
|
49
|
+
* The set of reserved property keys that should be excluded from serialization. Typically
|
|
50
|
+
* this set contains at least the `children` and `parent` keys to avoid parent-child cycles.
|
|
51
|
+
*/
|
|
52
|
+
reservedKeys: string[];
|
|
53
|
+
}
|
|
54
|
+
export declare class DefaultGModelSerializer implements GModelSerializer {
|
|
55
|
+
protected diagramConfiguration: DiagramConfiguration;
|
|
56
|
+
reservedKeys: string[];
|
|
57
|
+
createRoot(schema: SModelElementSchema): GModelRoot;
|
|
58
|
+
getConfiguredConstructor(schema: SModelElementSchema): GModelElementConstructor | undefined;
|
|
59
|
+
createElement(schema: SModelElementSchema, parent?: GModelElement): GModelElement;
|
|
60
|
+
createSchema(element: GModelElement): SModelElementSchema;
|
|
61
|
+
protected initializeRoot(root: GModelRoot, schema: SModelRootSchema): GModelRoot;
|
|
62
|
+
protected initializeElement(element: GModelElement, schema: SModelElementSchema): GModelElement;
|
|
63
|
+
protected initializeChild(child: GModelElement, schema: SModelElementSchema, parent?: GModelElement): GModelElement;
|
|
64
|
+
protected initializeParent(parent: GModelElement, schema: SModelElementSchema): GModelElement;
|
|
65
|
+
protected isReserved(element: GModelElement, propertyName: string): boolean;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=gmodel-serializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmodel-serializer.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACjI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAEjD;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAElF;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAAC;IAE1D;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBACa,uBAAwB,YAAW,gBAAgB;IAC9B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAEnF,YAAY,WAAuD;IACnE,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU;IAYnD,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,wBAAwB,GAAG,SAAS;IAkB3F,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa;IAcjF,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB;IAezD,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAKhF,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAY/F,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa;IAQnH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAS7F,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;CAc9E"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DefaultGModelSerializer = exports.GModelSerializer = void 0;
|
|
13
|
+
/********************************************************************************
|
|
14
|
+
* Copyright (c) 2017-2023 TypeFox and other
|
|
15
|
+
*
|
|
16
|
+
* This program and the accompanying materials are made available under the
|
|
17
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
18
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
19
|
+
*
|
|
20
|
+
* This Source Code may also be made available under the following Secondary
|
|
21
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
22
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
23
|
+
* with the GNU Classpath Exception which is available at
|
|
24
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
25
|
+
*
|
|
26
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
|
+
********************************************************************************/
|
|
28
|
+
/* Derived from sprotty (https://github.com/eclipse/sprotty/blob/master/packages/sprotty/src/base/model/smodel-factory.ts) */
|
|
29
|
+
const graph_1 = require("@eclipse-glsp/graph");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const diagram_configuration_1 = require("../../diagram/diagram-configuration");
|
|
32
|
+
const glsp_server_error_1 = require("../../utils/glsp-server-error");
|
|
33
|
+
exports.GModelSerializer = Symbol('GModelSerializer');
|
|
34
|
+
let DefaultGModelSerializer = class DefaultGModelSerializer {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.reservedKeys = ['children', 'parent', 'index', 'source', 'target'];
|
|
37
|
+
}
|
|
38
|
+
createRoot(schema) {
|
|
39
|
+
const constructor = this.getConfiguredConstructor(schema);
|
|
40
|
+
if (constructor) {
|
|
41
|
+
const element = new constructor();
|
|
42
|
+
if (!(element instanceof graph_1.GModelRoot)) {
|
|
43
|
+
throw new glsp_server_error_1.GLSPServerError(`Element with type '${schema.type}' is expected to be a GModelRoot!`);
|
|
44
|
+
}
|
|
45
|
+
return this.initializeRoot(element, schema);
|
|
46
|
+
}
|
|
47
|
+
throw new glsp_server_error_1.GLSPServerError(`No constructor is configured in DiagramConfiguration for type ${schema.type}`);
|
|
48
|
+
}
|
|
49
|
+
getConfiguredConstructor(schema) {
|
|
50
|
+
let key = schema.type;
|
|
51
|
+
while (!this.diagramConfiguration.typeMapping.has(key)) {
|
|
52
|
+
const i = key.lastIndexOf(':');
|
|
53
|
+
if (i > 0) {
|
|
54
|
+
key = key.substring(0, i);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const constructor = this.diagramConfiguration.typeMapping.get(key);
|
|
61
|
+
if (key !== schema.type) {
|
|
62
|
+
this.diagramConfiguration.typeMapping.set(key, constructor);
|
|
63
|
+
}
|
|
64
|
+
return constructor;
|
|
65
|
+
}
|
|
66
|
+
createElement(schema, parent) {
|
|
67
|
+
const constructor = this.getConfiguredConstructor(schema);
|
|
68
|
+
if (constructor) {
|
|
69
|
+
const element = new constructor();
|
|
70
|
+
if (element instanceof graph_1.GModelRoot) {
|
|
71
|
+
throw new glsp_server_error_1.GLSPServerError(`Element with type '${schema.type}' is a GModelRoot! 'createElement()' is expected to only create child elements!`);
|
|
72
|
+
}
|
|
73
|
+
return this.initializeChild(element, schema, parent);
|
|
74
|
+
}
|
|
75
|
+
throw new glsp_server_error_1.GLSPServerError(`No constructor is configured in DiagramConfiguration for type ${schema.type}`);
|
|
76
|
+
}
|
|
77
|
+
createSchema(element) {
|
|
78
|
+
var _a;
|
|
79
|
+
const schema = {};
|
|
80
|
+
for (const key in element) {
|
|
81
|
+
if (!this.isReserved(element, key)) {
|
|
82
|
+
const value = element[key];
|
|
83
|
+
if (typeof value !== 'function') {
|
|
84
|
+
schema[key] = value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
schema['children'] = ((_a = element.children) !== null && _a !== void 0 ? _a : []).map(child => this.createSchema(child));
|
|
89
|
+
return schema;
|
|
90
|
+
}
|
|
91
|
+
initializeRoot(root, schema) {
|
|
92
|
+
this.initializeParent(root, schema);
|
|
93
|
+
return root;
|
|
94
|
+
}
|
|
95
|
+
initializeElement(element, schema) {
|
|
96
|
+
for (const key in schema) {
|
|
97
|
+
if (!this.isReserved(element, key)) {
|
|
98
|
+
const value = schema[key];
|
|
99
|
+
if (typeof value !== 'function') {
|
|
100
|
+
element[key] = value;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return element;
|
|
105
|
+
}
|
|
106
|
+
initializeChild(child, schema, parent) {
|
|
107
|
+
this.initializeParent(child, schema);
|
|
108
|
+
if (parent) {
|
|
109
|
+
child.parent = parent;
|
|
110
|
+
}
|
|
111
|
+
return child;
|
|
112
|
+
}
|
|
113
|
+
initializeParent(parent, schema) {
|
|
114
|
+
this.initializeElement(parent, schema);
|
|
115
|
+
if (schema.children) {
|
|
116
|
+
parent.children = schema.children.map(childSchema => this.createElement(childSchema, parent));
|
|
117
|
+
}
|
|
118
|
+
return parent;
|
|
119
|
+
}
|
|
120
|
+
isReserved(element, propertyName) {
|
|
121
|
+
if (this.reservedKeys.indexOf(propertyName) >= 0) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
let obj = element;
|
|
125
|
+
do {
|
|
126
|
+
const descriptor = Object.getOwnPropertyDescriptor(obj, propertyName);
|
|
127
|
+
if (descriptor !== undefined) {
|
|
128
|
+
return descriptor.get !== undefined;
|
|
129
|
+
}
|
|
130
|
+
obj = Object.getPrototypeOf(obj);
|
|
131
|
+
} while (obj);
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
__decorate([
|
|
136
|
+
(0, inversify_1.inject)(diagram_configuration_1.DiagramConfiguration),
|
|
137
|
+
__metadata("design:type", Object)
|
|
138
|
+
], DefaultGModelSerializer.prototype, "diagramConfiguration", void 0);
|
|
139
|
+
DefaultGModelSerializer = __decorate([
|
|
140
|
+
(0, inversify_1.injectable)()
|
|
141
|
+
], DefaultGModelSerializer);
|
|
142
|
+
exports.DefaultGModelSerializer = DefaultGModelSerializer;
|
|
143
|
+
//# sourceMappingURL=gmodel-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmodel-serializer.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmodel-serializer.spec.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-serializer.spec.ts"],"names":[],"mappings":""}
|