@eclipse-glsp/server 1.1.0-next.3d7585d.42

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 (593) 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 +37 -0
  54. package/lib/common/command/command-stack.d.ts.map +1 -0
  55. package/lib/common/command/command-stack.js +48 -0
  56. package/lib/common/command/command-stack.js.map +1 -0
  57. package/lib/common/command/command.d.ts +37 -0
  58. package/lib/common/command/command.d.ts.map +1 -0
  59. package/lib/common/command/command.js +18 -0
  60. package/lib/common/command/command.js.map +1 -0
  61. package/lib/common/di/binding-target.d.ts +73 -0
  62. package/lib/common/di/binding-target.d.ts.map +1 -0
  63. package/lib/common/di/binding-target.js +143 -0
  64. package/lib/common/di/binding-target.js.map +1 -0
  65. package/lib/common/di/binding-target.spec.d.ts +2 -0
  66. package/lib/common/di/binding-target.spec.d.ts.map +1 -0
  67. package/lib/common/di/binding-target.spec.js +121 -0
  68. package/lib/common/di/binding-target.spec.js.map +1 -0
  69. package/lib/common/di/client-session-module.d.ts +19 -0
  70. package/lib/common/di/client-session-module.d.ts.map +1 -0
  71. package/lib/common/di/client-session-module.js +34 -0
  72. package/lib/common/di/client-session-module.js.map +1 -0
  73. package/lib/common/di/diagram-module.d.ts +127 -0
  74. package/lib/common/di/diagram-module.d.ts.map +1 -0
  75. package/lib/common/di/diagram-module.js +283 -0
  76. package/lib/common/di/diagram-module.js.map +1 -0
  77. package/lib/common/di/glsp-module.d.ts +47 -0
  78. package/lib/common/di/glsp-module.d.ts.map +1 -0
  79. package/lib/common/di/glsp-module.js +59 -0
  80. package/lib/common/di/glsp-module.js.map +1 -0
  81. package/lib/common/di/multi-binding.d.ts +41 -0
  82. package/lib/common/di/multi-binding.d.ts.map +1 -0
  83. package/lib/common/di/multi-binding.js +82 -0
  84. package/lib/common/di/multi-binding.js.map +1 -0
  85. package/lib/common/di/multi-bindings.spec.d.ts +2 -0
  86. package/lib/common/di/multi-bindings.spec.d.ts.map +1 -0
  87. package/lib/common/di/multi-bindings.spec.js +137 -0
  88. package/lib/common/di/multi-bindings.spec.js.map +1 -0
  89. package/lib/common/di/server-module.d.ts +73 -0
  90. package/lib/common/di/server-module.d.ts.map +1 -0
  91. package/lib/common/di/server-module.js +103 -0
  92. package/lib/common/di/server-module.js.map +1 -0
  93. package/lib/common/di/service-identifiers.d.ts +29 -0
  94. package/lib/common/di/service-identifiers.d.ts.map +1 -0
  95. package/lib/common/di/service-identifiers.js +14 -0
  96. package/lib/common/di/service-identifiers.js.map +1 -0
  97. package/lib/common/diagram/diagram-configuration.d.ts +89 -0
  98. package/lib/common/diagram/diagram-configuration.d.ts.map +1 -0
  99. package/lib/common/diagram/diagram-configuration.js +30 -0
  100. package/lib/common/diagram/diagram-configuration.js.map +1 -0
  101. package/lib/common/diagram/request-type-hints-action-handler.d.ts +25 -0
  102. package/lib/common/diagram/request-type-hints-action-handler.d.ts.map +1 -0
  103. package/lib/common/diagram/request-type-hints-action-handler.js +53 -0
  104. package/lib/common/diagram/request-type-hints-action-handler.js.map +1 -0
  105. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts +2 -0
  106. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts.map +1 -0
  107. package/lib/common/diagram/request-type-hints-action-handler.spec.js +57 -0
  108. package/lib/common/diagram/request-type-hints-action-handler.spec.js.map +1 -0
  109. package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts +26 -0
  110. package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts.map +1 -0
  111. package/lib/common/features/clipboard/request-clipboard-data-action-handler.js +61 -0
  112. package/lib/common/features/clipboard/request-clipboard-data-action-handler.js.map +1 -0
  113. package/lib/common/features/contextactions/command-palette-action-provider.d.ts +63 -0
  114. package/lib/common/features/contextactions/command-palette-action-provider.d.ts.map +1 -0
  115. package/lib/common/features/contextactions/command-palette-action-provider.js +72 -0
  116. package/lib/common/features/contextactions/command-palette-action-provider.js.map +1 -0
  117. package/lib/common/features/contextactions/context-actions-provider-registry.d.ts +12 -0
  118. package/lib/common/features/contextactions/context-actions-provider-registry.d.ts.map +1 -0
  119. package/lib/common/features/contextactions/context-actions-provider-registry.js +70 -0
  120. package/lib/common/features/contextactions/context-actions-provider-registry.js.map +1 -0
  121. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts +2 -0
  122. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts.map +1 -0
  123. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js +34 -0
  124. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js.map +1 -0
  125. package/lib/common/features/contextactions/context-actions-provider.d.ts +34 -0
  126. package/lib/common/features/contextactions/context-actions-provider.d.ts.map +1 -0
  127. package/lib/common/features/contextactions/context-actions-provider.js +5 -0
  128. package/lib/common/features/contextactions/context-actions-provider.js.map +1 -0
  129. package/lib/common/features/contextactions/context-menu-item-provider.d.ts +43 -0
  130. package/lib/common/features/contextactions/context-menu-item-provider.d.ts.map +1 -0
  131. package/lib/common/features/contextactions/context-menu-item-provider.js +36 -0
  132. package/lib/common/features/contextactions/context-menu-item-provider.js.map +1 -0
  133. package/lib/common/features/contextactions/request-context-actions-handler.d.ts +24 -0
  134. package/lib/common/features/contextactions/request-context-actions-handler.d.ts.map +1 -0
  135. package/lib/common/features/contextactions/request-context-actions-handler.js +53 -0
  136. package/lib/common/features/contextactions/request-context-actions-handler.js.map +1 -0
  137. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts +2 -0
  138. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts.map +1 -0
  139. package/lib/common/features/contextactions/request-context-actions-handler.spec.js +63 -0
  140. package/lib/common/features/contextactions/request-context-actions-handler.spec.js.map +1 -0
  141. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts +50 -0
  142. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts.map +1 -0
  143. package/lib/common/features/contextactions/tool-palette-item-provider.js +88 -0
  144. package/lib/common/features/contextactions/tool-palette-item-provider.js.map +1 -0
  145. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts +2 -0
  146. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts.map +1 -0
  147. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js +48 -0
  148. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js.map +1 -0
  149. package/lib/common/features/directediting/context-edit-validator-registry.d.ts +14 -0
  150. package/lib/common/features/directediting/context-edit-validator-registry.d.ts.map +1 -0
  151. package/lib/common/features/directediting/context-edit-validator-registry.js +57 -0
  152. package/lib/common/features/directediting/context-edit-validator-registry.js.map +1 -0
  153. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts +2 -0
  154. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts.map +1 -0
  155. package/lib/common/features/directediting/context-edit-validator-registry.spec.js +44 -0
  156. package/lib/common/features/directediting/context-edit-validator-registry.spec.js.map +1 -0
  157. package/lib/common/features/directediting/context-edit-validator.d.ts +25 -0
  158. package/lib/common/features/directediting/context-edit-validator.d.ts.map +1 -0
  159. package/lib/common/features/directediting/context-edit-validator.js +40 -0
  160. package/lib/common/features/directediting/context-edit-validator.js.map +1 -0
  161. package/lib/common/features/directediting/label-edit-validator.d.ts +32 -0
  162. package/lib/common/features/directediting/label-edit-validator.d.ts.map +1 -0
  163. package/lib/common/features/directediting/label-edit-validator.js +21 -0
  164. package/lib/common/features/directediting/label-edit-validator.js.map +1 -0
  165. package/lib/common/features/directediting/request-edit-validation-handler.d.ts +26 -0
  166. package/lib/common/features/directediting/request-edit-validation-handler.d.ts.map +1 -0
  167. package/lib/common/features/directediting/request-edit-validation-handler.js +61 -0
  168. package/lib/common/features/directediting/request-edit-validation-handler.js.map +1 -0
  169. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts +2 -0
  170. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts.map +1 -0
  171. package/lib/common/features/directediting/request-edit-validation-handler.spec.js +97 -0
  172. package/lib/common/features/directediting/request-edit-validation-handler.spec.js.map +1 -0
  173. package/lib/common/features/layout/layout-engine.d.ts +29 -0
  174. package/lib/common/features/layout/layout-engine.d.ts.map +1 -0
  175. package/lib/common/features/layout/layout-engine.js +20 -0
  176. package/lib/common/features/layout/layout-engine.js.map +1 -0
  177. package/lib/common/features/layout/layout-operation-handler.d.ts +28 -0
  178. package/lib/common/features/layout/layout-operation-handler.d.ts.map +1 -0
  179. package/lib/common/features/layout/layout-operation-handler.js +66 -0
  180. package/lib/common/features/layout/layout-operation-handler.js.map +1 -0
  181. package/lib/common/features/model/gmodel-factory.d.ts +39 -0
  182. package/lib/common/features/model/gmodel-factory.d.ts.map +1 -0
  183. package/lib/common/features/model/gmodel-factory.js +39 -0
  184. package/lib/common/features/model/gmodel-factory.js.map +1 -0
  185. package/lib/common/features/model/gmodel-index.d.ts +107 -0
  186. package/lib/common/features/model/gmodel-index.d.ts.map +1 -0
  187. package/lib/common/features/model/gmodel-index.js +193 -0
  188. package/lib/common/features/model/gmodel-index.js.map +1 -0
  189. package/lib/common/features/model/gmodel-serializer.d.ts +67 -0
  190. package/lib/common/features/model/gmodel-serializer.d.ts.map +1 -0
  191. package/lib/common/features/model/gmodel-serializer.js +143 -0
  192. package/lib/common/features/model/gmodel-serializer.js.map +1 -0
  193. package/lib/common/features/model/gmodel-serializer.spec.d.ts +2 -0
  194. package/lib/common/features/model/gmodel-serializer.spec.d.ts.map +1 -0
  195. package/lib/common/features/model/gmodel-serializer.spec.js +124 -0
  196. package/lib/common/features/model/gmodel-serializer.spec.js.map +1 -0
  197. package/lib/common/features/model/model-state.d.ts +53 -0
  198. package/lib/common/features/model/model-state.d.ts.map +1 -0
  199. package/lib/common/features/model/model-state.js +75 -0
  200. package/lib/common/features/model/model-state.js.map +1 -0
  201. package/lib/common/features/model/model-submission-handler.d.ts +56 -0
  202. package/lib/common/features/model/model-submission-handler.d.ts.map +1 -0
  203. package/lib/common/features/model/model-submission-handler.js +97 -0
  204. package/lib/common/features/model/model-submission-handler.js.map +1 -0
  205. package/lib/common/features/model/request-model-action-handler.d.ts +37 -0
  206. package/lib/common/features/model/request-model-action-handler.d.ts.map +1 -0
  207. package/lib/common/features/model/request-model-action-handler.js +83 -0
  208. package/lib/common/features/model/request-model-action-handler.js.map +1 -0
  209. package/lib/common/features/model/save-model-action-handler.d.ts +26 -0
  210. package/lib/common/features/model/save-model-action-handler.d.ts.map +1 -0
  211. package/lib/common/features/model/save-model-action-handler.js +54 -0
  212. package/lib/common/features/model/save-model-action-handler.js.map +1 -0
  213. package/lib/common/features/model/source-model-storage.d.ts +47 -0
  214. package/lib/common/features/model/source-model-storage.d.ts.map +1 -0
  215. package/lib/common/features/model/source-model-storage.js +5 -0
  216. package/lib/common/features/model/source-model-storage.js.map +1 -0
  217. package/lib/common/features/navigation/json-opener-options.d.ts +36 -0
  218. package/lib/common/features/navigation/json-opener-options.d.ts.map +1 -0
  219. package/lib/common/features/navigation/json-opener-options.js +60 -0
  220. package/lib/common/features/navigation/json-opener-options.js.map +1 -0
  221. package/lib/common/features/navigation/navigation-target-provider-registry.d.ts +12 -0
  222. package/lib/common/features/navigation/navigation-target-provider-registry.d.ts.map +1 -0
  223. package/lib/common/features/navigation/navigation-target-provider-registry.js +47 -0
  224. package/lib/common/features/navigation/navigation-target-provider-registry.js.map +1 -0
  225. package/lib/common/features/navigation/navigation-target-provider.d.ts +48 -0
  226. package/lib/common/features/navigation/navigation-target-provider.d.ts.map +1 -0
  227. package/lib/common/features/navigation/navigation-target-provider.js +5 -0
  228. package/lib/common/features/navigation/navigation-target-provider.js.map +1 -0
  229. package/lib/common/features/navigation/navigation-target-resolution.d.ts +23 -0
  230. package/lib/common/features/navigation/navigation-target-resolution.d.ts.map +1 -0
  231. package/lib/common/features/navigation/navigation-target-resolution.js +12 -0
  232. package/lib/common/features/navigation/navigation-target-resolution.js.map +1 -0
  233. package/lib/common/features/navigation/navigation-target-resolver.d.ts +31 -0
  234. package/lib/common/features/navigation/navigation-target-resolver.d.ts.map +1 -0
  235. package/lib/common/features/navigation/navigation-target-resolver.js +49 -0
  236. package/lib/common/features/navigation/navigation-target-resolver.js.map +1 -0
  237. package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts +24 -0
  238. package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts.map +1 -0
  239. package/lib/common/features/navigation/request-navigation-targets-action-handler.js +55 -0
  240. package/lib/common/features/navigation/request-navigation-targets-action-handler.js.map +1 -0
  241. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts +26 -0
  242. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts.map +1 -0
  243. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js +59 -0
  244. package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js.map +1 -0
  245. package/lib/common/features/popup/popup-model-factory.d.ts +36 -0
  246. package/lib/common/features/popup/popup-model-factory.d.ts.map +1 -0
  247. package/lib/common/features/popup/popup-model-factory.js +20 -0
  248. package/lib/common/features/popup/popup-model-factory.js.map +1 -0
  249. package/lib/common/features/popup/request-popup-model-action-handler.d.ts +31 -0
  250. package/lib/common/features/popup/request-popup-model-action-handler.d.ts.map +1 -0
  251. package/lib/common/features/popup/request-popup-model-action-handler.js +77 -0
  252. package/lib/common/features/popup/request-popup-model-action-handler.js.map +1 -0
  253. package/lib/common/features/validation/model-validator.d.ts +33 -0
  254. package/lib/common/features/validation/model-validator.d.ts.map +1 -0
  255. package/lib/common/features/validation/model-validator.js +5 -0
  256. package/lib/common/features/validation/model-validator.js.map +1 -0
  257. package/lib/common/features/validation/request-markers-handler.d.ts +11 -0
  258. package/lib/common/features/validation/request-markers-handler.d.ts.map +1 -0
  259. package/lib/common/features/validation/request-markers-handler.js +70 -0
  260. package/lib/common/features/validation/request-markers-handler.js.map +1 -0
  261. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts +9 -0
  262. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts.map +1 -0
  263. package/lib/common/gmodel/apply-label-edit-operation-handler.js +55 -0
  264. package/lib/common/gmodel/apply-label-edit-operation-handler.js.map +1 -0
  265. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts +2 -0
  266. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts.map +1 -0
  267. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js +38 -0
  268. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js.map +1 -0
  269. package/lib/common/gmodel/change-bounds-operation-handler.d.ts +10 -0
  270. package/lib/common/gmodel/change-bounds-operation-handler.d.ts.map +1 -0
  271. package/lib/common/gmodel/change-bounds-operation-handler.js +71 -0
  272. package/lib/common/gmodel/change-bounds-operation-handler.js.map +1 -0
  273. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts +24 -0
  274. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts.map +1 -0
  275. package/lib/common/gmodel/change-routing-points-operation-handler.js +53 -0
  276. package/lib/common/gmodel/change-routing-points-operation-handler.js.map +1 -0
  277. package/lib/common/gmodel/computed-bounds-action-handler.d.ts +29 -0
  278. package/lib/common/gmodel/computed-bounds-action-handler.d.ts.map +1 -0
  279. package/lib/common/gmodel/computed-bounds-action-handler.js +50 -0
  280. package/lib/common/gmodel/computed-bounds-action-handler.js.map +1 -0
  281. package/lib/common/gmodel/delete-operation-handler.d.ts +32 -0
  282. package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -0
  283. package/lib/common/gmodel/delete-operation-handler.js +116 -0
  284. package/lib/common/gmodel/delete-operation-handler.js.map +1 -0
  285. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts +31 -0
  286. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts.map +1 -0
  287. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js +65 -0
  288. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js.map +1 -0
  289. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +31 -0
  290. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -0
  291. package/lib/common/gmodel/gmodel-create-node-operation-handler.js +58 -0
  292. package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -0
  293. package/lib/common/gmodel/gmodel-diagram-module.d.ts +31 -0
  294. package/lib/common/gmodel/gmodel-diagram-module.d.ts.map +1 -0
  295. package/lib/common/gmodel/gmodel-diagram-module.js +86 -0
  296. package/lib/common/gmodel/gmodel-diagram-module.js.map +1 -0
  297. package/lib/common/gmodel/index.d.ts +26 -0
  298. package/lib/common/gmodel/index.d.ts.map +1 -0
  299. package/lib/common/gmodel/index.js +42 -0
  300. package/lib/common/gmodel/index.js.map +1 -0
  301. package/lib/common/gmodel/paste-operation-handler.d.ts +35 -0
  302. package/lib/common/gmodel/paste-operation-handler.d.ts.map +1 -0
  303. package/lib/common/gmodel/paste-operation-handler.js +131 -0
  304. package/lib/common/gmodel/paste-operation-handler.js.map +1 -0
  305. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts +9 -0
  306. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts.map +1 -0
  307. package/lib/common/gmodel/reconnect-edge-operation-handler.js +67 -0
  308. package/lib/common/gmodel/reconnect-edge-operation-handler.js.map +1 -0
  309. package/lib/common/index.d.ts +88 -0
  310. package/lib/common/index.d.ts.map +1 -0
  311. package/lib/common/index.js +104 -0
  312. package/lib/common/index.js.map +1 -0
  313. package/lib/common/launch/glsp-server-launcher.d.ts +34 -0
  314. package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -0
  315. package/lib/common/launch/glsp-server-launcher.js +64 -0
  316. package/lib/common/launch/glsp-server-launcher.js.map +1 -0
  317. package/lib/common/operations/compound-operation-handler.d.ts +25 -0
  318. package/lib/common/operations/compound-operation-handler.d.ts.map +1 -0
  319. package/lib/common/operations/compound-operation-handler.js +54 -0
  320. package/lib/common/operations/compound-operation-handler.js.map +1 -0
  321. package/lib/common/operations/create-operation-handler.d.ts +64 -0
  322. package/lib/common/operations/create-operation-handler.d.ts.map +1 -0
  323. package/lib/common/operations/create-operation-handler.js +90 -0
  324. package/lib/common/operations/create-operation-handler.js.map +1 -0
  325. package/lib/common/operations/cut-operation-handler.d.ts +25 -0
  326. package/lib/common/operations/cut-operation-handler.d.ts.map +1 -0
  327. package/lib/common/operations/cut-operation-handler.js +53 -0
  328. package/lib/common/operations/cut-operation-handler.js.map +1 -0
  329. package/lib/common/operations/operation-action-handler.d.ts +33 -0
  330. package/lib/common/operations/operation-action-handler.d.ts.map +1 -0
  331. package/lib/common/operations/operation-action-handler.js +94 -0
  332. package/lib/common/operations/operation-action-handler.js.map +1 -0
  333. package/lib/common/operations/operation-handler-registry.d.ts +29 -0
  334. package/lib/common/operations/operation-handler-registry.d.ts.map +1 -0
  335. package/lib/common/operations/operation-handler-registry.js +58 -0
  336. package/lib/common/operations/operation-handler-registry.js.map +1 -0
  337. package/lib/common/operations/operation-handler-registry.spec.d.ts +2 -0
  338. package/lib/common/operations/operation-handler-registry.spec.d.ts.map +1 -0
  339. package/lib/common/operations/operation-handler-registry.spec.js +50 -0
  340. package/lib/common/operations/operation-handler-registry.spec.js.map +1 -0
  341. package/lib/common/operations/operation-handler.d.ts +50 -0
  342. package/lib/common/operations/operation-handler.d.ts.map +1 -0
  343. package/lib/common/operations/operation-handler.js +7 -0
  344. package/lib/common/operations/operation-handler.js.map +1 -0
  345. package/lib/common/protocol/glsp-client-proxy.d.ts +45 -0
  346. package/lib/common/protocol/glsp-client-proxy.d.ts.map +1 -0
  347. package/lib/common/protocol/glsp-client-proxy.js +53 -0
  348. package/lib/common/protocol/glsp-client-proxy.js.map +1 -0
  349. package/lib/common/protocol/glsp-server-listener.d.ts +37 -0
  350. package/lib/common/protocol/glsp-server-listener.d.ts.map +1 -0
  351. package/lib/common/protocol/glsp-server-listener.js +5 -0
  352. package/lib/common/protocol/glsp-server-listener.js.map +1 -0
  353. package/lib/common/protocol/glsp-server.d.ts +150 -0
  354. package/lib/common/protocol/glsp-server.d.ts.map +1 -0
  355. package/lib/common/protocol/glsp-server.js +188 -0
  356. package/lib/common/protocol/glsp-server.js.map +1 -0
  357. package/lib/common/protocol/glsp-server.spec.d.ts +2 -0
  358. package/lib/common/protocol/glsp-server.spec.d.ts.map +1 -0
  359. package/lib/common/protocol/glsp-server.spec.js +119 -0
  360. package/lib/common/protocol/glsp-server.spec.js.map +1 -0
  361. package/lib/common/session/client-session-factory.d.ts +42 -0
  362. package/lib/common/session/client-session-factory.d.ts.map +1 -0
  363. package/lib/common/session/client-session-factory.js +54 -0
  364. package/lib/common/session/client-session-factory.js.map +1 -0
  365. package/lib/common/session/client-session-factory.spec.d.ts +2 -0
  366. package/lib/common/session/client-session-factory.spec.d.ts.map +1 -0
  367. package/lib/common/session/client-session-factory.spec.js +56 -0
  368. package/lib/common/session/client-session-factory.spec.js.map +1 -0
  369. package/lib/common/session/client-session-initializer.d.ts +26 -0
  370. package/lib/common/session/client-session-initializer.d.ts.map +1 -0
  371. package/lib/common/session/client-session-initializer.js +5 -0
  372. package/lib/common/session/client-session-initializer.js.map +1 -0
  373. package/lib/common/session/client-session-listener.d.ts +40 -0
  374. package/lib/common/session/client-session-listener.d.ts.map +1 -0
  375. package/lib/common/session/client-session-listener.js +3 -0
  376. package/lib/common/session/client-session-listener.js.map +1 -0
  377. package/lib/common/session/client-session-manager.d.ts +102 -0
  378. package/lib/common/session/client-session-manager.d.ts.map +1 -0
  379. package/lib/common/session/client-session-manager.js +116 -0
  380. package/lib/common/session/client-session-manager.js.map +1 -0
  381. package/lib/common/session/client-session-manager.spec.d.ts +2 -0
  382. package/lib/common/session/client-session-manager.spec.d.ts.map +1 -0
  383. package/lib/common/session/client-session-manager.spec.js +74 -0
  384. package/lib/common/session/client-session-manager.spec.js.map +1 -0
  385. package/lib/common/session/client-session.d.ts +52 -0
  386. package/lib/common/session/client-session.d.ts.map +1 -0
  387. package/lib/common/session/client-session.js +34 -0
  388. package/lib/common/session/client-session.js.map +1 -0
  389. package/lib/common/test/mock-util.d.ts +110 -0
  390. package/lib/common/test/mock-util.d.ts.map +1 -0
  391. package/lib/common/test/mock-util.js +211 -0
  392. package/lib/common/test/mock-util.js.map +1 -0
  393. package/lib/common/utils/args-util.d.ts +38 -0
  394. package/lib/common/utils/args-util.d.ts.map +1 -0
  395. package/lib/common/utils/args-util.js +81 -0
  396. package/lib/common/utils/args-util.js.map +1 -0
  397. package/lib/common/utils/client-options-util.d.ts +20 -0
  398. package/lib/common/utils/client-options-util.d.ts.map +1 -0
  399. package/lib/common/utils/client-options-util.js +26 -0
  400. package/lib/common/utils/client-options-util.js.map +1 -0
  401. package/lib/common/utils/glsp-server-error.d.ts +21 -0
  402. package/lib/common/utils/glsp-server-error.d.ts.map +1 -0
  403. package/lib/common/utils/glsp-server-error.js +33 -0
  404. package/lib/common/utils/glsp-server-error.js.map +1 -0
  405. package/lib/common/utils/layout-util.d.ts +74 -0
  406. package/lib/common/utils/layout-util.d.ts.map +1 -0
  407. package/lib/common/utils/layout-util.js +166 -0
  408. package/lib/common/utils/layout-util.js.map +1 -0
  409. package/lib/common/utils/logger.d.ts +27 -0
  410. package/lib/common/utils/logger.d.ts.map +1 -0
  411. package/lib/common/utils/logger.js +67 -0
  412. package/lib/common/utils/logger.js.map +1 -0
  413. package/lib/common/utils/promise-queue.d.ts +48 -0
  414. package/lib/common/utils/promise-queue.d.ts.map +1 -0
  415. package/lib/common/utils/promise-queue.js +93 -0
  416. package/lib/common/utils/promise-queue.js.map +1 -0
  417. package/lib/common/utils/promise-queue.spec.d.ts +2 -0
  418. package/lib/common/utils/promise-queue.spec.d.ts.map +1 -0
  419. package/lib/common/utils/promise-queue.spec.js +117 -0
  420. package/lib/common/utils/promise-queue.spec.js.map +1 -0
  421. package/lib/common/utils/registry.d.ts +73 -0
  422. package/lib/common/utils/registry.d.ts.map +1 -0
  423. package/lib/common/utils/registry.js +160 -0
  424. package/lib/common/utils/registry.js.map +1 -0
  425. package/lib/common/utils/registry.spec.d.ts +2 -0
  426. package/lib/common/utils/registry.spec.d.ts.map +1 -0
  427. package/lib/common/utils/registry.spec.js +199 -0
  428. package/lib/common/utils/registry.spec.js.map +1 -0
  429. package/lib/node/abstract-json-model-storage.d.ts +45 -0
  430. package/lib/node/abstract-json-model-storage.d.ts.map +1 -0
  431. package/lib/node/abstract-json-model-storage.js +103 -0
  432. package/lib/node/abstract-json-model-storage.js.map +1 -0
  433. package/lib/node/di/app-module.d.ts +36 -0
  434. package/lib/node/di/app-module.d.ts.map +1 -0
  435. package/lib/node/di/app-module.js +91 -0
  436. package/lib/node/di/app-module.js.map +1 -0
  437. package/lib/node/di/winston-logger.d.ts +32 -0
  438. package/lib/node/di/winston-logger.d.ts.map +1 -0
  439. package/lib/node/di/winston-logger.js +57 -0
  440. package/lib/node/di/winston-logger.js.map +1 -0
  441. package/lib/node/gmodel/gmodel-storage.d.ts +34 -0
  442. package/lib/node/gmodel/gmodel-storage.d.ts.map +1 -0
  443. package/lib/node/gmodel/gmodel-storage.js +68 -0
  444. package/lib/node/gmodel/gmodel-storage.js.map +1 -0
  445. package/lib/node/index.d.ts +24 -0
  446. package/lib/node/index.d.ts.map +1 -0
  447. package/lib/node/index.js +40 -0
  448. package/lib/node/index.js.map +1 -0
  449. package/lib/node/launch/cli-parser.d.ts +34 -0
  450. package/lib/node/launch/cli-parser.d.ts.map +1 -0
  451. package/lib/node/launch/cli-parser.js +71 -0
  452. package/lib/node/launch/cli-parser.js.map +1 -0
  453. package/lib/node/launch/cli-parser.spec.d.ts +2 -0
  454. package/lib/node/launch/cli-parser.spec.d.ts.map +1 -0
  455. package/lib/node/launch/cli-parser.spec.js +56 -0
  456. package/lib/node/launch/cli-parser.spec.js.map +1 -0
  457. package/lib/node/launch/socket-cli-parser.d.ts +9 -0
  458. package/lib/node/launch/socket-cli-parser.d.ts.map +1 -0
  459. package/lib/node/launch/socket-cli-parser.js +43 -0
  460. package/lib/node/launch/socket-cli-parser.js.map +1 -0
  461. package/lib/node/launch/socket-cli-parser.spec.d.ts +2 -0
  462. package/lib/node/launch/socket-cli-parser.spec.d.ts.map +1 -0
  463. package/lib/node/launch/socket-cli-parser.spec.js +66 -0
  464. package/lib/node/launch/socket-cli-parser.spec.js.map +1 -0
  465. package/lib/node/launch/socket-server-launcher.d.ts +34 -0
  466. package/lib/node/launch/socket-server-launcher.d.ts.map +1 -0
  467. package/lib/node/launch/socket-server-launcher.js +104 -0
  468. package/lib/node/launch/socket-server-launcher.js.map +1 -0
  469. package/lib/node/launch/socket-server-launcher.spec.d.ts +17 -0
  470. package/lib/node/launch/socket-server-launcher.spec.d.ts.map +1 -0
  471. package/lib/node/launch/socket-server-launcher.spec.js +70 -0
  472. package/lib/node/launch/socket-server-launcher.spec.js.map +1 -0
  473. package/node.d.ts +16 -0
  474. package/node.js +18 -0
  475. package/package.json +76 -0
  476. package/src/browser/di/app-module.ts +55 -0
  477. package/src/browser/di/console-logger.ts +71 -0
  478. package/src/browser/index.ts +19 -0
  479. package/src/browser/launch/worker-server-launcher.ts +58 -0
  480. package/src/common/actions/action-dispatcher.spec.ts +290 -0
  481. package/src/common/actions/action-dispatcher.ts +152 -0
  482. package/src/common/actions/action-handler-registry.spec.ts +52 -0
  483. package/src/common/actions/action-handler-registry.ts +60 -0
  484. package/src/common/actions/action-handler.ts +62 -0
  485. package/src/common/actions/client-action-handler.ts +50 -0
  486. package/src/common/actions/global-action-provider.spec.ts +79 -0
  487. package/src/common/actions/global-action-provider.ts +72 -0
  488. package/src/common/command/command-stack.ts +74 -0
  489. package/src/common/command/command.ts +39 -0
  490. package/src/common/di/binding-target.spec.ts +147 -0
  491. package/src/common/di/binding-target.ts +188 -0
  492. package/src/common/di/client-session-module.ts +29 -0
  493. package/src/common/di/diagram-module.ts +397 -0
  494. package/src/common/di/glsp-module.ts +66 -0
  495. package/src/common/di/multi-binding.ts +89 -0
  496. package/src/common/di/multi-bindings.spec.ts +133 -0
  497. package/src/common/di/server-module.ts +131 -0
  498. package/src/common/di/service-identifiers.ts +39 -0
  499. package/src/common/diagram/diagram-configuration.ts +97 -0
  500. package/src/common/diagram/request-type-hints-action-handler.spec.ts +59 -0
  501. package/src/common/diagram/request-type-hints-action-handler.ts +36 -0
  502. package/src/common/features/clipboard/request-clipboard-data-action-handler.ts +51 -0
  503. package/src/common/features/contextactions/command-palette-action-provider.ts +94 -0
  504. package/src/common/features/contextactions/context-actions-provider-registry.spec.ts +69 -0
  505. package/src/common/features/contextactions/context-actions-provider-registry.ts +47 -0
  506. package/src/common/features/contextactions/context-actions-provider.ts +36 -0
  507. package/src/common/features/contextactions/context-menu-item-provider.ts +52 -0
  508. package/src/common/features/contextactions/request-context-actions-handler.spec.ts +75 -0
  509. package/src/common/features/contextactions/request-context-actions-handler.ts +37 -0
  510. package/src/common/features/contextactions/tool-palette-item-provider.spec.ts +46 -0
  511. package/src/common/features/contextactions/tool-palette-item-provider.ts +90 -0
  512. package/src/common/features/directediting/context-edit-validator-registry.spec.ts +54 -0
  513. package/src/common/features/directediting/context-edit-validator-registry.ts +43 -0
  514. package/src/common/features/directediting/context-edit-validator.ts +55 -0
  515. package/src/common/features/directediting/label-edit-validator.ts +35 -0
  516. package/src/common/features/directediting/request-edit-validation-handler.spec.ts +131 -0
  517. package/src/common/features/directediting/request-edit-validation-handler.ts +43 -0
  518. package/src/common/features/layout/layout-engine.ts +31 -0
  519. package/src/common/features/layout/layout-operation-handler.ts +47 -0
  520. package/src/common/features/model/gmodel-factory.ts +60 -0
  521. package/src/common/features/model/gmodel-index.ts +195 -0
  522. package/src/common/features/model/gmodel-serializer.spec.ts +141 -0
  523. package/src/common/features/model/gmodel-serializer.ts +175 -0
  524. package/src/common/features/model/model-state.ts +101 -0
  525. package/src/common/features/model/model-submission-handler.ts +106 -0
  526. package/src/common/features/model/request-model-action-handler.ts +67 -0
  527. package/src/common/features/model/save-model-action-handler.ts +38 -0
  528. package/src/common/features/model/source-model-storage.ts +49 -0
  529. package/src/common/features/navigation/json-opener-options.ts +69 -0
  530. package/src/common/features/navigation/navigation-target-provider-registry.ts +36 -0
  531. package/src/common/features/navigation/navigation-target-provider.ts +50 -0
  532. package/src/common/features/navigation/navigation-target-resolution.ts +22 -0
  533. package/src/common/features/navigation/navigation-target-resolver.ts +61 -0
  534. package/src/common/features/navigation/request-navigation-targets-action-handler.ts +39 -0
  535. package/src/common/features/navigation/resolve-navigation-targets-action-handler.ts +42 -0
  536. package/src/common/features/popup/popup-model-factory.ts +38 -0
  537. package/src/common/features/popup/request-popup-model-action-handler.ts +60 -0
  538. package/src/common/features/validation/model-validator.ts +34 -0
  539. package/src/common/features/validation/request-markers-handler.ts +51 -0
  540. package/src/common/gmodel/README.md +7 -0
  541. package/src/common/gmodel/apply-label-edit-operation-handler.spec.ts +40 -0
  542. package/src/common/gmodel/apply-label-edit-operation-handler.ts +38 -0
  543. package/src/common/gmodel/change-bounds-operation-handler.ts +58 -0
  544. package/src/common/gmodel/change-routing-points-operation-handler.ts +39 -0
  545. package/src/common/gmodel/computed-bounds-action-handler.ts +51 -0
  546. package/src/common/gmodel/delete-operation-handler.ts +115 -0
  547. package/src/common/gmodel/gmodel-create-edge-operation-handler.ts +58 -0
  548. package/src/common/gmodel/gmodel-create-node-operation-handler.ts +47 -0
  549. package/src/common/gmodel/gmodel-diagram-module.ts +81 -0
  550. package/src/common/gmodel/index.ts +26 -0
  551. package/src/common/gmodel/paste-operation-handler.ts +119 -0
  552. package/src/common/gmodel/reconnect-edge-operation-handler.ts +55 -0
  553. package/src/common/index.ts +88 -0
  554. package/src/common/launch/glsp-server-launcher.ts +70 -0
  555. package/src/common/operations/compound-operation-handler.ts +38 -0
  556. package/src/common/operations/create-operation-handler.ts +106 -0
  557. package/src/common/operations/cut-operation-handler.ts +38 -0
  558. package/src/common/operations/operation-action-handler.ts +69 -0
  559. package/src/common/operations/operation-handler-registry.spec.ts +50 -0
  560. package/src/common/operations/operation-handler-registry.ts +51 -0
  561. package/src/common/operations/operation-handler.ts +57 -0
  562. package/src/common/protocol/glsp-client-proxy.ts +65 -0
  563. package/src/common/protocol/glsp-server-listener.ts +39 -0
  564. package/src/common/protocol/glsp-server.spec.ts +150 -0
  565. package/src/common/protocol/glsp-server.ts +320 -0
  566. package/src/common/session/client-session-factory.spec.ts +60 -0
  567. package/src/common/session/client-session-factory.ts +70 -0
  568. package/src/common/session/client-session-initializer.ts +27 -0
  569. package/src/common/session/client-session-listener.ts +41 -0
  570. package/src/common/session/client-session-manager.spec.ts +82 -0
  571. package/src/common/session/client-session-manager.ts +182 -0
  572. package/src/common/session/client-session.ts +62 -0
  573. package/src/common/test/mock-util.ts +256 -0
  574. package/src/common/utils/args-util.ts +98 -0
  575. package/src/common/utils/client-options-util.ts +22 -0
  576. package/src/common/utils/glsp-server-error.ts +27 -0
  577. package/src/common/utils/layout-util.ts +164 -0
  578. package/src/common/utils/logger.ts +72 -0
  579. package/src/common/utils/promise-queue.spec.ts +138 -0
  580. package/src/common/utils/promise-queue.ts +103 -0
  581. package/src/common/utils/registry.spec.ts +223 -0
  582. package/src/common/utils/registry.ts +154 -0
  583. package/src/node/abstract-json-model-storage.ts +114 -0
  584. package/src/node/di/app-module.ts +102 -0
  585. package/src/node/di/winston-logger.ts +76 -0
  586. package/src/node/gmodel/gmodel-storage.ts +53 -0
  587. package/src/node/index.ts +23 -0
  588. package/src/node/launch/cli-parser.spec.ts +61 -0
  589. package/src/node/launch/cli-parser.ts +86 -0
  590. package/src/node/launch/socket-cli-parser.spec.ts +73 -0
  591. package/src/node/launch/socket-cli-parser.ts +52 -0
  592. package/src/node/launch/socket-server-launcher.spec.ts +68 -0
  593. package/src/node/launch/socket-server-launcher.ts +90 -0
