@theia/core 1.23.0-next.2 → 1.23.0-next.26

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 (603) hide show
  1. package/README.md +5 -5
  2. package/lib/browser/about-dialog.js +5 -5
  3. package/lib/browser/about-dialog.js.map +1 -1
  4. package/lib/browser/authentication-service.d.ts +52 -22
  5. package/lib/browser/authentication-service.d.ts.map +1 -1
  6. package/lib/browser/authentication-service.js +49 -44
  7. package/lib/browser/authentication-service.js.map +1 -1
  8. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +5 -5
  9. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js.map +1 -1
  10. package/lib/browser/breadcrumbs/breadcrumb-renderer.js +1 -1
  11. package/lib/browser/breadcrumbs/breadcrumb-renderer.js.map +1 -1
  12. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts.map +1 -1
  13. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +6 -6
  14. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
  15. package/lib/browser/breadcrumbs/breadcrumbs-service.js +5 -5
  16. package/lib/browser/breadcrumbs/breadcrumbs-service.js.map +1 -1
  17. package/lib/browser/breadcrumbs/index.js +1 -1
  18. package/lib/browser/browser-clipboard-service.js +3 -3
  19. package/lib/browser/browser-clipboard-service.js.map +1 -1
  20. package/lib/browser/color-application-contribution.js +4 -4
  21. package/lib/browser/color-application-contribution.js.map +1 -1
  22. package/lib/browser/color-registry.js +2 -2
  23. package/lib/browser/color-registry.js.map +1 -1
  24. package/lib/browser/command-open-handler.js +2 -2
  25. package/lib/browser/command-open-handler.js.map +1 -1
  26. package/lib/browser/common-frontend-contribution.js +24 -24
  27. package/lib/browser/common-frontend-contribution.js.map +1 -1
  28. package/lib/browser/connection-status-service.js +15 -13
  29. package/lib/browser/connection-status-service.js.map +1 -1
  30. package/lib/browser/connection-status-service.spec.js +18 -18
  31. package/lib/browser/connection-status-service.spec.js.map +1 -1
  32. package/lib/browser/context-key-service.js +1 -1
  33. package/lib/browser/context-key-service.js.map +1 -1
  34. package/lib/browser/context-menu-renderer.js +1 -1
  35. package/lib/browser/context-menu-renderer.js.map +1 -1
  36. package/lib/browser/core-preferences.js +1 -1
  37. package/lib/browser/core-preferences.js.map +1 -1
  38. package/lib/browser/credentials-service.js +2 -2
  39. package/lib/browser/credentials-service.js.map +1 -1
  40. package/lib/browser/decorations-service.js +1 -1
  41. package/lib/browser/decorations-service.js.map +1 -1
  42. package/lib/browser/dialogs/react-dialog.js +2 -2
  43. package/lib/browser/dialogs/react-dialog.js.map +1 -1
  44. package/lib/browser/dialogs.js +11 -11
  45. package/lib/browser/dialogs.js.map +1 -1
  46. package/lib/browser/diff-uris.js +3 -3
  47. package/lib/browser/diff-uris.js.map +1 -1
  48. package/lib/browser/encoding-registry.js +3 -3
  49. package/lib/browser/encoding-registry.js.map +1 -1
  50. package/lib/browser/external-uri-service.js +1 -1
  51. package/lib/browser/external-uri-service.js.map +1 -1
  52. package/lib/browser/frontend-application-bindings.js +2 -2
  53. package/lib/browser/frontend-application-bindings.js.map +1 -1
  54. package/lib/browser/frontend-application-config-provider.js +1 -1
  55. package/lib/browser/frontend-application-config-provider.js.map +1 -1
  56. package/lib/browser/frontend-application-config-provider.spec.js +7 -7
  57. package/lib/browser/frontend-application-config-provider.spec.js.map +1 -1
  58. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  59. package/lib/browser/frontend-application-module.js +23 -20
  60. package/lib/browser/frontend-application-module.js.map +1 -1
  61. package/lib/browser/frontend-application-state.js +2 -2
  62. package/lib/browser/frontend-application-state.js.map +1 -1
  63. package/lib/browser/frontend-application.d.ts +4 -2
  64. package/lib/browser/frontend-application.d.ts.map +1 -1
  65. package/lib/browser/frontend-application.js +30 -36
  66. package/lib/browser/frontend-application.js.map +1 -1
  67. package/lib/browser/http-open-handler.js +3 -3
  68. package/lib/browser/http-open-handler.js.map +1 -1
  69. package/lib/browser/icon-theme-contribution.js +5 -5
  70. package/lib/browser/icon-theme-contribution.js.map +1 -1
  71. package/lib/browser/icon-theme-service.js +4 -4
  72. package/lib/browser/icon-theme-service.js.map +1 -1
  73. package/lib/browser/index.js +1 -1
  74. package/lib/browser/json-schema-store.js +5 -5
  75. package/lib/browser/json-schema-store.js.map +1 -1
  76. package/lib/browser/keybinding.js +11 -11
  77. package/lib/browser/keybinding.js.map +1 -1
  78. package/lib/browser/keybinding.spec.js +9 -9
  79. package/lib/browser/keybinding.spec.js.map +1 -1
  80. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +4 -4
  81. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
  82. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +4 -4
  83. package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
  84. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +3 -3
  85. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
  86. package/lib/browser/keyboard/index.js +1 -1
  87. package/lib/browser/keyboard/keyboard-layout-service.js +5 -5
  88. package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
  89. package/lib/browser/keyboard/keyboard-layout-service.spec.js +1 -1
  90. package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
  91. package/lib/browser/keyboard/keys.js +1 -1
  92. package/lib/browser/keyboard/keys.spec.js +2 -2
  93. package/lib/browser/keyboard/keys.spec.js.map +1 -1
  94. package/lib/browser/label-parser.js +1 -1
  95. package/lib/browser/label-parser.js.map +1 -1
  96. package/lib/browser/label-parser.spec.js +38 -38
  97. package/lib/browser/label-parser.spec.js.map +1 -1
  98. package/lib/browser/label-provider.js +8 -8
  99. package/lib/browser/label-provider.js.map +1 -1
  100. package/lib/browser/label-provider.spec.js +5 -5
  101. package/lib/browser/label-provider.spec.js.map +1 -1
  102. package/lib/browser/language-service.js +1 -1
  103. package/lib/browser/language-service.js.map +1 -1
  104. package/lib/browser/logger-frontend-module.js +1 -1
  105. package/lib/browser/logger-frontend-module.js.map +1 -1
  106. package/lib/browser/menu/browser-context-menu-renderer.js +3 -3
  107. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  108. package/lib/browser/menu/browser-menu-plugin.js +13 -13
  109. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  110. package/lib/browser/menu/context-menu-context.js +1 -1
  111. package/lib/browser/menu/context-menu-context.js.map +1 -1
  112. package/lib/browser/messaging/index.js +1 -1
  113. package/lib/browser/messaging/ws-connection-provider.js +7 -7
  114. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  115. package/lib/browser/mime-service.js +1 -1
  116. package/lib/browser/mime-service.js.map +1 -1
  117. package/lib/browser/navigatable.js +1 -1
  118. package/lib/browser/opener-service.js +3 -2
  119. package/lib/browser/opener-service.js.map +1 -1
  120. package/lib/browser/performance/frontend-stopwatch.d.ts +21 -0
  121. package/lib/browser/performance/frontend-stopwatch.d.ts.map +1 -0
  122. package/lib/browser/performance/frontend-stopwatch.js +71 -0
  123. package/lib/browser/performance/frontend-stopwatch.js.map +1 -0
  124. package/lib/browser/performance/index.d.ts +18 -0
  125. package/lib/browser/performance/index.d.ts.map +1 -0
  126. package/lib/browser/performance/index.js +30 -0
  127. package/lib/browser/performance/index.js.map +1 -0
  128. package/lib/browser/performance/measurement-frontend-bindings.d.ts +20 -0
  129. package/lib/browser/performance/measurement-frontend-bindings.d.ts.map +1 -0
  130. package/lib/browser/performance/measurement-frontend-bindings.js +33 -0
  131. package/lib/browser/performance/measurement-frontend-bindings.js.map +1 -0
  132. package/lib/browser/preferences/index.js +1 -1
  133. package/lib/browser/preferences/preference-configurations.js +4 -4
  134. package/lib/browser/preferences/preference-configurations.js.map +1 -1
  135. package/lib/browser/preferences/preference-contribution.js +8 -8
  136. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  137. package/lib/browser/preferences/preference-language-override-service.d.ts +11 -0
  138. package/lib/browser/preferences/preference-language-override-service.d.ts.map +1 -1
  139. package/lib/browser/preferences/preference-language-override-service.js +21 -7
  140. package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
  141. package/lib/browser/preferences/preference-provider.js +2 -2
  142. package/lib/browser/preferences/preference-provider.js.map +1 -1
  143. package/lib/browser/preferences/preference-proxy.spec.js +6 -6
  144. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  145. package/lib/browser/preferences/preference-schema-provider.spec.js +3 -3
  146. package/lib/browser/preferences/preference-schema-provider.spec.js.map +1 -1
  147. package/lib/browser/preferences/preference-service.js +8 -8
  148. package/lib/browser/preferences/preference-service.js.map +1 -1
  149. package/lib/browser/preferences/preference-service.spec.js +5 -5
  150. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  151. package/lib/browser/preferences/test/index.js +1 -1
  152. package/lib/browser/preferences/test/mock-preference-service.js +1 -1
  153. package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
  154. package/lib/browser/progress-bar.js +4 -4
  155. package/lib/browser/progress-bar.js.map +1 -1
  156. package/lib/browser/progress-client.js +3 -3
  157. package/lib/browser/progress-client.js.map +1 -1
  158. package/lib/browser/progress-location-service.js +1 -1
  159. package/lib/browser/progress-location-service.js.map +1 -1
  160. package/lib/browser/progress-location-service.spec.js +1 -1
  161. package/lib/browser/progress-location-service.spec.js.map +1 -1
  162. package/lib/browser/progress-status-bar-item.js +2 -2
  163. package/lib/browser/progress-status-bar-item.js.map +1 -1
  164. package/lib/browser/quick-input/index.js +1 -1
  165. package/lib/browser/quick-input/quick-command-frontend-contribution.js +5 -5
  166. package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
  167. package/lib/browser/quick-input/quick-command-service.js +9 -9
  168. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  169. package/lib/browser/quick-input/quick-help-service.js +3 -3
  170. package/lib/browser/quick-input/quick-help-service.js.map +1 -1
  171. package/lib/browser/quick-input/quick-input-frontend-contribution.js +3 -3
  172. package/lib/browser/quick-input/quick-input-frontend-contribution.js.map +1 -1
  173. package/lib/browser/quick-input/quick-input-service.js +1 -1
  174. package/lib/browser/quick-input/quick-input-service.spec.js +15 -15
  175. package/lib/browser/quick-input/quick-input-service.spec.js.map +1 -1
  176. package/lib/browser/quick-input/quick-pick-service-impl.d.ts.map +1 -1
  177. package/lib/browser/quick-input/quick-pick-service-impl.js +3 -3
  178. package/lib/browser/quick-input/quick-pick-service-impl.js.map +1 -1
  179. package/lib/browser/quick-input/quick-view-service.js +4 -4
  180. package/lib/browser/quick-input/quick-view-service.js.map +1 -1
  181. package/lib/browser/resource-context-key.js +4 -4
  182. package/lib/browser/resource-context-key.js.map +1 -1
  183. package/lib/browser/saveable.d.ts +17 -2
  184. package/lib/browser/saveable.d.ts.map +1 -1
  185. package/lib/browser/saveable.js +71 -24
  186. package/lib/browser/saveable.js.map +1 -1
  187. package/lib/browser/shell/application-shell-mouse-tracker.js +5 -5
  188. package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
  189. package/lib/browser/shell/application-shell.d.ts +16 -1
  190. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  191. package/lib/browser/shell/application-shell.js +73 -62
  192. package/lib/browser/shell/application-shell.js.map +1 -1
  193. package/lib/browser/shell/current-widget-command-adapter.js.map +1 -1
  194. package/lib/browser/shell/index.js +1 -1
  195. package/lib/browser/shell/shell-layout-restorer.js +7 -7
  196. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  197. package/lib/browser/shell/side-panel-handler.d.ts +1 -0
  198. package/lib/browser/shell/side-panel-handler.d.ts.map +1 -1
  199. package/lib/browser/shell/side-panel-handler.js +26 -14
  200. package/lib/browser/shell/side-panel-handler.js.map +1 -1
  201. package/lib/browser/shell/side-panel-toolbar.js.map +1 -1
  202. package/lib/browser/shell/sidebar-bottom-menu-widget.js +1 -1
  203. package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
  204. package/lib/browser/shell/sidebar-menu-widget.js +2 -2
  205. package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
  206. package/lib/browser/shell/sidebar-top-menu-widget.js +1 -1
  207. package/lib/browser/shell/sidebar-top-menu-widget.js.map +1 -1
  208. package/lib/browser/shell/split-panels.js +1 -1
  209. package/lib/browser/shell/split-panels.js.map +1 -1
  210. package/lib/browser/shell/tab-bar-decorator.js +3 -3
  211. package/lib/browser/shell/tab-bar-decorator.js.map +1 -1
  212. package/lib/browser/shell/tab-bar-toolbar.d.ts.map +1 -1
  213. package/lib/browser/shell/tab-bar-toolbar.js +12 -12
  214. package/lib/browser/shell/tab-bar-toolbar.js.map +1 -1
  215. package/lib/browser/shell/tab-bar-toolbar.spec.js +14 -14
  216. package/lib/browser/shell/tab-bar-toolbar.spec.js.map +1 -1
  217. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  218. package/lib/browser/shell/tab-bars.js +1 -0
  219. package/lib/browser/shell/tab-bars.js.map +1 -1
  220. package/lib/browser/shell/tab-bars.spec.js +9 -9
  221. package/lib/browser/shell/tab-bars.spec.js.map +1 -1
  222. package/lib/browser/shell/theia-dock-panel.d.ts +3 -2
  223. package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
  224. package/lib/browser/shell/theia-dock-panel.js +4 -4
  225. package/lib/browser/shell/theia-dock-panel.js.map +1 -1
  226. package/lib/browser/shell/view-contribution.js +5 -5
  227. package/lib/browser/shell/view-contribution.js.map +1 -1
  228. package/lib/browser/source-tree/index.js +1 -1
  229. package/lib/browser/source-tree/source-tree-widget.d.ts.map +1 -1
  230. package/lib/browser/source-tree/source-tree-widget.js +7 -8
  231. package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
  232. package/lib/browser/source-tree/source-tree.d.ts.map +1 -1
  233. package/lib/browser/source-tree/source-tree.js +2 -1
  234. package/lib/browser/source-tree/source-tree.js.map +1 -1
  235. package/lib/browser/source-tree/tree-source.js +2 -2
  236. package/lib/browser/source-tree/tree-source.js.map +1 -1
  237. package/lib/browser/status-bar/index.js +1 -1
  238. package/lib/browser/status-bar/status-bar.js +6 -6
  239. package/lib/browser/status-bar/status-bar.js.map +1 -1
  240. package/lib/browser/storage-service.js +5 -5
  241. package/lib/browser/storage-service.js.map +1 -1
  242. package/lib/browser/storage-service.spec.js +4 -4
  243. package/lib/browser/storage-service.spec.js.map +1 -1
  244. package/lib/browser/test/mock-opener-service.js +1 -1
  245. package/lib/browser/test/mock-opener-service.js.map +1 -1
  246. package/lib/browser/test/mock-storage-service.js +1 -1
  247. package/lib/browser/test/mock-storage-service.js.map +1 -1
  248. package/lib/browser/theming.js +1 -1
  249. package/lib/browser/tooltip-service.js +6 -5
  250. package/lib/browser/tooltip-service.js.map +1 -1
  251. package/lib/browser/tree/fuzzy-search.js +1 -1
  252. package/lib/browser/tree/fuzzy-search.js.map +1 -1
  253. package/lib/browser/tree/fuzzy-search.spec.js +2 -2
  254. package/lib/browser/tree/fuzzy-search.spec.js.map +1 -1
  255. package/lib/browser/tree/index.d.ts +1 -0
  256. package/lib/browser/tree/index.d.ts.map +1 -1
  257. package/lib/browser/tree/index.js +2 -1
  258. package/lib/browser/tree/index.js.map +1 -1
  259. package/lib/browser/tree/test/tree-test-container.js +1 -1
  260. package/lib/browser/tree/test/tree-test-container.js.map +1 -1
  261. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.d.ts +24 -0
  262. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.d.ts.map +1 -0
  263. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +68 -0
  264. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -0
  265. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts +39 -0
  266. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts.map +1 -0
  267. package/lib/browser/tree/tree-compression/compressed-tree-model.js +96 -0
  268. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -0
  269. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts +55 -0
  270. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts.map +1 -0
  271. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +194 -0
  272. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -0
  273. package/lib/browser/tree/tree-compression/index.d.ts +20 -0
  274. package/lib/browser/tree/tree-compression/index.d.ts.map +1 -0
  275. package/lib/browser/tree/tree-compression/index.js +32 -0
  276. package/lib/browser/tree/tree-compression/index.js.map +1 -0
  277. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts +73 -0
  278. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts.map +1 -0
  279. package/lib/browser/tree/tree-compression/tree-compression-service.js +100 -0
  280. package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -0
  281. package/lib/browser/tree/tree-consistency.spec.js +2 -2
  282. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  283. package/lib/browser/tree/tree-container.d.ts +46 -1
  284. package/lib/browser/tree/tree-container.d.ts.map +1 -1
  285. package/lib/browser/tree/tree-container.js +67 -20
  286. package/lib/browser/tree/tree-container.js.map +1 -1
  287. package/lib/browser/tree/tree-decorator.js +2 -2
  288. package/lib/browser/tree/tree-decorator.js.map +1 -1
  289. package/lib/browser/tree/tree-decorator.spec.js +10 -10
  290. package/lib/browser/tree/tree-decorator.spec.js.map +1 -1
  291. package/lib/browser/tree/tree-expansion.d.ts +1 -1
  292. package/lib/browser/tree/tree-expansion.d.ts.map +1 -1
  293. package/lib/browser/tree/tree-expansion.js +3 -3
  294. package/lib/browser/tree/tree-expansion.js.map +1 -1
  295. package/lib/browser/tree/tree-expansion.spec.js +15 -15
  296. package/lib/browser/tree/tree-expansion.spec.js.map +1 -1
  297. package/lib/browser/tree/tree-iterator.spec.js +22 -22
  298. package/lib/browser/tree/tree-iterator.spec.js.map +1 -1
  299. package/lib/browser/tree/tree-label-provider.js +1 -1
  300. package/lib/browser/tree/tree-label-provider.js.map +1 -1
  301. package/lib/browser/tree/tree-model.d.ts +2 -1
  302. package/lib/browser/tree/tree-model.d.ts.map +1 -1
  303. package/lib/browser/tree/tree-model.js +20 -19
  304. package/lib/browser/tree/tree-model.js.map +1 -1
  305. package/lib/browser/tree/tree-navigation.js +1 -1
  306. package/lib/browser/tree/tree-navigation.js.map +1 -1
  307. package/lib/browser/tree/tree-search.js +5 -5
  308. package/lib/browser/tree/tree-search.js.map +1 -1
  309. package/lib/browser/tree/tree-selection-impl.js +3 -3
  310. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  311. package/lib/browser/tree/tree-selection-state.spec.js +6 -6
  312. package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
  313. package/lib/browser/tree/tree-view-welcome-widget.d.ts.map +1 -1
  314. package/lib/browser/tree/tree-view-welcome-widget.js +6 -6
  315. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  316. package/lib/browser/tree/tree-widget.d.ts +6 -1
  317. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  318. package/lib/browser/tree/tree-widget.js +33 -20
  319. package/lib/browser/tree/tree-widget.js.map +1 -1
  320. package/lib/browser/tree/tree.d.ts +1 -1
  321. package/lib/browser/tree/tree.d.ts.map +1 -1
  322. package/lib/browser/tree/tree.js +3 -3
  323. package/lib/browser/tree/tree.js.map +1 -1
  324. package/lib/browser/tree/tree.spec.js +11 -11
  325. package/lib/browser/tree/tree.spec.js.map +1 -1
  326. package/lib/browser/view-container.d.ts +1 -1
  327. package/lib/browser/view-container.d.ts.map +1 -1
  328. package/lib/browser/view-container.js +60 -56
  329. package/lib/browser/view-container.js.map +1 -1
  330. package/lib/browser/widget-manager.js +4 -4
  331. package/lib/browser/widget-manager.js.map +1 -1
  332. package/lib/browser/widget-manager.spec.js +3 -3
  333. package/lib/browser/widget-manager.spec.js.map +1 -1
  334. package/lib/browser/widget-open-handler.d.ts.map +1 -1
  335. package/lib/browser/widget-open-handler.js +5 -6
  336. package/lib/browser/widget-open-handler.js.map +1 -1
  337. package/lib/browser/widgets/alert-message.js +4 -4
  338. package/lib/browser/widgets/alert-message.js.map +1 -1
  339. package/lib/browser/widgets/index.js +1 -1
  340. package/lib/browser/widgets/react-renderer.js +3 -2
  341. package/lib/browser/widgets/react-renderer.js.map +1 -1
  342. package/lib/browser/widgets/react-widget.js +2 -2
  343. package/lib/browser/widgets/react-widget.js.map +1 -1
  344. package/lib/browser/widgets/widget.js +4 -4
  345. package/lib/browser/widgets/widget.js.map +1 -1
  346. package/lib/browser/window/default-window-service.js +5 -5
  347. package/lib/browser/window/default-window-service.js.map +1 -1
  348. package/lib/browser/window/test/mock-window-service.js +1 -1
  349. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  350. package/lib/browser/window-contribution.js +2 -2
  351. package/lib/browser/window-contribution.js.map +1 -1
  352. package/lib/common/command.js +3 -2
  353. package/lib/common/command.js.map +1 -1
  354. package/lib/common/contribution-filter/contribution-filter-registry.d.ts +1 -1
  355. package/lib/common/contribution-filter/contribution-filter-registry.d.ts.map +1 -1
  356. package/lib/common/contribution-filter/contribution-filter-registry.js +3 -2
  357. package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
  358. package/lib/common/contribution-filter/index.js +1 -1
  359. package/lib/common/encoding-service.js +2 -2
  360. package/lib/common/encoding-service.js.map +1 -1
  361. package/lib/common/env-variables/index.js +1 -1
  362. package/lib/common/event.js.map +1 -1
  363. package/lib/common/event.spec.js +2 -2
  364. package/lib/common/event.spec.js.map +1 -1
  365. package/lib/common/index.d.ts +1 -0
  366. package/lib/common/index.d.ts.map +1 -1
  367. package/lib/common/index.js +2 -1
  368. package/lib/common/index.js.map +1 -1
  369. package/lib/common/keybinding.js.map +1 -1
  370. package/lib/common/logger-protocol.js +1 -1
  371. package/lib/common/logger-protocol.js.map +1 -1
  372. package/lib/common/logger-watcher.js +1 -1
  373. package/lib/common/logger-watcher.js.map +1 -1
  374. package/lib/common/logger.js +5 -5
  375. package/lib/common/logger.js.map +1 -1
  376. package/lib/common/logger.spec.js +6 -6
  377. package/lib/common/logger.spec.js.map +1 -1
  378. package/lib/common/menu.js +4 -3
  379. package/lib/common/menu.js.map +1 -1
  380. package/lib/common/message-service-protocol.js +1 -1
  381. package/lib/common/message-service-protocol.js.map +1 -1
  382. package/lib/common/message-service.js +2 -2
  383. package/lib/common/message-service.js.map +1 -1
  384. package/lib/common/messaging/abstract-connection-provider.js +2 -2
  385. package/lib/common/messaging/abstract-connection-provider.js.map +1 -1
  386. package/lib/common/messaging/index.js +1 -1
  387. package/lib/common/messaging/proxy-factory.js.map +1 -1
  388. package/lib/common/messaging/proxy-factory.spec.js +2 -2
  389. package/lib/common/messaging/proxy-factory.spec.js.map +1 -1
  390. package/lib/common/path.spec.js +16 -16
  391. package/lib/common/path.spec.js.map +1 -1
  392. package/lib/common/performance/index.d.ts +19 -0
  393. package/lib/common/performance/index.d.ts.map +1 -0
  394. package/lib/common/performance/index.js +31 -0
  395. package/lib/common/performance/index.js.map +1 -0
  396. package/lib/common/performance/measurement-protocol.d.ts +65 -0
  397. package/lib/common/performance/measurement-protocol.d.ts.map +1 -0
  398. package/lib/common/performance/measurement-protocol.js +79 -0
  399. package/lib/common/performance/measurement-protocol.js.map +1 -0
  400. package/lib/common/performance/measurement.d.ts +91 -0
  401. package/lib/common/performance/measurement.d.ts.map +1 -0
  402. package/lib/common/performance/measurement.js +18 -0
  403. package/lib/common/performance/measurement.js.map +1 -0
  404. package/lib/common/performance/stopwatch.d.ts +68 -0
  405. package/lib/common/performance/stopwatch.d.ts.map +1 -0
  406. package/lib/common/performance/stopwatch.js +134 -0
  407. package/lib/common/performance/stopwatch.js.map +1 -0
  408. package/lib/common/progress-service.js +3 -3
  409. package/lib/common/progress-service.js.map +1 -1
  410. package/lib/common/promise-util.d.ts +11 -0
  411. package/lib/common/promise-util.d.ts.map +1 -1
  412. package/lib/common/promise-util.js +18 -2
  413. package/lib/common/promise-util.js.map +1 -1
  414. package/lib/common/promise-util.spec.js +2 -2
  415. package/lib/common/promise-util.spec.js.map +1 -1
  416. package/lib/common/resource.js +5 -4
  417. package/lib/common/resource.js.map +1 -1
  418. package/lib/common/selection-service.js +1 -1
  419. package/lib/common/selection-service.js.map +1 -1
  420. package/lib/common/stream.js.map +1 -1
  421. package/lib/common/ternary-search-tree.js +6 -6
  422. package/lib/common/ternary-search-tree.js.map +1 -1
  423. package/lib/common/test/expect.js +1 -1
  424. package/lib/common/test/expect.js.map +1 -1
  425. package/lib/common/test/mock-logger.js +1 -1
  426. package/lib/common/test/mock-logger.js.map +1 -1
  427. package/lib/common/test/mock-resource-provider.js +1 -1
  428. package/lib/common/test/mock-resource-provider.js.map +1 -1
  429. package/lib/common/types.d.ts +23 -1
  430. package/lib/common/types.d.ts.map +1 -1
  431. package/lib/common/types.js +26 -2
  432. package/lib/common/types.js.map +1 -1
  433. package/lib/common/uri.spec.js.map +1 -1
  434. package/lib/electron-browser/electron-clipboard-service.js +1 -1
  435. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  436. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +2 -2
  437. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  438. package/lib/electron-browser/menu/electron-context-menu-renderer.js +8 -8
  439. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  440. package/lib/electron-browser/menu/electron-main-menu-factory.js +5 -5
  441. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  442. package/lib/electron-browser/menu/electron-menu-contribution.js +7 -7
  443. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  444. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +1 -1
  445. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
  446. package/lib/electron-browser/messaging/electron-ws-connection-provider.js +1 -1
  447. package/lib/electron-browser/messaging/electron-ws-connection-provider.js.map +1 -1
  448. package/lib/electron-browser/window/electron-window-module.js +1 -1
  449. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  450. package/lib/electron-browser/window/electron-window-preferences.js +1 -1
  451. package/lib/electron-browser/window/electron-window-preferences.js.map +1 -1
  452. package/lib/electron-browser/window/electron-window-service.js +4 -4
  453. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  454. package/lib/electron-main/electron-main-application-module.js +4 -4
  455. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  456. package/lib/electron-main/electron-main-application.d.ts +0 -4
  457. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  458. package/lib/electron-main/electron-main-application.js +9 -29
  459. package/lib/electron-main/electron-main-application.js.map +1 -1
  460. package/lib/electron-main/electron-main-window-service-impl.js +2 -2
  461. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  462. package/lib/electron-main/electron-native-keymap.js +1 -1
  463. package/lib/electron-main/electron-native-keymap.js.map +1 -1
  464. package/lib/electron-main/electron-security-token-service.js +2 -2
  465. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  466. package/lib/electron-main/messaging/electron-messaging-contribution.js +8 -8
  467. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  468. package/lib/electron-node/hosting/electron-ws-origin-validator.js +1 -1
  469. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  470. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +1 -1
  471. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
  472. package/lib/electron-node/token/electron-token-backend-contribution.js +2 -2
  473. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  474. package/lib/electron-node/token/electron-token-messaging-contribution.js +2 -2
  475. package/lib/electron-node/token/electron-token-messaging-contribution.js.map +1 -1
  476. package/lib/electron-node/token/electron-token-validator.js +2 -2
  477. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  478. package/lib/node/application-server.js +2 -2
  479. package/lib/node/application-server.js.map +1 -1
  480. package/lib/node/backend-application-config-provider.js +1 -1
  481. package/lib/node/backend-application-config-provider.js.map +1 -1
  482. package/lib/node/backend-application-config-provider.spec.js +1 -1
  483. package/lib/node/backend-application-config-provider.spec.js.map +1 -1
  484. package/lib/node/backend-application-module.d.ts.map +1 -1
  485. package/lib/node/backend-application-module.js +7 -4
  486. package/lib/node/backend-application-module.js.map +1 -1
  487. package/lib/node/backend-application.d.ts +2 -2
  488. package/lib/node/backend-application.d.ts.map +1 -1
  489. package/lib/node/backend-application.js +17 -35
  490. package/lib/node/backend-application.js.map +1 -1
  491. package/lib/node/cli.js +3 -2
  492. package/lib/node/cli.js.map +1 -1
  493. package/lib/node/console-logger-server.js +4 -4
  494. package/lib/node/console-logger-server.js.map +1 -1
  495. package/lib/node/console-logger-server.spec.js +5 -5
  496. package/lib/node/console-logger-server.spec.js.map +1 -1
  497. package/lib/node/env-variables/env-variables-server.js +3 -3
  498. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  499. package/lib/node/env-variables/index.js +1 -1
  500. package/lib/node/environment-utils.js +1 -1
  501. package/lib/node/environment-utils.js.map +1 -1
  502. package/lib/node/hosting/backend-application-hosts.js +2 -2
  503. package/lib/node/hosting/backend-application-hosts.js.map +1 -1
  504. package/lib/node/hosting/ws-origin-validator.js +2 -2
  505. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  506. package/lib/node/i18n/i18n-backend-module.js +1 -1
  507. package/lib/node/i18n/i18n-backend-module.js.map +1 -1
  508. package/lib/node/i18n/localization-backend-contribution.js +3 -3
  509. package/lib/node/i18n/localization-backend-contribution.js.map +1 -1
  510. package/lib/node/i18n/localization-contribution.js +4 -4
  511. package/lib/node/i18n/localization-contribution.js.map +1 -1
  512. package/lib/node/i18n/localization-provider.js +1 -1
  513. package/lib/node/i18n/localization-provider.js.map +1 -1
  514. package/lib/node/index.js +1 -1
  515. package/lib/node/keytar-server.js +1 -1
  516. package/lib/node/keytar-server.js.map +1 -1
  517. package/lib/node/logger-backend-module.js +1 -1
  518. package/lib/node/logger-backend-module.js.map +1 -1
  519. package/lib/node/logger-cli-contribution.js +1 -1
  520. package/lib/node/logger-cli-contribution.js.map +1 -1
  521. package/lib/node/logger-cli-contribution.spec.js +13 -13
  522. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  523. package/lib/node/main.js +1 -1
  524. package/lib/node/main.js.map +1 -1
  525. package/lib/node/messaging/http-websocket-adapter.js +3 -3
  526. package/lib/node/messaging/http-websocket-adapter.js.map +1 -1
  527. package/lib/node/messaging/index.js +1 -1
  528. package/lib/node/messaging/ipc-bootstrap.js +3 -3
  529. package/lib/node/messaging/ipc-bootstrap.js.map +1 -1
  530. package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
  531. package/lib/node/messaging/ipc-connection-provider.js +11 -7
  532. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  533. package/lib/node/messaging/messaging-backend-module.js +3 -3
  534. package/lib/node/messaging/messaging-backend-module.js.map +1 -1
  535. package/lib/node/messaging/messaging-contribution.js +14 -14
  536. package/lib/node/messaging/messaging-contribution.js.map +1 -1
  537. package/lib/node/messaging/messaging-listeners.js +3 -3
  538. package/lib/node/messaging/messaging-listeners.js.map +1 -1
  539. package/lib/node/performance/index.d.ts +18 -0
  540. package/lib/node/performance/index.d.ts.map +1 -0
  541. package/lib/node/performance/index.js +30 -0
  542. package/lib/node/performance/index.js.map +1 -0
  543. package/lib/node/performance/measurement-backend-bindings.d.ts +20 -0
  544. package/lib/node/performance/measurement-backend-bindings.d.ts.map +1 -0
  545. package/lib/node/performance/measurement-backend-bindings.js +31 -0
  546. package/lib/node/performance/measurement-backend-bindings.js.map +1 -0
  547. package/lib/node/performance/node-stopwatch.d.ts +21 -0
  548. package/lib/node/performance/node-stopwatch.d.ts.map +1 -0
  549. package/lib/node/performance/node-stopwatch.js +52 -0
  550. package/lib/node/performance/node-stopwatch.js.map +1 -0
  551. package/lib/node/process-utils.js +1 -1
  552. package/lib/node/process-utils.js.map +1 -1
  553. package/lib/node/process-utils.spec.js +1 -1
  554. package/lib/node/process-utils.spec.js.map +1 -1
  555. package/lib/node/ws-request-validators.js +3 -3
  556. package/lib/node/ws-request-validators.js.map +1 -1
  557. package/package.json +3 -3
  558. package/src/browser/authentication-service.ts +103 -59
  559. package/src/browser/frontend-application-module.ts +4 -0
  560. package/src/browser/frontend-application.ts +17 -22
  561. package/src/browser/performance/frontend-stopwatch.ts +62 -0
  562. package/src/browser/performance/index.ts +18 -0
  563. package/src/browser/performance/measurement-frontend-bindings.ts +31 -0
  564. package/src/browser/preferences/preference-language-override-service.ts +17 -3
  565. package/src/browser/saveable.ts +84 -27
  566. package/src/browser/shell/application-shell.ts +39 -26
  567. package/src/browser/shell/side-panel-handler.ts +12 -0
  568. package/src/browser/shell/tab-bars.ts +1 -0
  569. package/src/browser/source-tree/source-tree-widget.tsx +6 -9
  570. package/src/browser/source-tree/source-tree.ts +6 -4
  571. package/src/browser/style/sidepanel.css +4 -0
  572. package/src/browser/style/view-container.css +0 -8
  573. package/src/browser/tree/index.ts +1 -0
  574. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -0
  575. package/src/browser/tree/tree-compression/compressed-tree-model.ts +82 -0
  576. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +181 -0
  577. package/src/browser/tree/tree-compression/index.ts +20 -0
  578. package/src/browser/tree/tree-compression/tree-compression-service.ts +121 -0
  579. package/src/browser/tree/tree-compression/tree-compression.css +28 -0
  580. package/src/browser/tree/tree-container.ts +107 -29
  581. package/src/browser/tree/tree-expansion.ts +1 -1
  582. package/src/browser/tree/tree-model.ts +13 -11
  583. package/src/browser/tree/tree-widget.tsx +30 -12
  584. package/src/browser/tree/tree.ts +2 -2
  585. package/src/browser/view-container.ts +27 -23
  586. package/src/browser/widget-open-handler.ts +1 -3
  587. package/src/common/event.ts +2 -2
  588. package/src/common/index.ts +1 -0
  589. package/src/common/messaging/proxy-factory.ts +1 -1
  590. package/src/common/performance/index.ts +19 -0
  591. package/src/common/performance/measurement-protocol.ts +104 -0
  592. package/src/common/performance/measurement.ts +104 -0
  593. package/src/common/performance/stopwatch.ts +157 -0
  594. package/src/common/promise-util.ts +16 -0
  595. package/src/common/types.ts +41 -1
  596. package/src/electron-browser/menu/electron-menu-contribution.ts +1 -1
  597. package/src/electron-main/electron-main-application.ts +1 -22
  598. package/src/node/backend-application-module.ts +4 -0
  599. package/src/node/backend-application.ts +10 -33
  600. package/src/node/messaging/ipc-connection-provider.ts +9 -5
  601. package/src/node/performance/index.ts +18 -0
  602. package/src/node/performance/measurement-backend-bindings.ts +35 -0
  603. package/src/node/performance/node-stopwatch.ts +40 -0
