@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
@@ -23,9 +23,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.AbstractConnectionProvider = void 0;
25
25
  const inversify_1 = require("inversify");
26
- const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
27
26
  const event_1 = require("../event");
28
27
  const proxy_factory_1 = require("./proxy-factory");
28
+ const channel_1 = require("../message-rpc/channel");
29
29
  /**
30
30
  * Factor common logic according to `ElectronIpcConnectionProvider` and
31
31
  * `WebSocketConnectionProvider`. This class handles channels in a somewhat
@@ -33,9 +33,10 @@ const proxy_factory_1 = require("./proxy-factory");
33
33
  */
34
34
  let AbstractConnectionProvider = class AbstractConnectionProvider {
35
35
  constructor() {
36
- this.channelIdSeq = 0;
37
- this.channels = new Map();
38
36
  this.onIncomingMessageActivityEmitter = new event_1.Emitter();
37
+ // A set of channel opening functions that are executed if the backend reconnects to restore the
38
+ // the channels that were open before the disconnect occurred.
39
+ this.reconnectChannelOpeners = [];
39
40
  }
40
41
  /**
41
42
  * Create a proxy object to remote interface of T type
@@ -58,47 +59,31 @@ let AbstractConnectionProvider = class AbstractConnectionProvider {
58
59
  });
59
60
  return factory.createProxy();
60
61
  }
62
+ initializeMultiplexer() {
63
+ const mainChannel = this.createMainChannel();
64
+ mainChannel.onMessage(() => this.onIncomingMessageActivityEmitter.fire());
65
+ this.channelMultiPlexer = new channel_1.ChannelMultiplexer(mainChannel);
66
+ }
61
67
  /**
62
68
  * Install a connection handler for the given path.
63
69
  */
64
70
  listen(handler, options) {
65
71
  this.openChannel(handler.path, channel => {
66
- const connection = (0, vscode_ws_jsonrpc_1.createWebSocketConnection)(channel, this.createLogger());
67
- connection.onDispose(() => channel.close());
68
- handler.onConnection(connection);
72
+ handler.onConnection(channel);
69
73
  }, options);
70
74
  }
71
- openChannel(path, handler, options) {
72
- const id = this.channelIdSeq++;
73
- const channel = this.createChannel(id);
74
- this.channels.set(id, channel);
75
- channel.onClose(() => {
76
- if (this.channels.delete(channel.id)) {
77
- const { reconnecting } = Object.assign({ reconnecting: true }, options);
78
- if (reconnecting) {
79
- this.openChannel(path, handler, options);
80
- }
81
- }
82
- else {
83
- console.error('The ws channel does not exist', channel.id);
75
+ async openChannel(path, handler, options) {
76
+ if (!this.channelMultiPlexer) {
77
+ throw new Error('The channel multiplexer has not been initialized yet!');
78
+ }
79
+ const newChannel = await this.channelMultiPlexer.open(path);
80
+ newChannel.onClose(() => {
81
+ const { reconnecting } = Object.assign({ reconnecting: true }, options);
82
+ if (reconnecting) {
83
+ this.reconnectChannelOpeners.push(() => this.openChannel(path, handler, options));
84
84
  }
85
85
  });
86
- channel.onOpen(() => handler(channel));
87
- channel.open(path);
88
- }
89
- handleIncomingRawMessage(data) {
90
- const message = JSON.parse(data);
91
- const channel = this.channels.get(message.id);
92
- if (channel) {
93
- channel.handleMessage(message);
94
- }
95
- else {
96
- console.error('The ws channel does not exist', message.id);
97
- }
98
- this.onIncomingMessageActivityEmitter.fire(undefined);
99
- }
100
- createLogger() {
101
- return new vscode_ws_jsonrpc_1.ConsoleLogger();
86
+ handler(newChannel);
102
87
  }
103
88
  };
104
89
  AbstractConnectionProvider = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-connection-provider.js","sourceRoot":"","sources":["../../../src/common/messaging/abstract-connection-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-connection-provider.js","sourceRoot":"","sources":["../../../src/common/messaging/abstract-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,yCAAmD;AACnD,oCAA0C;AAE1C,mDAAoE;AACpE,oDAAqE;AAErE;;;;GAIG;AAEH,IAAsB,0BAA0B,GAAhD,MAAsB,0BAA0B;IAAhD;QAkBuB,qCAAgC,GAAkB,IAAI,eAAO,EAAE,CAAC;QA6BnF,gGAAgG;QAChG,8DAA8D;QACpD,4BAAuB,GAA+B,EAAE,CAAC;IAqCvE,CAAC;IA/EG;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAmB,SAA+B,EAAE,IAAY,EAAE,MAAe;QAC/F,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAGD,IAAI,yBAAyB;QACzB,OAAO,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC;IACvD,CAAC;IAeD,WAAW,CAAmB,IAAY,EAAE,GAAY;QACpD,MAAM,OAAO,GAAG,GAAG,YAAY,mCAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,mCAAmB,CAAI,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC;YACR,IAAI;YACJ,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAQS,qBAAqB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAkB,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAA0B,EAAE,OAAyB;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACrC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAmC,EAAE,OAAyB;QAC1F,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC5E;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,YAAY,EAAE,mBAAK,YAAY,EAAE,IAAI,IAAK,OAAO,CAAE,CAAC;YAC5D,IAAI,YAAY,EAAE;gBACd,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACrF;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;CAOJ,CAAA;AAtFqB,0BAA0B;IAD/C,IAAA,sBAAU,GAAE;GACS,0BAA0B,CAsF/C;AAtFqB,gEAA0B"}
@@ -1,4 +1,3 @@
1
- import { Message } from 'vscode-ws-jsonrpc';
2
1
  import { ILogger } from '../../common';
3
2
  export interface ResolvedConnectionErrorHandlerOptions {
4
3
  readonly serverName: string;
@@ -23,7 +22,7 @@ export declare type ConnectionErrorHandlerOptions = Partial<ResolvedConnectionEr
23
22
  export declare class ConnectionErrorHandler {
24
23
  protected readonly options: ResolvedConnectionErrorHandlerOptions;
25
24
  constructor(options: ConnectionErrorHandlerOptions);
26
- shouldStop(error: Error, message?: Message, count?: number): boolean;
25
+ shouldStop(error: Error, count?: number): boolean;
27
26
  protected readonly restarts: number[];
28
27
  shouldRestart(): boolean;
29
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection-error-handler.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/connection-error-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,qCAAqC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACnC;AAED,oBAAY,6BAA6B,GAAG,OAAO,CAAC,qCAAqC,CAAC,GAAG;IACzF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAC3B,CAAC;AAEF,qBAAa,sBAAsB;IAE/B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC;gBACtD,OAAO,EAAE,6BAA6B;IASlD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAIpE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAC3C,aAAa,IAAI,OAAO;CAe3B"}
1
+ {"version":3,"file":"connection-error-handler.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/connection-error-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,qCAAqC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACnC;AAED,oBAAY,6BAA6B,GAAG,OAAO,CAAC,qCAAqC,CAAC,GAAG;IACzF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAC3B,CAAC;AAEF,qBAAa,sBAAsB;IAE/B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC;gBACtD,OAAO,EAAE,6BAA6B;IASlD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAIjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAC3C,aAAa,IAAI,OAAO;CAe3B"}
@@ -21,7 +21,7 @@ class ConnectionErrorHandler {
21
21
  this.restarts = [];
22
22
  this.options = Object.assign({ maxErrors: 3, maxRestarts: 5, restartInterval: 3 }, options);
23
23
  }
24
- shouldStop(error, message, count) {
24
+ shouldStop(error, count) {
25
25
  return !count || count > this.options.maxErrors;
26
26
  }
27
27
  shouldRestart() {
@@ -1 +1 @@
1
- {"version":3,"file":"connection-error-handler.js","sourceRoot":"","sources":["../../../src/common/messaging/connection-error-handler.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;;;AA2BhF,MAAa,sBAAsB;IAG/B,YAAY,OAAsC;QAa/B,aAAQ,GAAa,EAAE,CAAC;QAZvC,IAAI,CAAC,OAAO,mBACR,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,CAAC,EACd,eAAe,EAAE,CAAC,IACf,OAAO,CACb,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,OAAiB,EAAE,KAAc;QACtD,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACpD,CAAC;IAGD,aAAa;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAClD,OAAO,IAAI,CAAC;SACf;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,GAAG,IAAI,EAAE;YAClD,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,mBAAmB,IAAI,CAAC,OAAO,CAAC,WAAW,sBAAsB,IAAI,CAAC,OAAO,CAAC,eAAe,6CAA6C,CAAC,CAAC;YACpM,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AAhCD,wDAgCC"}
1
+ {"version":3,"file":"connection-error-handler.js","sourceRoot":"","sources":["../../../src/common/messaging/connection-error-handler.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;;;AA0BhF,MAAa,sBAAsB;IAG/B,YAAY,OAAsC;QAa/B,aAAQ,GAAa,EAAE,CAAC;QAZvC,IAAI,CAAC,OAAO,mBACR,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,CAAC,EACd,eAAe,EAAE,CAAC,IACf,OAAO,CACb,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,KAAc;QACnC,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACpD,CAAC;IAGD,aAAa;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAClD,OAAO,IAAI,CAAC;SACf;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,GAAG,IAAI,EAAE;YAClD,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,mBAAmB,IAAI,CAAC,OAAO,CAAC,WAAW,sBAAsB,IAAI,CAAC,OAAO,CAAC,eAAe,6CAA6C,CAAC,CAAC;YACpM,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AAhCD,wDAgCC"}
@@ -1,7 +1,7 @@
1
- import { MessageConnection } from 'vscode-ws-jsonrpc';
1
+ import { Channel } from '../message-rpc/channel';
2
2
  export declare const ConnectionHandler: unique symbol;
3
3
  export interface ConnectionHandler {
4
4
  readonly path: string;
5
- onConnection(connection: MessageConnection): void;
5
+ onConnection(connection: Channel): void;
6
6
  }
7
7
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrD"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C"}
@@ -1,6 +1,7 @@
1
- import { MessageConnection } from 'vscode-ws-jsonrpc';
2
- import { Event, Emitter } from '../event';
3
1
  import { Disposable } from '../disposable';
2
+ import { Emitter, Event } from '../event';
3
+ import { Channel } from '../message-rpc/channel';
4
+ import { RequestHandler, RpcProtocol } from '../message-rpc/rpc-protocol';
4
5
  import { ConnectionHandler } from './handler';
5
6
  export declare type JsonRpcServer<Client> = Disposable & {
6
7
  /**
@@ -21,8 +22,12 @@ export declare class JsonRpcConnectionHandler<T extends object> implements Conne
21
22
  readonly targetFactory: (proxy: JsonRpcProxy<T>) => any;
22
23
  readonly factoryConstructor: new () => JsonRpcProxyFactory<T>;
23
24
  constructor(path: string, targetFactory: (proxy: JsonRpcProxy<T>) => any, factoryConstructor?: new () => JsonRpcProxyFactory<T>);
24
- onConnection(connection: MessageConnection): void;
25
+ onConnection(connection: Channel): void;
25
26
  }
27
+ /**
28
+ * Factory for creating a new {@link RpcConnection} for a given chanel and {@link RequestHandler}.
29
+ */
30
+ export declare type RpcConnectionFactory = (channel: Channel, requestHandler: RequestHandler) => RpcProtocol;
26
31
  /**
27
32
  * Factory for JSON-RPC proxy objects.
28
33
  *
@@ -67,17 +72,18 @@ export declare class JsonRpcConnectionHandler<T extends object> implements Conne
67
72
  */
68
73
  export declare class JsonRpcProxyFactory<T extends object> implements ProxyHandler<T> {
69
74
  target?: any;
75
+ protected rpcConnectionFactory: RpcConnectionFactory;
70
76
  protected readonly onDidOpenConnectionEmitter: Emitter<void>;
71
77
  protected readonly onDidCloseConnectionEmitter: Emitter<void>;
72
- protected connectionPromiseResolve: (connection: MessageConnection) => void;
73
- protected connectionPromise: Promise<MessageConnection>;
78
+ protected connectionPromiseResolve: (connection: RpcProtocol) => void;
79
+ protected connectionPromise: Promise<RpcProtocol>;
74
80
  /**
75
81
  * Build a new JsonRpcProxyFactory.
76
82
  *
77
83
  * @param target - The object to expose to JSON-RPC methods calls. If this
78
84
  * is omitted, the proxy won't be able to handle requests, only send them.
79
85
  */
80
- constructor(target?: any);
86
+ constructor(target?: any, rpcConnectionFactory?: RpcConnectionFactory);
81
87
  protected waitForConnection(): void;
82
88
  /**
83
89
  * Connect a MessageConnection to the factory.
@@ -85,7 +91,7 @@ export declare class JsonRpcProxyFactory<T extends object> implements ProxyHandl
85
91
  * This connection will be used to send/receive JSON-RPC requests and
86
92
  * response.
87
93
  */
88
- listen(connection: MessageConnection): void;
94
+ listen(channel: Channel): void;
89
95
  /**
90
96
  * Process an incoming JSON-RPC method call.
91
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-factory.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,oBAAY,aAAa,CAAC,MAAM,IAAI,UAAU,GAAG;IAC7C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC9C;AACD,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC;AAEhE,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,iBAAiB;IAE5E,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG;IACvD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,mBAAmB,CAAC,CAAC,CAAC;gBAFpD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,EAC9C,kBAAkB,GAAE,UAAU,mBAAmB,CAAC,CAAC,CAAuB;IAGvF,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAMpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IActD,MAAM,CAAC;IAZ1B,SAAS,CAAC,QAAQ,CAAC,0BAA0B,gBAAuB;IACpE,SAAS,CAAC,QAAQ,CAAC,2BAA2B,gBAAuB;IAErE,SAAS,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAExD;;;;;OAKG;gBACgB,MAAM,CAAC,KAAK;IAI/B,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAYnC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAQ3C;;;;;;;;;;;OAWG;cACa,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBvE;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9D;;;;;;OAMG;IACH,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC;IAK9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAuClD;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO;IAIjD,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG;IAQrC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG;CAgBhE"}
1
+ {"version":3,"file":"proxy-factory.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,oBAAY,aAAa,CAAC,MAAM,IAAI,UAAU,GAAG;IAC7C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC9C;AACD,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC;AAEhE,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,iBAAiB;IAE5E,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG;IACvD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,mBAAmB,CAAC,CAAC,CAAC;gBAFpD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,EAC9C,kBAAkB,GAAE,UAAU,mBAAmB,CAAC,CAAC,CAAuB;IAGvF,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAM1C;AACD;;GAEG;AACH,oBAAY,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,KAAK,WAAW,CAAC;AAIrG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IActD,MAAM,CAAC;IAAO,SAAS,CAAC,oBAAoB;IAZ/D,SAAS,CAAC,QAAQ,CAAC,0BAA0B,gBAAuB;IACpE,SAAS,CAAC,QAAQ,CAAC,2BAA2B,gBAAuB;IAErE,SAAS,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAElD;;;;;OAKG;gBACgB,MAAM,CAAC,KAAK,EAAY,oBAAoB,uBAA8B;IAI7F,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAcnC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAO9B;;;;;;;;;;;OAWG;cACa,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBvE;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9D;;;;;;OAMG;IACH,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC;IAK9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAuClD;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO;IAIjD,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG;IAQrC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG;CAgBhE"}
@@ -17,9 +17,10 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.JsonRpcProxyFactory = exports.JsonRpcConnectionHandler = void 0;
19
19
  /* eslint-disable @typescript-eslint/no-explicit-any */
20
- const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
20
+ const rpc_message_encoder_1 = require("../message-rpc/rpc-message-encoder");
21
21
  const application_error_1 = require("../application-error");
22
22
  const event_1 = require("../event");
23
+ const rpc_protocol_1 = require("../message-rpc/rpc-protocol");
23
24
  class JsonRpcConnectionHandler {
24
25
  constructor(path, targetFactory, factoryConstructor = JsonRpcProxyFactory) {
25
26
  this.path = path;
@@ -34,6 +35,7 @@ class JsonRpcConnectionHandler {
34
35
  }
35
36
  }
36
37
  exports.JsonRpcConnectionHandler = JsonRpcConnectionHandler;
38
+ const defaultRPCConnectionFactory = (channel, requestHandler) => new rpc_protocol_1.RpcProtocol(channel, requestHandler);
37
39
  /**
38
40
  * Factory for JSON-RPC proxy objects.
39
41
  *
@@ -83,8 +85,9 @@ class JsonRpcProxyFactory {
83
85
  * @param target - The object to expose to JSON-RPC methods calls. If this
84
86
  * is omitted, the proxy won't be able to handle requests, only send them.
85
87
  */
86
- constructor(target) {
88
+ constructor(target, rpcConnectionFactory = defaultRPCConnectionFactory) {
87
89
  this.target = target;
90
+ this.rpcConnectionFactory = rpcConnectionFactory;
88
91
  this.onDidOpenConnectionEmitter = new event_1.Emitter();
89
92
  this.onDidCloseConnectionEmitter = new event_1.Emitter();
90
93
  this.waitForConnection();
@@ -92,7 +95,11 @@ class JsonRpcProxyFactory {
92
95
  waitForConnection() {
93
96
  this.connectionPromise = new Promise(resolve => this.connectionPromiseResolve = resolve);
94
97
  this.connectionPromise.then(connection => {
95
- connection.onClose(() => this.onDidCloseConnectionEmitter.fire(undefined));
98
+ connection.channel.onClose(() => {
99
+ this.onDidCloseConnectionEmitter.fire(undefined);
100
+ // Wait for connection in case the backend reconnects
101
+ this.waitForConnection();
102
+ });
96
103
  this.onDidOpenConnectionEmitter.fire(undefined);
97
104
  });
98
105
  }
@@ -102,11 +109,9 @@ class JsonRpcProxyFactory {
102
109
  * This connection will be used to send/receive JSON-RPC requests and
103
110
  * response.
104
111
  */
105
- listen(connection) {
106
- connection.onRequest((prop, ...args) => this.onRequest(prop, ...args));
107
- connection.onNotification((prop, ...args) => this.onNotification(prop, ...args));
108
- connection.onDispose(() => this.waitForConnection());
109
- connection.listen();
112
+ listen(channel) {
113
+ const connection = this.rpcConnectionFactory(channel, (meth, args) => this.onRequest(meth, ...args));
114
+ connection.onNotification(event => this.onNotification(event.method, ...event.args));
110
115
  this.connectionPromiseResolve(connection);
111
116
  }
112
117
  /**
@@ -132,7 +137,7 @@ class JsonRpcProxyFactory {
132
137
  }
133
138
  catch (error) {
134
139
  const e = this.serializeError(error);
135
- if (e instanceof vscode_ws_jsonrpc_1.ResponseError) {
140
+ if (e instanceof rpc_message_encoder_1.ResponseError) {
136
141
  throw e;
137
142
  }
138
143
  const reason = e.message || '';
@@ -207,11 +212,11 @@ class JsonRpcProxyFactory {
207
212
  return this.connectionPromise.then(connection => new Promise((resolve, reject) => {
208
213
  try {
209
214
  if (isNotify) {
210
- connection.sendNotification(method, ...args);
215
+ connection.sendNotification(method, args);
211
216
  resolve(undefined);
212
217
  }
213
218
  else {
214
- const resultPromise = connection.sendRequest(method, ...args);
219
+ const resultPromise = connection.sendRequest(method, args);
215
220
  resultPromise
216
221
  .catch((err) => reject(this.deserializeError(capturedError, err)))
217
222
  .then((result) => resolve(result));
@@ -237,12 +242,12 @@ class JsonRpcProxyFactory {
237
242
  }
238
243
  serializeError(e) {
239
244
  if (application_error_1.ApplicationError.is(e)) {
240
- return new vscode_ws_jsonrpc_1.ResponseError(e.code, '', Object.assign({ kind: 'application' }, e.toJson()));
245
+ return new rpc_message_encoder_1.ResponseError(e.code, '', Object.assign({ kind: 'application' }, e.toJson()));
241
246
  }
242
247
  return e;
243
248
  }
244
249
  deserializeError(capturedError, e) {
245
- if (e instanceof vscode_ws_jsonrpc_1.ResponseError) {
250
+ if (e instanceof rpc_message_encoder_1.ResponseError) {
246
251
  const capturedStack = capturedError.stack || '';
247
252
  if (e.data && e.data.kind === 'application') {
248
253
  const { stack, data, message } = e.data;
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-factory.js","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-factory.js","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.ts"],"names":[],"mappings":"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"}
@@ -16,17 +16,9 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const chai = require("chai");
19
- const logger_1 = require("../../node/messaging/logger");
20
19
  const proxy_factory_1 = require("./proxy-factory");
21
- const main_1 = require("vscode-jsonrpc/lib/main");
22
- const stream = require("stream");
20
+ const channel_spec_1 = require("../message-rpc/channel.spec");
23
21
  const expect = chai.expect;
24
- class NoTransform extends stream.Transform {
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- _transform(chunk, encoding, callback) {
27
- callback(undefined, chunk);
28
- }
29
- }
30
22
  class TestServer {
31
23
  constructor() {
32
24
  this.requests = [];
@@ -92,14 +84,11 @@ function getSetup() {
92
84
  const client = new TestClient();
93
85
  const server = new TestServer();
94
86
  const serverProxyFactory = new proxy_factory_1.JsonRpcProxyFactory(client);
95
- const client2server = new NoTransform();
96
- const server2client = new NoTransform();
97
- const serverConnection = (0, main_1.createMessageConnection)(server2client, client2server, new logger_1.ConsoleLogger());
98
- serverProxyFactory.listen(serverConnection);
87
+ const pipe = new channel_spec_1.ChannelPipe();
88
+ serverProxyFactory.listen(pipe.right);
99
89
  const serverProxy = serverProxyFactory.createProxy();
100
90
  const clientProxyFactory = new proxy_factory_1.JsonRpcProxyFactory(server);
101
- const clientConnection = (0, main_1.createMessageConnection)(client2server, server2client, new logger_1.ConsoleLogger());
102
- clientProxyFactory.listen(clientConnection);
91
+ clientProxyFactory.listen(pipe.left);
103
92
  const clientProxy = clientProxyFactory.createProxy();
104
93
  return {
105
94
  client,
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-factory.spec.js","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-factory.spec.js","sourceRoot":"","sources":["../../../src/common/messaging/proxy-factory.spec.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,58 @@
1
- import { IWebSocket } from 'vscode-ws-jsonrpc/lib/socket/socket';
2
- import { Disposable, DisposableCollection } from '../disposable';
3
- import { Emitter } from '../event';
4
- export declare class WebSocketChannel implements IWebSocket {
5
- readonly id: number;
6
- protected readonly doSend: (content: string) => void;
1
+ import { Emitter, Event } from '../event';
2
+ import { WriteBuffer } from '../message-rpc';
3
+ import { Channel, MessageProvider, ChannelCloseEvent } from '../message-rpc/channel';
4
+ import { DisposableCollection } from '../disposable';
5
+ /**
6
+ * A channel that manages the main websocket connection between frontend and backend. All service channels
7
+ * are reusing this main channel. (multiplexing). An {@link IWebSocket} abstraction is used to keep the implementation
8
+ * independent of the actual websocket implementation and its execution context (backend vs. frontend).
9
+ */
10
+ export declare class WebSocketChannel implements Channel {
11
+ protected readonly socket: IWebSocket;
7
12
  static wsPath: string;
8
- protected readonly closeEmitter: Emitter<[number, string]>;
9
- protected readonly toDispose: DisposableCollection;
10
- constructor(id: number, doSend: (content: string) => void);
11
- dispose(): void;
12
- protected checkNotDisposed(): void;
13
- handleMessage(message: WebSocketChannel.Message): void;
14
- open(path: string): void;
15
- ready(): void;
16
- send(content: string): void;
17
- close(code?: number, reason?: string): void;
18
- tryClose(code?: number, reason?: string): void;
19
- protected fireOpen: () => void;
20
- onOpen(cb: () => void): void;
21
- protected fireMessage: (data: any) => void;
22
- onMessage(cb: (data: any) => void): void;
23
- fireError: (reason: any) => void;
24
- onError(cb: (reason: any) => void): void;
25
- protected closing: boolean;
26
- protected fireClose(code: number, reason: string): void;
27
- onClose(cb: (code: number, reason: string) => void): Disposable;
13
+ protected readonly onCloseEmitter: Emitter<ChannelCloseEvent>;
14
+ get onClose(): Event<ChannelCloseEvent>;
15
+ protected readonly onMessageEmitter: Emitter<MessageProvider>;
16
+ get onMessage(): Event<MessageProvider>;
17
+ protected readonly onErrorEmitter: Emitter<unknown>;
18
+ get onError(): Event<unknown>;
19
+ protected toDispose: DisposableCollection;
20
+ constructor(socket: IWebSocket);
21
+ getWriteBuffer(): WriteBuffer;
22
+ close(): void;
28
23
  }
29
- export declare namespace WebSocketChannel {
30
- interface OpenMessage {
31
- kind: 'open';
32
- id: number;
33
- path: string;
34
- }
35
- interface ReadyMessage {
36
- kind: 'ready';
37
- id: number;
38
- }
39
- interface DataMessage {
40
- kind: 'data';
41
- id: number;
42
- content: string;
43
- }
44
- interface CloseMessage {
45
- kind: 'close';
46
- id: number;
47
- code: number;
48
- reason: string;
49
- }
50
- type Message = OpenMessage | ReadyMessage | DataMessage | CloseMessage;
24
+ /**
25
+ * An abstraction that enables reuse of the `{@link WebSocketChannel} class in the frontend and backend
26
+ * independent of the actual underlying socket implementation.
27
+ */
28
+ export interface IWebSocket {
29
+ /**
30
+ * Sends the given message over the web socket in binary format.
31
+ * @param message The binary message.
32
+ */
33
+ send(message: Uint8Array): void;
34
+ /**
35
+ * Closes the websocket from the local side.
36
+ */
37
+ close(): void;
38
+ /**
39
+ * The connection state of the web socket.
40
+ */
41
+ isConnected(): boolean;
42
+ /**
43
+ * Listener callback to handle incoming messages.
44
+ * @param cb The callback.
45
+ */
46
+ onMessage(cb: (message: Uint8Array) => void): void;
47
+ /**
48
+ * Listener callback to handle socket errors.
49
+ * @param cb The callback.
50
+ */
51
+ onError(cb: (reason: any) => void): void;
52
+ /**
53
+ * Listener callback to handle close events (Remote side).
54
+ * @param cb The callback.
55
+ */
56
+ onClose(cb: (reason: string, code?: number) => void): void;
51
57
  }
52
58
  //# sourceMappingURL=web-socket-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-socket-channel.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/web-socket-channel.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,qBAAa,gBAAiB,YAAW,UAAU;IAQ3C,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAPxD,MAAM,CAAC,MAAM,SAAe;IAE5B,SAAS,CAAC,QAAQ,CAAC,YAAY,4BAAmC;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA+C;gBAG9D,EAAE,EAAE,MAAM,EACA,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAGxD,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAMlC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,GAAG,IAAI;IAUtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASxB,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS3B,KAAK,CAAC,IAAI,GAAE,MAAa,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI;IAerD,QAAQ,CAAC,IAAI,GAAE,MAAa,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI;IAcxD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAa;IAC3C,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAM5B,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAa;IACvD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAMxC,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAa;IAC7C,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAMxC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYvD,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,UAAU;CAKlE;AACD,yBAAiB,gBAAgB,CAAC;IAC9B,UAAiB,WAAW;QACxB,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;KACf;IACD,UAAiB,YAAY;QACzB,IAAI,EAAE,OAAO,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;KACb;IACD,UAAiB,WAAW;QACxB,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,MAAM,CAAA;KAClB;IACD,UAAiB,YAAY;QACzB,IAAI,EAAE,OAAO,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;KACjB;IACD,KAAY,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;CACjF"}
1
+ {"version":3,"file":"web-socket-channel.d.ts","sourceRoot":"","sources":["../../../src/common/messaging/web-socket-channel.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,OAAO;IAoBhC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAnBjD,MAAM,CAAC,MAAM,SAAe;IAE5B,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,SAAS,uBAA8B;gBAElB,MAAM,EAAE,UAAU;IAcjD,cAAc,IAAI,WAAW;IAY7B,KAAK,IAAI,IAAI;CAIhB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC9D"}