@gitpod/gitpod-protocol 0.1.5-update-ovsx.0 → 0.1.5-update-yarnlock.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 (455) hide show
  1. package/data/gitpod-schema.json +159 -25
  2. package/lib/accounting-protocol.d.ts +165 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +120 -0
  5. package/lib/accounting-protocol.js.map +1 -0
  6. package/lib/admin-protocol.d.ts +51 -6
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +17 -2
  9. package/lib/admin-protocol.js.map +1 -1
  10. package/lib/analytics.d.ts +44 -0
  11. package/lib/analytics.d.ts.map +1 -0
  12. package/lib/analytics.js +10 -0
  13. package/lib/analytics.js.map +1 -0
  14. package/lib/attribution.d.ts +25 -0
  15. package/lib/attribution.d.ts.map +1 -0
  16. package/lib/attribution.js +58 -0
  17. package/lib/attribution.js.map +1 -0
  18. package/lib/auth.d.ts +25 -0
  19. package/lib/auth.d.ts.map +1 -0
  20. package/lib/auth.js +16 -0
  21. package/lib/auth.js.map +1 -0
  22. package/lib/billing-mode.d.ts +45 -0
  23. package/lib/billing-mode.d.ts.map +1 -0
  24. package/lib/billing-mode.js +44 -0
  25. package/lib/billing-mode.js.map +1 -0
  26. package/lib/blocked-repositories-protocol.d.ts +13 -0
  27. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  28. package/lib/blocked-repositories-protocol.js +8 -0
  29. package/lib/blocked-repositories-protocol.js.map +1 -0
  30. package/lib/context-url.d.ts +30 -0
  31. package/lib/context-url.d.ts.map +1 -0
  32. package/lib/context-url.js +100 -0
  33. package/lib/context-url.js.map +1 -0
  34. package/lib/context-url.spec.d.ts +12 -0
  35. package/lib/context-url.spec.d.ts.map +1 -0
  36. package/lib/context-url.spec.js +81 -0
  37. package/lib/context-url.spec.js.map +1 -0
  38. package/lib/encryption/container-module.d.ts +2 -2
  39. package/lib/encryption/container-module.d.ts.map +1 -1
  40. package/lib/encryption/container-module.js +8 -6
  41. package/lib/encryption/container-module.js.map +1 -1
  42. package/lib/encryption/encryption-engine.d.ts +2 -2
  43. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  44. package/lib/encryption/encryption-engine.js +28 -28
  45. package/lib/encryption/encryption-engine.js.map +1 -1
  46. package/lib/encryption/encryption-engine.spec.d.ts +3 -3
  47. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  48. package/lib/encryption/encryption-engine.spec.js +32 -39
  49. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  50. package/lib/encryption/encryption-service.d.ts +2 -2
  51. package/lib/encryption/encryption-service.d.ts.map +1 -1
  52. package/lib/encryption/encryption-service.js +33 -46
  53. package/lib/encryption/encryption-service.js.map +1 -1
  54. package/lib/encryption/key-provider.d.ts +3 -3
  55. package/lib/encryption/key-provider.d.ts.map +1 -1
  56. package/lib/encryption/key-provider.js +34 -40
  57. package/lib/encryption/key-provider.js.map +1 -1
  58. package/lib/env.d.ts +2 -8
  59. package/lib/env.d.ts.map +1 -1
  60. package/lib/env.js +10 -29
  61. package/lib/env.js.map +1 -1
  62. package/lib/experiments/always-default.d.ts +8 -0
  63. package/lib/experiments/always-default.d.ts.map +1 -0
  64. package/lib/experiments/always-default.js +20 -0
  65. package/lib/experiments/always-default.js.map +1 -0
  66. package/lib/experiments/configcat-server.d.ts +10 -0
  67. package/lib/experiments/configcat-server.d.ts.map +1 -0
  68. package/lib/experiments/configcat-server.js +37 -0
  69. package/lib/experiments/configcat-server.js.map +1 -0
  70. package/lib/experiments/configcat.d.ts +21 -0
  71. package/lib/experiments/configcat.d.ts.map +1 -0
  72. package/lib/experiments/configcat.js +51 -0
  73. package/lib/experiments/configcat.js.map +1 -0
  74. package/lib/experiments/types.d.ts +22 -0
  75. package/lib/experiments/types.d.ts.map +1 -0
  76. package/lib/experiments/types.js +10 -0
  77. package/lib/experiments/types.js.map +1 -0
  78. package/lib/frontend-dashboard-service.d.ts +99 -0
  79. package/lib/frontend-dashboard-service.d.ts.map +1 -0
  80. package/lib/frontend-dashboard-service.js +55 -0
  81. package/lib/frontend-dashboard-service.js.map +1 -0
  82. package/lib/gitpod-file-parser.d.ts +2 -2
  83. package/lib/gitpod-file-parser.d.ts.map +1 -1
  84. package/lib/gitpod-file-parser.js +29 -44
  85. package/lib/gitpod-file-parser.js.map +1 -1
  86. package/lib/gitpod-file-parser.spec.d.ts +2 -2
  87. package/lib/gitpod-file-parser.spec.js +147 -144
  88. package/lib/gitpod-file-parser.spec.js.map +1 -1
  89. package/lib/gitpod-service.d.ts +290 -50
  90. package/lib/gitpod-service.d.ts.map +1 -1
  91. package/lib/gitpod-service.js +288 -123
  92. package/lib/gitpod-service.js.map +1 -1
  93. package/lib/headless-workspace-log.d.ts +11 -13
  94. package/lib/headless-workspace-log.d.ts.map +1 -1
  95. package/lib/headless-workspace-log.js +8 -9
  96. package/lib/headless-workspace-log.js.map +1 -1
  97. package/lib/ide-frontend-service.d.ts +26 -0
  98. package/lib/ide-frontend-service.d.ts.map +1 -0
  99. package/lib/ide-frontend-service.js +8 -0
  100. package/lib/ide-frontend-service.js.map +1 -0
  101. package/lib/ide-protocol.d.ts +126 -0
  102. package/lib/ide-protocol.d.ts.map +1 -0
  103. package/lib/ide-protocol.js +18 -0
  104. package/lib/ide-protocol.js.map +1 -0
  105. package/lib/index.d.ts +18 -12
  106. package/lib/index.d.ts.map +1 -1
  107. package/lib/index.js +28 -13
  108. package/lib/index.js.map +1 -1
  109. package/lib/installation-admin-protocol.d.ts +30 -0
  110. package/lib/installation-admin-protocol.d.ts.map +1 -0
  111. package/lib/installation-admin-protocol.js +31 -0
  112. package/lib/installation-admin-protocol.js.map +1 -0
  113. package/lib/license-protocol.d.ts +9 -2
  114. package/lib/license-protocol.d.ts.map +1 -1
  115. package/lib/license-protocol.js +3 -2
  116. package/lib/license-protocol.js.map +1 -1
  117. package/lib/messaging/browser/connection.d.ts +6 -4
  118. package/lib/messaging/browser/connection.d.ts.map +1 -1
  119. package/lib/messaging/browser/connection.js +188 -48
  120. package/lib/messaging/browser/connection.js.map +1 -1
  121. package/lib/messaging/browser/window-connection.d.ts +9 -4
  122. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  123. package/lib/messaging/browser/window-connection.js +48 -59
  124. package/lib/messaging/browser/window-connection.js.map +1 -1
  125. package/lib/messaging/client-call-metrics.d.ts +21 -0
  126. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  127. package/lib/messaging/client-call-metrics.js +95 -0
  128. package/lib/messaging/client-call-metrics.js.map +1 -0
  129. package/lib/messaging/error.d.ts +18 -4
  130. package/lib/messaging/error.d.ts.map +1 -1
  131. package/lib/messaging/error.js +38 -7
  132. package/lib/messaging/error.js.map +1 -1
  133. package/lib/messaging/handler.d.ts +10 -0
  134. package/lib/messaging/handler.d.ts.map +1 -1
  135. package/lib/messaging/handler.js +2 -1
  136. package/lib/messaging/handler.js.map +1 -1
  137. package/lib/messaging/node/connection.d.ts +1 -17
  138. package/lib/messaging/node/connection.d.ts.map +1 -1
  139. package/lib/messaging/node/connection.js +24 -59
  140. package/lib/messaging/node/connection.js.map +1 -1
  141. package/lib/messaging/proxy-factory.d.ts +3 -1
  142. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  143. package/lib/messaging/proxy-factory.js +76 -162
  144. package/lib/messaging/proxy-factory.js.map +1 -1
  145. package/lib/oss-allowlist.d.ts +14 -0
  146. package/lib/oss-allowlist.d.ts.map +1 -0
  147. package/lib/oss-allowlist.js +8 -0
  148. package/lib/oss-allowlist.js.map +1 -0
  149. package/lib/payment-protocol.d.ts +18 -0
  150. package/lib/payment-protocol.d.ts.map +1 -0
  151. package/lib/payment-protocol.js +13 -0
  152. package/lib/payment-protocol.js.map +1 -0
  153. package/lib/permission.d.ts +26 -15
  154. package/lib/permission.d.ts.map +1 -1
  155. package/lib/permission.js +50 -36
  156. package/lib/permission.js.map +1 -1
  157. package/lib/plans.d.ts +213 -0
  158. package/lib/plans.d.ts.map +1 -0
  159. package/lib/plans.js +625 -0
  160. package/lib/plans.js.map +1 -0
  161. package/lib/protocol.d.ts +338 -111
  162. package/lib/protocol.d.ts.map +1 -1
  163. package/lib/protocol.js +422 -201
  164. package/lib/protocol.js.map +1 -1
  165. package/lib/protocol.spec.d.ts +7 -0
  166. package/lib/protocol.spec.d.ts.map +1 -0
  167. package/lib/protocol.spec.js +127 -0
  168. package/lib/protocol.spec.js.map +1 -0
  169. package/lib/snapshot-url.d.ts +14 -0
  170. package/lib/snapshot-url.d.ts.map +1 -0
  171. package/lib/snapshot-url.js +26 -0
  172. package/lib/snapshot-url.js.map +1 -0
  173. package/lib/snapshot-url.spec.d.ts +7 -0
  174. package/lib/snapshot-url.spec.d.ts.map +1 -0
  175. package/lib/snapshot-url.spec.js +41 -0
  176. package/lib/snapshot-url.spec.js.map +1 -0
  177. package/lib/team-subscription-protocol.d.ts +93 -0
  178. package/lib/team-subscription-protocol.d.ts.map +1 -0
  179. package/lib/team-subscription-protocol.js +82 -0
  180. package/lib/team-subscription-protocol.js.map +1 -0
  181. package/lib/teams-projects-protocol.d.ts +136 -0
  182. package/lib/teams-projects-protocol.d.ts.map +1 -0
  183. package/lib/teams-projects-protocol.js +41 -0
  184. package/lib/teams-projects-protocol.js.map +1 -0
  185. package/lib/typings/globals.d.ts +8 -3
  186. package/lib/typings/globals.d.ts.map +1 -1
  187. package/lib/typings/globals.js +2 -2
  188. package/lib/usage.d.ts +73 -0
  189. package/lib/usage.d.ts.map +1 -0
  190. package/lib/usage.js +20 -0
  191. package/lib/usage.js.map +1 -0
  192. package/lib/util/analytics.d.ts +8 -0
  193. package/lib/util/analytics.d.ts.map +1 -0
  194. package/lib/util/analytics.js +88 -0
  195. package/lib/util/analytics.js.map +1 -0
  196. package/lib/util/async-iterator.d.ts +2 -2
  197. package/lib/util/async-iterator.d.ts.map +1 -1
  198. package/lib/util/async-iterator.js +60 -137
  199. package/lib/util/async-iterator.js.map +1 -1
  200. package/lib/util/cancelable.d.ts +2 -2
  201. package/lib/util/cancelable.js +20 -61
  202. package/lib/util/cancelable.js.map +1 -1
  203. package/lib/util/date-time.d.ts +2 -2
  204. package/lib/util/date-time.js +14 -13
  205. package/lib/util/date-time.js.map +1 -1
  206. package/lib/util/debug-app.d.ts +25 -0
  207. package/lib/util/debug-app.d.ts.map +1 -0
  208. package/lib/util/debug-app.js +100 -0
  209. package/lib/util/debug-app.js.map +1 -0
  210. package/lib/util/deep-partial.d.ts +2 -2
  211. package/lib/util/deep-partial.js +2 -2
  212. package/lib/util/deferred.d.ts +2 -2
  213. package/lib/util/deferred.js +13 -14
  214. package/lib/util/deferred.js.map +1 -1
  215. package/lib/util/disposable.d.ts +2 -2
  216. package/lib/util/disposable.d.ts.map +1 -1
  217. package/lib/util/disposable.js +28 -40
  218. package/lib/util/disposable.js.map +1 -1
  219. package/lib/util/event.d.ts +1 -1
  220. package/lib/util/event.d.ts.map +1 -1
  221. package/lib/util/event.js +64 -77
  222. package/lib/util/event.js.map +1 -1
  223. package/lib/util/garbage-collected-cache.d.ts +3 -2
  224. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  225. package/lib/util/garbage-collected-cache.js +35 -49
  226. package/lib/util/garbage-collected-cache.js.map +1 -1
  227. package/lib/util/generate-workspace-id.d.ts +9 -0
  228. package/lib/util/generate-workspace-id.d.ts.map +1 -0
  229. package/lib/util/generate-workspace-id.js +491 -0
  230. package/lib/util/generate-workspace-id.js.map +1 -0
  231. package/lib/util/generate-workspace-id.spec.d.ts +7 -0
  232. package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
  233. package/lib/util/generate-workspace-id.spec.js +98 -0
  234. package/lib/util/generate-workspace-id.spec.js.map +1 -0
  235. package/lib/util/gitpod-cookie.d.ts +20 -0
  236. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  237. package/lib/util/gitpod-cookie.js +41 -0
  238. package/lib/util/gitpod-cookie.js.map +1 -0
  239. package/lib/util/gitpod-host-url.d.ts +20 -8
  240. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  241. package/lib/util/gitpod-host-url.js +143 -85
  242. package/lib/util/gitpod-host-url.js.map +1 -1
  243. package/lib/util/gitpod-host-url.spec.d.ts +16 -0
  244. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -0
  245. package/lib/util/gitpod-host-url.spec.js +134 -0
  246. package/lib/util/gitpod-host-url.spec.js.map +1 -0
  247. package/lib/util/grpc.d.ts +35 -0
  248. package/lib/util/grpc.d.ts.map +1 -0
  249. package/lib/util/grpc.js +90 -0
  250. package/lib/util/grpc.js.map +1 -0
  251. package/lib/util/jaeger-client-types.d.ts +68 -0
  252. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  253. package/lib/util/jaeger-client-types.js +8 -0
  254. package/lib/util/jaeger-client-types.js.map +1 -0
  255. package/lib/util/logging.d.ts +58 -35
  256. package/lib/util/logging.d.ts.map +1 -1
  257. package/lib/util/logging.js +144 -129
  258. package/lib/util/logging.js.map +1 -1
  259. package/lib/util/logging.spec.d.ts +7 -0
  260. package/lib/util/logging.spec.d.ts.map +1 -0
  261. package/lib/util/logging.spec.js +52 -0
  262. package/lib/util/logging.spec.js.map +1 -0
  263. package/lib/util/make-link.d.ts +2 -2
  264. package/lib/util/make-link.js +8 -7
  265. package/lib/util/make-link.js.map +1 -1
  266. package/lib/util/nice-grpc.d.ts +9 -0
  267. package/lib/util/nice-grpc.d.ts.map +1 -0
  268. package/lib/util/nice-grpc.js +121 -0
  269. package/lib/util/nice-grpc.js.map +1 -0
  270. package/lib/util/parse-workspace-id.d.ts +15 -5
  271. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  272. package/lib/util/parse-workspace-id.js +39 -9
  273. package/lib/util/parse-workspace-id.js.map +1 -1
  274. package/lib/util/parse-workspace-id.spec.d.ts +10 -2
  275. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  276. package/lib/util/parse-workspace-id.spec.js +130 -49
  277. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  278. package/lib/util/queue.d.ts +2 -2
  279. package/lib/util/queue.js +19 -57
  280. package/lib/util/queue.js.map +1 -1
  281. package/lib/util/queue.spec.d.ts +2 -2
  282. package/lib/util/queue.spec.js +149 -288
  283. package/lib/util/queue.spec.js.map +1 -1
  284. package/lib/util/repeat.d.ts +15 -0
  285. package/lib/util/repeat.d.ts.map +1 -0
  286. package/lib/util/repeat.js +55 -0
  287. package/lib/util/repeat.js.map +1 -0
  288. package/lib/util/semaphore.d.ts +2 -2
  289. package/lib/util/semaphore.d.ts.map +1 -1
  290. package/lib/util/semaphore.js +18 -48
  291. package/lib/util/semaphore.js.map +1 -1
  292. package/lib/util/skip-if.d.ts +2 -2
  293. package/lib/util/skip-if.d.ts.map +1 -1
  294. package/lib/util/skip-if.js +9 -8
  295. package/lib/util/skip-if.js.map +1 -1
  296. package/lib/util/timeutil.d.ts +4 -2
  297. package/lib/util/timeutil.d.ts.map +1 -1
  298. package/lib/util/timeutil.js +43 -18
  299. package/lib/util/timeutil.js.map +1 -1
  300. package/lib/util/timeutil.spec.d.ts +4 -2
  301. package/lib/util/timeutil.spec.d.ts.map +1 -1
  302. package/lib/util/timeutil.spec.js +57 -25
  303. package/lib/util/timeutil.spec.js.map +1 -1
  304. package/lib/util/tracing.d.ts +55 -8
  305. package/lib/util/tracing.d.ts.map +1 -1
  306. package/lib/util/tracing.js +210 -66
  307. package/lib/util/tracing.js.map +1 -1
  308. package/lib/util/tracing.spec.d.ts +7 -0
  309. package/lib/util/tracing.spec.d.ts.map +1 -0
  310. package/lib/util/tracing.spec.js +121 -0
  311. package/lib/util/tracing.spec.js.map +1 -0
  312. package/lib/util/workspace-port-authentication.d.ts +9 -9
  313. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  314. package/lib/util/workspace-port-authentication.js +13 -14
  315. package/lib/util/workspace-port-authentication.js.map +1 -1
  316. package/lib/webhook-event.d.ts +44 -0
  317. package/lib/webhook-event.d.ts.map +1 -0
  318. package/lib/webhook-event.js +8 -0
  319. package/lib/webhook-event.js.map +1 -0
  320. package/lib/workspace-class.d.ts +14 -0
  321. package/lib/workspace-class.d.ts.map +1 -0
  322. package/lib/workspace-class.js +8 -0
  323. package/lib/workspace-class.js.map +1 -0
  324. package/lib/workspace-cluster.d.ts +80 -0
  325. package/lib/workspace-cluster.d.ts.map +1 -0
  326. package/lib/workspace-cluster.js +36 -0
  327. package/lib/workspace-cluster.js.map +1 -0
  328. package/lib/workspace-instance.d.ts +51 -8
  329. package/lib/workspace-instance.d.ts.map +1 -1
  330. package/lib/workspace-instance.js +2 -2
  331. package/lib/wsready.d.ts +8 -2
  332. package/lib/wsready.d.ts.map +1 -1
  333. package/lib/wsready.js +4 -3
  334. package/lib/wsready.js.map +1 -1
  335. package/package.json +42 -18
  336. package/pkg-yarn.lock +24 -10
  337. package/provenance-bundle.jsonl +2 -0
  338. package/src/accounting-protocol.ts +253 -0
  339. package/src/admin-protocol.ts +96 -21
  340. package/src/analytics.ts +52 -0
  341. package/src/attribution.ts +67 -0
  342. package/src/auth.ts +27 -0
  343. package/src/billing-mode.ts +84 -0
  344. package/src/blocked-repositories-protocol.ts +13 -0
  345. package/src/context-url.spec.ts +49 -0
  346. package/src/context-url.ts +107 -0
  347. package/src/encryption/container-module.ts +4 -5
  348. package/src/encryption/encryption-engine.spec.ts +11 -10
  349. package/src/encryption/encryption-engine.ts +22 -18
  350. package/src/encryption/encryption-service.ts +6 -7
  351. package/src/encryption/key-provider.ts +18 -21
  352. package/src/env.ts +3 -26
  353. package/src/experiments/always-default.ts +24 -0
  354. package/src/experiments/configcat-server.ts +42 -0
  355. package/src/experiments/configcat.ts +56 -0
  356. package/src/experiments/types.ts +34 -0
  357. package/src/frontend-dashboard-service.ts +148 -0
  358. package/src/gitpod-file-parser.spec.ts +57 -63
  359. package/src/gitpod-file-parser.ts +18 -19
  360. package/src/gitpod-service.ts +602 -99
  361. package/src/headless-workspace-log.ts +14 -16
  362. package/src/ide-frontend-service.ts +28 -0
  363. package/src/ide-protocol.ts +147 -0
  364. package/src/index.ts +18 -12
  365. package/src/installation-admin-protocol.ts +45 -0
  366. package/src/license-protocol.ts +14 -8
  367. package/src/messaging/browser/connection.ts +202 -26
  368. package/src/messaging/browser/window-connection.ts +45 -29
  369. package/src/messaging/client-call-metrics.ts +94 -0
  370. package/src/messaging/error.ts +51 -10
  371. package/src/messaging/handler.ts +13 -1
  372. package/src/messaging/node/connection.ts +23 -70
  373. package/src/messaging/proxy-factory.ts +35 -34
  374. package/src/oss-allowlist.ts +15 -0
  375. package/src/payment-protocol.ts +20 -0
  376. package/src/permission.ts +53 -40
  377. package/src/plans.ts +699 -0
  378. package/src/protocol.spec.ts +97 -0
  379. package/src/protocol.ts +790 -302
  380. package/src/snapshot-url.spec.ts +27 -0
  381. package/src/snapshot-url.ts +27 -0
  382. package/src/team-subscription-protocol.ts +153 -0
  383. package/src/teams-projects-protocol.ts +180 -0
  384. package/src/typings/globals.ts +13 -5
  385. package/src/usage.ts +85 -0
  386. package/src/util/analytics.ts +109 -0
  387. package/src/util/async-iterator.ts +6 -7
  388. package/src/util/cancelable.ts +5 -5
  389. package/src/util/date-time.ts +10 -10
  390. package/src/util/debug-app.ts +81 -0
  391. package/src/util/deep-partial.ts +2 -2
  392. package/src/util/deferred.ts +8 -8
  393. package/src/util/disposable.ts +3 -6
  394. package/src/util/event.ts +9 -11
  395. package/src/util/garbage-collected-cache.ts +18 -10
  396. package/src/util/generate-workspace-id.spec.ts +58 -0
  397. package/src/util/generate-workspace-id.ts +481 -0
  398. package/src/util/gitpod-cookie.ts +38 -0
  399. package/src/util/gitpod-host-url.spec.ts +76 -0
  400. package/src/util/gitpod-host-url.ts +119 -40
  401. package/src/util/grpc.ts +107 -0
  402. package/src/util/jaeger-client-types.ts +102 -0
  403. package/src/util/logging.spec.ts +23 -0
  404. package/src/util/logging.ts +163 -73
  405. package/src/util/make-link.ts +8 -9
  406. package/src/util/nice-grpc.ts +96 -0
  407. package/src/util/parse-workspace-id.spec.ts +62 -12
  408. package/src/util/parse-workspace-id.ts +40 -10
  409. package/src/util/queue.spec.ts +30 -28
  410. package/src/util/queue.ts +2 -2
  411. package/src/util/repeat.ts +45 -0
  412. package/src/util/semaphore.ts +8 -10
  413. package/src/util/skip-if.ts +12 -9
  414. package/src/util/timeutil.spec.ts +42 -16
  415. package/src/util/timeutil.ts +33 -17
  416. package/src/util/tracing.spec.ts +88 -0
  417. package/src/util/tracing.ts +211 -33
  418. package/src/util/workspace-port-authentication.ts +12 -15
  419. package/src/webhook-event.ts +55 -0
  420. package/src/workspace-class.ts +14 -0
  421. package/src/workspace-cluster.ts +121 -0
  422. package/src/workspace-instance.ts +120 -36
  423. package/src/wsready.ts +11 -4
  424. package/data/builtin-theia-plugins.json +0 -362
  425. package/lib/email-protocol.d.ts +0 -49
  426. package/lib/email-protocol.d.ts.map +0 -1
  427. package/lib/email-protocol.js +0 -27
  428. package/lib/email-protocol.js.map +0 -1
  429. package/lib/messaging/connection-error-handler.d.ts +0 -27
  430. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  431. package/lib/messaging/connection-error-handler.js +0 -45
  432. package/lib/messaging/connection-error-handler.js.map +0 -1
  433. package/lib/theia-plugins.d.ts +0 -11
  434. package/lib/theia-plugins.d.ts.map +0 -1
  435. package/lib/theia-plugins.js +0 -8
  436. package/lib/theia-plugins.js.map +0 -1
  437. package/lib/util/repeater.d.ts +0 -22
  438. package/lib/util/repeater.d.ts.map +0 -1
  439. package/lib/util/repeater.js +0 -117
  440. package/lib/util/repeater.js.map +0 -1
  441. package/lib/util/safe-promise.d.ts +0 -11
  442. package/lib/util/safe-promise.d.ts.map +0 -1
  443. package/lib/util/safe-promise.js +0 -33
  444. package/lib/util/safe-promise.js.map +0 -1
  445. package/lib/util/without.d.ts +0 -7
  446. package/lib/util/without.d.ts.map +0 -1
  447. package/lib/util/without.js +0 -8
  448. package/lib/util/without.js.map +0 -1
  449. package/src/email-protocol.ts +0 -67
  450. package/src/messaging/connection-error-handler.ts +0 -62
  451. package/src/theia-plugins.ts +0 -11
  452. package/src/util/jaeger-client.d.ts +0 -105
  453. package/src/util/repeater.ts +0 -49
  454. package/src/util/safe-promise.ts +0 -26
  455. package/src/util/without.ts +0 -8