@@ -0,0 +1,65 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ *******************************************************************************/
16
+ import { Measurement, MeasurementOptions } from './measurement';
17
+ import { Stopwatch } from './stopwatch';
18
+ export declare const BackendStopwatch: unique symbol;
19
+ /** API path of the stopwatch service that exposes the back-end stopwatch to clients. */
20
+ export declare const stopwatchPath = "/services/stopwatch";
21
+ /** Token representing a remote measurement in the {@link BackendStopwatch} protocol. */
22
+ export declare type RemoteMeasurement = number;
23
+ export declare const BackendStopwatchOptions: unique symbol;
24
+ /**
25
+ * A service that exposes the back-end's {@link Stopwatch} to clients
26
+ * via the remote API. If you do not need this service then bind or re-bind
27
+ * the {@link NullBackendStopwatch} implementation to this service interface.
28
+ */
29
+ export interface BackendStopwatch {
30
+ /**
31
+ * Create a {@link Measurement} that will compute the time that elapsed on the back-end when logged.
32
+ *
33
+ * @param name the {@link Measurement.name measurement name}
34
+ * @param options optional configuration of the new measurement
35
+ * @returns a token identifying an unique self-timing measurement relative to the back-end's timeline
36
+ */
37
+ start(name: string, options?: MeasurementOptions): Promise<RemoteMeasurement>;
38
+ /**
39
+ * Stop a measurement previously {@link start started} and log in the back-end a measurement of
40
+ * its duration relative to the back-end's timeline.
41
+ *
42
+ * @param measurement token identifying a measurement previously {@link start started}
43
+ * @param message a message to log
44
+ * @param messageArgs optional arguments to the `message`
45
+ */
46
+ stop(measurement: RemoteMeasurement, message: string, messageArgs: any[]): Promise<void>;
47
+ }
48
+ /**
49
+ * Default implementation of the (remote) back-end stopwatch service.
50
+ */
51
+ export declare class DefaultBackendStopwatch {
52
+ readonly measurements: Map<number, Measurement>;
53
+ protected idSequence: number;
54
+ protected readonly stopwatch: Stopwatch;
55
+ start(name: string, options?: MeasurementOptions): RemoteMeasurement;
56
+ stop(measurementToken: RemoteMeasurement, message: string, messageArgs: any[]): void;
57
+ }
58
+ /**
59
+ * No-op implementation of the (remote) back-end stopwatch service.
60
+ */
61
+ export declare class NullBackendStopwatch implements BackendStopwatch {
62
+ start(): Promise<RemoteMeasurement>;
63
+ stop(): Promise<void>;
64
+ }
65
+ //# sourceMappingURL=measurement-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/performance/measurement-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;gFAcgF;AAKhF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,wFAAwF;AACxF,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,wFAAwF;AACxF,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAE7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9E;;;;;;;OAOG;IACH,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAE5F;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,QAAQ,CAAC,YAAY,2BAAkC;IAEvD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAGjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB;IAMpE,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI;CAQvF;AAED;;GAEG;AACH,qBACa,oBAAqB,YAAW,gBAAgB;IAEzD,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAInC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAIxB"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2021 STMicroelectronics and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License 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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.NullBackendStopwatch = exports.DefaultBackendStopwatch = exports.BackendStopwatchOptions = exports.stopwatchPath = exports.BackendStopwatch = void 0;
28
+ /* eslint-disable @typescript-eslint/no-explicit-any */
29
+ const inversify_1 = require("inversify");
30
+ const stopwatch_1 = require("./stopwatch");
31
+ exports.BackendStopwatch = Symbol('BackendStopwatch');
32
+ /** API path of the stopwatch service that exposes the back-end stopwatch to clients. */
33
+ exports.stopwatchPath = '/services/stopwatch';
34
+ exports.BackendStopwatchOptions = Symbol('BackendStopwatchOptions');
35
+ /**
36
+ * Default implementation of the (remote) back-end stopwatch service.
37
+ */
38
+ let DefaultBackendStopwatch = class DefaultBackendStopwatch {
39
+ constructor() {
40
+ this.measurements = new Map();
41
+ this.idSequence = 0;
42
+ }
43
+ start(name, options) {
44
+ const result = ++this.idSequence;
45
+ this.measurements.set(result, this.stopwatch.start(name, options));
46
+ return result;
47
+ }
48
+ stop(measurementToken, message, messageArgs) {
49
+ const measurement = this.measurements.get(measurementToken);
50
+ if (measurement) {
51
+ this.measurements.delete(measurementToken);
52
+ measurement.log(message, ...messageArgs);
53
+ }
54
+ }
55
+ };
56
+ __decorate([
57
+ (0, inversify_1.inject)(stopwatch_1.Stopwatch),
58
+ __metadata("design:type", stopwatch_1.Stopwatch)
59
+ ], DefaultBackendStopwatch.prototype, "stopwatch", void 0);
60
+ DefaultBackendStopwatch = __decorate([
61
+ (0, inversify_1.injectable)()
62
+ ], DefaultBackendStopwatch);
63
+ exports.DefaultBackendStopwatch = DefaultBackendStopwatch;
64
+ /**
65
+ * No-op implementation of the (remote) back-end stopwatch service.
66
+ */
67
+ let NullBackendStopwatch = class NullBackendStopwatch {
68
+ start() {
69
+ return Promise.resolve(0);
70
+ }
71
+ stop() {
72
+ return Promise.resolve();
73
+ }
74
+ };
75
+ NullBackendStopwatch = __decorate([
76
+ (0, inversify_1.injectable)()
77
+ ], NullBackendStopwatch);
78
+ exports.NullBackendStopwatch = NullBackendStopwatch;
79
+ //# sourceMappingURL=measurement-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-protocol.js","sourceRoot":"","sources":["../../../src/common/performance/measurement-protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF;;;;;;;;;;;;AAEhF,uDAAuD;AAEvD,yCAA+C;AAE/C,2CAAwC;AAE3B,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D,wFAAwF;AAC3E,QAAA,aAAa,GAAG,qBAAqB,CAAC;AAKtC,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AA8BzE;;GAEG;AAEH,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAEa,iBAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE7C,eAAU,GAAW,CAAC,CAAC;IAmBrC,CAAC;IAdG,KAAK,CAAC,IAAY,EAAE,OAA4B;QAC5C,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,gBAAmC,EAAE,OAAe,EAAE,WAAkB;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC3C,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC;SAC5C;IACL,CAAC;CAEJ,CAAA;AAhBG;IADC,IAAA,kBAAM,EAAC,qBAAS,CAAC;8BACY,qBAAS;0DAAC;AAP/B,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAuBnC;AAvBY,0DAAuB;AAyBpC;;GAEG;AAEH,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAE7B,KAAK;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI;QACA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CAEJ,CAAA;AAVY,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAUhC;AAVY,oDAAoB"}
@@ -0,0 +1,91 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ *******************************************************************************/
16
+ import { LogLevel } from '../logger';
17
+ /**
18
+ * A `Measurement` counts the time elapsed between its creation when the {@link Stopwatch}
19
+ * is {@link Stopwatch.start started} and when it is {@link stop stopped}.
20
+ */
21
+ export interface Measurement {
22
+ /**
23
+ * Compute the elapsed time, in milliseconds, if not already done (only has effect on the first invocation).
24
+ * A `NaN` result indicates that the watch was stopped but failed to make a measurement.
25
+ */
26
+ stop(): number;
27
+ /** The measurement name. This may show up in the performance measurement framework appropriate to the application context. */
28
+ name: string;
29
+ /**
30
+ * The elapsed time measured, if it has been {@link stop stopped} and measured, or `NaN` if the platform disabled
31
+ * performance measurement.
32
+ */
33
+ elapsed?: number;
34
+ /**
35
+ * Compute the elapsed time and log a message annotated with that timing information.
36
+ * The message is logged at the level determined by the {@link MeasurementOptions}.
37
+ *
38
+ * @param detail a message detailing what activity was measured
39
+ * @param optionalArgs optional message arguments as per the usual console API
40
+ */
41
+ log(detail: string, ...optionalArgs: any[]): void;
42
+ /**
43
+ * Compute the elapsed time and log a debug message annotated with that timing information.
44
+ *
45
+ * @param detail a message detailing what activity was measured
46
+ * @param optionalArgs optional message arguments as per the usual console API
47
+ */
48
+ debug(detail: string, ...optionalArgs: any[]): void;
49
+ /**
50
+ * Compute the elapsed time and log an info message annotated with that timing information.
51
+ *
52
+ * @param detail a message detailing what activity was measured
53
+ * @param optionalArgs optional message arguments as per the usual console API
54
+ */
55
+ info(detail: string, ...optionalArgs: any[]): void;
56
+ /**
57
+ * Compute the elapsed time and log a warning message annotated with that timing information.
58
+ *
59
+ * @param detail a message detailing what activity was measured
60
+ * @param optionalArgs optional message arguments as per the usual console API
61
+ */
62
+ warn(detail: string, ...optionalArgs: any[]): void;
63
+ /**
64
+ * Compute the elapsed time and log an error message annotated with that timing information.
65
+ *
66
+ * @param detail a message detailing what activity was measured
67
+ * @param optionalArgs optional message arguments as per the usual console API
68
+ */
69
+ error(detail: string, ...optionalArgs: any[]): void;
70
+ }
71
+ /**
72
+ * Optional configuration of a {@link Measurement} specified at the time of its creation.
73
+ */
74
+ export interface MeasurementOptions {
75
+ /**
76
+ * A specific context of the application in which an activity was measured.
77
+ * Results in logs being emitted with a "[<context>]" qualified at the head.
78
+ */
79
+ context?: string;
80
+ /** An optional logging level at which to emit the log message. The default value is {@link LogLevel.INFO}. */
81
+ defaultLogLevel?: LogLevel;
82
+ /**
83
+ * Some measurements are measured against a threshold (in millis) that they should not exceed.
84
+ * If omitted, the implied threshold is unlimited time (no threshold).
85
+ *
86
+ * @see {@link Stopwatch.startAsync}
87
+ * @see {@link thresholdLogLevel}
88
+ */
89
+ thresholdMillis?: number;
90
+ }
91
+ //# sourceMappingURL=measurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement.d.ts","sourceRoot":"","sources":["../../../src/common/performance/measurement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;gFAcgF;AAIhF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,IAAI,IAAI,MAAM,CAAC;IAEf,8HAA8H;IAC9H,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAElD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEnD;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEnD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,8GAA8G;IAC9G,eAAe,CAAC,EAAE,QAAQ,CAAC;IAE3B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2021 STMicroelectronics and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ *******************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=measurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement.js","sourceRoot":"","sources":["../../../src/common/performance/measurement.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF"}
@@ -0,0 +1,68 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ *******************************************************************************/
16
+ import { ILogger, LogLevel } from '../logger';
17
+ import { MaybePromise } from '../types';
18
+ import { Measurement, MeasurementOptions } from './measurement';
19
+ /**
20
+ * Configuration of the log messages written by a {@link Measurement}.
21
+ */
22
+ interface LogOptions extends MeasurementOptions {
23
+ /** A function that computes the current time, in millis, since the start of the application. */
24
+ now: () => number;
25
+ /** An optional label for the application the start of which (in real time) is the basis of all measurements. */
26
+ owner?: string;
27
+ /** An optional log level to override any default or dynamic log level for a specific log message. */
28
+ levelOverride?: LogLevel;
29
+ /** Optional arguments to the log message. The 'optionalArgs' coming in from the {@link Measurement} API are slotted in here. */
30
+ arguments?: any[];
31
+ }
32
+ /**
33
+ * A factory of {@link Measurement}s for performance logging.
34
+ */
35
+ export declare abstract class Stopwatch {
36
+ protected readonly defaultLogOptions: LogOptions;
37
+ protected readonly logger: ILogger;
38
+ protected constructor(defaultLogOptions: LogOptions);
39
+ /**
40
+ * Create a {@link Measurement} that will compute its elapsed time when logged.
41
+ *
42
+ * @param name the {@link Measurement.name measurement name}
43
+ * @param options optional configuration of the new measurement
44
+ * @returns a self-timing measurement
45
+ */
46
+ abstract start(name: string, options?: MeasurementOptions): Measurement;
47
+ /**
48
+ * Wrap an asynchronous function in a {@link Measurement} that logs itself on completion.
49
+ * If obtaining and awaiting the `computation` runs too long according to the threshold
50
+ * set in the `options`, then the log message is a warning, otherwise a debug log.
51
+ *
52
+ * @param name the {@link Measurement.name name of the measurement} to wrap around the function
53
+ * @param description a description of what the function does, to be included in the log
54
+ * @param computation a supplier of the asynchronous function to wrap
55
+ * @param options optional addition configuration as for {@link measure}
56
+ * @returns the wrapped `computation`
57
+ *
58
+ * @see {@link MeasurementOptions.thresholdMillis}
59
+ */
60
+ startAsync<T>(name: string, description: string, computation: () => MaybePromise<T>, options?: MeasurementOptions): Promise<T>;
61
+ protected createMeasurement(name: string, measurement: () => number, options?: MeasurementOptions): Measurement;
62
+ protected mergeLogOptions(logOptions?: Partial<LogOptions>): LogOptions;
63
+ protected atLevel(logOptions: LogOptions, levelOverride?: LogLevel, optionalArgs?: any[]): LogOptions;
64
+ protected logLevel(elapsed: number, options?: Partial<LogOptions>): LogLevel;
65
+ protected log(measurement: Measurement, activity: string, options: LogOptions): void;
66
+ }
67
+ export {};
68
+ //# sourceMappingURL=stopwatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stopwatch.d.ts","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;gFAcgF;AAKhF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKhE;;GAEG;AACH,UAAU,UAAW,SAAQ,kBAAkB;IAC3C,gGAAgG;IAChG,GAAG,EAAE,MAAM,MAAM,CAAC;IAElB,gHAAgH;IAChH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qGAAqG;IACrG,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,gIAAgI;IAChI,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,8BACsB,SAAS;IAKL,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU;IAFtE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,aAAgC,iBAAiB,EAAE,UAAU;IAMtE;;;;;;OAMG;aACa,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAE9E;;;;;;;;;;;;OAYG;IACU,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAa3I,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAqB/G,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAQvE,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU;IAIrG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ;IAQ5E,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;CAsBvF"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2021 STMicroelectronics and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License 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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Stopwatch = void 0;
28
+ /* eslint-disable @typescript-eslint/no-explicit-any */
29
+ const inversify_1 = require("inversify");
30
+ const logger_1 = require("../logger");
31
+ /** The default log level for measurements that are not otherwise configured with a default. */
32
+ const DEFAULT_LOG_LEVEL = logger_1.LogLevel.INFO;
33
+ /**
34
+ * A factory of {@link Measurement}s for performance logging.
35
+ */
36
+ let Stopwatch = class Stopwatch {
37
+ constructor(defaultLogOptions) {
38
+ this.defaultLogOptions = defaultLogOptions;
39
+ if (!defaultLogOptions.defaultLogLevel) {
40
+ defaultLogOptions.defaultLogLevel = DEFAULT_LOG_LEVEL;
41
+ }
42
+ }
43
+ /**
44
+ * Wrap an asynchronous function in a {@link Measurement} that logs itself on completion.
45
+ * If obtaining and awaiting the `computation` runs too long according to the threshold
46
+ * set in the `options`, then the log message is a warning, otherwise a debug log.
47
+ *
48
+ * @param name the {@link Measurement.name name of the measurement} to wrap around the function
49
+ * @param description a description of what the function does, to be included in the log
50
+ * @param computation a supplier of the asynchronous function to wrap
51
+ * @param options optional addition configuration as for {@link measure}
52
+ * @returns the wrapped `computation`
53
+ *
54
+ * @see {@link MeasurementOptions.thresholdMillis}
55
+ */
56
+ async startAsync(name, description, computation, options) {
57
+ var _a;
58
+ const threshold = (_a = options === null || options === void 0 ? void 0 : options.thresholdMillis) !== null && _a !== void 0 ? _a : Number.POSITIVE_INFINITY;
59
+ const measure = this.start(name, options);
60
+ const result = await computation();
61
+ if (measure.stop() > threshold) {
62
+ measure.warn(`${description} took longer than the expected maximum ${threshold} milliseconds`);
63
+ }
64
+ else {
65
+ measure.log(description);
66
+ }
67
+ return result;
68
+ }
69
+ createMeasurement(name, measurement, options) {
70
+ const logOptions = this.mergeLogOptions(options);
71
+ const result = {
72
+ name,
73
+ stop: () => {
74
+ if (result.elapsed === undefined) {
75
+ result.elapsed = measurement();
76
+ }
77
+ return result.elapsed;
78
+ },
79
+ log: (activity, ...optionalArgs) => this.log(result, activity, this.atLevel(logOptions, undefined, optionalArgs)),
80
+ debug: (activity, ...optionalArgs) => this.log(result, activity, this.atLevel(logOptions, logger_1.LogLevel.DEBUG, optionalArgs)),
81
+ info: (activity, ...optionalArgs) => this.log(result, activity, this.atLevel(logOptions, logger_1.LogLevel.INFO, optionalArgs)),
82
+ warn: (activity, ...optionalArgs) => this.log(result, activity, this.atLevel(logOptions, logger_1.LogLevel.WARN, optionalArgs)),
83
+ error: (activity, ...optionalArgs) => this.log(result, activity, this.atLevel(logOptions, logger_1.LogLevel.ERROR, optionalArgs)),
84
+ };
85
+ return result;
86
+ }
87
+ mergeLogOptions(logOptions) {
88
+ const result = Object.assign({}, this.defaultLogOptions);
89
+ if (logOptions) {
90
+ Object.assign(result, logOptions);
91
+ }
92
+ return result;
93
+ }
94
+ atLevel(logOptions, levelOverride, optionalArgs) {
95
+ return Object.assign(Object.assign({}, logOptions), { levelOverride, arguments: optionalArgs });
96
+ }
97
+ logLevel(elapsed, options) {
98
+ var _a, _b;
99
+ if (options === null || options === void 0 ? void 0 : options.levelOverride) {
100
+ return options.levelOverride;
101
+ }
102
+ return (_b = (_a = options === null || options === void 0 ? void 0 : options.defaultLogLevel) !== null && _a !== void 0 ? _a : this.defaultLogOptions.defaultLogLevel) !== null && _b !== void 0 ? _b : DEFAULT_LOG_LEVEL;
103
+ }
104
+ log(measurement, activity, options) {
105
+ var _a;
106
+ const elapsed = measurement.stop();
107
+ const level = this.logLevel(elapsed, options);
108
+ if (Number.isNaN(elapsed)) {
109
+ switch (level) {
110
+ case logger_1.LogLevel.ERROR:
111
+ case logger_1.LogLevel.FATAL:
112
+ // Always log errors, even if NaN duration from native API preventing a measurement
113
+ break;
114
+ default:
115
+ // Measurement was prevented by native API, do not log NaN duration
116
+ return;
117
+ }
118
+ }
119
+ const start = options.owner ? `${options.owner} start` : 'start';
120
+ const timeFromStart = `Finished ${(options.now() / 1000).toFixed(3)} s after ${start}`;
121
+ const whatWasMeasured = options.context ? `[${options.context}] ${activity}` : activity;
122
+ this.logger.log(level, `${whatWasMeasured}: ${elapsed.toFixed(1)} ms [${timeFromStart}]`, ...((_a = options.arguments) !== null && _a !== void 0 ? _a : []));
123
+ }
124
+ };
125
+ __decorate([
126
+ (0, inversify_1.inject)(logger_1.ILogger),
127
+ __metadata("design:type", Object)
128
+ ], Stopwatch.prototype, "logger", void 0);
129
+ Stopwatch = __decorate([
130
+ (0, inversify_1.injectable)(),
131
+ __metadata("design:paramtypes", [Object])
132
+ ], Stopwatch);
133
+ exports.Stopwatch = Stopwatch;
134
+ //# sourceMappingURL=stopwatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"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"}
@@ -83,15 +83,15 @@ let ProgressService = class ProgressService {
83
83
  }
