@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,166 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2022-2023 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.absoluteToRelative = exports.getRelativeLocation = exports.applyRoutingPoints = exports.getRoute = exports.applyRoute = exports.applyAlignment = exports.applyBounds = void 0;
19
+ const graph_1 = require("@eclipse-glsp/graph");
20
+ const args_util_1 = require("./args-util");
21
+ const glsp_server_error_1 = require("./glsp-server-error");
22
+ /**
23
+ * Applies the new bounds to the model.
24
+ *
25
+ * @param bounds The new bounds.
26
+ * @param index The model index.
27
+ * @returns The changed element.
28
+ */
29
+ function applyBounds(bounds, index) {
30
+ const element = (0, glsp_server_error_1.getOrThrow)(index.get(bounds.elementId), 'Model element not found! ID: ' + bounds.elementId);
31
+ if ((0, graph_1.isGBoundsAware)(element)) {
32
+ if (bounds.newPosition !== undefined) {
33
+ element.position = bounds.newPosition;
34
+ }
35
+ element.size = bounds.newSize;
36
+ return element;
37
+ }
38
+ return undefined;
39
+ }
40
+ exports.applyBounds = applyBounds;
41
+ /**
42
+ * Applies the new alignment to the model.
43
+ *
44
+ * @param alignment The new alignment.
45
+ * @param index The model index.
46
+ * @returns The changed element.
47
+ */
48
+ function applyAlignment(alignment, index) {
49
+ const element = (0, glsp_server_error_1.getOrThrow)(index.get(alignment.elementId), 'Model element not found! ID: ' + alignment.elementId);
50
+ if ((0, graph_1.isGAlignable)(element)) {
51
+ element.alignment = alignment.newAlignment;
52
+ return element;
53
+ }
54
+ return undefined;
55
+ }
56
+ exports.applyAlignment = applyAlignment;
57
+ /**
58
+ * Applies the new route to the model.
59
+ *
60
+ * @param route The new route.
61
+ * @param index The model index.
62
+ * @returns The changed element.
63
+ */
64
+ function applyRoute(route, index) {
65
+ var _a, _b;
66
+ const routingPoints = (_a = route.newRoutingPoints) !== null && _a !== void 0 ? _a : [];
67
+ if (routingPoints.length < 2) {
68
+ throw new glsp_server_error_1.GLSPServerError('Invalid Route!');
69
+ }
70
+ // first and last point mark the source and target point
71
+ const edge = applyRoutingPoints(route, index);
72
+ const edgeRoutingPoints = edge.routingPoints;
73
+ const args = (_b = edge.args) !== null && _b !== void 0 ? _b : {};
74
+ const source = edgeRoutingPoints.shift();
75
+ const target = edgeRoutingPoints.pop();
76
+ args[args_util_1.ArgsUtil.KEY_EDGE_SOURCE_POINT_X] = source.x;
77
+ args[args_util_1.ArgsUtil.KEY_EDGE_SOURCE_POINT_Y] = source.y;
78
+ args[args_util_1.ArgsUtil.KEY_EDGE_TARGET_POINT_X] = target.x;
79
+ args[args_util_1.ArgsUtil.KEY_EDGE_TARGET_POINT_Y] = target.y;
80
+ return edge;
81
+ }
82
+ exports.applyRoute = applyRoute;
83
+ /**
84
+ * Returns the complete route of the given edge. The route, as opposed to the routing points, also contain the source
85
+ * and target point.
86
+ *
87
+ * @param edge The edge from which we get the route
88
+ * @returns complete edge route
89
+ */
90
+ function getRoute(edge) {
91
+ const sourcePoint = args_util_1.ArgsUtil.getEdgeSourcePoint(edge.args);
92
+ if (!sourcePoint) {
93
+ throw new glsp_server_error_1.GLSPServerError('Cannot get route without source point!');
94
+ }
95
+ const targetPoint = args_util_1.ArgsUtil.getEdgeTargetPoint(edge.args);
96
+ if (!targetPoint) {
97
+ throw new glsp_server_error_1.GLSPServerError('Cannot get route without target point!');
98
+ }
99
+ const route = [];
100
+ route.push(sourcePoint);
101
+ route.push(...edge.routingPoints);
102
+ route.push(targetPoint);
103
+ return { elementId: edge.id, newRoutingPoints: route };
104
+ }
105
+ exports.getRoute = getRoute;
106
+ function applyRoutingPoints(routingPoints, index) {
107
+ var _a;
108
+ const edge = (0, glsp_server_error_1.getOrThrow)(index.findByClass(routingPoints.elementId, graph_1.GEdge), 'Model element not found! ID: ' + routingPoints.elementId);
109
+ edge.routingPoints = (_a = routingPoints.newRoutingPoints) !== null && _a !== void 0 ? _a : [];
110
+ return edge;
111
+ }
112
+ exports.applyRoutingPoints = applyRoutingPoints;
113
+ /**
114
+ * Returns the relative location of the given absolute location within the container.
115
+ *
116
+ * @param absoluteLocation absolute location
117
+ * @param container container
118
+ * @return relative location if it can be determined, absolute location in case of error and null if the container
119
+ * cannot contain any location.
120
+ */
121
+ function getRelativeLocation(absoluteLocation, container) {
122
+ const allowNegativeCoordinates = container instanceof graph_1.GGraph;
123
+ if ((0, graph_1.isGBoundsAware)(container)) {
124
+ const relativePosition = absoluteToRelative(absoluteLocation, container);
125
+ const relativeLocation = allowNegativeCoordinates
126
+ ? relativePosition
127
+ : { x: Math.max(0, relativePosition.x), y: Math.max(0, relativePosition.y) };
128
+ return relativeLocation;
129
+ }
130
+ return undefined;
131
+ }
132
+ exports.getRelativeLocation = getRelativeLocation;
133
+ /**
134
+ * Convert a point in absolute coordinates to a point relative to the specified GBoundsAware.
135
+ * Note: this method only works if the specified {@link GBoundsAware} is part of a
136
+ * hierarchy of {@link GBoundsAware}. If any of its parents (recursively) does not implement
137
+ * {@link GBoundsAware}, this method will throw an exception.
138
+ *
139
+ * @param absolutePoint
140
+ * @param modelElement
141
+ * @returns
142
+ * A new point, relative to the coordinates space of the specified {@link GBoundsAware}
143
+ * @throws Error if the modelElement is not part of a {@link GBoundsAware} hierarchy
144
+ */
145
+ function absoluteToRelative(absolutePoint, modelElement) {
146
+ var _a, _b, _c, _d;
147
+ let parentElement;
148
+ if (!(modelElement instanceof graph_1.GModelRoot)) {
149
+ parentElement = modelElement.parent;
150
+ }
151
+ let relativeToParent;
152
+ if (!parentElement) {
153
+ relativeToParent = { x: absolutePoint.x, y: absolutePoint.y };
154
+ }
155
+ else {
156
+ if (!(0, graph_1.isGBoundsAware)(parentElement)) {
157
+ throw new Error(`The element is not part of a GBoundsAware hierarchy: ${modelElement}`);
158
+ }
159
+ relativeToParent = absoluteToRelative(absolutePoint, parentElement);
160
+ }
161
+ const x = (_b = (_a = modelElement.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0;
162
+ const y = (_d = (_c = modelElement.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0;
163
+ return { x: relativeToParent.x - x, y: relativeToParent.y - y };
164
+ }
165
+ exports.absoluteToRelative = absoluteToRelative;
166
+ //# sourceMappingURL=layout-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-util.js","sourceRoot":"","sources":["../../../src/common/utils/layout-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare abstract class Logger {
2
+ abstract logLevel: LogLevel;
3
+ abstract caller?: string;
4
+ abstract info(message: string, ...params: any[]): void;
5
+ abstract warn(message: string, ...params: any[]): void;
6
+ abstract error(message: string, ...params: any[]): void;
7
+ abstract debug(message: string, ...params: any[]): void;
8
+ }
9
+ export declare class NullLogger extends Logger {
10
+ logLevel: LogLevel;
11
+ caller?: string | undefined;
12
+ info(message: string, ...params: any[]): void;
13
+ warn(message: string, ...params: any[]): void;
14
+ error(message: string, ...params: any[]): void;
15
+ debug(message: string, ...params: any[]): void;
16
+ }
17
+ export declare const LoggerFactory: unique symbol;
18
+ export type LoggerFactory = (caller: string) => Logger;
19
+ export declare enum LogLevel {
20
+ none = 0,
21
+ error = 1,
22
+ warn = 2,
23
+ info = 3,
24
+ debug = 4
25
+ }
26
+ export declare function asLogLevel(level: string | number): LogLevel | undefined;
27
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":"AAiBA,8BACsB,MAAM;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEvD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;CAC1D;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;CAGjD;AAED,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAEvD,oBAAY,QAAQ;IAChB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACZ;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAUvE"}
@@ -0,0 +1,67 @@
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.asLogLevel = exports.LogLevel = exports.LoggerFactory = exports.NullLogger = exports.Logger = 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 inversify_1 = require("inversify");
26
+ let Logger = class Logger {
27
+ };
28
+ Logger = __decorate([
29
+ (0, inversify_1.injectable)()
30
+ ], Logger);
31
+ exports.Logger = Logger;
32
+ class NullLogger extends Logger {
33
+ info(message, ...params) {
34
+ // no-op
35
+ }
36
+ warn(message, ...params) {
37
+ // no-op
38
+ }
39
+ error(message, ...params) {
40
+ // no-op
41
+ }
42
+ debug(message, ...params) {
43
+ // no-op
44
+ }
45
+ }
46
+ exports.NullLogger = NullLogger;
47
+ exports.LoggerFactory = Symbol('LoggerFactory');
48
+ var LogLevel;
49
+ (function (LogLevel) {
50
+ LogLevel[LogLevel["none"] = 0] = "none";
51
+ LogLevel[LogLevel["error"] = 1] = "error";
52
+ LogLevel[LogLevel["warn"] = 2] = "warn";
53
+ LogLevel[LogLevel["info"] = 3] = "info";
54
+ LogLevel[LogLevel["debug"] = 4] = "debug";
55
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
56
+ function asLogLevel(level) {
57
+ let levelKey = level;
58
+ if (typeof levelKey === 'string') {
59
+ levelKey = levelKey.toLowerCase();
60
+ }
61
+ if (levelKey in LogLevel) {
62
+ return LogLevel[level];
63
+ }
64
+ return undefined;
65
+ }
66
+ exports.asLogLevel = asLogLevel;
67
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AAGhC,IAAe,MAAM,GAArB,MAAe,MAAM;CAY3B,CAAA;AAZqB,MAAM;IAD3B,IAAA,sBAAU,GAAE;GACS,MAAM,CAY3B;AAZqB,wBAAM;AAc5B,MAAa,UAAW,SAAQ,MAAM;IAGlC,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;QAClC,QAAQ;IACZ,CAAC;IACD,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;QAClC,QAAQ;IACZ,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,MAAa;QACnC,QAAQ;IACZ,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,MAAa;QACnC,QAAQ;IACZ,CAAC;CACJ;AAfD,gCAeC;AAEY,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAIrD,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACb,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AAED,SAAgB,UAAU,CAAC,KAAsB;IAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAC9B,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;KACrC;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACtB,OAAQ,QAAgB,CAAC,KAAK,CAAC,CAAC;KACnC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,gCAUC"}
@@ -0,0 +1,48 @@
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
+ /**
17
+ * Description for promises that are put into a queue and
18
+ * resolved once dequeued.
19
+ */
20
+ export interface PromiseQueueElement<T = void> {
21
+ promise: () => Promise<T>;
22
+ resolve: (value: T) => void;
23
+ reject: (reason?: any) => void;
24
+ }
25
+ /**
26
+ * A data structure that enables controlled,sequential resolving
27
+ * of promises. Promises that are put in this queue are processed one by one.
28
+ * i.e. After the first promise in the queue is resolved, it will be removed from the queue and the resolving of the
29
+ * the next promise (if present) will start. The queue can only resolve one promise at a given time.
30
+ */
31
+ export declare class PromiseQueue<T = void> {
32
+ protected queue: PromiseQueueElement<T>[];
33
+ protected busy: boolean;
34
+ /**
35
+ * Add a {@link PromiseQueueElement} to the queue
36
+ * @param promise The element that should be queued
37
+ * @param atStart if `true` the element is added to the start of queue, otherwise it's added at queue end.
38
+ * @returns A promise of the queued promise that resolves once dequeued.
39
+ */
40
+ enqueue(promise: () => Promise<T>): Promise<T>;
41
+ protected dequeue(): boolean;
42
+ protected resolveQueuedPromise(element: PromiseQueueElement<T>): Promise<void>;
43
+ get isBusy(): boolean;
44
+ get size(): number;
45
+ get isEmpty(): boolean;
46
+ clear(): void;
47
+ }
48
+ //# sourceMappingURL=promise-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-queue.d.ts","sourceRoot":"","sources":["../../../src/common/utils/promise-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,IAAI;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,IAAI;IAC9B,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAM;IAC/C,SAAS,CAAC,IAAI,UAAS;IAEvB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAY9C,SAAS,CAAC,OAAO,IAAI,OAAO;cAqBZ,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpF,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,KAAK,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2022-2023 STMicroelectronics and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PromiseQueue = void 0;
19
+ /**
20
+ * A data structure that enables controlled,sequential resolving
21
+ * of promises. Promises that are put in this queue are processed one by one.
22
+ * i.e. After the first promise in the queue is resolved, it will be removed from the queue and the resolving of the
23
+ * the next promise (if present) will start. The queue can only resolve one promise at a given time.
24
+ */
25
+ class PromiseQueue {
26
+ constructor() {
27
+ this.queue = [];
28
+ this.busy = false;
29
+ }
30
+ /**
31
+ * Add a {@link PromiseQueueElement} to the queue
32
+ * @param promise The element that should be queued
33
+ * @param atStart if `true` the element is added to the start of queue, otherwise it's added at queue end.
34
+ * @returns A promise of the queued promise that resolves once dequeued.
35
+ */
36
+ enqueue(promise) {
37
+ return new Promise((resolve, reject) => {
38
+ const element = {
39
+ promise,
40
+ resolve,
41
+ reject
42
+ };
43
+ this.queue.push(element);
44
+ this.dequeue();
45
+ });
46
+ }
47
+ dequeue() {
48
+ if (this.busy) {
49
+ return false;
50
+ }
51
+ const element = this.queue.shift();
52
+ if (!element) {
53
+ return false;
54
+ }
55
+ try {
56
+ this.busy = true;
57
+ this.resolveQueuedPromise(element);
58
+ }
59
+ catch (error) {
60
+ element.reject(error);
61
+ this.busy = false;
62
+ this.dequeue();
63
+ }
64
+ return true;
65
+ }
66
+ async resolveQueuedPromise(element) {
67
+ try {
68
+ const value = await element.promise();
69
+ return element.resolve(value);
70
+ }
71
+ catch (error) {
72
+ element.reject(error);
73
+ }
74
+ finally {
75
+ this.busy = false;
76
+ this.dequeue();
77
+ }
78
+ }
79
+ get isBusy() {
80
+ return this.busy;
81
+ }
82
+ get size() {
83
+ return this.queue.length;
84
+ }
85
+ get isEmpty() {
86
+ return this.queue.length === 0;
87
+ }
88
+ clear() {
89
+ this.queue = [];
90
+ }
91
+ }
92
+ exports.PromiseQueue = PromiseQueue;
93
+ //# sourceMappingURL=promise-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-queue.js","sourceRoot":"","sources":["../../../src/common/utils/promise-queue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAYlF;;;;;GAKG;AACH,MAAa,YAAY;IAAzB;QACc,UAAK,GAA6B,EAAE,CAAC;QACrC,SAAI,GAAG,KAAK,CAAC;IAoE3B,CAAC;IAlEG;;;;;OAKG;IACH,OAAO,CAAC,OAAyB;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG;gBACZ,OAAO;gBACP,OAAO;gBACP,MAAM;aACT,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAES,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QAED,IAAI;YACA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,OAA+B;QAChE,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACzB;gBAAS;YACN,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;CACJ;AAtED,oCAsEC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=promise-queue.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-queue.spec.d.ts","sourceRoot":"","sources":["../../../src/common/utils/promise-queue.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
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 mock_util_1 = require("../test/mock-util");
19
+ const promise_queue_1 = require("./promise-queue");
20
+ const chai_1 = require("chai");
21
+ // Helper types and functions that are needed for test setup
22
+ /**
23
+ * Helper class to inspect the state of promise during its resolve() execution.
24
+ */
25
+ class PromiseState {
26
+ constructor() {
27
+ this._started = false;
28
+ this._stopped = false;
29
+ }
30
+ start() {
31
+ this._started = true;
32
+ if (this.onStartRunnable) {
33
+ this.onStartRunnable();
34
+ }
35
+ }
36
+ stop() {
37
+ this._stopped = true;
38
+ if (this.onStopRunnable) {
39
+ this.onStopRunnable();
40
+ }
41
+ }
42
+ onStart(runnable) {
43
+ this.onStartRunnable = runnable;
44
+ }
45
+ onStop(runnable) {
46
+ this.onStopRunnable = runnable;
47
+ }
48
+ get started() {
49
+ return this._started;
50
+ }
51
+ get stopped() {
52
+ return this._stopped;
53
+ }
54
+ }
55
+ function newTestPromise(resolveTime) {
56
+ const state = new PromiseState();
57
+ const promise = async () => {
58
+ state.start();
59
+ await (0, mock_util_1.delay)(resolveTime);
60
+ state.stop();
61
+ };
62
+ return { state, promise };
63
+ }
64
+ let queue = new promise_queue_1.PromiseQueue();
65
+ // Test execution
66
+ describe('test PromiseQueue', () => {
67
+ beforeEach(() => {
68
+ queue = new promise_queue_1.PromiseQueue();
69
+ });
70
+ it('enqueue - one element', async () => {
71
+ const { state, promise } = newTestPromise(100);
72
+ state.onStart(() => {
73
+ (0, chai_1.expect)(queue.isBusy).true;
74
+ });
75
+ const queEnd = queue.enqueue(promise);
76
+ (0, chai_1.expect)(queue.isEmpty).true;
77
+ await queEnd;
78
+ });
79
+ it('enqueue - two elements', async () => {
80
+ const p1 = newTestPromise(100);
81
+ p1.state.onStop(() => (0, chai_1.expect)(p2.state.started).false);
82
+ const p2 = newTestPromise(100);
83
+ p2.state.onStart(() => {
84
+ (0, chai_1.expect)(queue.isEmpty).true;
85
+ (0, chai_1.expect)(p1.state.stopped).true;
86
+ });
87
+ queue.enqueue(p1.promise);
88
+ const queEnd = queue.enqueue(p2.promise);
89
+ (0, chai_1.expect)(queue.size).to.be.equal(1);
90
+ await queEnd;
91
+ });
92
+ it('enqueue - three elements (first promise in queue has longest resolve time)', async () => {
93
+ const p1 = newTestPromise(300);
94
+ p1.state.onStop(() => {
95
+ (0, chai_1.expect)(p2.state.started).false;
96
+ (0, chai_1.expect)(p3.state.started).false;
97
+ });
98
+ const p2 = newTestPromise(200);
99
+ p2.state.onStart(() => {
100
+ (0, chai_1.expect)(queue.size).to.be.equal(1);
101
+ (0, chai_1.expect)(p1.state.stopped).true;
102
+ (0, chai_1.expect)(p3.state.started).false;
103
+ });
104
+ const p3 = newTestPromise(100);
105
+ p3.state.onStart(() => {
106
+ (0, chai_1.expect)(queue.isEmpty).true;
107
+ (0, chai_1.expect)(p2.state.stopped).true;
108
+ });
109
+ queue.enqueue(p1.promise);
110
+ queue.enqueue(p2.promise);
111
+ (0, chai_1.expect)(queue.size).to.be.equal(1);
112
+ const queueEnd = queue.enqueue(p3.promise);
113
+ (0, chai_1.expect)(queue.size).to.be.equal(2);
114
+ await queueEnd;
115
+ });
116
+ });
117
+ //# sourceMappingURL=promise-queue.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-queue.spec.js","sourceRoot":"","sources":["../../../src/common/utils/promise-queue.spec.ts"],"names":[],"mappings":"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"}
@@ -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"}