@@ -0,0 +1,73 @@
1
+ /**
2
+ * A registry manages a set of key-value pairs and provides query functionality. In GLSP this is typically used to
3
+ * provide a convenience API for working with multi-injected instances e.g. action handlers or
4
+ * operation handlers.
5
+ *
6
+ * @typeParam K Key type
7
+ * @param V Value type
8
+ */
9
+ export declare class Registry<K, V> {
10
+ protected elements: Map<K, V>;
11
+ /**
12
+ * Registers a new key-value pair.
13
+ *
14
+ * @param key The key object.
15
+ * @param element The value object.
16
+ * @returns `true` if the pair was registered successfully, `false` if another pair with the same key is already
17
+ * registered.
18
+ */
19
+ register(key: K, instance: V): boolean;
20
+ /**
21
+ * Removes the value with the given key from the registry.
22
+ *
23
+ * @param key The key of the value which should be removed.
24
+ * @returns `true` if the value was removed successfully, `false` if no value was registered for the given key.
25
+ */
26
+ deregister(key: K): boolean;
27
+ /**
28
+ * Queries the registry to check whether a value for the given key is registered.
29
+ *
30
+ * @param key The key which should be checked.
31
+ * @returns `true` if a key-value pair is registered for the given key, `false` otherwise.
32
+ */
33
+ hasKey(key: K): boolean;
34
+ /**
35
+ * Retrieve the value for the given key.
36
+ *
37
+ * @param key The key whose value should be retrieved.
38
+ * @returns The registered value or `undefined`. Is `undefined` if no value was registered for the given key.
39
+ */
40
+ get(key: K): V | undefined;
41
+ /**
42
+ * Retrieve all registered values from the registry.
43
+ *
44
+ * @returns An array of all registered keys.
45
+ */
46
+ getAll(): V[];
47
+ /**
48
+ * Retrieve all registered keys from the registry.
49
+ *
50
+ * @returns An array of all registered keys.
51
+ */
52
+ keys(): K[];
53
+ }
54
+ /**
55
+ * A multi registry is used to manage a set of key-value pairs. The main difference to {@link Registry} is that
56
+ * a multi registry doesn't enforce a 1-1 relation between key and value(s).
57
+ * One key can be associated with multiple values.
58
+ *
59
+ *
60
+ * @typeParam K Type of the key
61
+ * @param V Type of the values
62
+ */
63
+ export declare class MultiRegistry<K, V> {
64
+ protected elements: Map<K, V[]>;
65
+ register(key: K, instance: V): void;
66
+ deregister(key: K, element: V): boolean;
67
+ deregisterAll(key: K): boolean;
68
+ get(key: K): V[];
69
+ hasKey(key: K): boolean;
70
+ getAll(): V[];
71
+ keys(): K[];
72
+ }
73
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/common/utils/registry.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AAEH,qBACa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACtB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAa;IAC1C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO;IAQtC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI3B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIvB;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B;;;;OAIG;IAEH,MAAM,IAAI,CAAC,EAAE;IAIb;;;;OAIG;IACH,IAAI,IAAI,CAAC,EAAE;CAGd;AAED;;;;;;;;GAQG;AACH,qBACa,aAAa,CAAC,CAAC,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAa;IAE5C,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IASnC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO;IASvC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI9B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;IAShB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIvB,MAAM,IAAI,CAAC,EAAE;IAMb,IAAI,IAAI,CAAC,EAAE;CAGd"}
@@ -0,0 +1,160 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MultiRegistry = exports.Registry = void 0;
10
+ /********************************************************************************
11
+ * Copyright (c) 2022-2023 STMicroelectronics and others.
12
+ *
13
+ * This program and the accompanying materials are made available under the
14
+ * terms of the Eclipse Public License v. 2.0 which is available at
15
+ * http://www.eclipse.org/legal/epl-2.0.
16
+ *
17
+ * This Source Code may also be made available under the following Secondary
18
+ * Licenses when the conditions for such availability set forth in the Eclipse
19
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
20
+ * with the GNU Classpath Exception which is available at
21
+ * https://www.gnu.org/software/classpath/license.html.
22
+ *
23
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
24
+ ********************************************************************************/
25
+ const array_util_1 = require("@eclipse-glsp/protocol/lib/utils/array-util");
26
+ const inversify_1 = require("inversify");
27
+ /**
28
+ * A registry manages a set of key-value pairs and provides query functionality. In GLSP this is typically used to
29
+ * provide a convenience API for working with multi-injected instances e.g. action handlers or
30
+ * operation handlers.
31
+ *
32
+ * @typeParam K Key type
33
+ * @param V Value type
34
+ */
35
+ let Registry = class Registry {
36
+ constructor() {
37
+ this.elements = new Map();
38
+ }
39
+ /**
40
+ * Registers a new key-value pair.
41
+ *
42
+ * @param key The key object.
43
+ * @param element The value object.
44
+ * @returns `true` if the pair was registered successfully, `false` if another pair with the same key is already
45
+ * registered.
46
+ */
47
+ register(key, instance) {
48
+ if (!this.hasKey(key)) {
49
+ this.elements.set(key, instance);
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ /**
55
+ * Removes the value with the given key from the registry.
56
+ *
57
+ * @param key The key of the value which should be removed.
58
+ * @returns `true` if the value was removed successfully, `false` if no value was registered for the given key.
59
+ */
60
+ deregister(key) {
61
+ return this.elements.delete(key);
62
+ }
63
+ /**
64
+ * Queries the registry to check whether a value for the given key is registered.
65
+ *
66
+ * @param key The key which should be checked.
67
+ * @returns `true` if a key-value pair is registered for the given key, `false` otherwise.
68
+ */
69
+ hasKey(key) {
70
+ return this.elements.has(key);
71
+ }
72
+ /**
73
+ * Retrieve the value for the given key.
74
+ *
75
+ * @param key The key whose value should be retrieved.
76
+ * @returns The registered value or `undefined`. Is `undefined` if no value was registered for the given key.
77
+ */
78
+ get(key) {
79
+ return this.elements.get(key);
80
+ }
81
+ /**
82
+ * Retrieve all registered values from the registry.
83
+ *
84
+ * @returns An array of all registered keys.
85
+ */
86
+ getAll() {
87
+ return [...new Set(this.elements.values())];
88
+ }
89
+ /**
90
+ * Retrieve all registered keys from the registry.
91
+ *
92
+ * @returns An array of all registered keys.
93
+ */
94
+ keys() {
95
+ return [...new Set(this.elements.keys())];
96
+ }
97
+ };
98
+ Registry = __decorate([
99
+ (0, inversify_1.injectable)()
100
+ ], Registry);
101
+ exports.Registry = Registry;
102
+ /**
103
+ * A multi registry is used to manage a set of key-value pairs. The main difference to {@link Registry} is that
104
+ * a multi registry doesn't enforce a 1-1 relation between key and value(s).
105
+ * One key can be associated with multiple values.
106
+ *
107
+ *
108
+ * @typeParam K Type of the key
109
+ * @param V Type of the values
110
+ */
111
+ let MultiRegistry = class MultiRegistry {
112
+ constructor() {
113
+ this.elements = new Map();
114
+ }
115
+ register(key, instance) {
116
+ const instances = this.elements.get(key);
117
+ if (instances) {
118
+ instances.push(instance);
119
+ }
120
+ else {
121
+ this.elements.set(key, [instance]);
122
+ }
123
+ }
124
+ deregister(key, element) {
125
+ const instances = this.elements.get(key);
126
+ if (instances) {
127
+ (0, array_util_1.remove)(instances, element);
128
+ return true;
129
+ }
130
+ return false;
131
+ }
132
+ deregisterAll(key) {
133
+ return this.elements.delete(key);
134
+ }
135
+ get(key) {
136
+ const existingInstances = this.elements.get(key);
137
+ if (existingInstances) {
138
+ return [...new Set(existingInstances)];
139
+ }
140
+ else {
141
+ return [];
142
+ }
143
+ }
144
+ hasKey(key) {
145
+ return this.elements.has(key);
146
+ }
147
+ getAll() {
148
+ const values = [];
149
+ Array.from(this.elements.values()).forEach(instances => values.push(...instances));
150
+ return [...new Set(values)];
151
+ }
152
+ keys() {
153
+ return [...new Set(this.elements.keys())];
154
+ }
155
+ };
156
+ MultiRegistry = __decorate([
157
+ (0, inversify_1.injectable)()
158
+ ], MultiRegistry);
159
+ exports.MultiRegistry = MultiRegistry;
160
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/common/utils/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.spec.d.ts","sourceRoot":"","sources":["../../../src/common/utils/registry.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,199 @@
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 registry_1 = require("./registry");
19
+ const chai_1 = require("chai");
20
+ describe('Test Registry', () => {
21
+ let registry;
22
+ beforeEach(() => {
23
+ registry = new registry_1.Registry();
24
+ });
25
+ it('register - with new key-value pair', () => {
26
+ const key = 'key';
27
+ const value = 'value';
28
+ (0, chai_1.expect)(registry.register(key, value)).true;
29
+ (0, chai_1.expect)(registry.get(key), value);
30
+ });
31
+ it('register - with key-value pair with a already registered key', () => {
32
+ // Setup
33
+ const key = 'key';
34
+ const value = 'value';
35
+ (0, chai_1.expect)(registry.register(key, value)).true;
36
+ // Test execution
37
+ (0, chai_1.expect)(registry.register(key, 'newValue')).false;
38
+ (0, chai_1.expect)(registry.get(key), value);
39
+ });
40
+ it('deregister - with registered key', () => {
41
+ // Setup
42
+ const key = 'key';
43
+ const value = 'value';
44
+ (0, chai_1.expect)(registry.register(key, value)).true;
45
+ // Test execution
46
+ (0, chai_1.expect)(registry.deregister(key)).true;
47
+ (0, chai_1.expect)(registry.get(key), undefined);
48
+ });
49
+ it('deregister - with unregistered key', () => {
50
+ (0, chai_1.expect)(registry.deregister('unregisteredKey')).false;
51
+ });
52
+ it('haskey - with registered key', () => {
53
+ // Setup
54
+ const key = 'key';
55
+ const value = 'value';
56
+ (0, chai_1.expect)(registry.register(key, value)).true;
57
+ // Test execution
58
+ (0, chai_1.expect)(registry.hasKey(key)).true;
59
+ });
60
+ it('haskey - with unregistered key', () => {
61
+ (0, chai_1.expect)(registry.deregister('unregisteredKey')).false;
62
+ });
63
+ it('get - with registered key', () => {
64
+ // Setup
65
+ const key = 'key';
66
+ const value = 'value';
67
+ (0, chai_1.expect)(registry.register(key, value)).true;
68
+ // Test execution
69
+ (0, chai_1.expect)(registry.get(key), value);
70
+ });
71
+ it('get - with unregistered key', () => {
72
+ (0, chai_1.expect)(registry.get('unregisteredKey'), undefined);
73
+ });
74
+ it('getAll - should return three values', () => {
75
+ // Setup
76
+ const e1 = { key: 'key1', value: 'value1' };
77
+ const e2 = { key: 'key2', value: 'value2' };
78
+ const e3 = { key: 'key3', value: 'value3' };
79
+ registry.register(e1.key, e1.value);
80
+ registry.register(e2.key, e2.value);
81
+ registry.register(e3.key, e3.value);
82
+ // Test execution
83
+ const result = registry.getAll();
84
+ (0, chai_1.expect)(result).to.have.length(3);
85
+ (0, chai_1.expect)(result.includes(e1.value)).true;
86
+ (0, chai_1.expect)(result.includes(e2.value)).true;
87
+ (0, chai_1.expect)(result.includes(e3.value)).true;
88
+ });
89
+ it('keys - should return three keys', () => {
90
+ // Setup
91
+ const e1 = { key: 'key1', value: 'value1' };
92
+ const e2 = { key: 'key2', value: 'value2' };
93
+ const e3 = { key: 'key3', value: 'value3' };
94
+ registry.register(e1.key, e1.value);
95
+ registry.register(e2.key, e2.value);
96
+ registry.register(e3.key, e3.value);
97
+ // Test execution
98
+ const result = registry.keys();
99
+ (0, chai_1.expect)(result).to.have.length(3);
100
+ (0, chai_1.expect)(result.includes(e1.key)).true;
101
+ (0, chai_1.expect)(result.includes(e2.key)).true;
102
+ (0, chai_1.expect)(result.includes(e3.key)).true;
103
+ });
104
+ });
105
+ describe('Test MapMultiRegistry', () => {
106
+ let multiRegistry;
107
+ beforeEach(() => {
108
+ multiRegistry = new registry_1.MultiRegistry();
109
+ });
110
+ it('register - with new key-value pair', () => {
111
+ // Setup
112
+ const e1 = { key: 'key', value: 'value' };
113
+ const e2 = { key: e1.key, value: 'value2' };
114
+ multiRegistry.register(e1.key, e1.value);
115
+ multiRegistry.register(e2.key, e2.value);
116
+ const resultValue = multiRegistry.get(e1.key);
117
+ (0, chai_1.expect)(resultValue).to.not.be.undefined;
118
+ (0, chai_1.expect)(resultValue.length).to.be.equal(2);
119
+ (0, chai_1.expect)(resultValue.includes(e1.value)).true;
120
+ (0, chai_1.expect)(resultValue.includes(e2.value)).true;
121
+ });
122
+ it('deregister - with registered key', () => {
123
+ // Setup
124
+ const key = 'key';
125
+ const existingValue = ['value', 'value2'];
126
+ multiRegistry.register(key, existingValue[0]);
127
+ multiRegistry.register(key, existingValue[1]);
128
+ // Test execution
129
+ (0, chai_1.expect)(multiRegistry.deregister(key, existingValue[1])).true;
130
+ const result = multiRegistry.get(key);
131
+ (0, chai_1.expect)(result.length).to.be.equal(1);
132
+ (0, chai_1.expect)(result[0], existingValue[0]);
133
+ });
134
+ it('deregister - with unregistered key', () => {
135
+ (0, chai_1.expect)(multiRegistry.deregister('unregisteredKey', 'someValue')).false;
136
+ });
137
+ it('deregisterAll - with registered key', () => {
138
+ // Setup
139
+ const key = 'key';
140
+ const existingValue = ['value', 'value2'];
141
+ multiRegistry.register(key, existingValue[0]);
142
+ multiRegistry.register(key, existingValue[1]);
143
+ (0, chai_1.expect)(multiRegistry.deregisterAll(key)).true;
144
+ (0, chai_1.expect)(multiRegistry.get(key)).to.have.length(0);
145
+ });
146
+ it('deregisterAll - with unregistered key', () => {
147
+ (0, chai_1.expect)(multiRegistry.deregisterAll('unregisteredKey')).false;
148
+ });
149
+ it('haskey - with registered key', () => {
150
+ // Setup
151
+ const key = 'key';
152
+ const existingValue = 'value';
153
+ multiRegistry.register(key, existingValue);
154
+ // Test execution
155
+ (0, chai_1.expect)(multiRegistry.hasKey(key)).true;
156
+ });
157
+ it('haskey - with unregistered key', () => {
158
+ (0, chai_1.expect)(multiRegistry.hasKey('unregisteredKey')).false;
159
+ });
160
+ it('get - with registered key', () => {
161
+ // Setup
162
+ const key = 'key';
163
+ const existingValue = 'value';
164
+ multiRegistry.register(key, existingValue);
165
+ // Test execution
166
+ (0, chai_1.expect)(multiRegistry.get(key).length).to.be.equal(1);
167
+ (0, chai_1.expect)(multiRegistry.get(key).includes(existingValue)).true;
168
+ });
169
+ it('get - with unregistered key', () => {
170
+ (0, chai_1.expect)(multiRegistry.get('unregisteredKey')).to.have.length(0);
171
+ });
172
+ it('getAll', () => {
173
+ // Setup
174
+ const e1 = { key: 'key1', value: ['value1', 'value2'] };
175
+ const e2 = { key: 'key2', value: ['value3'] };
176
+ multiRegistry.register(e1.key, e1.value[0]);
177
+ multiRegistry.register(e1.key, e1.value[1]);
178
+ multiRegistry.register(e2.key, e2.value[0]);
179
+ // Test execution
180
+ const result = multiRegistry.getAll();
181
+ (0, chai_1.expect)(result).to.have.length(3);
182
+ (0, chai_1.expect)(e1.value.every(v => result.includes(v))).true;
183
+ (0, chai_1.expect)(e2.value.every(v => result.includes(v))).true;
184
+ });
185
+ it('keys', () => {
186
+ // Setup
187
+ const e1 = { key: 'key1', value: ['value1', 'value2'] };
188
+ const e2 = { key: 'key2', value: ['value3'] };
189
+ multiRegistry.register(e1.key, e1.value[0]);
190
+ multiRegistry.register(e1.key, e1.value[1]);
191
+ multiRegistry.register(e2.key, e2.value[0]);
192
+ // Test execution
193
+ const result = multiRegistry.keys();
194
+ (0, chai_1.expect)(result.length).to.be.equal(2);
195
+ (0, chai_1.expect)(result.includes(e1.key)).true;
196
+ (0, chai_1.expect)(result.includes(e2.key)).true;
197
+ });
198
+ });
199
+ //# sourceMappingURL=registry.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.spec.js","sourceRoot":"","sources":["../../../src/common/utils/registry.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAqD;AACrD,+BAA8B;AAE9B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,iBAAiB;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,iBAAiB;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,IAAI,aAA4C,CAAC;IAEjD,UAAU,CAAC,GAAG,EAAE;QACZ,aAAa,GAAG,IAAI,wBAAa,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAE5C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACzC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;QACxC,IAAA,aAAM,EAAC,WAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,WAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,IAAA,aAAM,EAAC,WAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,iBAAiB;QACjB,IAAA,aAAM,EAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,aAAM,EAAC,aAAa,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,IAAA,aAAM,EAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,IAAA,aAAM,EAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,aAAM,EAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,QAAQ;QACR,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC3C,iBAAiB;QACjB,IAAA,aAAM,EAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,IAAA,aAAM,EAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACd,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,iBAAiB;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACZ,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,iBAAiB;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022-2023 EclipseSource 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, RequestModelAction, SaveModelAction, TypeGuard } from '@eclipse-glsp/protocol';
17
+ import { ModelState } from '../common/features/model/model-state';
18
+ import { SourceModelStorage } from '../common/features/model/source-model-storage';
19
+ /**
20
+ * An abstract implementation of {@link SourceModelStorage} that provides utility methods for loading and saving JSON source models
21
+ * from/into a file.
22
+ */
23
+ export declare abstract class AbstractJsonModelStorage implements SourceModelStorage {
24
+ protected modelState: ModelState;
25
+ abstract loadSourceModel(action: RequestModelAction): MaybePromise<void>;
26
+ abstract saveSourceModel(action: SaveModelAction): MaybePromise<void>;
27
+ protected getSourceUri(action: RequestModelAction): string;
28
+ protected loadFromFile(sourceUri: string): unknown;
29
+ protected loadFromFile<T>(sourceUri: string, guard: TypeGuard<T>): T;
30
+ /**
31
+ * Can be overwritten to customize the behavior if the given file path points to an empty file.
32
+ * The default implementation returns undefined, concrete subclasses can customize this behavior and
33
+ * return new source model object instead.
34
+ * @param path The path of the empty file.
35
+ * @returns The new model or `undefined`
36
+ */
37
+ protected createModelForEmptyFile(path: string): unknown | undefined;
38
+ protected readFile(path: string): unknown | undefined;
39
+ protected toJson(fileContent: string): unknown;
40
+ protected toPath(sourceUri: string): string;
41
+ protected getFileUri(action: SaveModelAction): string;
42
+ protected writeFile(fileUri: string, model: unknown): void;
43
+ protected toString(model: unknown): string;
44
+ }
45
+ //# sourceMappingURL=abstract-json-model-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-json-model-storage.d.ts","sourceRoot":"","sources":["../../src/node/abstract-json-model-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAItG,OAAO,EAAE,UAAU,EAAkB,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF;;;GAGG;AACH,8BACsB,wBAAyB,YAAW,kBAAkB;IAExE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAEjC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC;IAExE,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC;IAErE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM;IAQ1D,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAClD,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAoBpE;;;;;;OAMG;IACH,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAYrD,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI9C,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3C,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAQrD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAM1D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAG7C"}
@@ -0,0 +1,103 @@
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.AbstractJsonModelStorage = void 0;
13
+ const fs = require("fs-extra");
14
+ const inversify_1 = require("inversify");
15
+ const url_1 = require("url");
16
+ const model_state_1 = require("../common/features/model/model-state");
17
+ const glsp_server_error_1 = require("../common/utils/glsp-server-error");
18
+ /**
19
+ * An abstract implementation of {@link SourceModelStorage} that provides utility methods for loading and saving JSON source models
20
+ * from/into a file.
21
+ */
22
+ let AbstractJsonModelStorage = class AbstractJsonModelStorage {
23
+ getSourceUri(action) {
24
+ var _a;
25
+ const sourceUri = (_a = action.options) === null || _a === void 0 ? void 0 : _a[model_state_1.SOURCE_URI_ARG];
26
+ if (typeof sourceUri !== 'string') {
27
+ throw new glsp_server_error_1.GLSPServerError(`Invalid RequestModelAction! Missing argument with key '${model_state_1.SOURCE_URI_ARG}'`);
28
+ }
29
+ return sourceUri;
30
+ }
31
+ loadFromFile(sourceUri, guard) {
32
+ try {
33
+ const path = this.toPath(sourceUri);
34
+ let fileContent = this.readFile(path);
35
+ if (!fileContent) {
36
+ fileContent = this.createModelForEmptyFile(path);
37
+ if (!fileContent) {
38
+ throw new glsp_server_error_1.GLSPServerError(`Could not load the source model. The file '${path}' is empty!.`);
39
+ }
40
+ }
41
+ if (guard && !guard(fileContent)) {
42
+ throw new Error('The loaded root object is not of the expected type!');
43
+ }
44
+ return fileContent;
45
+ }
46
+ catch (error) {
47
+ throw new glsp_server_error_1.GLSPServerError(`Could not load model from file: ${sourceUri}`, error);
48
+ }
49
+ }
50
+ /**
51
+ * Can be overwritten to customize the behavior if the given file path points to an empty file.
52
+ * The default implementation returns undefined, concrete subclasses can customize this behavior and
53
+ * return new source model object instead.
54
+ * @param path The path of the empty file.
55
+ * @returns The new model or `undefined`
56
+ */
57
+ createModelForEmptyFile(path) {
58
+ return undefined;
59
+ }
60
+ readFile(path) {
61
+ try {
62
+ const data = fs.readFileSync(path, { encoding: 'utf8' });
63
+ if (!data || data.length === 0) {
64
+ return undefined;
65
+ }
66
+ return this.toJson(data);
67
+ }
68
+ catch (error) {
69
+ throw new glsp_server_error_1.GLSPServerError(`Could not read & parse file contents of '${path}' as json`, error);
70
+ }
71
+ }
72
+ toJson(fileContent) {
73
+ return JSON.parse(fileContent);
74
+ }
75
+ toPath(sourceUri) {
76
+ return sourceUri.startsWith('file://') ? (0, url_1.fileURLToPath)(sourceUri) : sourceUri;
77
+ }
78
+ getFileUri(action) {
79
+ var _a;
80
+ const uri = (_a = action.fileUri) !== null && _a !== void 0 ? _a : this.modelState.get(model_state_1.SOURCE_URI_ARG);
81
+ if (!uri) {
82
+ throw new glsp_server_error_1.GLSPServerError('Could not derive fileUri for saving the current source model');
83
+ }
84
+ return uri;
85
+ }
86
+ writeFile(fileUri, model) {
87
+ const path = this.toPath(fileUri);
88
+ const content = this.toString(model);
89
+ fs.writeFileSync(path, content);
90
+ }
91
+ toString(model) {
92
+ return JSON.stringify(model, undefined, 2);
93
+ }
94
+ };
95
+ __decorate([
96
+ (0, inversify_1.inject)(model_state_1.ModelState),
97
+ __metadata("design:type", Object)
98
+ ], AbstractJsonModelStorage.prototype, "modelState", void 0);
99
+ AbstractJsonModelStorage = __decorate([
100
+ (0, inversify_1.injectable)()
101
+ ], AbstractJsonModelStorage);
102
+ exports.AbstractJsonModelStorage = AbstractJsonModelStorage;
103
+ //# sourceMappingURL=abstract-json-model-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-json-model-storage.js","sourceRoot":"","sources":["../../src/node/abstract-json-model-storage.ts"],"names":[],"mappings":"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"}