@theia/core 1.27.0-next.9 → 1.27.0

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 (436) hide show
  1. package/README.md +6 -7
  2. package/i18n/nls.cs.json +52 -6
  3. package/i18n/nls.de.json +52 -6
  4. package/i18n/nls.es.json +52 -6
  5. package/i18n/nls.fr.json +52 -6
  6. package/i18n/nls.hu.json +55 -9
  7. package/i18n/nls.it.json +52 -6
  8. package/i18n/nls.ja.json +52 -6
  9. package/i18n/nls.json +52 -6
  10. package/i18n/nls.pl.json +52 -6
  11. package/i18n/nls.pt-br.json +52 -6
  12. package/i18n/nls.pt-pt.json +52 -6
  13. package/i18n/nls.ru.json +52 -6
  14. package/i18n/nls.zh-cn.json +52 -6
  15. package/lib/browser/color-application-contribution.d.ts +2 -2
  16. package/lib/browser/color-application-contribution.d.ts.map +1 -1
  17. package/lib/browser/color-application-contribution.js +15 -16
  18. package/lib/browser/color-application-contribution.js.map +1 -1
  19. package/lib/browser/color-registry.d.ts +0 -4
  20. package/lib/browser/color-registry.d.ts.map +1 -1
  21. package/lib/browser/color-registry.js +0 -14
  22. package/lib/browser/color-registry.js.map +1 -1
  23. package/lib/browser/common-frontend-contribution.d.ts +4 -0
  24. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  25. package/lib/browser/common-frontend-contribution.js +157 -163
  26. package/lib/browser/common-frontend-contribution.js.map +1 -1
  27. package/lib/browser/common-styling-participants.d.ts +28 -0
  28. package/lib/browser/common-styling-participants.d.ts.map +1 -0
  29. package/lib/browser/common-styling-participants.js +319 -0
  30. package/lib/browser/common-styling-participants.js.map +1 -0
  31. package/lib/browser/connection-status-service.d.ts.map +1 -1
  32. package/lib/browser/connection-status-service.js +2 -2
  33. package/lib/browser/connection-status-service.js.map +1 -1
  34. package/lib/browser/connection-status-service.spec.js +1 -2
  35. package/lib/browser/connection-status-service.spec.js.map +1 -1
  36. package/lib/browser/context-menu-renderer.d.ts +1 -5
  37. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  38. package/lib/browser/context-menu-renderer.js +10 -30
  39. package/lib/browser/context-menu-renderer.js.map +1 -1
  40. package/lib/browser/core-preferences.d.ts +1 -0
  41. package/lib/browser/core-preferences.d.ts.map +1 -1
  42. package/lib/browser/core-preferences.js +5 -0
  43. package/lib/browser/core-preferences.js.map +1 -1
  44. package/lib/browser/decoration-style.d.ts +1 -0
  45. package/lib/browser/decoration-style.d.ts.map +1 -1
  46. package/lib/browser/decoration-style.js +6 -2
  47. package/lib/browser/decoration-style.js.map +1 -1
  48. package/lib/browser/frontend-application-bindings.d.ts.map +1 -1
  49. package/lib/browser/frontend-application-bindings.js +1 -3
  50. package/lib/browser/frontend-application-bindings.js.map +1 -1
  51. package/lib/browser/frontend-application-config-provider.d.ts +1 -0
  52. package/lib/browser/frontend-application-config-provider.d.ts.map +1 -1
  53. package/lib/browser/frontend-application-config-provider.js +2 -1
  54. package/lib/browser/frontend-application-config-provider.js.map +1 -1
  55. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  56. package/lib/browser/frontend-application-module.js +9 -3
  57. package/lib/browser/frontend-application-module.js.map +1 -1
  58. package/lib/browser/i18n/i18n-frontend-module.d.ts.map +1 -1
  59. package/lib/browser/i18n/i18n-frontend-module.js +2 -0
  60. package/lib/browser/i18n/i18n-frontend-module.js.map +1 -1
  61. package/lib/browser/i18n/language-quick-pick-service.d.ts +17 -0
  62. package/lib/browser/i18n/language-quick-pick-service.d.ts.map +1 -0
  63. package/lib/browser/i18n/language-quick-pick-service.js +142 -0
  64. package/lib/browser/i18n/language-quick-pick-service.js.map +1 -0
  65. package/lib/browser/index.d.ts +1 -0
  66. package/lib/browser/index.d.ts.map +1 -1
  67. package/lib/browser/index.js +1 -0
  68. package/lib/browser/index.js.map +1 -1
  69. package/lib/browser/keybinding.d.ts.map +1 -1
  70. package/lib/browser/keybinding.js +2 -1
  71. package/lib/browser/keybinding.js.map +1 -1
  72. package/lib/browser/keybinding.spec.js +18 -21
  73. package/lib/browser/keybinding.spec.js.map +1 -1
  74. package/lib/browser/label-provider.d.ts +0 -12
  75. package/lib/browser/label-provider.d.ts.map +1 -1
  76. package/lib/browser/label-provider.js +1 -13
  77. package/lib/browser/label-provider.js.map +1 -1
  78. package/lib/browser/logger-frontend-module.d.ts.map +1 -1
  79. package/lib/browser/logger-frontend-module.js +8 -1
  80. package/lib/browser/logger-frontend-module.js.map +1 -1
  81. package/lib/browser/messaging/ws-connection-provider.d.ts +5 -4
  82. package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
  83. package/lib/browser/messaging/ws-connection-provider.js +30 -23
  84. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  85. package/lib/browser/preferences/preference-contribution.d.ts +2 -19
  86. package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
  87. package/lib/browser/preferences/preference-contribution.js +1 -24
  88. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  89. package/lib/browser/preferences/preference-proxy.d.ts +0 -4
  90. package/lib/browser/preferences/preference-proxy.d.ts.map +1 -1
  91. package/lib/browser/preferences/preference-proxy.js.map +1 -1
  92. package/lib/browser/preferences/preference-proxy.spec.js +3 -102
  93. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  94. package/lib/browser/preferences/preference-schema-provider.spec.js +4 -3
  95. package/lib/browser/preferences/preference-schema-provider.spec.js.map +1 -1
  96. package/lib/browser/preferences/preference-service.spec.js +1 -2
  97. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  98. package/lib/browser/preferences/preference-validation-service.d.ts +2 -2
  99. package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
  100. package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
  101. package/lib/browser/preloader.d.ts.map +1 -1
  102. package/lib/browser/preloader.js +7 -1
  103. package/lib/browser/preloader.js.map +1 -1
  104. package/lib/browser/progress-status-bar-item.d.ts +1 -1
  105. package/lib/browser/progress-status-bar-item.d.ts.map +1 -1
  106. package/lib/browser/quick-input/quick-command-service.d.ts.map +1 -1
  107. package/lib/browser/quick-input/quick-command-service.js +2 -2
  108. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  109. package/lib/browser/saveable.d.ts.map +1 -1
  110. package/lib/browser/saveable.js +5 -4
  111. package/lib/browser/saveable.js.map +1 -1
  112. package/lib/browser/shell/application-shell.d.ts +4 -0
  113. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  114. package/lib/browser/shell/application-shell.js +42 -36
  115. package/lib/browser/shell/application-shell.js.map +1 -1
  116. package/lib/browser/shell/shell-layout-restorer.d.ts +2 -0
  117. package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
  118. package/lib/browser/shell/shell-layout-restorer.js +5 -1
  119. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  120. package/lib/browser/shell/side-panel-handler.d.ts.map +1 -1
  121. package/lib/browser/shell/side-panel-handler.js +3 -2
  122. package/lib/browser/shell/side-panel-handler.js.map +1 -1
  123. package/lib/browser/shell/tab-bars.d.ts +4 -2
  124. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  125. package/lib/browser/shell/tab-bars.js +12 -4
  126. package/lib/browser/shell/tab-bars.js.map +1 -1
  127. package/lib/browser/source-tree/source-tree-widget.js +1 -1
  128. package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
  129. package/lib/browser/source-tree/tree-source.d.ts +2 -1
  130. package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
  131. package/lib/browser/source-tree/tree-source.js.map +1 -1
  132. package/lib/browser/styling-service.d.ts +26 -0
  133. package/lib/browser/styling-service.d.ts.map +1 -0
  134. package/lib/browser/styling-service.js +76 -0
  135. package/lib/browser/styling-service.js.map +1 -0
  136. package/lib/browser/theming.d.ts +4 -8
  137. package/lib/browser/theming.d.ts.map +1 -1
  138. package/lib/browser/theming.js +38 -53
  139. package/lib/browser/theming.js.map +1 -1
  140. package/lib/browser/tree/search-box.d.ts.map +1 -1
  141. package/lib/browser/tree/search-box.js +5 -4
  142. package/lib/browser/tree/search-box.js.map +1 -1
  143. package/lib/browser/tree/test/tree-test-container.d.ts.map +1 -1
  144. package/lib/browser/tree/test/tree-test-container.js +2 -0
  145. package/lib/browser/tree/test/tree-test-container.js.map +1 -1
  146. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts +1 -1
  147. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts.map +1 -1
  148. package/lib/browser/tree/tree-compression/compressed-tree-model.js +4 -2
  149. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
  150. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts.map +1 -1
  151. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +4 -2
  152. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  153. package/lib/browser/tree/tree-container.d.ts +2 -0
  154. package/lib/browser/tree/tree-container.d.ts.map +1 -1
  155. package/lib/browser/tree/tree-container.js +3 -0
  156. package/lib/browser/tree/tree-container.js.map +1 -1
  157. package/lib/browser/tree/tree-focus-service.d.ts +20 -0
  158. package/lib/browser/tree/tree-focus-service.d.ts.map +1 -0
  159. package/lib/browser/tree/tree-focus-service.js +62 -0
  160. package/lib/browser/tree/tree-focus-service.js.map +1 -0
  161. package/lib/browser/tree/tree-model.d.ts +11 -2
  162. package/lib/browser/tree/tree-model.d.ts.map +1 -1
  163. package/lib/browser/tree/tree-model.js +29 -8
  164. package/lib/browser/tree/tree-model.js.map +1 -1
  165. package/lib/browser/tree/tree-selection-impl.d.ts +4 -1
  166. package/lib/browser/tree/tree-selection-impl.d.ts.map +1 -1
  167. package/lib/browser/tree/tree-selection-impl.js +13 -2
  168. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  169. package/lib/browser/tree/tree-selection-state.d.ts +1 -0
  170. package/lib/browser/tree/tree-selection-state.d.ts.map +1 -1
  171. package/lib/browser/tree/tree-selection-state.js +8 -2
  172. package/lib/browser/tree/tree-selection-state.js.map +1 -1
  173. package/lib/browser/tree/tree-selection.d.ts +9 -0
  174. package/lib/browser/tree/tree-selection.d.ts.map +1 -1
  175. package/lib/browser/tree/tree-selection.js +3 -0
  176. package/lib/browser/tree/tree-selection.js.map +1 -1
  177. package/lib/browser/tree/tree-widget-selection.d.ts.map +1 -1
  178. package/lib/browser/tree/tree-widget-selection.js +9 -1
  179. package/lib/browser/tree/tree-widget-selection.js.map +1 -1
  180. package/lib/browser/tree/tree-widget.d.ts +14 -0
  181. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  182. package/lib/browser/tree/tree-widget.js +80 -40
  183. package/lib/browser/tree/tree-widget.js.map +1 -1
  184. package/lib/browser/tree/tree.d.ts +2 -1
  185. package/lib/browser/tree/tree.d.ts.map +1 -1
  186. package/lib/browser/tree/tree.js +12 -2
  187. package/lib/browser/tree/tree.js.map +1 -1
  188. package/lib/browser/view-container.d.ts +9 -4
  189. package/lib/browser/view-container.d.ts.map +1 -1
  190. package/lib/browser/view-container.js +36 -6
  191. package/lib/browser/view-container.js.map +1 -1
  192. package/lib/common/cancellation.d.ts +1 -0
  193. package/lib/common/cancellation.d.ts.map +1 -1
  194. package/lib/common/cancellation.js +8 -0
  195. package/lib/common/cancellation.js.map +1 -1
  196. package/lib/common/command.d.ts +1 -1
  197. package/lib/common/command.d.ts.map +1 -1
  198. package/lib/common/command.js +13 -16
  199. package/lib/common/command.js.map +1 -1
  200. package/lib/common/index.d.ts +1 -0
  201. package/lib/common/index.d.ts.map +1 -1
  202. package/lib/common/index.js +1 -0
  203. package/lib/common/index.js.map +1 -1
  204. package/lib/common/message-rpc/channel.d.ts +106 -0
  205. package/lib/common/message-rpc/channel.d.ts.map +1 -0
  206. package/lib/common/message-rpc/channel.js +195 -0
  207. package/lib/common/message-rpc/channel.js.map +1 -0
  208. package/lib/common/message-rpc/channel.spec.d.ts +9 -0
  209. package/lib/common/message-rpc/channel.spec.d.ts.map +1 -0
  210. package/lib/common/message-rpc/channel.spec.js +80 -0
  211. package/lib/common/message-rpc/channel.spec.js.map +1 -0
  212. package/lib/common/message-rpc/index.d.ts +4 -0
  213. package/lib/common/message-rpc/index.d.ts.map +1 -0
  214. package/lib/{node/messaging/logger.js → common/message-rpc/index.js} +6 -19
  215. package/lib/common/message-rpc/index.js.map +1 -0
  216. package/lib/common/message-rpc/message-buffer.d.ts +50 -0
  217. package/lib/common/message-rpc/message-buffer.d.ts.map +1 -0
  218. package/lib/common/message-rpc/message-buffer.js +56 -0
  219. package/lib/common/message-rpc/message-buffer.js.map +1 -0
  220. package/lib/common/message-rpc/rpc-message-encoder.d.ts +171 -0
  221. package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -0
  222. package/lib/common/message-rpc/rpc-message-encoder.js +409 -0
  223. package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -0
  224. package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts +2 -0
  225. package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts.map +1 -0
  226. package/lib/common/message-rpc/rpc-message-encoder.spec.js +49 -0
  227. package/lib/common/message-rpc/rpc-message-encoder.spec.js.map +1 -0
  228. package/lib/common/message-rpc/rpc-protocol.d.ts +61 -0
  229. package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -0
  230. package/lib/common/message-rpc/rpc-protocol.js +183 -0
  231. package/lib/common/message-rpc/rpc-protocol.js.map +1 -0
  232. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +52 -0
  233. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -0
  234. package/lib/common/message-rpc/uint8-array-message-buffer.js +169 -0
  235. package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -0
  236. package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts +2 -0
  237. package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts.map +1 -0
  238. package/lib/common/message-rpc/uint8-array-message-buffer.spec.js +39 -0
  239. package/lib/common/message-rpc/uint8-array-message-buffer.spec.js.map +1 -0
  240. package/lib/common/messaging/abstract-connection-provider.d.ts +9 -8
  241. package/lib/common/messaging/abstract-connection-provider.d.ts.map +1 -1
  242. package/lib/common/messaging/abstract-connection-provider.js +20 -35
  243. package/lib/common/messaging/abstract-connection-provider.js.map +1 -1
  244. package/lib/common/messaging/connection-error-handler.d.ts +1 -2
  245. package/lib/common/messaging/connection-error-handler.d.ts.map +1 -1
  246. package/lib/common/messaging/connection-error-handler.js +1 -1
  247. package/lib/common/messaging/connection-error-handler.js.map +1 -1
  248. package/lib/common/messaging/handler.d.ts +2 -2
  249. package/lib/common/messaging/handler.d.ts.map +1 -1
  250. package/lib/common/messaging/proxy-factory.d.ts +13 -7
  251. package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
  252. package/lib/common/messaging/proxy-factory.js +18 -13
  253. package/lib/common/messaging/proxy-factory.js.map +1 -1
  254. package/lib/common/messaging/proxy-factory.spec.js +4 -15
  255. package/lib/common/messaging/proxy-factory.spec.js.map +1 -1
  256. package/lib/common/messaging/web-socket-channel.d.ts +54 -48
  257. package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
  258. package/lib/common/messaging/web-socket-channel.js +41 -105
  259. package/lib/common/messaging/web-socket-channel.js.map +1 -1
  260. package/lib/common/nls.d.ts +2 -0
  261. package/lib/common/nls.d.ts.map +1 -1
  262. package/lib/common/nls.js +11 -0
  263. package/lib/common/nls.js.map +1 -1
  264. package/lib/common/preferences/preference-schema.d.ts +1 -5
  265. package/lib/common/preferences/preference-schema.d.ts.map +1 -1
  266. package/lib/common/preferences/preference-schema.js.map +1 -1
  267. package/lib/common/promise-util.d.ts +2 -1
  268. package/lib/common/promise-util.d.ts.map +1 -1
  269. package/lib/common/promise-util.js +8 -13
  270. package/lib/common/promise-util.js.map +1 -1
  271. package/lib/common/resource.d.ts +5 -0
  272. package/lib/common/resource.d.ts.map +1 -1
  273. package/lib/common/resource.js +28 -1
  274. package/lib/common/resource.js.map +1 -1
  275. package/lib/common/theme.d.ts +3 -2
  276. package/lib/common/theme.d.ts.map +1 -1
  277. package/lib/common/theme.js +5 -0
  278. package/lib/common/theme.js.map +1 -1
  279. package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +2 -2
  280. package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
  281. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +18 -7
  282. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
  283. package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts +2 -2
  284. package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts.map +1 -1
  285. package/lib/electron-browser/messaging/electron-ws-connection-provider.js +5 -7
  286. package/lib/electron-browser/messaging/electron-ws-connection-provider.js.map +1 -1
  287. package/lib/electron-main/event-utils.d.ts +1 -1
  288. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +37 -9
  289. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
  290. package/lib/electron-main/messaging/electron-messaging-contribution.js +83 -68
  291. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  292. package/lib/electron-main/messaging/electron-messaging-service.d.ts +2 -8
  293. package/lib/electron-main/messaging/electron-messaging-service.d.ts.map +1 -1
  294. package/lib/electron-main/messaging/electron-messaging-service.js.map +1 -1
  295. package/lib/node/messaging/binary-message-pipe.d.ts +45 -0
  296. package/lib/node/messaging/binary-message-pipe.d.ts.map +1 -0
  297. package/lib/node/messaging/binary-message-pipe.js +152 -0
  298. package/lib/node/messaging/binary-message-pipe.js.map +1 -0
  299. package/lib/node/messaging/ipc-bootstrap.js +2 -11
  300. package/lib/node/messaging/ipc-bootstrap.js.map +1 -1
  301. package/lib/node/messaging/ipc-channel.d.ts +26 -0
  302. package/lib/node/messaging/ipc-channel.d.ts.map +1 -0
  303. package/lib/node/messaging/ipc-channel.js +86 -0
  304. package/lib/node/messaging/ipc-channel.js.map +1 -0
  305. package/lib/node/messaging/ipc-connection-provider.d.ts +3 -5
  306. package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
  307. package/lib/node/messaging/ipc-connection-provider.js +14 -31
  308. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  309. package/lib/node/messaging/ipc-protocol.d.ts +2 -2
  310. package/lib/node/messaging/ipc-protocol.d.ts.map +1 -1
  311. package/lib/node/messaging/messaging-contribution.d.ts +6 -9
  312. package/lib/node/messaging/messaging-contribution.d.ts.map +1 -1
  313. package/lib/node/messaging/messaging-contribution.js +23 -68
  314. package/lib/node/messaging/messaging-contribution.js.map +1 -1
  315. package/lib/node/messaging/messaging-service.d.ts +4 -23
  316. package/lib/node/messaging/messaging-service.d.ts.map +1 -1
  317. package/lib/node/messaging/messaging-service.js +1 -15
  318. package/lib/node/messaging/messaging-service.js.map +1 -1
  319. package/lib/node/messaging/test/test-web-socket-channel.d.ts +4 -2
  320. package/lib/node/messaging/test/test-web-socket-channel.d.ts.map +1 -1
  321. package/lib/node/messaging/test/test-web-socket-channel.js +25 -12
  322. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  323. package/lib/node/request/proxy-cli-contribution.js +1 -1
  324. package/lib/node/request/proxy-cli-contribution.js.map +1 -1
  325. package/package.json +7 -10
  326. package/src/browser/color-application-contribution.ts +10 -17
  327. package/src/browser/color-registry.ts +0 -5
  328. package/src/browser/common-frontend-contribution.ts +26 -33
  329. package/src/browser/common-styling-participants.ts +307 -0
  330. package/src/browser/connection-status-service.spec.ts +1 -4
  331. package/src/browser/connection-status-service.ts +3 -3
  332. package/src/browser/context-menu-renderer.ts +13 -29
  333. package/src/browser/core-preferences.ts +6 -0
  334. package/src/browser/decoration-style.ts +6 -2
  335. package/src/browser/frontend-application-bindings.ts +1 -3
  336. package/src/browser/frontend-application-config-provider.ts +2 -0
  337. package/src/browser/frontend-application-module.ts +11 -4
  338. package/src/browser/i18n/i18n-frontend-module.ts +2 -0
  339. package/src/browser/i18n/language-quick-pick-service.ts +128 -0
  340. package/src/browser/index.ts +1 -0
  341. package/src/browser/keybinding.spec.ts +22 -27
  342. package/src/browser/keybinding.ts +2 -1
  343. package/src/browser/label-provider.ts +0 -13
  344. package/src/browser/logger-frontend-module.ts +8 -1
  345. package/src/browser/messaging/ws-connection-provider.ts +34 -25
  346. package/src/browser/preferences/preference-contribution.ts +3 -28
  347. package/src/browser/preferences/preference-proxy.spec.ts +3 -113
  348. package/src/browser/preferences/preference-proxy.ts +0 -4
  349. package/src/browser/preferences/preference-schema-provider.spec.ts +1 -4
  350. package/src/browser/preferences/preference-service.spec.ts +1 -5
  351. package/src/browser/preferences/preference-validation-service.spec.ts +2 -2
  352. package/src/browser/preferences/preference-validation-service.ts +2 -2
  353. package/src/browser/preloader.ts +9 -2
  354. package/src/browser/progress-status-bar-item.ts +1 -1
  355. package/src/browser/quick-input/quick-command-service.ts +3 -3
  356. package/src/browser/saveable.ts +5 -4
  357. package/src/browser/shell/application-shell.ts +42 -35
  358. package/src/browser/shell/shell-layout-restorer.ts +4 -6
  359. package/src/browser/shell/side-panel-handler.ts +3 -2
  360. package/src/browser/shell/tab-bars.ts +14 -4
  361. package/src/browser/source-tree/source-tree-widget.tsx +1 -1
  362. package/src/browser/source-tree/tree-source.ts +2 -1
  363. package/src/browser/style/breadcrumbs.css +0 -1
  364. package/src/browser/style/index.css +66 -29
  365. package/src/browser/style/menus.css +4 -2
  366. package/src/browser/style/select-component.css +2 -0
  367. package/src/browser/style/sidepanel.css +11 -25
  368. package/src/browser/style/status-bar.css +8 -17
  369. package/src/browser/style/tabs.css +0 -16
  370. package/src/browser/style/tooltip.css +3 -3
  371. package/src/browser/style/tree.css +27 -11
  372. package/src/browser/style/view-container.css +4 -0
  373. package/src/browser/styling-service.ts +76 -0
  374. package/src/browser/theming.ts +18 -45
  375. package/src/browser/tree/search-box.ts +5 -4
  376. package/src/browser/tree/test/tree-test-container.ts +2 -0
  377. package/src/browser/tree/tree-compression/compressed-tree-model.ts +8 -2
  378. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +4 -2
  379. package/src/browser/tree/tree-container.ts +4 -0
  380. package/src/browser/tree/tree-focus-service.ts +55 -0
  381. package/src/browser/tree/tree-model.ts +32 -8
  382. package/src/browser/tree/tree-selection-impl.ts +13 -4
  383. package/src/browser/tree/tree-selection-state.ts +7 -2
  384. package/src/browser/tree/tree-selection.ts +10 -0
  385. package/src/browser/tree/tree-widget-selection.ts +10 -1
  386. package/src/browser/tree/tree-widget.tsx +83 -43
  387. package/src/browser/tree/tree.ts +8 -2
  388. package/src/browser/view-container.ts +41 -4
  389. package/src/common/cancellation.ts +8 -0
  390. package/src/common/command.ts +14 -16
  391. package/src/common/index.ts +1 -0
  392. package/src/common/message-rpc/channel.spec.ts +88 -0
  393. package/src/common/message-rpc/channel.ts +260 -0
  394. package/src/{node/messaging/logger.ts → common/message-rpc/index.ts} +4 -23
  395. package/src/common/message-rpc/message-buffer.ts +99 -0
  396. package/src/common/message-rpc/rpc-message-encoder.spec.ts +55 -0
  397. package/src/common/message-rpc/rpc-message-encoder.ts +552 -0
  398. package/src/common/message-rpc/rpc-protocol.ts +217 -0
  399. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -0
  400. package/src/common/message-rpc/uint8-array-message-buffer.ts +206 -0
  401. package/src/common/messaging/abstract-connection-provider.ts +28 -37
  402. package/src/common/messaging/connection-error-handler.ts +1 -2
  403. package/src/common/messaging/handler.ts +2 -2
  404. package/src/common/messaging/proxy-factory.spec.ts +4 -17
  405. package/src/common/messaging/proxy-factory.ts +27 -16
  406. package/src/common/messaging/web-socket-channel.ts +79 -135
  407. package/src/common/nls.ts +11 -0
  408. package/src/common/preferences/preference-schema.ts +1 -6
  409. package/src/common/promise-util.ts +13 -14
  410. package/src/common/resource.ts +29 -2
  411. package/src/common/theme.ts +6 -2
  412. package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +21 -7
  413. package/src/electron-browser/messaging/electron-ws-connection-provider.ts +5 -8
  414. package/src/electron-main/messaging/electron-messaging-contribution.ts +87 -65
  415. package/src/electron-main/messaging/electron-messaging-service.ts +2 -8
  416. package/src/node/messaging/binary-message-pipe.ts +168 -0
  417. package/src/node/messaging/ipc-bootstrap.ts +3 -11
  418. package/src/node/messaging/ipc-channel.ts +97 -0
  419. package/src/node/messaging/ipc-connection-provider.ts +18 -35
  420. package/src/node/messaging/ipc-protocol.ts +2 -2
  421. package/src/node/messaging/messaging-contribution.ts +29 -74
  422. package/src/node/messaging/messaging-service.ts +4 -31
  423. package/src/node/messaging/test/test-web-socket-channel.ts +26 -17
  424. package/src/node/request/proxy-cli-contribution.ts +1 -1
  425. package/lib/browser/preferences/validated-preference-proxy.d.ts +0 -21
  426. package/lib/browser/preferences/validated-preference-proxy.d.ts.map +0 -1
  427. package/lib/browser/preferences/validated-preference-proxy.js +0 -118
  428. package/lib/browser/preferences/validated-preference-proxy.js.map +0 -1
  429. package/lib/node/messaging/logger.d.ts +0 -8
  430. package/lib/node/messaging/logger.d.ts.map +0 -1
  431. package/lib/node/messaging/logger.js.map +0 -1
  432. package/shared/vscode-ws-jsonrpc/index.d.ts +0 -1
  433. package/shared/vscode-ws-jsonrpc/index.js +0 -1
  434. package/src/browser/preferences/validated-preference-proxy.ts +0 -111
  435. package/src/browser/style/variables-bright.useable.css +0 -93
  436. package/src/browser/style/variables-dark.useable.css +0 -93
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-bootstrap.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-bootstrap.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;AAEhF,4BAA0B;AAC1B,wDAAoD;AACpD,yDAA6D;AAC7D,yDAAuG;AACvG,iDAAiE;AAEjE,IAAA,+BAAgB,GAAE,CAAC;AAEnB,MAAM,UAAU,GAAG,4BAAa,CAAC,gBAAgB,EAAE,CAAC;AACpD,MAAM,MAAM,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;AACnC,MAAM,UAAU,GAAG,IAAA,2CAAuB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACnE,UAAU,CAAC,KAAK,CAAC,yBAAK,CAAC,GAAG,EAAE;IACxB,8DAA8D;IAC9D,GAAG,EAAE,CAAC,OAAY,EAAE,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;CACnE,CAAC,CAAC;AAEH,IAAA,gCAAc,EAA6B,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"ipc-bootstrap.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-bootstrap.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;AAEhF,4BAA0B;AAC1B,wDAAoD;AACpD,+CAA2C;AAC3C,iDAAiE;AAEjE,IAAA,+BAAgB,GAAE,CAAC;AAEnB,MAAM,UAAU,GAAG,4BAAa,CAAC,gBAAgB,EAAE,CAAC;AAEpD,IAAA,gCAAc,EAA6B,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /// <reference types="node" />
2
+ import * as cp from 'child_process';
3
+ import { Channel, ChannelCloseEvent, DisposableCollection, Emitter, Event, MessageProvider, WriteBuffer } from '../../common';
4
+ import { BinaryMessagePipe } from './binary-message-pipe';
5
+ /**
6
+ * A {@link Channel} to send messages between two processes using a dedicated pipe/fd for binary messages.
7
+ * This fd is opened as 5th channel in addition to the default stdios (stdin, stdout, stderr, ipc). This means the default channels
8
+ * are not blocked and can be used by the respective process for additional custom message handling.
9
+ */
10
+ export declare class IPCChannel implements Channel {
11
+ protected readonly onCloseEmitter: Emitter<ChannelCloseEvent>;
12
+ get onClose(): Event<ChannelCloseEvent>;
13
+ protected readonly onMessageEmitter: Emitter<MessageProvider>;
14
+ get onMessage(): Event<MessageProvider>;
15
+ protected readonly onErrorEmitter: Emitter<unknown>;
16
+ get onError(): Event<unknown>;
17
+ protected messagePipe: BinaryMessagePipe;
18
+ protected toDispose: DisposableCollection;
19
+ protected ipcErrorListener: (error: Error) => void;
20
+ constructor(childProcess?: cp.ChildProcess);
21
+ protected setupChildProcess(childProcess: cp.ChildProcess): void;
22
+ protected setupProcess(): void;
23
+ getWriteBuffer(): WriteBuffer;
24
+ close(): void;
25
+ }
26
+ //# sourceMappingURL=ipc-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-channel.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/ipc-channel.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAGpC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAc,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1I,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,qBAAa,UAAW,YAAW,OAAO;IAEtC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC9E,IAAI,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAEtC;IAED,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAC9E,IAAI,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,CAEtC;IAED,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAiB;IACpE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAE5B;IAED,SAAS,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACzC,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAA4C;gBAElF,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY;IAY1C,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,GAAG,IAAI;IAUhE,SAAS,CAAC,YAAY,IAAI,IAAI;IAU9B,cAAc,IAAI,WAAW;IAS7B,KAAK,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2022 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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.IPCChannel = void 0;
20
+ const net_1 = require("net");
21
+ const common_1 = require("../../common");
22
+ const uint8_array_message_buffer_1 = require("../../common/message-rpc/uint8-array-message-buffer");
23
+ const binary_message_pipe_1 = require("./binary-message-pipe");
24
+ /**
25
+ * A {@link Channel} to send messages between two processes using a dedicated pipe/fd for binary messages.
26
+ * This fd is opened as 5th channel in addition to the default stdios (stdin, stdout, stderr, ipc). This means the default channels
27
+ * are not blocked and can be used by the respective process for additional custom message handling.
28
+ */
29
+ class IPCChannel {
30
+ constructor(childProcess) {
31
+ this.onCloseEmitter = new common_1.Emitter();
32
+ this.onMessageEmitter = new common_1.Emitter();
33
+ this.onErrorEmitter = new common_1.Emitter();
34
+ this.toDispose = new common_1.DisposableCollection();
35
+ this.ipcErrorListener = error => this.onErrorEmitter.fire(error);
36
+ if (childProcess) {
37
+ this.setupChildProcess(childProcess);
38
+ }
39
+ else {
40
+ this.setupProcess();
41
+ }
42
+ this.messagePipe.onMessage(message => {
43
+ this.onMessageEmitter.fire(() => new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(message));
44
+ });
45
+ this.toDispose.pushAll([this.onCloseEmitter, this.onMessageEmitter, this.onErrorEmitter]);
46
+ }
47
+ get onClose() {
48
+ return this.onCloseEmitter.event;
49
+ }
50
+ get onMessage() {
51
+ return this.onMessageEmitter.event;
52
+ }
53
+ get onError() {
54
+ return this.onErrorEmitter.event;
55
+ }
56
+ setupChildProcess(childProcess) {
57
+ childProcess.once('exit', code => this.onCloseEmitter.fire({ reason: 'Child process has been terminated', code: code !== null && code !== void 0 ? code : undefined }));
58
+ this.messagePipe = new binary_message_pipe_1.BinaryMessagePipe(childProcess.stdio[4]);
59
+ childProcess.on('error', this.ipcErrorListener);
60
+ this.toDispose.push(common_1.Disposable.create(() => {
61
+ childProcess.removeListener('error', this.ipcErrorListener);
62
+ this.messagePipe.dispose();
63
+ }));
64
+ }
65
+ setupProcess() {
66
+ process.once('beforeExit', code => this.onCloseEmitter.fire({ reason: 'Process is about to be terminated', code }));
67
+ this.messagePipe = new binary_message_pipe_1.BinaryMessagePipe(new net_1.Socket({ fd: 4 }));
68
+ process.on('uncaughtException', this.ipcErrorListener);
69
+ this.toDispose.push(common_1.Disposable.create(() => {
70
+ process.removeListener('uncaughtException', this.ipcErrorListener);
71
+ this.messagePipe.dispose();
72
+ }));
73
+ }
74
+ getWriteBuffer() {
75
+ const result = new uint8_array_message_buffer_1.Uint8ArrayWriteBuffer();
76
+ result.onCommit(buffer => {
77
+ this.messagePipe.send(buffer);
78
+ });
79
+ return result;
80
+ }
81
+ close() {
82
+ this.toDispose.dispose();
83
+ }
84
+ }
85
+ exports.IPCChannel = IPCChannel;
86
+ //# sourceMappingURL=ipc-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-channel.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-channel.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import * as cp from 'child_process';
3
- import { MessageConnection } from 'vscode-ws-jsonrpc';
4
- import { ILogger, ConnectionErrorHandler, Disposable } from '../../common';
3
+ import { Channel, ConnectionErrorHandler, Disposable, ILogger } from '../../common';
5
4
  export interface ResolvedIPCConnectionOptions {
6
5
  readonly serverName: string;
7
6
  readonly entryPoint: string;
@@ -16,9 +15,8 @@ export declare type IPCConnectionOptions = Partial<ResolvedIPCConnectionOptions>
16
15
  };
