@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.
Files changed (618) hide show
  1. package/LICENSE +642 -0
  2. package/README.md +8 -0
  3. package/browser.d.ts +16 -0
  4. package/browser.js +18 -0
  5. package/lib/browser/di/app-module.d.ts +24 -0
  6. package/lib/browser/di/app-module.d.ts.map +1 -0
  7. package/lib/browser/di/app-module.js +55 -0
  8. package/lib/browser/di/app-module.js.map +1 -0
  9. package/lib/browser/di/console-logger.d.ts +29 -0
  10. package/lib/browser/di/console-logger.d.ts.map +1 -0
  11. package/lib/browser/di/console-logger.js +81 -0
  12. package/lib/browser/di/console-logger.js.map +1 -0
  13. package/lib/browser/index.d.ts +20 -0
  14. package/lib/browser/index.d.ts.map +1 -0
  15. package/lib/browser/index.js +36 -0
  16. package/lib/browser/index.js.map +1 -0
  17. package/lib/browser/launch/worker-server-launcher.d.ts +26 -0
  18. package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -0
  19. package/lib/browser/launch/worker-server-launcher.js +65 -0
  20. package/lib/browser/launch/worker-server-launcher.js.map +1 -0
  21. package/lib/common/actions/action-dispatcher.d.ts +74 -0
  22. package/lib/common/actions/action-dispatcher.d.ts.map +1 -0
  23. package/lib/common/actions/action-dispatcher.js +128 -0
  24. package/lib/common/actions/action-dispatcher.js.map +1 -0
  25. package/lib/common/actions/action-dispatcher.spec.d.ts +2 -0
  26. package/lib/common/actions/action-dispatcher.spec.d.ts.map +1 -0
  27. package/lib/common/actions/action-dispatcher.spec.js +264 -0
  28. package/lib/common/actions/action-dispatcher.spec.js.map +1 -0
  29. package/lib/common/actions/action-handler-registry.d.ts +40 -0
  30. package/lib/common/actions/action-handler-registry.d.ts.map +1 -0
  31. package/lib/common/actions/action-handler-registry.js +65 -0
  32. package/lib/common/actions/action-handler-registry.js.map +1 -0
  33. package/lib/common/actions/action-handler-registry.spec.d.ts +2 -0
  34. package/lib/common/actions/action-handler-registry.spec.d.ts.map +1 -0
  35. package/lib/common/actions/action-handler-registry.spec.js +50 -0
  36. package/lib/common/actions/action-handler-registry.spec.js.map +1 -0
  37. package/lib/common/actions/action-handler.d.ts +55 -0
  38. package/lib/common/actions/action-handler.d.ts.map +1 -0
  39. package/lib/common/actions/action-handler.js +7 -0
  40. package/lib/common/actions/action-handler.js.map +1 -0
  41. package/lib/common/actions/client-action-handler.d.ts +30 -0
  42. package/lib/common/actions/client-action-handler.d.ts.map +1 -0
  43. package/lib/common/actions/client-action-handler.js +56 -0
  44. package/lib/common/actions/client-action-handler.js.map +1 -0
  45. package/lib/common/actions/global-action-provider.d.ts +30 -0
  46. package/lib/common/actions/global-action-provider.d.ts.map +1 -0
  47. package/lib/common/actions/global-action-provider.js +81 -0
  48. package/lib/common/actions/global-action-provider.js.map +1 -0
  49. package/lib/common/actions/global-action-provider.spec.d.ts +2 -0
  50. package/lib/common/actions/global-action-provider.spec.d.ts.map +1 -0
  51. package/lib/common/actions/global-action-provider.spec.js +70 -0
  52. package/lib/common/actions/global-action-provider.spec.js.map +1 -0
  53. package/lib/common/command/command-stack.d.ts +67 -0
  54. package/lib/common/command/command-stack.d.ts.map +1 -0
  55. package/lib/common/command/command-stack.js +117 -0
  56. package/lib/common/command/command-stack.js.map +1 -0
  57. package/lib/common/command/command-stack.spec.d.ts +2 -0
  58. package/lib/common/command/command-stack.spec.d.ts.map +1 -0
  59. package/lib/common/command/command-stack.spec.js +207 -0
  60. package/lib/common/command/command-stack.spec.js.map +1 -0
  61. package/lib/common/command/command.d.ts +63 -0
  62. package/lib/common/command/command.d.ts.map +1 -0
  63. package/lib/common/command/command.js +87 -0
  64. package/lib/common/command/command.js.map +1 -0
  65. package/lib/common/command/command.spec.d.ts +2 -0
  66. package/lib/common/command/command.spec.d.ts.map +1 -0
  67. package/lib/common/command/command.spec.js +86 -0
  68. package/lib/common/command/command.spec.js.map +1 -0
  69. package/lib/common/command/recording-command.d.ts +75 -0
  70. package/lib/common/command/recording-command.d.ts.map +1 -0
  71. package/lib/common/command/recording-command.js +99 -0
  72. package/lib/common/command/recording-command.js.map +1 -0
  73. package/lib/common/command/recording-command.spec.d.ts +17 -0
  74. package/lib/common/command/recording-command.spec.d.ts.map +1 -0
  75. package/lib/common/command/recording-command.spec.js +62 -0
  76. package/lib/common/command/recording-command.spec.js.map +1 -0
  77. package/lib/common/command/undo-redo-action-handler.d.ts +28 -0
  78. package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -0
  79. package/lib/common/command/undo-redo-action-handler.js +72 -0
  80. package/lib/common/command/undo-redo-action-handler.js.map +1 -0
  81. package/lib/common/di/binding-target.d.ts +73 -0
  82. package/lib/common/di/binding-target.d.ts.map +1 -0
  83. package/lib/common/di/binding-target.js +143 -0
  84. package/lib/common/di/binding-target.js.map +1 -0
  85. package/lib/common/di/binding-target.spec.d.ts +2 -0
  86. package/lib/common/di/binding-target.spec.d.ts.map +1 -0
  87. package/lib/common/di/binding-target.spec.js +121 -0
  88. package/lib/common/di/binding-target.spec.js.map +1 -0
  89. package/lib/common/di/client-session-module.d.ts +19 -0
  90. package/lib/common/di/client-session-module.d.ts.map +1 -0
  91. package/lib/common/di/client-session-module.js +34 -0
  92. package/lib/common/di/client-session-module.js.map +1 -0
  93. package/lib/common/di/diagram-module.d.ts +130 -0
  94. package/lib/common/di/diagram-module.d.ts.map +1 -0
  95. package/lib/common/di/diagram-module.js +295 -0
  96. package/lib/common/di/diagram-module.js.map +1 -0
  97. package/lib/common/di/glsp-module.d.ts +47 -0
  98. package/lib/common/di/glsp-module.d.ts.map +1 -0
  99. package/lib/common/di/glsp-module.js +59 -0
  100. package/lib/common/di/glsp-module.js.map +1 -0
  101. package/lib/common/di/multi-binding.d.ts +41 -0
  102. package/lib/common/di/multi-binding.d.ts.map +1 -0
  103. package/lib/common/di/multi-binding.js +82 -0
  104. package/lib/common/di/multi-binding.js.map +1 -0
  105. package/lib/common/di/multi-bindings.spec.d.ts +2 -0
  106. package/lib/common/di/multi-bindings.spec.d.ts.map +1 -0
  107. package/lib/common/di/multi-bindings.spec.js +137 -0
  108. package/lib/common/di/multi-bindings.spec.js.map +1 -0
  109. package/lib/common/di/server-module.d.ts +73 -0
  110. package/lib/common/di/server-module.d.ts.map +1 -0
  111. package/lib/common/di/server-module.js +103 -0
  112. package/lib/common/di/server-module.js.map +1 -0
  113. package/lib/common/di/service-identifiers.d.ts +29 -0
  114. package/lib/common/di/service-identifiers.d.ts.map +1 -0
  115. package/lib/common/di/service-identifiers.js +14 -0
  116. package/lib/common/di/service-identifiers.js.map +1 -0
  117. package/lib/common/diagram/diagram-configuration.d.ts +89 -0
  118. package/lib/common/diagram/diagram-configuration.d.ts.map +1 -0
  119. package/lib/common/diagram/diagram-configuration.js +30 -0
  120. package/lib/common/diagram/diagram-configuration.js.map +1 -0
  121. package/lib/common/diagram/request-type-hints-action-handler.d.ts +25 -0
  122. package/lib/common/diagram/request-type-hints-action-handler.d.ts.map +1 -0
  123. package/lib/common/diagram/request-type-hints-action-handler.js +53 -0
  124. package/lib/common/diagram/request-type-hints-action-handler.js.map +1 -0
  125. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts +2 -0
  126. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts.map +1 -0
  127. package/lib/common/diagram/request-type-hints-action-handler.spec.js +57 -0
  128. package/lib/common/diagram/request-type-hints-action-handler.spec.js.map +1 -0
  129. package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts +26 -0
  130. package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts.map +1 -0
  131. package/lib/common/features/clipboard/request-clipboard-data-action-handler.js +61 -0
  132. package/lib/common/features/clipboard/request-clipboard-data-action-handler.js.map +1 -0
  133. package/lib/common/features/contextactions/command-palette-action-provider.d.ts +63 -0
  134. package/lib/common/features/contextactions/command-palette-action-provider.d.ts.map +1 -0
  135. package/lib/common/features/contextactions/command-palette-action-provider.js +72 -0
  136. package/lib/common/features/contextactions/command-palette-action-provider.js.map +1 -0
  137. package/lib/common/features/contextactions/context-actions-provider-registry.d.ts +12 -0
  138. package/lib/common/features/contextactions/context-actions-provider-registry.d.ts.map +1 -0
  139. package/lib/common/features/contextactions/context-actions-provider-registry.js +70 -0
  140. package/lib/common/features/contextactions/context-actions-provider-registry.js.map +1 -0
  141. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts +2 -0
  142. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts.map +1 -0
  143. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js +34 -0
  144. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js.map +1 -0
  145. package/lib/common/features/contextactions/context-actions-provider.d.ts +34 -0
  146. package/lib/common/features/contextactions/context-actions-provider.d.ts.map +1 -0
  147. package/lib/common/features/contextactions/context-actions-provider.js +5 -0
  148. package/lib/common/features/contextactions/context-actions-provider.js.map +1 -0
  149. package/lib/common/features/contextactions/context-menu-item-provider.d.ts +43 -0
  150. package/lib/common/features/contextactions/context-menu-item-provider.d.ts.map +1 -0
  151. package/lib/common/features/contextactions/context-menu-item-provider.js +36 -0
  152. package/lib/common/features/contextactions/context-menu-item-provider.js.map +1 -0
  153. package/lib/common/features/contextactions/request-context-actions-handler.d.ts +24 -0
  154. package/lib/common/features/contextactions/request-context-actions-handler.d.ts.map +1 -0
  155. package/lib/common/features/contextactions/request-context-actions-handler.js +53 -0
  156. package/lib/common/features/contextactions/request-context-actions-handler.js.map +1 -0
  157. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts +2 -0
  158. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts.map +1 -0
  159. package/lib/common/features/contextactions/request-context-actions-handler.spec.js +63 -0
  160. package/lib/common/features/contextactions/request-context-actions-handler.spec.js.map +1 -0
  161. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts +50 -0
  162. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts.map +1 -0
  163. package/lib/common/features/contextactions/tool-palette-item-provider.js +86 -0
  164. package/lib/common/features/contextactions/tool-palette-item-provider.js.map +1 -0
  165. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts +2 -0
  166. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts.map +1 -0
  167. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js +48 -0
  168. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js.map +1 -0
  169. package/lib/common/features/directediting/context-edit-validator-registry.d.ts +14 -0
  170. package/lib/common/features/directediting/context-edit-validator-registry.d.ts.map +1 -0
  171. package/lib/common/features/directediting/context-edit-validator-registry.js +57 -0
  172. package/lib/common/features/directediting/context-edit-validator-registry.js.map +1 -0
  173. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts +2 -0
  174. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts.map +1 -0
  175. package/lib/common/features/directediting/context-edit-validator-registry.spec.js +44 -0
  176. package/lib/common/features/directediting/context-edit-validator-registry.spec.js.map +1 -0
  177. package/lib/common/features/directediting/context-edit-validator.d.ts +25 -0
  178. package/lib/common/features/directediting/context-edit-validator.d.ts.map +1 -0
  179. package/lib/common/features/directediting/context-edit-validator.js +40 -0
  180. package/lib/common/features/directediting/context-edit-validator.js.map +1 -0
  181. package/lib/common/features/directediting/label-edit-validator.d.ts +32 -0
  182. package/lib/common/features/directediting/label-edit-validator.d.ts.map +1 -0
  183. package/lib/common/features/directediting/label-edit-validator.js +21 -0
  184. package/lib/common/features/directediting/label-edit-validator.js.map +1 -0
  185. package/lib/common/features/directediting/request-edit-validation-handler.d.ts +26 -0
  186. package/lib/common/features/directediting/request-edit-validation-handler.d.ts.map +1 -0
  187. package/lib/common/features/directediting/request-edit-validation-handler.js +61 -0
  188. package/lib/common/features/directediting/request-edit-validation-handler.js.map +1 -0
  189. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts +2 -0
  190. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts.map +1 -0
  191. package/lib/common/features/directediting/request-edit-validation-handler.spec.js +97 -0
  192. package/lib/common/features/directediting/request-edit-validation-handler.spec.js.map +1 -0
  193. package/lib/common/features/layout/computed-bounds-action-handler.d.ts +34 -0
  194. package/lib/common/features/layout/computed-bounds-action-handler.d.ts.map +1 -0
  195. package/lib/common/features/layout/computed-bounds-action-handler.js +55 -0
  196. package/lib/common/features/layout/computed-bounds-action-handler.js.map +1 -0
  197. package/lib/common/features/layout/layout-engine.d.ts +29 -0
  198. package/lib/common/features/layout/layout-engine.d.ts.map +1 -0
  199. package/lib/common/features/layout/layout-engine.js +20 -0
  200. package/lib/common/features/layout/layout-engine.js.map +1 -0
  201. package/lib/common/features/layout/layout-operation-handler.d.ts +37 -0
  202. package/lib/common/features/layout/layout-operation-handler.d.ts.map +1 -0
  203. package/lib/common/features/layout/layout-operation-handler.js +82 -0
  204. package/lib/common/features/layout/layout-operation-handler.js.map +1 -0
  205. package/lib/common/features/model/gmodel-factory.d.ts +39 -0
  206. package/lib/common/features/model/gmodel-factory.d.ts.map +1 -0
  207. package/lib/common/features/model/gmodel-factory.js +39 -0
  208. package/lib/common/features/model/gmodel-factory.js.map +1 -0
  209. package/lib/common/features/model/gmodel-index.d.ts +107 -0
  210. package/lib/common/features/model/gmodel-index.d.ts.map +1 -0
  211. package/lib/common/features/model/gmodel-index.js +193 -0
  212. package/lib/common/features/model/gmodel-index.js.map +1 -0
  213. package/lib/common/features/model/gmodel-serializer.d.ts +67 -0
  214. package/lib/common/features/model/gmodel-serializer.d.ts.map +1 -0
  215. package/lib/common/features/model/gmodel-serializer.js +143 -0
  216. package/lib/common/features/model/gmodel-serializer.js.map +1 -0
  217. package/lib/common/features/model/gmodel-serializer.spec.d.ts +2 -0
  218. package/lib/common/features/model/gmodel-serializer.spec.d.ts.map +1 -0
  219. package/lib/common/features/model/gmodel-serializer.spec.js +124 -0
  220. package/lib/common/features/model/gmodel-serializer.spec.js.map +1 -0
  221. package/lib/common/features/model/model-state.d.ts +51 -0
  222. package/lib/common/features/model/model-state.d.ts.map +1 -0
  223. package/lib/common/features/model/model-state.js +74 -0
  224. package/lib/common/features/model/model-state.js.map +1 -0
  225. package/lib/common/features/model/model-submission-handler.d.ts +58 -0
  226. package/lib/common/features/model/model-submission-handler.d.ts.map +1 -0
  227. package/lib/common/features/model/model-submission-handler.js +102 -0
  228. package/lib/common/features/model/model-submission-handler.js.map +1 -0
  229. package/lib/common/features/model/request-model-action-handler.d.ts +37 -0
  230. package/lib/common/features/model/request-model-action-handler.d.ts.map +1 -0
  231. package/lib/common/features/model/request-model-action-handler.js +83 -0
  232. package/lib/common/features/model/request-model-action-handler.js.map +1 -0
  233. package/lib/common/features/model/save-model-action-handler.d.ts +26 -0
  234. package/lib/common/features/model/save-model-action-handler.d.ts.map +1 -0
  235. package/lib/common/features/model/save-model-action-handler.js +54 -0
  236. package/lib/common/features/model/save-model-action-handler.js.map +1 -0
  237. package/lib/common/features/model/source-model-storage.d.ts +47 -0
  238. package/lib/common/features/model/source-model-storage.d.ts.map +1 -0
  239. package/lib/common/features/model/source-model-storage.js +5 -0
  240. package/lib/common/features/model/source-model-storage.js.map +1 -0
  241. package/lib/common/features/navigation/json-opener-options.d.ts +36 -0
  242. package/lib/common/features/navigation/json-opener-options.d.ts.map +1 -0
  243. package/lib/common/features/navigation/json-opener-options.js +60 -0
  244. package/lib/common/features/navigation/json-opener-options.js.map +1 -0
  245. package/lib/common/features/navigation/navigation-target-provider-registry.d.ts +12 -0
  246. package/lib/common/features/navigation/navigation-target-provider-registry.d.ts.map +1 -0
  247. package/lib/common/features/navigation/navigation-target-provider-registry.js +47 -0
  248. package/lib/common/features/navigation/navigation-target-provider-registry.js.map +1 -0
  249. package/lib/common/features/navigation/navigation-target-provider.d.ts +48 -0
  250. package/lib/common/features/navigation/navigation-target-provider.d.ts.map +1 -0
  251. package/lib/common/features/navigation/navigation-target-provider.js +5 -0
  252. package/lib/common/features/navigation/navigation-target-provider.js.map +1 -0
  253. package/lib/common/features/navigation/navigation-target-resolution.d.ts +23 -0
  254. package/lib/common/features/navigation/navigation-target-resolution.d.ts.map +1 -0
  255. package/lib/common/features/navigation/navigation-target-resolution.js +12 -0
  256. package/lib/common/features/navigation/navigation-target-resolution.js.map +1 -0
  257. package/lib/common/features/navigation/navigation-target-resolver.d.ts +31 -0
  258. package/lib/common/features/navigation/navigation-target-resolver.d.ts.map +1 -0
  259. package/lib/common/features/navigation/navigation-target-resolver.js +49 -0
  260. package/lib/common/features/navigation/navigation-target-resolver.js.map +1 -0
  261. package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts +24 -0
  262. package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts.map +1 -0
  263. package/lib/common/features/navigation/request-navigation-targets-action-handler.js +55 -0
  264. package/lib/common/features/navigation/request-navigation-targets-action-handler.js.map +1 -0
  265. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts +26 -0
  266. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts.map +1 -0
  267. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js +59 -0
  268. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js.map +1 -0
  269. package/lib/common/features/popup/popup-model-factory.d.ts +36 -0
  270. package/lib/common/features/popup/popup-model-factory.d.ts.map +1 -0
  271. package/lib/common/features/popup/popup-model-factory.js +20 -0
  272. package/lib/common/features/popup/popup-model-factory.js.map +1 -0
  273. package/lib/common/features/popup/request-popup-model-action-handler.d.ts +31 -0
  274. package/lib/common/features/popup/request-popup-model-action-handler.d.ts.map +1 -0
  275. package/lib/common/features/popup/request-popup-model-action-handler.js +77 -0
  276. package/lib/common/features/popup/request-popup-model-action-handler.js.map +1 -0
  277. package/lib/common/features/validation/model-validator.d.ts +33 -0
  278. package/lib/common/features/validation/model-validator.d.ts.map +1 -0
  279. package/lib/common/features/validation/model-validator.js +5 -0
  280. package/lib/common/features/validation/model-validator.js.map +1 -0
  281. package/lib/common/features/validation/request-markers-handler.d.ts +11 -0
  282. package/lib/common/features/validation/request-markers-handler.d.ts.map +1 -0
  283. package/lib/common/features/validation/request-markers-handler.js +70 -0
  284. package/lib/common/features/validation/request-markers-handler.js.map +1 -0
  285. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts +8 -0
  286. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts.map +1 -0
  287. package/lib/common/gmodel/apply-label-edit-operation-handler.js +46 -0
  288. package/lib/common/gmodel/apply-label-edit-operation-handler.js.map +1 -0
  289. package/lib/common/gmodel/change-bounds-operation-handler.d.ts +13 -0
  290. package/lib/common/gmodel/change-bounds-operation-handler.d.ts.map +1 -0
  291. package/lib/common/gmodel/change-bounds-operation-handler.js +71 -0
  292. package/lib/common/gmodel/change-bounds-operation-handler.js.map +1 -0
  293. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts +24 -0
  294. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts.map +1 -0
  295. package/lib/common/gmodel/change-routing-points-operation-handler.js +50 -0
  296. package/lib/common/gmodel/change-routing-points-operation-handler.js.map +1 -0
  297. package/lib/common/gmodel/cut-operation-handler.d.ts +26 -0
  298. package/lib/common/gmodel/cut-operation-handler.d.ts.map +1 -0
  299. package/lib/common/gmodel/cut-operation-handler.js +55 -0
  300. package/lib/common/gmodel/cut-operation-handler.js.map +1 -0
  301. package/lib/common/gmodel/delete-operation-handler.d.ts +32 -0
  302. package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -0
  303. package/lib/common/gmodel/delete-operation-handler.js +119 -0
  304. package/lib/common/gmodel/delete-operation-handler.js.map +1 -0
  305. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts +35 -0
  306. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts.map +1 -0
  307. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js +64 -0
  308. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js.map +1 -0
  309. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +58 -0
  310. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -0
  311. package/lib/common/gmodel/gmodel-create-node-operation-handler.js +100 -0
  312. package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -0
  313. package/lib/common/gmodel/gmodel-diagram-module.d.ts +31 -0
  314. package/lib/common/gmodel/gmodel-diagram-module.d.ts.map +1 -0
  315. package/lib/common/gmodel/gmodel-diagram-module.js +80 -0
  316. package/lib/common/gmodel/gmodel-diagram-module.js.map +1 -0
  317. package/lib/common/gmodel/gmodel-operation-handler.d.ts +23 -0
  318. package/lib/common/gmodel/gmodel-operation-handler.d.ts.map +1 -0
  319. package/lib/common/gmodel/gmodel-operation-handler.js +43 -0
  320. package/lib/common/gmodel/gmodel-operation-handler.js.map +1 -0
  321. package/lib/common/gmodel/index.d.ts +27 -0
  322. package/lib/common/gmodel/index.d.ts.map +1 -0
  323. package/lib/common/gmodel/index.js +43 -0
  324. package/lib/common/gmodel/index.js.map +1 -0
  325. package/lib/common/gmodel/paste-operation-handler.d.ts +36 -0
  326. package/lib/common/gmodel/paste-operation-handler.d.ts.map +1 -0
  327. package/lib/common/gmodel/paste-operation-handler.js +136 -0
  328. package/lib/common/gmodel/paste-operation-handler.js.map +1 -0
  329. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts +9 -0
  330. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts.map +1 -0
  331. package/lib/common/gmodel/reconnect-edge-operation-handler.js +64 -0
  332. package/lib/common/gmodel/reconnect-edge-operation-handler.js.map +1 -0
  333. package/lib/common/index.d.ts +89 -0
  334. package/lib/common/index.d.ts.map +1 -0
  335. package/lib/common/index.js +105 -0
  336. package/lib/common/index.js.map +1 -0
  337. package/lib/common/launch/glsp-server-launcher.d.ts +34 -0
  338. package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -0
  339. package/lib/common/launch/glsp-server-launcher.js +64 -0
  340. package/lib/common/launch/glsp-server-launcher.js.map +1 -0
  341. package/lib/common/operations/compound-operation-handler.d.ts +25 -0
  342. package/lib/common/operations/compound-operation-handler.d.ts.map +1 -0
  343. package/lib/common/operations/compound-operation-handler.js +82 -0
  344. package/lib/common/operations/compound-operation-handler.js.map +1 -0
  345. package/lib/common/operations/create-operation-handler.d.ts +32 -0
  346. package/lib/common/operations/create-operation-handler.d.ts.map +1 -0
  347. package/lib/common/operations/create-operation-handler.js +31 -0
  348. package/lib/common/operations/create-operation-handler.js.map +1 -0
  349. package/lib/common/operations/operation-action-handler.d.ts +42 -0
  350. package/lib/common/operations/operation-action-handler.d.ts.map +1 -0
  351. package/lib/common/operations/operation-action-handler.js +109 -0
  352. package/lib/common/operations/operation-action-handler.js.map +1 -0
  353. package/lib/common/operations/operation-handler-registry.d.ts +38 -0
  354. package/lib/common/operations/operation-handler-registry.d.ts.map +1 -0
  355. package/lib/common/operations/operation-handler-registry.js +87 -0
  356. package/lib/common/operations/operation-handler-registry.js.map +1 -0
  357. package/lib/common/operations/operation-handler-registry.spec.d.ts +2 -0
  358. package/lib/common/operations/operation-handler-registry.spec.d.ts.map +1 -0
  359. package/lib/common/operations/operation-handler-registry.spec.js +50 -0
  360. package/lib/common/operations/operation-handler-registry.spec.js.map +1 -0
  361. package/lib/common/operations/operation-handler.d.ts +67 -0
  362. package/lib/common/operations/operation-handler.d.ts.map +1 -0
  363. package/lib/common/operations/operation-handler.js +56 -0
  364. package/lib/common/operations/operation-handler.js.map +1 -0
  365. package/lib/common/protocol/glsp-client-proxy.d.ts +45 -0
  366. package/lib/common/protocol/glsp-client-proxy.d.ts.map +1 -0
  367. package/lib/common/protocol/glsp-client-proxy.js +53 -0
  368. package/lib/common/protocol/glsp-client-proxy.js.map +1 -0
  369. package/lib/common/protocol/glsp-server-listener.d.ts +37 -0
  370. package/lib/common/protocol/glsp-server-listener.d.ts.map +1 -0
  371. package/lib/common/protocol/glsp-server-listener.js +5 -0
  372. package/lib/common/protocol/glsp-server-listener.js.map +1 -0
  373. package/lib/common/protocol/glsp-server.d.ts +150 -0
  374. package/lib/common/protocol/glsp-server.d.ts.map +1 -0
  375. package/lib/common/protocol/glsp-server.js +188 -0
  376. package/lib/common/protocol/glsp-server.js.map +1 -0
  377. package/lib/common/protocol/glsp-server.spec.d.ts +2 -0
  378. package/lib/common/protocol/glsp-server.spec.d.ts.map +1 -0
  379. package/lib/common/protocol/glsp-server.spec.js +119 -0
  380. package/lib/common/protocol/glsp-server.spec.js.map +1 -0
  381. package/lib/common/session/client-session-factory.d.ts +42 -0
  382. package/lib/common/session/client-session-factory.d.ts.map +1 -0
  383. package/lib/common/session/client-session-factory.js +54 -0
  384. package/lib/common/session/client-session-factory.js.map +1 -0
  385. package/lib/common/session/client-session-factory.spec.d.ts +2 -0
  386. package/lib/common/session/client-session-factory.spec.d.ts.map +1 -0
  387. package/lib/common/session/client-session-factory.spec.js +56 -0
  388. package/lib/common/session/client-session-factory.spec.js.map +1 -0
  389. package/lib/common/session/client-session-initializer.d.ts +26 -0
  390. package/lib/common/session/client-session-initializer.d.ts.map +1 -0
  391. package/lib/common/session/client-session-initializer.js +5 -0
  392. package/lib/common/session/client-session-initializer.js.map +1 -0
  393. package/lib/common/session/client-session-listener.d.ts +40 -0
  394. package/lib/common/session/client-session-listener.d.ts.map +1 -0
  395. package/lib/common/session/client-session-listener.js +3 -0
  396. package/lib/common/session/client-session-listener.js.map +1 -0
  397. package/lib/common/session/client-session-manager.d.ts +102 -0
  398. package/lib/common/session/client-session-manager.d.ts.map +1 -0
  399. package/lib/common/session/client-session-manager.js +116 -0
  400. package/lib/common/session/client-session-manager.js.map +1 -0
  401. package/lib/common/session/client-session-manager.spec.d.ts +2 -0
  402. package/lib/common/session/client-session-manager.spec.d.ts.map +1 -0
  403. package/lib/common/session/client-session-manager.spec.js +74 -0
  404. package/lib/common/session/client-session-manager.spec.js.map +1 -0
  405. package/lib/common/session/client-session.d.ts +52 -0
  406. package/lib/common/session/client-session.d.ts.map +1 -0
  407. package/lib/common/session/client-session.js +34 -0
  408. package/lib/common/session/client-session.js.map +1 -0
  409. package/lib/common/test/mock-util.d.ts +117 -0
  410. package/lib/common/test/mock-util.d.ts.map +1 -0
  411. package/lib/common/test/mock-util.js +194 -0
  412. package/lib/common/test/mock-util.js.map +1 -0
  413. package/lib/common/utils/args-util.d.ts +38 -0
  414. package/lib/common/utils/args-util.d.ts.map +1 -0
  415. package/lib/common/utils/args-util.js +81 -0
  416. package/lib/common/utils/args-util.js.map +1 -0
  417. package/lib/common/utils/client-options-util.d.ts +20 -0
  418. package/lib/common/utils/client-options-util.d.ts.map +1 -0
  419. package/lib/common/utils/client-options-util.js +26 -0
  420. package/lib/common/utils/client-options-util.js.map +1 -0
  421. package/lib/common/utils/glsp-server-error.d.ts +21 -0
  422. package/lib/common/utils/glsp-server-error.d.ts.map +1 -0
  423. package/lib/common/utils/glsp-server-error.js +33 -0
  424. package/lib/common/utils/glsp-server-error.js.map +1 -0
  425. package/lib/common/utils/layout-util.d.ts +74 -0
  426. package/lib/common/utils/layout-util.d.ts.map +1 -0
  427. package/lib/common/utils/layout-util.js +166 -0
  428. package/lib/common/utils/layout-util.js.map +1 -0
  429. package/lib/common/utils/logger.d.ts +27 -0
  430. package/lib/common/utils/logger.d.ts.map +1 -0
  431. package/lib/common/utils/logger.js +67 -0
  432. package/lib/common/utils/logger.js.map +1 -0
  433. package/lib/common/utils/promise-queue.d.ts +48 -0
  434. package/lib/common/utils/promise-queue.d.ts.map +1 -0
  435. package/lib/common/utils/promise-queue.js +93 -0
  436. package/lib/common/utils/promise-queue.js.map +1 -0
  437. package/lib/common/utils/promise-queue.spec.d.ts +2 -0
  438. package/lib/common/utils/promise-queue.spec.d.ts.map +1 -0
  439. package/lib/common/utils/promise-queue.spec.js +117 -0
  440. package/lib/common/utils/promise-queue.spec.js.map +1 -0
  441. package/lib/common/utils/registry.d.ts +73 -0
  442. package/lib/common/utils/registry.d.ts.map +1 -0
  443. package/lib/common/utils/registry.js +160 -0
  444. package/lib/common/utils/registry.js.map +1 -0
  445. package/lib/common/utils/registry.spec.d.ts +2 -0
  446. package/lib/common/utils/registry.spec.d.ts.map +1 -0
  447. package/lib/common/utils/registry.spec.js +199 -0
  448. package/lib/common/utils/registry.spec.js.map +1 -0
  449. package/lib/node/abstract-json-model-storage.d.ts +45 -0
  450. package/lib/node/abstract-json-model-storage.d.ts.map +1 -0
  451. package/lib/node/abstract-json-model-storage.js +103 -0
  452. package/lib/node/abstract-json-model-storage.js.map +1 -0
  453. package/lib/node/di/app-module.d.ts +36 -0
  454. package/lib/node/di/app-module.d.ts.map +1 -0
  455. package/lib/node/di/app-module.js +91 -0
  456. package/lib/node/di/app-module.js.map +1 -0
  457. package/lib/node/di/winston-logger.d.ts +32 -0
  458. package/lib/node/di/winston-logger.d.ts.map +1 -0
  459. package/lib/node/di/winston-logger.js +57 -0
  460. package/lib/node/di/winston-logger.js.map +1 -0
  461. package/lib/node/gmodel/gmodel-storage.d.ts +34 -0
  462. package/lib/node/gmodel/gmodel-storage.d.ts.map +1 -0
  463. package/lib/node/gmodel/gmodel-storage.js +68 -0
  464. package/lib/node/gmodel/gmodel-storage.js.map +1 -0
  465. package/lib/node/index.d.ts +24 -0
  466. package/lib/node/index.d.ts.map +1 -0
  467. package/lib/node/index.js +40 -0
  468. package/lib/node/index.js.map +1 -0
  469. package/lib/node/launch/cli-parser.d.ts +34 -0
  470. package/lib/node/launch/cli-parser.d.ts.map +1 -0
  471. package/lib/node/launch/cli-parser.js +71 -0
  472. package/lib/node/launch/cli-parser.js.map +1 -0
  473. package/lib/node/launch/cli-parser.spec.d.ts +2 -0
  474. package/lib/node/launch/cli-parser.spec.d.ts.map +1 -0
  475. package/lib/node/launch/cli-parser.spec.js +56 -0
  476. package/lib/node/launch/cli-parser.spec.js.map +1 -0
  477. package/lib/node/launch/socket-cli-parser.d.ts +9 -0
  478. package/lib/node/launch/socket-cli-parser.d.ts.map +1 -0
  479. package/lib/node/launch/socket-cli-parser.js +43 -0
  480. package/lib/node/launch/socket-cli-parser.js.map +1 -0
  481. package/lib/node/launch/socket-cli-parser.spec.d.ts +2 -0
  482. package/lib/node/launch/socket-cli-parser.spec.d.ts.map +1 -0
  483. package/lib/node/launch/socket-cli-parser.spec.js +66 -0
  484. package/lib/node/launch/socket-cli-parser.spec.js.map +1 -0
  485. package/lib/node/launch/socket-server-launcher.d.ts +34 -0
  486. package/lib/node/launch/socket-server-launcher.d.ts.map +1 -0
  487. package/lib/node/launch/socket-server-launcher.js +104 -0
  488. package/lib/node/launch/socket-server-launcher.js.map +1 -0
  489. package/lib/node/launch/socket-server-launcher.spec.d.ts +17 -0
  490. package/lib/node/launch/socket-server-launcher.spec.d.ts.map +1 -0
  491. package/lib/node/launch/socket-server-launcher.spec.js +70 -0
  492. package/lib/node/launch/socket-server-launcher.spec.js.map +1 -0
  493. package/node.d.ts +16 -0
  494. package/node.js +18 -0
  495. package/package.json +77 -0
  496. package/src/browser/di/app-module.ts +55 -0
  497. package/src/browser/di/console-logger.ts +71 -0
  498. package/src/browser/index.ts +19 -0
  499. package/src/browser/launch/worker-server-launcher.ts +58 -0
  500. package/src/common/actions/action-dispatcher.spec.ts +290 -0
  501. package/src/common/actions/action-dispatcher.ts +152 -0
  502. package/src/common/actions/action-handler-registry.spec.ts +52 -0
  503. package/src/common/actions/action-handler-registry.ts +60 -0
  504. package/src/common/actions/action-handler.ts +62 -0
  505. package/src/common/actions/client-action-handler.ts +50 -0
  506. package/src/common/actions/global-action-provider.spec.ts +79 -0
  507. package/src/common/actions/global-action-provider.ts +72 -0
  508. package/src/common/command/command-stack.spec.ts +239 -0
  509. package/src/common/command/command-stack.ts +159 -0
  510. package/src/common/command/command.spec.ts +93 -0
  511. package/src/common/command/command.ts +124 -0
  512. package/src/common/command/recording-command.spec.ts +74 -0
  513. package/src/common/command/recording-command.ts +119 -0
  514. package/src/common/command/undo-redo-action-handler.ts +57 -0
  515. package/src/common/di/binding-target.spec.ts +147 -0
  516. package/src/common/di/binding-target.ts +188 -0
  517. package/src/common/di/client-session-module.ts +29 -0
  518. package/src/common/di/diagram-module.ts +410 -0
  519. package/src/common/di/glsp-module.ts +66 -0
  520. package/src/common/di/multi-binding.ts +89 -0
  521. package/src/common/di/multi-bindings.spec.ts +133 -0
  522. package/src/common/di/server-module.ts +131 -0
  523. package/src/common/di/service-identifiers.ts +39 -0
  524. package/src/common/diagram/diagram-configuration.ts +97 -0
  525. package/src/common/diagram/request-type-hints-action-handler.spec.ts +59 -0
  526. package/src/common/diagram/request-type-hints-action-handler.ts +36 -0
  527. package/src/common/features/clipboard/request-clipboard-data-action-handler.ts +51 -0
  528. package/src/common/features/contextactions/command-palette-action-provider.ts +94 -0
  529. package/src/common/features/contextactions/context-actions-provider-registry.spec.ts +69 -0
  530. package/src/common/features/contextactions/context-actions-provider-registry.ts +47 -0
  531. package/src/common/features/contextactions/context-actions-provider.ts +36 -0
  532. package/src/common/features/contextactions/context-menu-item-provider.ts +52 -0
  533. package/src/common/features/contextactions/request-context-actions-handler.spec.ts +75 -0
  534. package/src/common/features/contextactions/request-context-actions-handler.ts +37 -0
  535. package/src/common/features/contextactions/tool-palette-item-provider.spec.ts +46 -0
  536. package/src/common/features/contextactions/tool-palette-item-provider.ts +88 -0
  537. package/src/common/features/directediting/context-edit-validator-registry.spec.ts +54 -0
  538. package/src/common/features/directediting/context-edit-validator-registry.ts +43 -0
  539. package/src/common/features/directediting/context-edit-validator.ts +55 -0
  540. package/src/common/features/directediting/label-edit-validator.ts +35 -0
  541. package/src/common/features/directediting/request-edit-validation-handler.spec.ts +131 -0
  542. package/src/common/features/directediting/request-edit-validation-handler.ts +43 -0
  543. package/src/common/features/layout/computed-bounds-action-handler.ts +56 -0
  544. package/src/common/features/layout/layout-engine.ts +31 -0
  545. package/src/common/features/layout/layout-operation-handler.ts +62 -0
  546. package/src/common/features/model/gmodel-factory.ts +60 -0
  547. package/src/common/features/model/gmodel-index.ts +195 -0
  548. package/src/common/features/model/gmodel-serializer.spec.ts +141 -0
  549. package/src/common/features/model/gmodel-serializer.ts +175 -0
  550. package/src/common/features/model/model-state.ts +98 -0
  551. package/src/common/features/model/model-submission-handler.ts +110 -0
  552. package/src/common/features/model/request-model-action-handler.ts +67 -0
  553. package/src/common/features/model/save-model-action-handler.ts +37 -0
  554. package/src/common/features/model/source-model-storage.ts +49 -0
  555. package/src/common/features/navigation/json-opener-options.ts +69 -0
  556. package/src/common/features/navigation/navigation-target-provider-registry.ts +36 -0
  557. package/src/common/features/navigation/navigation-target-provider.ts +50 -0
  558. package/src/common/features/navigation/navigation-target-resolution.ts +22 -0
  559. package/src/common/features/navigation/navigation-target-resolver.ts +61 -0
  560. package/src/common/features/navigation/request-navigation-targets-action-handler.ts +39 -0
  561. package/src/common/features/navigation/resolve-navigation-targets-action-handler.ts +42 -0
  562. package/src/common/features/popup/popup-model-factory.ts +38 -0
  563. package/src/common/features/popup/request-popup-model-action-handler.ts +60 -0
  564. package/src/common/features/validation/model-validator.ts +34 -0
  565. package/src/common/features/validation/request-markers-handler.ts +51 -0
  566. package/src/common/gmodel/README.md +7 -0
  567. package/src/common/gmodel/apply-label-edit-operation-handler.ts +36 -0
  568. package/src/common/gmodel/change-bounds-operation-handler.ts +62 -0
  569. package/src/common/gmodel/change-routing-points-operation-handler.ts +40 -0
  570. package/src/common/gmodel/cut-operation-handler.ts +39 -0
  571. package/src/common/gmodel/delete-operation-handler.ts +121 -0
  572. package/src/common/gmodel/gmodel-create-edge-operation-handler.ts +64 -0
  573. package/src/common/gmodel/gmodel-create-node-operation-handler.ts +95 -0
  574. package/src/common/gmodel/gmodel-diagram-module.ts +76 -0
  575. package/src/common/gmodel/gmodel-operation-handler.ts +31 -0
  576. package/src/common/gmodel/index.ts +27 -0
  577. package/src/common/gmodel/paste-operation-handler.ts +127 -0
  578. package/src/common/gmodel/reconnect-edge-operation-handler.ts +56 -0
  579. package/src/common/index.ts +89 -0
  580. package/src/common/launch/glsp-server-launcher.ts +70 -0
  581. package/src/common/operations/compound-operation-handler.ts +40 -0
  582. package/src/common/operations/create-operation-handler.ts +49 -0
  583. package/src/common/operations/operation-action-handler.ts +93 -0
  584. package/src/common/operations/operation-handler-registry.spec.ts +50 -0
  585. package/src/common/operations/operation-handler-registry.ts +66 -0
  586. package/src/common/operations/operation-handler.ts +82 -0
  587. package/src/common/protocol/glsp-client-proxy.ts +65 -0
  588. package/src/common/protocol/glsp-server-listener.ts +39 -0
  589. package/src/common/protocol/glsp-server.spec.ts +150 -0
  590. package/src/common/protocol/glsp-server.ts +320 -0
  591. package/src/common/session/client-session-factory.spec.ts +60 -0
  592. package/src/common/session/client-session-factory.ts +70 -0
  593. package/src/common/session/client-session-initializer.ts +27 -0
  594. package/src/common/session/client-session-listener.ts +41 -0
  595. package/src/common/session/client-session-manager.spec.ts +82 -0
  596. package/src/common/session/client-session-manager.ts +182 -0
  597. package/src/common/session/client-session.ts +62 -0
  598. package/src/common/test/mock-util.ts +241 -0
  599. package/src/common/utils/args-util.ts +98 -0
  600. package/src/common/utils/client-options-util.ts +22 -0
  601. package/src/common/utils/glsp-server-error.ts +27 -0
  602. package/src/common/utils/layout-util.ts +164 -0
  603. package/src/common/utils/logger.ts +72 -0
  604. package/src/common/utils/promise-queue.spec.ts +138 -0
  605. package/src/common/utils/promise-queue.ts +103 -0
  606. package/src/common/utils/registry.spec.ts +223 -0
  607. package/src/common/utils/registry.ts +154 -0
  608. package/src/node/abstract-json-model-storage.ts +114 -0
  609. package/src/node/di/app-module.ts +102 -0
  610. package/src/node/di/winston-logger.ts +76 -0
  611. package/src/node/gmodel/gmodel-storage.ts +53 -0
  612. package/src/node/index.ts +23 -0
  613. package/src/node/launch/cli-parser.spec.ts +61 -0
  614. package/src/node/launch/cli-parser.ts +86 -0
  615. package/src/node/launch/socket-cli-parser.spec.ts +73 -0
  616. package/src/node/launch/socket-cli-parser.ts +52 -0
  617. package/src/node/launch/socket-server-launcher.spec.ts +68 -0
  618. package/src/node/launch/socket-server-launcher.ts +90 -0