84
84
  };
85
85
  __decorate([
86
- inversify_1.inject(progress_service_protocol_1.ProgressClient),
86
+ (0, inversify_1.inject)(progress_service_protocol_1.ProgressClient),
87
87
  __metadata("design:type", Object)
88
88
  ], ProgressService.prototype, "client", void 0);
89
89
  __decorate([
90
- inversify_1.inject(message_service_1.MessageService),
90
+ (0, inversify_1.inject)(message_service_1.MessageService),
91
91
  __metadata("design:type", message_service_1.MessageService)
92
92
  ], ProgressService.prototype, "messageService", void 0);
93
93
  ProgressService = __decorate([
94
- inversify_1.injectable()
94
+ (0, inversify_1.injectable)()
95
95
  ], ProgressService);
96
96
  exports.ProgressService = ProgressService;
97
97
  //# sourceMappingURL=progress-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-service.js","sourceRoot":"","sources":["../../src/common/progress-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-service.js","sourceRoot":"","sources":["../../src/common/progress-service.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,17 @@ export declare class Deferred<T = void> {
31
31
  * @throws cancelled if a given token is cancelled before a specified number of milliseconds
32
32
  */
33
33
  export declare function timeout(ms: number, token?: CancellationToken): Promise<void>;
34
+ /**
35
+ * Creates a promise that is rejected after the given amount of time. A typical use case is to wait for another promise until a specified timeout using:
36
+ * ```
37
+ * Promise.race([ promiseToPerform, timeoutReject(timeout, 'Timeout error message') ]);
38
+ * ```
39
+ *
40
+ * @param ms timeout in milliseconds
41
+ * @param message error message on promise rejection
42
+ * @returns rejection promise
43
+ */
44
+ export declare function timeoutReject<T>(ms: number, message?: string): Promise<T>;
34
45
  export declare function retry<T>(task: () => Promise<T>, retryDelay: number, retries: number): Promise<T>;