17
16
  export declare class IPCConnectionProvider {
18
17
  protected readonly logger: ILogger;
19
- listen(options: IPCConnectionOptions, acceptor: (connection: MessageConnection) => void): Disposable;
20
- protected doListen(options: ResolvedIPCConnectionOptions, acceptor: (connection: MessageConnection) => void): Disposable;
21
- protected createConnection(childProcess: cp.ChildProcess, options: ResolvedIPCConnectionOptions): MessageConnection;
18
+ listen(options: IPCConnectionOptions, acceptor: (connection: Channel) => void): Disposable;
19
+ protected doListen(options: ResolvedIPCConnectionOptions, acceptor: (connection: Channel) => void): Disposable;
22
20
  protected fork(options: ResolvedIPCConnectionOptions): cp.ChildProcess;
23
21
  }
24
22
  //# sourceMappingURL=ipc-connection-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-connection-provider.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAGpC,OAAO,EAA8E,iBAAiB,EAAW,MAAM,mBAAmB,CAAC;AAC3I,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAwB,UAAU,EAAE,MAAM,cAAc,CAAC;AAGjG,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAA;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACnC;AACD,oBAAY,oBAAoB,GAAG,OAAO,CAAC,4BAA4B,CAAC,GAAG;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B,CAAC;AAEF,qBACa,qBAAqB;IAG9B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,GAAG,UAAU;IAQpG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,GAAG,UAAU;IA0BxH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,4BAA4B,GAAG,iBAAiB;IAqBnH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,EAAE,CAAC,YAAY;CAsBzE"}