@@ -0,0 +1,87 @@
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.OperationHandlerRegistryInitializer = exports.OperationHandlerRegistry = 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 protocol_1 = require("@eclipse-glsp/protocol");
29
+ const inversify_1 = require("inversify");
30
+ const registry_1 = require("../utils/registry");
31
+ const create_operation_handler_1 = require("./create-operation-handler");
32
+ const operation_handler_1 = require("./operation-handler");
33
+ let OperationHandlerRegistry = class OperationHandlerRegistry extends registry_1.Registry {
34
+ registerHandler(handler) {
35
+ if (create_operation_handler_1.CreateOperationHandler.is(handler)) {
36
+ handler.elementTypeIds.forEach(typeId => this.register(`${handler.operationType}_${typeId}`, handler));
37
+ return true;
38
+ }
39
+ else {
40
+ return this.register(handler.operationType, handler);
41
+ }
42
+ }
43
+ getOperationHandler(operation) {
44
+ return protocol_1.CreateOperation.is(operation) ? this.get(`${operation.kind}_${operation.elementTypeId}`) : this.get(operation.kind);
45
+ }
46
+ /**
47
+ * Returns the matching command for the given operation.
48
+ *
49
+ * @param operation operation
50
+ * @return the matching command for the given operation
51
+ */
52
+ getExecutableCommand(operation) {
53
+ var _a;
54
+ return (_a = this.getOperationHandler(operation)) === null || _a === void 0 ? void 0 : _a.createCommand(operation);
55
+ }
56
+ };
57
+ OperationHandlerRegistry = __decorate([
58
+ (0, inversify_1.injectable)()
59
+ ], OperationHandlerRegistry);
60
+ exports.OperationHandlerRegistry = OperationHandlerRegistry;
61
+ let OperationHandlerRegistryInitializer = class OperationHandlerRegistryInitializer {
62
+ constructor() {
63
+ this.handlerConstructors = [];
64
+ }
65
+ initialize(_args) {
66
+ const handlers = this.handlerConstructors.map(constructor => this.factory(constructor));
67
+ handlers.forEach(handler => this.registry.registerHandler(handler));
68
+ }
69
+ };
70
+ __decorate([
71
+ (0, inversify_1.inject)(operation_handler_1.OperationHandlerFactory),
72
+ __metadata("design:type", Function)
73
+ ], OperationHandlerRegistryInitializer.prototype, "factory", void 0);
74
+ __decorate([
75
+ (0, inversify_1.inject)(operation_handler_1.OperationHandlerConstructor),
76
+ (0, inversify_1.optional)(),
77
+ __metadata("design:type", Array)
78
+ ], OperationHandlerRegistryInitializer.prototype, "handlerConstructors", void 0);
79
+ __decorate([
80
+ (0, inversify_1.inject)(OperationHandlerRegistry),
81
+ __metadata("design:type", OperationHandlerRegistry)
82
+ ], OperationHandlerRegistryInitializer.prototype, "registry", void 0);
83
+ OperationHandlerRegistryInitializer = __decorate([
84
+ (0, inversify_1.injectable)()
85
+ ], OperationHandlerRegistryInitializer);
86
+ exports.OperationHandlerRegistryInitializer = OperationHandlerRegistryInitializer;
87
+ //# sourceMappingURL=operation-handler-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler-registry.js","sourceRoot":"","sources":["../../../src/common/operations/operation-handler-registry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAwF;AACxF,yCAAyD;AAGzD,gDAA6C;AAC7C,yEAAoE;AACpE,2DAA6G;AAGtG,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,mBAAkC;IAC5E,eAAe,CAAC,OAAyB;QACrC,IAAI,iDAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACpC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SACxD;IACL,CAAC;IAED,mBAAmB,CAAC,SAAoB;QACpC,OAAO,0BAAe,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/H,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,SAAoB;;QACrC,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,0CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ,CAAA;AAvBY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CAuBpC;AAvBY,4DAAwB;AA0B9B,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAAzC;QAMO,wBAAmB,GAAkC,EAAE,CAAC;IAStE,CAAC;IAJG,UAAU,CAAC,KAAY;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ,CAAA;AAdG;IAAC,IAAA,kBAAM,EAAC,2CAAuB,CAAC;;oEACW;AAE3C;IAAC,IAAA,kBAAM,EAAC,+CAA2B,CAAC;IACnC,IAAA,oBAAQ,GAAE;;gFACuD;AAElE;IAAC,IAAA,kBAAM,EAAC,wBAAwB,CAAC;8BACb,wBAAwB;qEAAC;AATpC,mCAAmC;IAD/C,IAAA,sBAAU,GAAE;GACA,mCAAmC,CAe/C;AAfY,kFAAmC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=operation-handler-registry.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler-registry.spec.d.ts","sourceRoot":"","sources":["../../../src/common/operations/operation-handler-registry.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /********************************************************************************
4
+ * Copyright (c) 2022-2023 STMicroelectronics and others.
5
+ *
6
+ * This program and the accompanying materials are made available under the
7
+ * terms of the Eclipse Public License v. 2.0 which is available at
8
+ * http://www.eclipse.org/legal/epl-2.0.
9
+ *
10
+ * This Source Code may also be made available under the following Secondary
11
+ * Licenses when the conditions for such availability set forth in the Eclipse
12
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
+ * with the GNU Classpath Exception which is available at
14
+ * https://www.gnu.org/software/classpath/license.html.
15
+ *
16
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
+ ********************************************************************************/
18
+ const protocol_1 = require("@eclipse-glsp/protocol");
19
+ const chai_1 = require("chai");
20
+ const mock = require("../test/mock-util");
21
+ const compound_operation_handler_1 = require("./compound-operation-handler");
22
+ const operation_handler_registry_1 = require("./operation-handler-registry");
23
+ describe('Test OperationHandlerRegistry', () => {
24
+ const stubANode = new mock.StubCreateNodeOperationHandler('ANode');
25
+ const stubBNode = new mock.StubCreateNodeOperationHandler('BNode');
26
+ const stubAEdge = new mock.StubCreateEdgeOperationHandler('AEdge');
27
+ const stubBEdge = new mock.StubCreateEdgeOperationHandler('BEdge');
28
+ const operationHandlerRegistry = new operation_handler_registry_1.OperationHandlerRegistry();
29
+ it('register OperationActionHandler', () => {
30
+ operationHandlerRegistry.registerHandler(new compound_operation_handler_1.CompoundOperationHandler());
31
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.have.length(1);
32
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.contain(protocol_1.CompoundOperation.KIND);
33
+ (0, chai_1.expect)(operationHandlerRegistry.get(protocol_1.CompoundOperation.KIND)).to.be.an.instanceOf(compound_operation_handler_1.CompoundOperationHandler);
34
+ });
35
+ it('register CreateOperationActionHandlers', () => {
36
+ operationHandlerRegistry.registerHandler(stubANode);
37
+ operationHandlerRegistry.registerHandler(stubBNode);
38
+ operationHandlerRegistry.registerHandler(stubAEdge);
39
+ operationHandlerRegistry.registerHandler(stubBEdge);
40
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.contain(`${protocol_1.CreateNodeOperation.KIND}_ANode`);
41
+ (0, chai_1.expect)(operationHandlerRegistry.get(`${protocol_1.CreateNodeOperation.KIND}_ANode`)).to.be.equal(stubANode);
42
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.contain(`${protocol_1.CreateNodeOperation.KIND}_BNode`);
43
+ (0, chai_1.expect)(operationHandlerRegistry.get(`${protocol_1.CreateNodeOperation.KIND}_BNode`)).to.be.equal(stubBNode);
44
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.contain(`${protocol_1.CreateEdgeOperation.KIND}_AEdge`);
45
+ (0, chai_1.expect)(operationHandlerRegistry.get(`${protocol_1.CreateEdgeOperation.KIND}_AEdge`)).to.be.equal(stubAEdge);
46
+ (0, chai_1.expect)(operationHandlerRegistry.keys()).to.contain(`${protocol_1.CreateEdgeOperation.KIND}_BEdge`);
47
+ (0, chai_1.expect)(operationHandlerRegistry.get(`${protocol_1.CreateEdgeOperation.KIND}_BEdge`)).to.be.equal(stubBEdge);
48
+ });
49
+ });
50
+ //# sourceMappingURL=operation-handler-registry.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler-registry.spec.js","sourceRoot":"","sources":["../../../src/common/operations/operation-handler-registry.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
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 { MaybePromise, Operation } from '@eclipse-glsp/protocol';
17
+ import { interfaces } from 'inversify';
18
+ import { Command } from '../command/command';
19
+ import { ModelState } from '../features/model/model-state';
20
+ /**
21
+ * An operation handler can execute {@link Operation}s of a certain type (subclass).
22
+ * The operation handler processes the operation in the {@link OperationHandler.execute()} method. The result
23
+ * of the execution is a {@link Command} that captures the corresponding source model changes.
24
+ * This command can be applied on the `CommandStack` and is reversible (undo) and can be reapplied (redo).
25
+ *
26
+ * The `OperationActionHandler` is responsible for retrieving all available (valid) operation handlers for an
27
+ * operation that is dispatched via `ActionDispatcher`.
28
+ */
29
+ export declare abstract class OperationHandler {
30
+ protected modelState: ModelState;
31
+ /**
32
+ * Returns the operation type that can be handled by this operation handler.
33
+ *
34
+ * @returns the operation type that can be handled.
35
+ */
36
+ abstract operationType: string;
37
+ readonly label?: string;
38
+ /**
39
+ * Creates a command that performs the operation in the source model(s). If `undefined` is returned, no update
40
+ * is performed on the model(s).
41
+ *
42
+ * @param operation The operation to process.
43
+ * @return The created command to be executed on the command stack or `undefined` nothing should be done.
44
+ */
45
+ abstract createCommand(operation: Operation): MaybePromise<Command | undefined>;
46
+ /**
47
+ * Executes the operation handler for the given {@link Operation} and returns the corresponding {@link Command}.
48
+ * If the given operation cannot be handled by this handler or the handler execution did not result in any changes
49
+ * `undefined` is returned.
50
+ *
51
+ * @param operation The operation that should be executed or empty if nothing should be done.
52
+ * @returns The command capturing the execution changes or `undefined`
53
+ */
54
+ execute(operation: Operation): MaybePromise<Command | undefined>;
55
+ /**
56
+ * Validates whether the given {@link Operation} can be handled by this operation handler.
57
+ *
58
+ * @param operation The operation that should be validated.
59
+ * @returns `true` if the given operation can be handled, `false` otherwise.
60
+ */
61
+ handles(operation: Operation): boolean;
62
+ }
63
+ export declare const OperationHandlerConstructor: unique symbol;
64
+ export type OperationHandlerConstructor = interfaces.Newable<OperationHandler>;
65
+ export declare const OperationHandlerFactory: unique symbol;
66
+ export type OperationHandlerFactory = (constructor: OperationHandlerConstructor) => OperationHandler;
67
+ //# sourceMappingURL=operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/operations/operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAsB,UAAU,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D;;;;;;;;GAQG;AACH,8BACsB,gBAAgB;IAElC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAE/E;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAIhE;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAGzC;AAED,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/E,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,2BAA2B,KAAK,gBAAgB,CAAC"}
@@ -0,0 +1,56 @@
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.OperationHandlerFactory = exports.OperationHandlerConstructor = exports.OperationHandler = void 0;
13
+ const inversify_1 = require("inversify");
14
+ const model_state_1 = require("../features/model/model-state");
15
+ /**
16
+ * An operation handler can execute {@link Operation}s of a certain type (subclass).
17
+ * The operation handler processes the operation in the {@link OperationHandler.execute()} method. The result
18
+ * of the execution is a {@link Command} that captures the corresponding source model changes.
19
+ * This command can be applied on the `CommandStack` and is reversible (undo) and can be reapplied (redo).
20
+ *
21
+ * The `OperationActionHandler` is responsible for retrieving all available (valid) operation handlers for an
22
+ * operation that is dispatched via `ActionDispatcher`.
23
+ */
24
+ let OperationHandler = class OperationHandler {
25
+ /**
26
+ * Executes the operation handler for the given {@link Operation} and returns the corresponding {@link Command}.
27
+ * If the given operation cannot be handled by this handler or the handler execution did not result in any changes
28
+ * `undefined` is returned.
29
+ *
30
+ * @param operation The operation that should be executed or empty if nothing should be done.
31
+ * @returns The command capturing the execution changes or `undefined`
32
+ */
33
+ execute(operation) {
34
+ return this.handles(operation) ? this.createCommand(operation) : undefined;
35
+ }
36
+ /**
37
+ * Validates whether the given {@link Operation} can be handled by this operation handler.
38
+ *
39
+ * @param operation The operation that should be validated.
40
+ * @returns `true` if the given operation can be handled, `false` otherwise.
41
+ */
42
+ handles(operation) {
43
+ return this.modelState.root && operation.kind === this.operationType;
44
+ }
45
+ };
46
+ __decorate([
47
+ (0, inversify_1.inject)(model_state_1.ModelState),
48
+ __metadata("design:type", Object)
49
+ ], OperationHandler.prototype, "modelState", void 0);
50
+ OperationHandler = __decorate([
51
+ (0, inversify_1.injectable)()
52
+ ], OperationHandler);
53
+ exports.OperationHandler = OperationHandler;
54
+ exports.OperationHandlerConstructor = Symbol('OperationHandlerConstructor');
55
+ exports.OperationHandlerFactory = Symbol('OperationHandlerFactory');
56
+ //# sourceMappingURL=operation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler.js","sourceRoot":"","sources":["../../../src/common/operations/operation-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgBA,yCAA2D;AAE3D,+DAA2D;AAE3D;;;;;;;;GAQG;AAEI,IAAe,gBAAgB,GAA/B,MAAe,gBAAgB;IAsBlC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAoB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,SAAoB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;IACzE,CAAC;CACJ,CAAA;AA1CG;IAAC,IAAA,kBAAM,EAAC,wBAAU,CAAC;;oDACc;AAFf,gBAAgB;IADrC,IAAA,sBAAU,GAAE;GACS,gBAAgB,CA2CrC;AA3CqB,4CAAgB;AA6CzB,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAIpE,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,45 @@
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 { ActionMessage } from '@eclipse-glsp/protocol';
17
+ import * as jsonrpc from 'vscode-jsonrpc';
18
+ export declare const GLSPClientProxyFactory: unique symbol;
19
+ export type GLSPClientProxyFactory = (connection: jsonrpc.MessageConnection) => GLSPClientProxy;
20
+ export declare const GLSPClientProxy: unique symbol;
21
+ /**
22
+ * Json-rpc client proxy interface to hide the underlying json-rpc logic.
23
+ */
24
+ export interface GLSPClientProxy {
25
+ /**
26
+ * A `process` notification is sent from the server to server to the client when the client should handle i.e.
27
+ * process a specific {@link ActionMessage}. Any communication that is performed between initialization and shutdown
28
+ * is handled by sending action messages, either from the client to the server or from the server to the client. This
29
+ * is the core part of the Graphical Language Server Protocol.
30
+ *
31
+ * @param message The {@link ActionMessage} that should be processed.
32
+ */
33
+ process(message: ActionMessage): void;
34
+ }
35
+ export declare const JsonRpcGLSPClientProxy: unique symbol;
36
+ export interface JsonRpcGLSPClientProxy extends GLSPClientProxy {
37
+ connect(connection: jsonrpc.MessageConnection): void;
38
+ }
39
+ export declare class DefaultGLSPClientProxy implements JsonRpcGLSPClientProxy {
40
+ private logger;
41
+ protected connection: jsonrpc.MessageConnection;
42
+ connect(connection: jsonrpc.MessageConnection): void;
43
+ process(message: ActionMessage): void;
44
+ }
45
+ //# sourceMappingURL=glsp-client-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-client-proxy.d.ts","sourceRoot":"","sources":["../../../src/common/protocol/glsp-client-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAqB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,KAAK,eAAe,CAAC;AAEhG,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC3D,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CACxD;AAED,qBACa,sBAAuB,YAAW,sBAAsB;IAEjE,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAEhD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI;IAMpD,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAIxC"}
@@ -0,0 +1,53 @@
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.DefaultGLSPClientProxy = exports.JsonRpcGLSPClientProxy = exports.GLSPClientProxy = exports.GLSPClientProxyFactory = 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 protocol_1 = require("@eclipse-glsp/protocol");
29
+ const inversify_1 = require("inversify");
30
+ const logger_1 = require("../utils/logger");
31
+ exports.GLSPClientProxyFactory = Symbol('GLSPClientProxyFactory');
32
+ exports.GLSPClientProxy = Symbol('GLSPClientProxy');
33
+ exports.JsonRpcGLSPClientProxy = Symbol('JsonRpcGLSPClientProxy');
34
+ let DefaultGLSPClientProxy = class DefaultGLSPClientProxy {
35
+ connect(connection) {
36
+ if (!this.connection) {
37
+ this.connection = connection;
38
+ }
39
+ }
40
+ process(message) {
41
+ this.logger.debug(`Send action '${message.action.kind}' to client '${message.clientId}'`);
42
+ this.connection.sendNotification(protocol_1.JsonrpcGLSPClient.ActionMessageNotification, message);
43
+ }
44
+ };
45
+ __decorate([
46
+ (0, inversify_1.inject)(logger_1.Logger),
47
+ __metadata("design:type", logger_1.Logger)
48
+ ], DefaultGLSPClientProxy.prototype, "logger", void 0);
49
+ DefaultGLSPClientProxy = __decorate([
50
+ (0, inversify_1.injectable)()
51
+ ], DefaultGLSPClientProxy);
52
+ exports.DefaultGLSPClientProxy = DefaultGLSPClientProxy;
53
+ //# sourceMappingURL=glsp-client-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-client-proxy.js","sourceRoot":"","sources":["../../../src/common/protocol/glsp-client-proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA0E;AAC1E,yCAA+C;AAE/C,4CAAyC;AAE5B,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAI1D,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAiB5C,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAOhE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAM/B,OAAO,CAAC,UAAqC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAChC;IACL,CAAC;IAED,OAAO,CAAC,OAAsB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,CAAC,IAAI,gBAAgB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,4BAAiB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;CACJ,CAAA;AAfG;IAAC,IAAA,kBAAM,EAAC,eAAM,CAAC;8BACC,eAAM;sDAAC;AAFd,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAgBlC;AAhBY,wDAAsB"}
@@ -0,0 +1,37 @@
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 { GLSPServer } from './glsp-server';
17
+ export declare const GLSPServerListener: unique symbol;
18
+ /**
19
+ * A listener to track the connection status of {@link GLSPClient}s (i.e. client applications).
20
+ * Gets notified when a new GLSP client connects or disconnects.
21
+ */
22
+ export interface GLSPServerListener {
23
+ /**
24
+ * Triggered after a GLSPServer has been initialized via the {@link GLSPServer.initialize()}
25
+ * method.
26
+ *
27
+ * @param server The GLSPServer which has been initialized.
28
+ */
29
+ serverInitialized?(server: GLSPServer): void;
30
+ /**
31
+ * Triggered after the {@link GLSPServer.shutdown()} method has been invoked.
32
+ *
33
+ * @param glspServer The glspServer which has been shut down.
34
+ */
35
+ serverShutDown?(server: GLSPServer): void;
36
+ }
37
+ //# sourceMappingURL=glsp-server-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-server-listener.d.ts","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAE7C;;;;OAIG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7C"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GLSPServerListener = void 0;
4
+ exports.GLSPServerListener = Symbol('GLSPServerListener');
5
+ //# sourceMappingURL=glsp-server-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-server-listener.js","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server-listener.ts"],"names":[],"mappings":";;;AAiBa,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,150 @@
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 { ActionMessage, Args, DisposeClientSessionParameters, InitializeClientSessionParameters, InitializeParameters, InitializeResult, MaybePromise } from '@eclipse-glsp/protocol';
17
+ import * as jsonrpc from 'vscode-jsonrpc';
18
+ import { MessageConnection } from 'vscode-jsonrpc';
19
+ import { GlobalActionProvider } from '../actions/global-action-provider';
20
+ import { ClientSession } from '../session/client-session';
21
+ import { ClientSessionManager } from '../session/client-session-manager';
22
+ import { Logger } from '../utils/logger';
23
+ import { JsonRpcGLSPClientProxy } from './glsp-client-proxy';
24
+ import { GLSPServerListener } from './glsp-server-listener';
25
+ export declare const GLSPServer: unique symbol;
26
+ /**
27
+ * Interface for implementations of a server component using json-rpc for client-server communication.
28
+ * Based on the specification of the Graphical Language Server Protocol:
29
+ * https://github.com/eclipse-glsp/glsp/blob/master/PROTOCOL.md
30
+ */
31
+ export interface GLSPServer {
32
+ /**
33
+ *
34
+ * The `initialize` request has to be the first request from the client to the server. Until the server has responded
35
+ * with an {@link InitializeResult} no other request or notification can be handled and is expected to throw an
36
+ * error. A client is uniquely identified by an `applicationId` and has to specify on which `protocolVersion` it is
37
+ * based on. In addition, custom arguments can be provided in the `args` map to allow for custom initialization
38
+ * behavior on the server.
39
+ *
40
+ * After successfully initialization all {@link GLSPServerListener}s are notified via the
41
+ * {@link GLSPServerListener.serverInitialized} method.
42
+ *
43
+ * @param params the {@link InitializeParameters}.
44
+ * @returns A promise of the {@link InitializeResult} .
45
+ *
46
+ * @throws {@link Error} Subsequent initialize requests return the {@link InitializeResult} of the initial request
47
+ * if the given application id and protocol version are matching, otherwise the promise rejects with an error.
48
+ *
49
+ */
50
+ initialize(params: InitializeParameters): Promise<InitializeResult>;
51
+ /**
52
+ * The `initializeClientSession` request is sent to the server whenever a new graphical representation (diagram) is
53
+ * created. Each individual diagram on the client side counts as one session and has to provide a unique
54
+ * `clientSessionId` and its `diagramType`. In addition, custom arguments can be provided in the `args` map to allow
55
+ * for custom initialization behavior on the server. Subsequent `initializeClientSession` requests for the same
56
+ * client id and diagram type are expected to resolve successfully but don't have an actual effect because the
57
+ * corresponding client session is already initialized.
58
+ *
59
+ * @param params the {@link InitializeClientSessionParameters}.
60
+ * @returns A promise that completes when the initialization was successful.
61
+ */
62
+ initializeClientSession(params: InitializeClientSessionParameters): Promise<void>;
63
+ /**
64
+ * The 'DisposeClientSession' request is sent to the server when a graphical representation (diagram) is no longer
65
+ * needed, e.g. the tab containing the diagram widget has been closed. The session is identified by its unique
66
+ * `clientSessionId`. In addition, custom arguments can be provided in the `args` map to allow for custom dispose
67
+ * behavior on the server.
68
+ *
69
+ * @param params the {@link DisposeClientSessionParameters}.
70
+ * @returns A `void` promise that completes if the disposal was successful.
71
+ *
72
+ */
73
+ disposeClientSession(params: DisposeClientSessionParameters): Promise<void>;
74
+ /**
75
+ * A `process` notification is sent from the client to server when the server should handle i.e. process a specific
76
+ * {@link ActionMessage}. Any communication that is performed between initialization and shutdown is handled by
77
+ * sending action messages, either from the client to the server or from the server to the client. This is the core
78
+ * part of the Graphical Language Server Protocol.
79
+ *
80
+ * @param message The {@link ActionMessage} that should be processed.
81
+ */
82
+ process(message: ActionMessage): void;
83
+ /**
84
+ * The `shutdown` notification is sent from the client to the server if the client disconnects from the server (e.g.
85
+ * the client application has been closed).
86
+ * This gives the server a chance to clean up and dispose any resources dedicated to the client and its sessions.
87
+ * All {@link GLSPServerListener}s are notified via the {@link GLSPServerListener.serverShutDown} method.
88
+ * Afterwards the server instance is considered to be disposed and can no longer be used for handling requests.
89
+ *
90
+ */
91
+ shutdown(): void;
92
+ /**
93
+ * Register a new {@link GLSPServerListener}.
94
+ *
95
+ * @param listener The listener that should be registered.
96
+ * @returns `true` if the listener was registered successfully, `false` otherwise (e.g. listener is already
97
+ * registered).
98
+ */
99
+ addListener(listener: GLSPServerListener): boolean;
100
+ /**
101
+ * Unregister a {@link GLSPServerListener}.
102
+ *
103
+ * @param listener The listener that should be removed
104
+ * @returns 'true' if the listener was unregistered successfully, `false` otherwise (e.g. listener is was not
105
+ * registered in the first place).
106
+ */
107
+ removeListener(listener: GLSPServerListener): boolean;
108
+ /**
109
+ * get a {@link ClientSession}.
110
+ *
111
+ * @param sessionId The id of the session to get
112
+ * @returns The either the ClientSession or undefined, if no ClientSession was found for the given id.
113
+ */
114
+ getClientSession(sessionId: string): ClientSession | undefined;
115
+ }
116
+ export declare const JsonRpcGLSPServer: unique symbol;
117
+ export interface JsonRpcGLSPServer extends GLSPServer {
118
+ connect(connection: jsonrpc.MessageConnection): void;
119
+ }
120
+ export declare class DefaultGLSPServer implements JsonRpcGLSPServer {
121
+ static readonly PROTOCOL_VERSION = "1.0.0";
122
+ protected logger: Logger;
123
+ protected sessionManager: ClientSessionManager;
124
+ protected actionProvider: GlobalActionProvider;
125
+ protected glspClient: JsonRpcGLSPClientProxy;
126
+ protected initializeResult?: InitializeResult;
127
+ protected applicationId: string;
128
+ protected clientSessions: Map<string, ClientSession>;
129
+ protected serverListeners: GLSPServerListener[];
130
+ constructor(serverListeners?: GLSPServerListener[]);
131
+ protected setupJsonRpc(connection: MessageConnection): void;
132
+ protected validateProtocolVersion(params: InitializeParameters): void;
133
+ protected validateServerInitialized(): void;
134
+ initialize(params: InitializeParameters): Promise<InitializeResult>;
135
+ protected handleInitializeArgs(result: InitializeResult, args: Args | undefined): MaybePromise<InitializeResult>;
136
+ initializeClientSession(params: InitializeClientSessionParameters): Promise<void>;
137
+ protected handleInitializeClientSessionArgs(args: Args | undefined): MaybePromise<void>;
138
+ disposeClientSession(params: DisposeClientSessionParameters): Promise<void>;
139
+ protected handleDisposeClientSessionArgs(args: Args | undefined): Promise<void>;
140
+ process(message: ActionMessage): void;
141
+ protected handleProcessError(message: ActionMessage, reason: any): void | PromiseLike<void>;
142
+ getClientSession(sessionId: string): ClientSession | undefined;
143
+ shutdown(): void;
144
+ connect(connection: jsonrpc.MessageConnection): void;
145
+ protected isInitialized(): boolean;
146
+ addListener(listener: GLSPServerListener): boolean;
147
+ removeListener(listener: GLSPServerListener): boolean;
148
+ protected getListenersToNotify(method: keyof GLSPServerListener): GLSPServerListener[];
149
+ }
150
+ //# sourceMappingURL=glsp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-server.d.ts","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server.ts"],"names":[],"mappings":"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"}