@@ -1,30 +1,29 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
- * See License-AGPL.txt in the project root for license information.
5
+ * See License.AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- var Deferred = /** @class */ (function () {
9
- function Deferred(timeout) {
10
- var _this = this;
8
+ exports.Deferred = void 0;
9
+ class Deferred {
10
+ constructor(timeout) {
11
11
  this.isResolved = false;
12
- this.promise = new Promise(function (resolve, reject) {
13
- _this.resolve = function (o) {
14
- _this.isResolved = true;
12
+ this.promise = new Promise((resolve, reject) => {
13
+ this.resolve = (o) => {
14
+ this.isResolved = true;
15
15
  resolve(o);
16
- clearTimeout(_this.timer);
16
+ clearTimeout(this.timer);
17
17
  };
18
- _this.reject = function (e) {
18
+ this.reject = (e) => {
19
19
  reject(e);
20
- clearTimeout(_this.timer);
20
+ clearTimeout(this.timer);
21
21
  };
22
22
  });
23
23
  if (timeout) {
24
- this.timer = setTimeout(function () { return _this.reject(new Error("Timeout of " + timeout + " ms.")); }, timeout);
24
+ this.timer = setTimeout(() => this.reject(new Error(`Timeout of ${timeout} ms.`)), timeout);
25
25
  }
26
26
  }
27
- return Deferred;
28
- }());
27
+ }
29
28
  exports.Deferred = Deferred;
30
29
  //# sourceMappingURL=deferred.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/util/deferred.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH;IAMI,kBAAY,OAAgB;QAA5B,iBAIC;QAPD,eAAU,GAAY,KAAK,CAAC;QAS5B,YAAO,GAAG,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM;YACrC,KAAI,CAAC,OAAO,GAAG,UAAC,CAAC;gBACb,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,CAAC,CAAC,CAAA;gBACV,YAAY,CAAC,KAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CAAC;YACF,KAAI,CAAC,MAAM,GAAG,UAAC,CAAC;gBACZ,MAAM,CAAC,CAAC,CAAC,CAAA;gBACT,YAAY,CAAC,KAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CAAA;QACL,CAAC,CAAC,CAAC;QAfC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAc,OAAO,SAAM,CAAC,CAAC,EAAnD,CAAmD,EAAE,OAAO,CAAC,CAAC;SAC/F;IACL,CAAC;IAaL,eAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,4BAAQ"}
1
+ {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/util/deferred.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAa,QAAQ;IAMjB,YAAY,OAAgB;QAH5B,eAAU,GAAY,KAAK,CAAC;QAS5B,YAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,CAAQ,CAAC,CAAC;gBAClB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;gBAChB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACV,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAfC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,OAAO,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SAC/F;IACL,CAAC;CAaJ;AAvBD,4BAuBC"}
@@ -12,9 +12,9 @@ export declare namespace Disposable {
12
12
  export declare class DisposableCollection implements Disposable {
13
13
  protected readonly disposables: Disposable[];
14
14
  protected readonly onDisposeEmitter: Emitter<void>;
15
- readonly onDispose: Event<void>;
15
+ get onDispose(): Event<void>;
16
16
  protected checkDisposed(): void;
17
- readonly disposed: boolean;
17
+ get disposed(): boolean;
18
18
  dispose(): void;
19
19
  push(disposable: Disposable): Disposable;
20
20
  pushAll(disposables: Disposable[]): Disposable[];
@@ -1 +1 @@
1
- {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../src/util/disposable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,yBAAiB,UAAU,CAAC;IACxB,SAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,UAAU,CAInD;IACM,MAAM,IAAI,YAAoB,CAAC;CACzC;AAED,qBAAa,oBAAqB,YAAW,UAAU;IACnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAM;IAClD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;aAEtD,SAAS,EAAI,KAAK,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAC,aAAa,IAAI,IAAI;aAM3B,QAAQ,EAAI,OAAO;IAIvB,OAAO,IAAI,IAAI;IAUf,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;IAkBxC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;CAMnD"}
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../src/util/disposable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,yBAAiB,UAAU,CAAC;IACxB,SAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,UAAU,CAInD;IACM,MAAM,IAAI,YAAmB,CAAC;CACxC;AAED,qBAAa,oBAAqB,YAAW,UAAU;IACnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAM;IAClD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;IAE1D,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3B;IAED,SAAS,CAAC,aAAa,IAAI,IAAI;IAM/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;IAUf,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;IAkBxC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;CAGnD"}
@@ -1,47 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DisposableCollection = exports.Disposable = void 0;
3
4
  /*
4
5
  * Copyright (C) 2017 TypeFox and others.
5
6
  *
6
7
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
7
8
  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8
9
  */
9
- var event_1 = require("./event");
10
+ const event_1 = require("./event");
10
11
  var Disposable;
11
12
  (function (Disposable) {
12
13
  function create(func) {
13
14
  return {
14
- dispose: func
15
+ dispose: func,
15
16
  };
16
17
  }
17
18
  Disposable.create = create;
18
- Disposable.NULL = create(function () { });
19
+ Disposable.NULL = create(() => { });
19
20
  })(Disposable = exports.Disposable || (exports.Disposable = {}));
20
- var DisposableCollection = /** @class */ (function () {
21
- function DisposableCollection() {
21
+ class DisposableCollection {
22
+ constructor() {
22
23
  this.disposables = [];
23
24
  this.onDisposeEmitter = new event_1.Emitter();
24
25
  }
25
- Object.defineProperty(DisposableCollection.prototype, "onDispose", {
26
- get: function () {
27
- return this.onDisposeEmitter.event;
28
- },
29
- enumerable: true,
30
- configurable: true
31
- });
32
- DisposableCollection.prototype.checkDisposed = function () {
26
+ get onDispose() {
27
+ return this.onDisposeEmitter.event;
28
+ }
29
+ checkDisposed() {
33
30
  if (this.disposed) {
34
31
  this.onDisposeEmitter.fire(undefined);
35
32
  }
36
- };
37
- Object.defineProperty(DisposableCollection.prototype, "disposed", {
38
- get: function () {
39
- return this.disposables.length === 0;
40
- },
41
- enumerable: true,
42
- configurable: true
43
- });
44
- DisposableCollection.prototype.dispose = function () {
33
+ }
34
+ get disposed() {
35
+ return this.disposables.length === 0;
36
+ }
37
+ dispose() {
45
38
  if (this.disposed) {
46
39
  return;
47
40
  }
@@ -49,32 +42,27 @@ var DisposableCollection = /** @class */ (function () {
49
42
  this.disposables.pop().dispose();
50
43
  }
51
44
  this.checkDisposed();
52
- };
53
- DisposableCollection.prototype.push = function (disposable) {
54
- var _this = this;
55
- var disposables = this.disposables;
45
+ }
46
+ push(disposable) {
47
+ const disposables = this.disposables;
56
48
  disposables.push(disposable);
57
- var originalDispose = disposable.dispose.bind(disposable);
58
- var toRemove = Disposable.create(function () {
59
- var index = disposables.indexOf(disposable);
49
+ const originalDispose = disposable.dispose.bind(disposable);
50
+ const toRemove = Disposable.create(() => {
51
+ const index = disposables.indexOf(disposable);
60
52
  if (index !== -1) {
61
53
  disposables.splice(index, 1);
62
54
  }
63
- _this.checkDisposed();
55
+ this.checkDisposed();
64
56
  });
65
- disposable.dispose = function () {
57
+ disposable.dispose = () => {
66
58
  toRemove.dispose();
67
59
  originalDispose();
68
60
  };
69
61
  return toRemove;
70
- };
71
- DisposableCollection.prototype.pushAll = function (disposables) {
72
- var _this = this;
73
- return disposables.map(function (disposable) {
74
- return _this.push(disposable);
75
- });
76
- };
77
- return DisposableCollection;
78
- }());
62
+ }
63
+ pushAll(disposables) {
64
+ return disposables.map((disposable) => this.push(disposable));
65
+ }
66
+ }
79
67
  exports.DisposableCollection = DisposableCollection;
80
68
  //# sourceMappingURL=disposable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../src/util/disposable.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,iCAAyC;AASzC,IAAiB,UAAU,CAO1B;AAPD,WAAiB,UAAU;IACvB,SAAgB,MAAM,CAAC,IAAgB;QACnC,OAAO;YACH,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAJe,iBAAM,SAIrB,CAAA;IACY,eAAI,GAAG,MAAM,CAAC,cAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,EAPgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAO1B;AAED;IAAA;QACuB,gBAAW,GAAiB,EAAE,CAAC;QAC/B,qBAAgB,GAAG,IAAI,eAAO,EAAQ,CAAC;IAkD9D,CAAC;IAhDG,sBAAI,2CAAS;aAAb;YACI,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACvC,CAAC;;;OAAA;IAES,4CAAa,GAAvB;QACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;IACL,CAAC;IAED,sBAAI,0CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sCAAO,GAAP;QACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAG,CAAC,OAAO,EAAE,CAAC;SACrC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,mCAAI,GAAJ,UAAK,UAAsB;QAA3B,iBAgBC;QAfG,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;YAC/B,IAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAChC;YACD,KAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,GAAG;YACjB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,sCAAO,GAAP,UAAQ,WAAyB;QAAjC,iBAIC;QAHG,OAAO,WAAW,CAAC,GAAG,CAAC,UAAA,UAAU;YAC7B,OAAA,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAArB,CAAqB,CACxB,CAAC;IACN,CAAC;IAEL,2BAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,oDAAoB"}
1
+ {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../src/util/disposable.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mCAAyC;AASzC,IAAiB,UAAU,CAO1B;AAPD,WAAiB,UAAU;IACvB,SAAgB,MAAM,CAAC,IAAgB;QACnC,OAAO;YACH,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAJe,iBAAM,SAIrB,CAAA;IACY,eAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACzC,CAAC,EAPgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAO1B;AAED,MAAa,oBAAoB;IAAjC;QACuB,gBAAW,GAAiB,EAAE,CAAC;QAC/B,qBAAgB,GAAG,IAAI,eAAO,EAAQ,CAAC;IA+C9D,CAAC;IA7CG,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACvC,CAAC;IAES,aAAa;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAG,CAAC,OAAO,EAAE,CAAC;SACrC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,UAAsB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACpC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,WAAyB;QAC7B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,CAAC;CACJ;AAjDD,oDAiDC"}
@@ -29,7 +29,7 @@ export declare class Emitter<T> {
29
29
  * For the public to allow to subscribe
30
30
  * to events from this Emitter
31
31
  */
32
- readonly event: Event<T>;
32
+ get event(): Event<T>;
33
33
  /**
34
34
  * To be kept private to fire an event to
35
35
  * subscribers
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/util/event.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;CACrF;AAED,yBAAiB,KAAK,CAAC;IAEZ,MAAM,IAAI,EAAE,KAAK,CAAC,GAAG,CAAuC,CAAC;CACvE;AAyED,MAAM,WAAW,cAAc;IAC3B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACnC;AAED,qBAAa,OAAO,CAAC,CAAC;IAON,OAAO,CAAC,QAAQ,CAAC;IAL7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAmB;IAEvC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAA2B;gBAEzB,QAAQ,CAAC,4BAAgB;IAG7C;;;OAGG;aACC,KAAK,EAAI,KAAK,CAAC,CAAC,CAAC;IA+BrB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG;IAMnB,OAAO;CAMV"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/util/event.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACpB;;;;;;OAMG;IACH,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;CACrF;AAED,yBAAiB,KAAK,CAAC;IAEZ,MAAM,IAAI,EAAE,KAAK,CAAC,GAAG,CAE3B,CAAC;CACL;AAwED,MAAM,WAAW,cAAc;IAC3B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACnC;AAED,qBAAa,OAAO,CAAC,CAAC;IAMN,OAAO,CAAC,QAAQ,CAAC;IAL7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAkB;IAEtC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAA2B;gBAEzB,QAAQ,CAAC,4BAAgB;IAE7C;;;OAGG;IACH,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CA6BpB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG;IAMnB,OAAO;CAMV"}
package/lib/util/event.js CHANGED
@@ -6,18 +6,17 @@
6
6
  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- var logging_1 = require("./logging");
9
+ exports.Emitter = exports.Event = void 0;
10
+ const logging_1 = require("./logging");
10
11
  var Event;
11
12
  (function (Event) {
12
- var _disposable = { dispose: function () { } };
13
- Event.None = function () { return _disposable; };
13
+ const _disposable = { dispose() { } };
14
+ Event.None = function () {
15
+ return _disposable;
16
+ };
14
17
  })(Event = exports.Event || (exports.Event = {}));
15
- var CallbackList = /** @class */ (function () {
16
- function CallbackList() {
17
- }
18
- CallbackList.prototype.add = function (callback, context, bucket) {
19
- var _this = this;
20
- if (context === void 0) { context = null; }
18
+ class CallbackList {
19
+ add(callback, context = null, bucket) {
21
20
  if (!this._callbacks) {
22
21
  this._callbacks = [];
23
22
  this._contexts = [];
@@ -25,16 +24,15 @@ var CallbackList = /** @class */ (function () {
25
24
  this._callbacks.push(callback);
26
25
  this._contexts.push(context);
27
26
  if (Array.isArray(bucket)) {
28
- bucket.push({ dispose: function () { return _this.remove(callback, context); } });
27
+ bucket.push({ dispose: () => this.remove(callback, context) });
29
28
  }
30
- };
31
- CallbackList.prototype.remove = function (callback, context) {
32
- if (context === void 0) { context = null; }
29
+ }
30
+ remove(callback, context = null) {
33
31
  if (!this._callbacks) {
34
32
  return;
35
33
  }
36
- var foundCallbackWithDifferentContext = false;
37
- for (var i = 0, len = this._callbacks.length; i < len; i++) {
34
+ let foundCallbackWithDifferentContext = false;
35
+ for (let i = 0, len = this._callbacks.length; i < len; i++) {
38
36
  if (this._callbacks[i] === callback) {
39
37
  if (this._contexts[i] === context) {
40
38
  // callback & context match => remove it
@@ -48,21 +46,17 @@ var CallbackList = /** @class */ (function () {
48
46
  }
49
47
  }
50
48
  if (foundCallbackWithDifferentContext) {
51
- throw new Error('When adding a listener with a context, you should remove it with the same context');
52
- }
53
- };
54
- CallbackList.prototype.invoke = function () {
55
- var args = [];
56
- for (var _i = 0; _i < arguments.length; _i++) {
57
- args[_i] = arguments[_i];
49
+ throw new Error("When adding a listener with a context, you should remove it with the same context");
58
50
  }
51
+ }
52
+ invoke(...args) {
59
53
  if (!this._callbacks) {
60
54
  return [];
61
55
  }
62
- var ret = [];
63
- var callbacks = this._callbacks.slice(0);
64
- var contexts = this._contexts.slice(0);
65
- for (var i = 0, len = callbacks.length; i < len; i++) {
56
+ const ret = [];
57
+ const callbacks = this._callbacks.slice(0);
58
+ const contexts = this._contexts.slice(0);
59
+ for (let i = 0, len = callbacks.length; i < len; i++) {
66
60
  try {
67
61
  ret.push(callbacks[i].apply(contexts[i], args));
68
62
  }
@@ -71,74 +65,67 @@ var CallbackList = /** @class */ (function () {
71
65
  }
72
66
  }
73
67
  return ret;
74
- };
75
- CallbackList.prototype.isEmpty = function () {
68
+ }
69
+ isEmpty() {
76
70
  return !this._callbacks || this._callbacks.length === 0;
77
- };
78
- CallbackList.prototype.dispose = function () {
71
+ }
72
+ dispose() {
79
73
  this._callbacks = undefined;
80
74
  this._contexts = undefined;
81
- };
82
- return CallbackList;
83
- }());
84
- var Emitter = /** @class */ (function () {
85
- function Emitter(_options) {
75
+ }
76
+ }
77
+ class Emitter {
78
+ constructor(_options) {
86
79
  this._options = _options;
87
80
  }
88
- Object.defineProperty(Emitter.prototype, "event", {
89
- /**
90
- * For the public to allow to subscribe
91
- * to events from this Emitter
92
- */
93
- get: function () {
94
- var _this = this;
95
- if (!this._event) {
96
- this._event = function (listener, thisArgs, disposables) {
97
- if (!_this._callbacks) {
98
- _this._callbacks = new CallbackList();
99
- }
100
- if (_this._options && _this._options.onFirstListenerAdd && _this._callbacks.isEmpty()) {
101
- _this._options.onFirstListenerAdd(_this);
102
- }
103
- _this._callbacks.add(listener, thisArgs);
104
- var result;
105
- result = {
106
- dispose: function () {
107
- _this._callbacks.remove(listener, thisArgs);
108
- result.dispose = Emitter._noop;
109
- if (_this._options && _this._options.onLastListenerRemove && _this._callbacks.isEmpty()) {
110
- _this._options.onLastListenerRemove(_this);
111
- }
81
+ /**
82
+ * For the public to allow to subscribe
83
+ * to events from this Emitter
84
+ */
85
+ get event() {
86
+ if (!this._event) {
87
+ this._event = (listener, thisArgs, disposables) => {
88
+ if (!this._callbacks) {
89
+ this._callbacks = new CallbackList();
90
+ }
91
+ if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {
92
+ this._options.onFirstListenerAdd(this);
93
+ }
94
+ this._callbacks.add(listener, thisArgs);
95
+ let result;
96
+ result = {
97
+ dispose: () => {
98
+ this._callbacks.remove(listener, thisArgs);
99
+ result.dispose = Emitter._noop;
100
+ if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {
101
+ this._options.onLastListenerRemove(this);
112
102
  }
113
- };
114
- if (Array.isArray(disposables)) {
115
- disposables.push(result);
116
- }
117
- return result;
103
+ },
118
104
  };
119
- }
120
- return this._event;
121
- },
122
- enumerable: true,
123
- configurable: true
124
- });
105
+ if (Array.isArray(disposables)) {
106
+ disposables.push(result);
107
+ }
108
+ return result;
109
+ };
110
+ }
111
+ return this._event;
112
+ }
125
113
  /**
126
114
  * To be kept private to fire an event to
127
115
  * subscribers
128
116
  */
129
- Emitter.prototype.fire = function (event) {
117
+ fire(event) {
130
118
  if (this._callbacks) {
131
119
  this._callbacks.invoke.call(this._callbacks, event);
132
120
  }
133
- };
134
- Emitter.prototype.dispose = function () {
121
+ }
122
+ dispose() {
135
123
  if (this._callbacks) {
136
124
  this._callbacks.dispose();
137
125
  this._callbacks = undefined;
138
126
  }
139
- };
140
- Emitter._noop = function () { };
141
- return Emitter;
142
- }());
127
+ }
128
+ }
143
129
  exports.Emitter = Emitter;
130
+ Emitter._noop = function () { };
144
131
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/util/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/util/event.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
  interface CacheEntry<T> {
7
7
  key: string;
@@ -15,6 +15,7 @@ export declare class GarbageCollectedCache<T> {
15
15
  constructor(defaultMaxAgeSeconds: number, gcIntervalSeconds: number);
16
16
  set(key: string, value: T): void;
17
17
  get(key: string): T | undefined;
18
+ delete(key: string): void;
18
19
  protected regularlyCollectGarbage(): void;
19
20
  protected collectGarbage(): void;
20
21
  protected calcExpiryDate(maxAgeSeconds?: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"garbage-collected-cache.d.ts","sourceRoot":"","sources":["../../src/util/garbage-collected-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,UAAU,UAAU,CAAC,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAqB,CAAC,CAAC;IAI5B,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IAC/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAJhD,SAAS,CAAC,QAAQ,CAAC,KAAK,6BAAoC;gBAGrC,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,MAAM;IAIzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAazB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAQtC,SAAS,CAAC,uBAAuB;IAIjC,SAAS,CAAC,cAAc;IASxB,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;CAG3D"}
1
+ {"version":3,"file":"garbage-collected-cache.d.ts","sourceRoot":"","sources":["../../src/util/garbage-collected-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,UAAU,CAAC,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAqB,CAAC,CAAC;IAGpB,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IAAE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAFzG,SAAS,CAAC,QAAQ,CAAC,KAAK,6BAAoC;gBAE7B,oBAAoB,EAAE,MAAM,EAAqB,iBAAiB,EAAE,MAAM;IAIlG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAazB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAa/B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIzB,SAAS,CAAC,uBAAuB;IAIjC,SAAS,CAAC,cAAc;IASxB,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;CAG3D"}
@@ -1,74 +1,60 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
- * See License-AGPL.txt in the project root for license information.
5
+ * See License.AGPL.txt in the project root for license information.
6
6
  */
7
- var __values = (this && this.__values) || function(o) {
8
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
9
- if (m) return m.call(o);
10
- if (o && typeof o.length === "number") return {
11
- next: function () {
12
- if (o && i >= o.length) o = void 0;
13
- return { value: o && o[i++], done: !o };
14
- }
15
- };
16
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
17
- };
18
7
  Object.defineProperty(exports, "__esModule", { value: true });
19
- var GarbageCollectedCache = /** @class */ (function () {
20
- function GarbageCollectedCache(defaultMaxAgeSeconds, gcIntervalSeconds) {
8
+ exports.GarbageCollectedCache = void 0;
9
+ const repeat_1 = require("./repeat");
10
+ class GarbageCollectedCache {
11
+ constructor(defaultMaxAgeSeconds, gcIntervalSeconds) {
21
12
  this.defaultMaxAgeSeconds = defaultMaxAgeSeconds;
22
13
  this.gcIntervalSeconds = gcIntervalSeconds;
23
14
  this.store = new Map();
24
15
  this.regularlyCollectGarbage();
25
16
  }
26
- GarbageCollectedCache.prototype.set = function (key, value) {
27
- var oldValue = this.store.get(key);
17
+ set(key, value) {
18
+ const oldValue = this.store.get(key);
28
19
  if (oldValue) {
29
20
  // We don't want values to be cached indefinitely just because their queried often
30
21
  return;
31
22
  }
32
23
  this.store.set(key, {
33
- key: key,
34
- value: value,
24
+ key,
25
+ value,
35
26
  expiryDate: this.calcExpiryDate(),
36
27
  });
37
- };
38
- GarbageCollectedCache.prototype.get = function (key) {
39
- var entry = this.store.get(key);
28
+ }
29
+ get(key) {
30
+ const entry = this.store.get(key);
40
31
  if (!entry) {
41
32
  return undefined;
42
33
  }
43
- return entry.value;
44
- };
45
- GarbageCollectedCache.prototype.regularlyCollectGarbage = function () {
46
- var _this = this;
47
- setInterval(function () { return _this.collectGarbage(); }, this.gcIntervalSeconds * 1000);
48
- };
49
- GarbageCollectedCache.prototype.collectGarbage = function () {
50
- var e_1, _a;
51
- var now = Date.now();
52
- try {
53
- for (var _b = __values(this.store.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
54
- var entry = _c.value;
55
- if (entry.expiryDate < now) {
56
- this.store.delete(entry.key);
57
- }
58
- }
34
+ // Still valid?
35
+ if (entry.expiryDate < Date.now()) {
36
+ this.store.delete(entry.key);
37
+ return undefined;
59
38
  }
60
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
61
- finally {
62
- try {
63
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
39
+ return entry.value;
40
+ }
41
+ delete(key) {
42
+ this.store.delete(key);
43
+ }
44
+ regularlyCollectGarbage() {
45
+ (0, repeat_1.repeat)(() => this.collectGarbage(), this.gcIntervalSeconds * 1000);
46
+ }
47
+ collectGarbage() {
48
+ const now = Date.now();
49
+ for (const entry of this.store.values()) {
50
+ if (entry.expiryDate < now) {
51
+ this.store.delete(entry.key);
64
52
  }
65
- finally { if (e_1) throw e_1.error; }
66
53
  }
67
- };
68
- GarbageCollectedCache.prototype.calcExpiryDate = function (maxAgeSeconds) {
69
- return Date.now() + ((maxAgeSeconds || this.defaultMaxAgeSeconds) * 1000);
70
- };
71
- return GarbageCollectedCache;
72
- }());
54
+ }
55
+ calcExpiryDate(maxAgeSeconds) {
56
+ return Date.now() + (maxAgeSeconds || this.defaultMaxAgeSeconds) * 1000;
57
+ }
58
+ }
73
59
  exports.GarbageCollectedCache = GarbageCollectedCache;
74
60
  //# sourceMappingURL=garbage-collected-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"garbage-collected-cache.js","sourceRoot":"","sources":["../../src/util/garbage-collected-cache.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;AASH;IAGI,+BACuB,oBAA4B,EAC5B,iBAAyB;QADzB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAQ;QAJ7B,UAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAKxD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAEM,mCAAG,GAAV,UAAW,GAAW,EAAE,KAAQ;QAC5B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE;YACV,kFAAkF;YAClF,OAAO;SACV;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,GAAG,KAAA;YACH,KAAK,OAAA;YACL,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;SACpC,CAAC,CAAC;IACP,CAAC;IAEM,mCAAG,GAAV,UAAW,GAAW;QAClB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IAES,uDAAuB,GAAjC;QAAA,iBAEC;QADG,WAAW,CAAC,cAAM,OAAA,KAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;IAES,8CAAc,GAAxB;;QACI,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;;YACvB,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAApC,IAAM,KAAK,WAAA;gBACZ,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE;oBACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAChC;aACJ;;;;;;;;;IACL,CAAC;IAES,8CAAc,GAAxB,UAAyB,aAAsB;QAC3C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IACL,4BAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,sDAAqB"}
1
+ {"version":3,"file":"garbage-collected-cache.js","sourceRoot":"","sources":["../../src/util/garbage-collected-cache.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qCAAkC;AAQlC,MAAa,qBAAqB;IAG9B,YAA+B,oBAA4B,EAAqB,iBAAyB;QAA1E,yBAAoB,GAApB,oBAAoB,CAAQ;QAAqB,sBAAiB,GAAjB,iBAAiB,CAAQ;QAFtF,UAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAGxD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE;YACV,kFAAkF;YAClF,OAAO;SACV;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,GAAG;YACH,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;SACpC,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;QACD,eAAe;QACf,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,GAAW;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAES,uBAAuB;QAC7B,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACvE,CAAC;IAES,cAAc;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAChC;SACJ;IACL,CAAC;IAES,cAAc,CAAC,aAAsB;QAC3C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC;CACJ;AArDD,sDAqDC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License.AGPL.txt in the project root for license information.
5
+ */
6
+ export declare function generateWorkspaceID(firstSegment?: string, secondSegment?: string): Promise<string>;
7
+ export declare const colors: string[];
8
+ export declare const animals: string[];
9
+ //# sourceMappingURL=generate-workspace-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-workspace-id.d.ts","sourceRoot":"","sources":["../../src/util/generate-workspace-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxG;AA8BD,eAAO,MAAM,MAAM,UAsDlB,CAAC;AAEF,eAAO,MAAM,OAAO,UA2XnB,CAAC"}