1
+ {"version":3,"file":"ipc-connection-provider.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAIpC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAwB,OAAO,EAAE,MAAM,cAAc,CAAC;AAI1G,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAA;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACnC;AACD,oBAAY,oBAAoB,GAAG,OAAO,CAAC,4BAA4B,CAAC,GAAG;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B,CAAC;AAEF,qBACa,qBAAqB;IAG9B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GAAG,UAAU;IAQ1F,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GAAG,UAAU;IA4B9G,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,EAAE,CAAC,YAAY;CAuBzE"}
@@ -26,10 +26,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.IPCConnectionProvider = void 0;
28
28
  const cp = require("child_process");
29
- const path = require("path");
30
29
  const inversify_1 = require("inversify");
31
- const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
30
+ const path = require("path");
31
+ const readline_1 = require("readline");
32
32
  const common_1 = require("../../common");
33
+ const ipc_channel_1 = require("./ipc-channel");
33
34
  const ipc_protocol_1 = require("./ipc-protocol");
34
35
  let IPCConnectionProvider = class IPCConnectionProvider {
35
36
  listen(options, acceptor) {
@@ -37,17 +38,19 @@ let IPCConnectionProvider = class IPCConnectionProvider {
37
38
  }
38
39
  doListen(options, acceptor) {
39
40
  const childProcess = this.fork(options);
40
- const connection = this.createConnection(childProcess, options);
41
+ const channel = new ipc_channel_1.IPCChannel(childProcess);
41
42
  const toStop = new common_1.DisposableCollection();
42
43
  const toCancelStop = toStop.push(common_1.Disposable.create(() => childProcess.kill()));
43
44
  const errorHandler = options.errorHandler;
44
45
  if (errorHandler) {
45
- connection.onError((e) => {
46
- if (errorHandler.shouldStop(e[0], e[1], e[2])) {
46
+ let errorCount = 0;
47
+ channel.onError((err) => {
48
+ errorCount++;
49
+ if (errorHandler.shouldStop(err, errorCount)) {
47
50
  toStop.dispose();
48
51
  }
49
52
  });
50
- connection.onClose(() => {
53
+ channel.onClose(() => {
51
54
  if (toStop.disposed) {
52
55
  return;
53
56
  }
@@ -57,34 +60,14 @@ let IPCConnectionProvider = class IPCConnectionProvider {
57
60
  }
58
61
  });
59
62
  }
60
- acceptor(connection);
63
+ acceptor(channel);
61
64
  return toStop;
62
65
  }
63
- createConnection(childProcess, options) {
64
- const reader = new vscode_ws_jsonrpc_1.IPCMessageReader(childProcess);
65
- const writer = new vscode_ws_jsonrpc_1.IPCMessageWriter(childProcess);
66
- const connection = (0, vscode_ws_jsonrpc_1.createMessageConnection)(reader, writer, {
67
- error: (message) => this.logger.error(`[${options.serverName}: ${childProcess.pid}] ${message}`),
68
- warn: (message) => this.logger.warn(`[${options.serverName}: ${childProcess.pid}] ${message}`),
69
- info: (message) => this.logger.info(`[${options.serverName}: ${childProcess.pid}] ${message}`),
70
- log: (message) => this.logger.info(`[${options.serverName}: ${childProcess.pid}] ${message}`)
71
- });
72
- const tracer = {
73
- log: (message, data) => this.logger.debug(`[${options.serverName}: ${childProcess.pid}] ${message}` + (typeof data === 'string' ? ' ' + data : ''))
74
- };
75
- connection.trace(vscode_ws_jsonrpc_1.Trace.Verbose, tracer);
76
- this.logger.isDebug().then(isDebug => {
77
- if (!isDebug) {
78
- connection.trace(vscode_ws_jsonrpc_1.Trace.Off, tracer);
79
- }
80
- });
81
- return connection;
82
- }
83
66
  fork(options) {
84
67
  const forkOptions = {
85
- silent: true,
86
68
  env: (0, ipc_protocol_1.createIpcEnv)(options),
87
- execArgv: []
69
+ execArgv: [],
70
+ stdio: ['pipe', 'pipe', 'pipe', 'ipc', 'pipe']
88
71
  };
89
72
  const inspectArgPrefix = `--${options.serverName}-inspect`;
90
73
  const inspectArg = process.argv.find(v => v.startsWith(inspectArgPrefix));
@@ -92,8 +75,8 @@ let IPCConnectionProvider = class IPCConnectionProvider {
92
75
  forkOptions.execArgv = ['--nolazy', `--inspect${inspectArg.substr(inspectArgPrefix.length)}`];
93
76
  }
94
77
  const childProcess = cp.fork(path.join(__dirname, 'ipc-bootstrap'), options.args, forkOptions);
95
- childProcess.stdout.on('data', data => this.logger.info(`[${options.serverName}: ${childProcess.pid}] ${data.toString().trim()}`));
96
- childProcess.stderr.on('data', data => this.logger.error(`[${options.serverName}: ${childProcess.pid}] ${data.toString().trim()}`));
78
+ (0, readline_1.createInterface)(childProcess.stdout).on('line', line => this.logger.info(`[${options.serverName}: ${childProcess.pid}] ${line}`));
79
+ (0, readline_1.createInterface)(childProcess.stderr).on('line', line => this.logger.error(`[${options.serverName}: ${childProcess.pid}] ${line}`));
97
80
  this.logger.debug(`[${options.serverName}: ${childProcess.pid}] IPC started`);
98
81
  childProcess.once('exit', () => this.logger.debug(`[${options.serverName}: ${childProcess.pid}] IPC exited`));
99
82
  return childProcess;
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-connection-provider.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-connection-provider.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
- import { MessageConnection } from 'vscode-ws-jsonrpc';
2
+ import { Channel } from '../../common/message-rpc/channel';
3
3
  export declare const ipcEntryPoint: string | undefined;
4
- export declare type IPCEntryPoint = (connection: MessageConnection) => void;
4
+ export declare type IPCEntryPoint = (connection: Channel) => void;
5
5
  export declare namespace IPCEntryPoint {
6
6
  /**
7
7
  * Throws if `THEIA_ENTRY_POINT` is undefined or empty.
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-protocol.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/ipc-protocol.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAKtD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,SAA0C,CAAC;AAEhF,oBAAY,aAAa,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;AACpE,yBAAiB,aAAa,CAAC;IAC3B;;OAEG;IACH,SAAgB,gBAAgB,IAAI,MAAM,CAKzC;CACJ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAevC;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAC1B,GAAG,MAAM,CAAC,UAAU,CAcpB"}
1
+ {"version":3,"file":"ipc-protocol.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/ipc-protocol.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAK3D,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,SAA0C,CAAC;AAEhF,oBAAY,aAAa,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;AAC1D,yBAAiB,aAAa,CAAC;IAC3B;;OAEG;IACH,SAAgB,gBAAgB,IAAI,MAAM,CAKzC;CACJ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAevC;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAC1B,GAAG,MAAM,CAAC,UAAU,CAcpB"}
@@ -3,14 +3,13 @@ import * as http from 'http';
3
3
  import * as https from 'https';
4
4
  import { Socket } from 'socket.io';
5
5
  import { interfaces, Container } from 'inversify';
6
- import { MessageConnection } from 'vscode-ws-jsonrpc';
7
- import { IConnection } from 'vscode-ws-jsonrpc/lib/server/connection';
8
6
  import { ContributionProvider } from '../../common';
9
- import { WebSocketChannel } from '../../common/messaging/web-socket-channel';
7
+ import { IWebSocket } from '../../common/messaging/web-socket-channel';
10
8
  import { BackendApplicationContribution } from '../backend-application';
11
9
  import { MessagingService } from './messaging-service';
12
10
  import { WsRequestValidator } from '../ws-request-validators';
13
11
  import { MessagingListener } from './messaging-listeners';
12
+ import { Channel } from '../../common/message-rpc/channel';
14
13
  export declare const MessagingContainer: unique symbol;
15
14
  export declare class MessagingContribution implements BackendApplicationContribution, MessagingService {
16
15
  protected readonly container: interfaces.Container;
@@ -19,11 +18,9 @@ export declare class MessagingContribution implements BackendApplicationContribu
19
18
  protected readonly wsRequestValidator: WsRequestValidator;
20
19
  protected readonly messagingListener: MessagingListener;
21
20
  protected readonly wsHandlers: MessagingContribution.ConnectionHandlers<Socket<import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, any>>;
22
- protected readonly channelHandlers: MessagingContribution.ConnectionHandlers<WebSocketChannel>;
21
+ protected readonly channelHandlers: MessagingContribution.ConnectionHandlers<Channel>;
23
22
  protected init(): void;
24
- listen(spec: string, callback: (params: MessagingService.PathParams, connection: MessageConnection) => void): void;
25
- forward(spec: string, callback: (params: MessagingService.PathParams, connection: IConnection) => void): void;
26
- wsChannel(spec: string, callback: (params: MessagingService.PathParams, channel: WebSocketChannel) => void): void;
23
+ wsChannel(spec: string, callback: (params: MessagingService.PathParams, channel: Channel) => void): void;
27
24
  ws(spec: string, callback: (params: MessagingService.PathParams, socket: Socket) => void): void;
28
25
  protected checkAliveTimeout: number;
29
26
  protected maxHttpBufferSize: number;
@@ -31,9 +28,9 @@ export declare class MessagingContribution implements BackendApplicationContribu
31
28
  protected handleConnection(socket: Socket): void;
32
29
  protected allowConnect(request: http.IncomingMessage): Promise<boolean>;
33
30
  protected handleChannels(socket: Socket): void;
31
+ protected toIWebSocket(socket: Socket): IWebSocket;
34
32
  protected createSocketContainer(socket: Socket): Container;
35
- protected getConnectionChannelHandlers(socket: Socket): MessagingContribution.ConnectionHandlers<WebSocketChannel>;
36
- protected createChannel(id: number, socket: Socket): WebSocketChannel;
33
+ protected getConnectionChannelHandlers(socket: Socket): MessagingContribution.ConnectionHandlers<Channel>;
37
34
  }
38
35
  export declare namespace MessagingContribution {
39
36
  class ConnectionHandlers<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-contribution.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/messaging-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging-contribution.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/messaging-contribution.ts"],"names":[],"mappings":"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"}
@@ -28,16 +28,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.MessagingContribution = exports.MessagingContainer = void 0;
29
29
  const socket_io_1 = require("socket.io");
30
30
  const inversify_1 = require("inversify");
31
- const connection_1 = require("vscode-ws-jsonrpc/lib/socket/connection");
32
- const launch = require("vscode-ws-jsonrpc/lib/server/launch");
33
31
  const common_1 = require("../../common");
34
32
  const web_socket_channel_1 = require("../../common/messaging/web-socket-channel");
35
33
  const messaging_service_1 = require("./messaging-service");
36
- const logger_1 = require("./logger");
37
34
  const connection_container_module_1 = require("./connection-container-module");
38
35
  const Route = require("route-parser");
39
36
  const ws_request_validators_1 = require("../ws-request-validators");
40
37
  const messaging_listeners_1 = require("./messaging-listeners");
38
+ const channel_1 = require("../../common/message-rpc/channel");
41
39
  exports.MessagingContainer = Symbol('MessagingContainer');
42
40
  let MessagingContribution = MessagingContribution_1 = class MessagingContribution {
43
41
  constructor() {
@@ -52,18 +50,6 @@ let MessagingContribution = MessagingContribution_1 = class MessagingContributio
52
50
  contribution.configure(this);
53
51
  }
54
52
  }
55
- listen(spec, callback) {
56
- this.wsChannel(spec, (params, channel) => {
57
- const connection = (0, connection_1.createWebSocketConnection)(channel, new logger_1.ConsoleLogger());
58
- callback(params, connection);
59
- });
60
- }
61
- forward(spec, callback) {
62
- this.wsChannel(spec, (params, channel) => {
63
- const connection = launch.createWebSocketConnection(channel);
64
- callback(params, messaging_service_1.WebSocketChannelConnection.create(connection, channel));
65
- });
66
- }
67
53
  wsChannel(spec, callback) {
68
54
  this.channelHandlers.push(spec, (params, channel) => callback(params, channel));
69
55
  }
@@ -106,54 +92,31 @@ let MessagingContribution = MessagingContribution_1 = class MessagingContributio
106
92
  }
107
93
  }
108
94
  handleChannels(socket) {
95
+ const socketChannel = new web_socket_channel_1.WebSocketChannel(this.toIWebSocket(socket));
96
+ const multiplexer = new channel_1.ChannelMultiplexer(socketChannel);
109
97
  const channelHandlers = this.getConnectionChannelHandlers(socket);
110
- const channels = new Map();
111
- socket.on('message', data => {
112
- try {
113
- const message = JSON.parse(data.toString());
114
- if (message.kind === 'open') {
115
- const { id, path } = message;
116
- const channel = this.createChannel(id, socket);
117
- if (channelHandlers.route(path, channel)) {
118
- channel.ready();
119
- console.debug(`Opening channel for service path '${path}'. [ID: ${id}]`);
120
- channels.set(id, channel);
121
- channel.onClose(() => {
122
- console.debug(`Closing channel on service path '${path}'. [ID: ${id}]`);
123
- channels.delete(id);
124
- });
125
- }
126
- else {
127
- console.error('Cannot find a service for the path: ' + path);
128
- }
129
- }
130
- else {
131
- const { id } = message;
132
- const channel = channels.get(id);
133
- if (channel) {
134
- channel.handleMessage(message);
135
- }
136
- else {
137
- console.error('The ws channel does not exist', id);
138
- }
139
- }
98
+ multiplexer.onDidOpenChannel(event => {
99
+ if (channelHandlers.route(event.id, event.channel)) {
100
+ console.debug(`Opening channel for service path '${event.id}'.`);
101
+ event.channel.onClose(() => console.debug(`Closing channel on service path '${event.id}'.`));
140
102
  }
141
- catch (error) {
142
- console.error('Failed to handle message', { error, data });
143
- }
144
- });
145
- socket.on('error', err => {
146
- for (const channel of channels.values()) {
147
- channel.fireError(err);
148
- }
149
- });
150
- socket.on('disconnect', reason => {
151
- for (const channel of channels.values()) {
152
- channel.close(undefined, reason);
153
- }
154
- channels.clear();
155
103
  });
156
104
  }
105
+ toIWebSocket(socket) {
106
+ return {
107
+ close: () => {
108
+ socket.removeAllListeners('disconnect');
109
+ socket.removeAllListeners('error');
110
+ socket.removeAllListeners('message');
111
+ socket.disconnect();
112
+ },
113
+ isConnected: () => socket.connected,
114
+ onClose: cb => socket.on('disconnect', reason => cb(reason)),
115
+ onError: cb => socket.on('error', error => cb(error)),
116
+ onMessage: cb => socket.on('message', data => cb(data)),
117
+ send: message => socket.emit('message', message)
118
+ };
119
+ }
157
120
  createSocketContainer(socket) {
158
121
  const connectionContainer = this.container.createChild();
159
122
  connectionContainer.bind(socket_io_1.Socket).toConstantValue(socket);
@@ -167,19 +130,11 @@ let MessagingContribution = MessagingContribution_1 = class MessagingContributio
167
130
  const connectionHandlers = connectionContainer.getNamed(common_1.ContributionProvider, common_1.ConnectionHandler);
168
131
  for (const connectionHandler of connectionHandlers.getContributions(true)) {
169
132
  connectionChannelHandlers.push(connectionHandler.path, (_, channel) => {
170
- const connection = (0, connection_1.createWebSocketConnection)(channel, new logger_1.ConsoleLogger());
171
- connectionHandler.onConnection(connection);
133
+ connectionHandler.onConnection(channel);
172
134
  });
173
135
  }
174
136
  return connectionChannelHandlers;
175
137
  }
176
- createChannel(id, socket) {
177
- return new web_socket_channel_1.WebSocketChannel(id, content => {
178
- if (socket.connected) {
179
- socket.send(content);
180
- }
181
- });
182
- }
183
138
  };
184
139
  __decorate([
185
140
  (0, inversify_1.inject)(exports.MessagingContainer),
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-contribution.js","sourceRoot":"","sources":["../../../src/node/messaging/messaging-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging-contribution.js","sourceRoot":"","sources":["../../../src/node/messaging/messaging-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,18 @@
1
1
  import { Socket } from 'socket.io';
2
- import { MessageConnection } from 'vscode-ws-jsonrpc';
3
- import { IConnection } from 'vscode-ws-jsonrpc/lib/server/connection';
4
- import { WebSocketChannel } from '../../common/messaging/web-socket-channel';
2
+ import { Channel } from '../../common/message-rpc/channel';
5
3
  export interface MessagingService {
6
- /**
7
- * Accept a JSON-RPC connection on the given path.
8
- * A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
9
- */
10
- listen(path: string, callback: (params: MessagingService.PathParams, connection: MessageConnection) => void): void;
11
- /**
12
- * Accept a raw JSON-RPC connection on the given path.
13
- * A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
14
- */
15
- forward(path: string, callback: (params: MessagingService.PathParams, connection: IConnection) => void): void;
16
4
  /**
17
5
  * Accept a web socket channel on the given path.
18
6
  * A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
19
7
  */
20
- wsChannel(path: string, callback: (params: MessagingService.PathParams, socket: WebSocketChannel) => void): void;
8
+ wsChannel(path: string, callback: (params: MessagingService.PathParams, channel: Channel) => void): void;
21
9
  /**
22
10
  * Accept a web socket connection on the given path.
23
11
  * A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
24
12
  *
25
13
  * #### Important
26
- * Prefer JSON-RPC connections or web socket channels over web sockets. Clients can handle only limited amount of web sockets
27
- * and excessive amount can cause performance degradation. All JSON-RPC connections and web socket channels share the single web socket connection.
14
+ * Prefer using web socket channels over establishing new web socket connection. Clients can handle only limited amount of web sockets
15
+ * and excessive amount can cause performance degradation. All web socket channels share a single web socket connection.
28
16
  */
29
17
  ws(path: string, callback: (params: MessagingService.PathParams, socket: Socket) => void): void;
30
18
  }
@@ -39,11 +27,4 @@ export declare namespace MessagingService {
39
27
  configure(service: MessagingService): void;
40
28
  }
41
29
  }
42
- export interface WebSocketChannelConnection extends IConnection {
43
- channel: WebSocketChannel;
44
- }
45
- export declare namespace WebSocketChannelConnection {
46
- function is(connection: IConnection): connection is WebSocketChannelConnection;
47
- function create(connection: IConnection, channel: WebSocketChannel): WebSocketChannelConnection;
48
- }
49
30
  //# sourceMappingURL=messaging-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-service.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/messaging-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,CAAC;IACnH;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9G;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IACjH;;;;;;;OAOG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnG;AACD,yBAAiB,gBAAgB,CAAC;IAC9B,2EAA2E;IACpE,MAAM,UAAU,eAA6B,CAAC;IACrD,UAAiB,UAAU;QACvB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB;IACM,MAAM,YAAY,eAA0C,CAAC;IACpE,UAAiB,YAAY;QACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAC9C;CACJ;AAED,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC3D,OAAO,EAAE,gBAAgB,CAAC;CAC7B;AACD,yBAAiB,0BAA0B,CAAC;IACxC,SAAgB,EAAE,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,IAAI,0BAA0B,CAEpF;IAED,SAAgB,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,0BAA0B,CAIrG;CACJ"}
1
+ {"version":3,"file":"messaging-service.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/messaging-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IACzG;;;;;;;OAOG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnG;AACD,yBAAiB,gBAAgB,CAAC;IAC9B,2EAA2E;IACpE,MAAM,UAAU,eAA6B,CAAC;IACrD,UAAiB,UAAU;QACvB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB;IACM,MAAM,YAAY,eAA0C,CAAC;IACpE,UAAiB,YAAY;QACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAC9C;CACJ"}
@@ -15,25 +15,11 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WebSocketChannelConnection = exports.MessagingService = void 0;
19
- const web_socket_channel_1 = require("../../common/messaging/web-socket-channel");
18
+ exports.MessagingService = void 0;
20
19
  var MessagingService;
21
20
  (function (MessagingService) {
22
21
  /** Inversify container identifier for the `MessagingService` component. */
23
22
  MessagingService.Identifier = Symbol('MessagingService');
24
23
  MessagingService.Contribution = Symbol('MessagingService.Contribution');
25
24
  })(MessagingService = exports.MessagingService || (exports.MessagingService = {}));
26
- var WebSocketChannelConnection;
27
- (function (WebSocketChannelConnection) {
28
- function is(connection) {
29
- return connection.channel instanceof web_socket_channel_1.WebSocketChannel;
30
- }
31
- WebSocketChannelConnection.is = is;
32
- function create(connection, channel) {
33
- const result = connection;
34
- result.channel = channel;
35
- return result;
36
- }
37
- WebSocketChannelConnection.create = create;
38
- })(WebSocketChannelConnection = exports.WebSocketChannelConnection || (exports.WebSocketChannelConnection = {}));
39
25
  //# sourceMappingURL=messaging-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-service.js","sourceRoot":"","sources":["../../../src/node/messaging/messaging-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAKhF,kFAA6E;AA4B7E,IAAiB,gBAAgB,CAUhC;AAVD,WAAiB,gBAAgB;IAC7B,2EAA2E;IAC9D,2BAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAIxC,6BAAY,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAIxE,CAAC,EAVgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAUhC;AAKD,IAAiB,0BAA0B,CAU1C;AAVD,WAAiB,0BAA0B;IACvC,SAAgB,EAAE,CAAC,UAAuB;QACtC,OAAQ,UAAyC,CAAC,OAAO,YAAY,qCAAgB,CAAC;IAC1F,CAAC;IAFe,6BAAE,KAEjB,CAAA;IAED,SAAgB,MAAM,CAAC,UAAuB,EAAE,OAAyB;QACrE,MAAM,MAAM,GAAG,UAAwC,CAAC;QACxD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;IAJe,iCAAM,SAIrB,CAAA;AACL,CAAC,EAVgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAU1C"}
1
+ {"version":3,"file":"messaging-service.js","sourceRoot":"","sources":["../../../src/node/messaging/messaging-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAqBhF,IAAiB,gBAAgB,CAUhC;AAVD,WAAiB,gBAAgB;IAC7B,2EAA2E;IAC9D,2BAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAIxC,6BAAY,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAIxE,CAAC,EAVgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAUhC"}