35
46
  /**
36
47
  * A function to allow a promise resolution to be delayed by a number of milliseconds. Usage is as follows:
@@ -1 +1 @@
1
- {"version":3,"file":"promise-util.d.ts","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAgC,MAAM,gBAAgB,CAAC;AAEjF;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,IAAI;IAC1B,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAgB;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE5B,OAAO,aAaJ;CACN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CActG;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAclH"}
1
+ {"version":3,"file":"promise-util.d.ts","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAgC,MAAM,gBAAgB,CAAC;AAEjF;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,IAAI;IAC1B,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAgB;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE5B,OAAO,aAaJ;CACN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIzE;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CActG;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAclH"}
@@ -15,7 +15,7 @@
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.waitForEvent = exports.wait = exports.delay = exports.retry = exports.timeout = exports.Deferred = void 0;
18
+ exports.waitForEvent = exports.wait = exports.delay = exports.retry = exports.timeoutReject = exports.timeout = exports.Deferred = void 0;
19
19
  const cancellation_1 = require("./cancellation");
20
20
  /**
21
21
  * Simple implementation of the deferred pattern.
@@ -50,11 +50,27 @@ function timeout(ms, token = cancellation_1.CancellationToken.None) {
50
50
  const handle = setTimeout(() => deferred.resolve(), ms);
51
51
  token.onCancellationRequested(() => {
52
52
  clearTimeout(handle);
53
- deferred.reject(cancellation_1.cancelled());
53
+ deferred.reject((0, cancellation_1.cancelled)());
54
54
  });
55
55
  return deferred.promise;
56
56
  }
57
57
  exports.timeout = timeout;
58
+ /**
59
+ * Creates a promise that is rejected after the given amount of time. A typical use case is to wait for another promise until a specified timeout using:
60
+ * ```
61
+ * Promise.race([ promiseToPerform, timeoutReject(timeout, 'Timeout error message') ]);
62
+ * ```
63
+ *
64
+ * @param ms timeout in milliseconds
65
+ * @param message error message on promise rejection
66
+ * @returns rejection promise
67
+ */
68
+ function timeoutReject(ms, message) {
69
+ const deferred = new Deferred();
70
+ setTimeout(() => deferred.reject(new Error(message)), ms);
71
+ return deferred.promise;
72
+ }
73
+ exports.timeoutReject = timeoutReject;
58
74
  async function retry(task, retryDelay, retries) {
59
75
  let lastError;
60
76
  for (let i = 0; i < retries; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"promise-util.js","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promise-util.js","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ describe('promise-util', () => {
22
22
  it('should time out', async () => {
23
23
  const emitter = new event_1.Emitter();
24
24
  try {
25
- await promise_util_1.waitForEvent(emitter.event, 1000);
25
+ await (0, promise_util_1.waitForEvent)(emitter.event, 1000);
26
26
  assert.fail('did not time out');
27
27
  }
28
28
  catch (e) {
@@ -35,7 +35,7 @@ describe('promise-util', () => {
35
35
  setTimeout(() => {
36
36
  emitter.fire('abcd');
37
37
  }, 500);
38
- assert.strictEqual(await promise_util_1.waitForEvent(emitter.event, 1000), 'abcd');
38
+ assert.strictEqual(await (0, promise_util_1.waitForEvent)(emitter.event, 1000), 'abcd');
39
39
  });
40
40
  });
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"promise-util.spec.js","sourceRoot":"","sources":["../../src/common/promise-util.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,iDAA8C;AAC9C,mCAAkC;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;QACtC,IAAI;YACA,MAAM,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACR,KAAK;SACR;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;YACtC,UAAU,CAAC,GAAG,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM,CAAC,WAAW,CAAC,MAAM,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"promise-util.spec.js","sourceRoot":"","sources":["../../src/common/promise-util.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,iDAA8C;AAC9C,mCAAkC;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;QACtC,IAAI;YACA,MAAM,IAAA,2BAAY,EAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACR,KAAK;SACR;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;YACtC,UAAU,CAAC,GAAG,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM,CAAC,WAAW,CAAC,MAAM,IAAA,2BAAY,EAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}