@gitpod/gitpod-protocol 0.1.5-v0.6.0-beta4 → 0.1.5-vn-6525.75

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 (344) hide show
  1. package/data/gitpod-schema.json +68 -26
  2. package/lib/accounting-protocol.d.ts +155 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +100 -0
  5. package/lib/accounting-protocol.js.map +1 -0
  6. package/lib/admin-protocol.d.ts +33 -4
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +15 -0
  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/auth.d.ts +25 -0
  15. package/lib/auth.d.ts.map +1 -0
  16. package/lib/auth.js +16 -0
  17. package/lib/auth.js.map +1 -0
  18. package/lib/context-url.d.ts +31 -0
  19. package/lib/context-url.d.ts.map +1 -0
  20. package/lib/context-url.js +102 -0
  21. package/lib/context-url.js.map +1 -0
  22. package/lib/context-url.spec.d.ts +14 -0
  23. package/lib/context-url.spec.d.ts.map +1 -0
  24. package/lib/context-url.spec.js +109 -0
  25. package/lib/context-url.spec.js.map +1 -0
  26. package/lib/email-protocol.d.ts +1 -2
  27. package/lib/email-protocol.d.ts.map +1 -1
  28. package/lib/email-protocol.js +4 -4
  29. package/lib/email-protocol.js.map +1 -1
  30. package/lib/encryption/container-module.d.ts.map +1 -1
  31. package/lib/encryption/container-module.js +5 -4
  32. package/lib/encryption/container-module.js.map +1 -1
  33. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  34. package/lib/encryption/encryption-engine.js +25 -26
  35. package/lib/encryption/encryption-engine.js.map +1 -1
  36. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  37. package/lib/encryption/encryption-engine.spec.js +29 -37
  38. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  39. package/lib/encryption/encryption-service.d.ts.map +1 -1
  40. package/lib/encryption/encryption-service.js +30 -44
  41. package/lib/encryption/encryption-service.js.map +1 -1
  42. package/lib/encryption/key-provider.d.ts.map +1 -1
  43. package/lib/encryption/key-provider.js +31 -38
  44. package/lib/encryption/key-provider.js.map +1 -1
  45. package/lib/env.d.ts +2 -3
  46. package/lib/env.d.ts.map +1 -1
  47. package/lib/env.js +24 -25
  48. package/lib/env.js.map +1 -1
  49. package/lib/gitpod-file-parser.d.ts.map +1 -1
  50. package/lib/gitpod-file-parser.js +26 -42
  51. package/lib/gitpod-file-parser.js.map +1 -1
  52. package/lib/gitpod-file-parser.spec.js +145 -142
  53. package/lib/gitpod-file-parser.spec.js.map +1 -1
  54. package/lib/gitpod-service.d.ts +172 -33
  55. package/lib/gitpod-service.d.ts.map +1 -1
  56. package/lib/gitpod-service.js +187 -267
  57. package/lib/gitpod-service.js.map +1 -1
  58. package/lib/headless-workspace-log.d.ts +9 -11
  59. package/lib/headless-workspace-log.d.ts.map +1 -1
  60. package/lib/headless-workspace-log.js +6 -8
  61. package/lib/headless-workspace-log.js.map +1 -1
  62. package/lib/ide-frontend-service.d.ts +5 -1
  63. package/lib/ide-frontend-service.d.ts.map +1 -1
  64. package/lib/ide-protocol.d.ts +105 -0
  65. package/lib/ide-protocol.d.ts.map +1 -0
  66. package/lib/{util/without.js → ide-protocol.js} +2 -2
  67. package/lib/ide-protocol.js.map +1 -0
  68. package/lib/index.d.ts +16 -10
  69. package/lib/index.d.ts.map +1 -1
  70. package/lib/index.js +7 -1
  71. package/lib/index.js.map +1 -1
  72. package/lib/installation-admin-protocol.d.ts +27 -0
  73. package/lib/installation-admin-protocol.d.ts.map +1 -0
  74. package/lib/installation-admin-protocol.js +30 -0
  75. package/lib/installation-admin-protocol.js.map +1 -0
  76. package/lib/license-protocol.d.ts.map +1 -1
  77. package/lib/license-protocol.js.map +1 -1
  78. package/lib/messaging/browser/connection.d.ts +5 -3
  79. package/lib/messaging/browser/connection.d.ts.map +1 -1
  80. package/lib/messaging/browser/connection.js +184 -34
  81. package/lib/messaging/browser/connection.js.map +1 -1
  82. package/lib/messaging/browser/window-connection.d.ts +4 -4
  83. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  84. package/lib/messaging/browser/window-connection.js +42 -59
  85. package/lib/messaging/browser/window-connection.js.map +1 -1
  86. package/lib/messaging/client-call-metrics.d.ts +35 -0
  87. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  88. package/lib/messaging/client-call-metrics.js +83 -0
  89. package/lib/messaging/client-call-metrics.js.map +1 -0
  90. package/lib/messaging/error.d.ts +5 -1
  91. package/lib/messaging/error.d.ts.map +1 -1
  92. package/lib/messaging/error.js +10 -2
  93. package/lib/messaging/error.js.map +1 -1
  94. package/lib/messaging/handler.d.ts +10 -0
  95. package/lib/messaging/handler.d.ts.map +1 -1
  96. package/lib/messaging/handler.js +1 -1
  97. package/lib/messaging/node/connection.d.ts +1 -17
  98. package/lib/messaging/node/connection.d.ts.map +1 -1
  99. package/lib/messaging/node/connection.js +24 -60
  100. package/lib/messaging/node/connection.js.map +1 -1
  101. package/lib/messaging/proxy-factory.d.ts +3 -1
  102. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  103. package/lib/messaging/proxy-factory.js +75 -162
  104. package/lib/messaging/proxy-factory.js.map +1 -1
  105. package/lib/oss-allowlist.d.ts +14 -0
  106. package/lib/oss-allowlist.d.ts.map +1 -0
  107. package/lib/oss-allowlist.js +8 -0
  108. package/lib/oss-allowlist.js.map +1 -0
  109. package/lib/payment-protocol.d.ts +18 -0
  110. package/lib/payment-protocol.d.ts.map +1 -0
  111. package/lib/payment-protocol.js +13 -0
  112. package/lib/payment-protocol.js.map +1 -0
  113. package/lib/permission.d.ts +10 -5
  114. package/lib/permission.d.ts.map +1 -1
  115. package/lib/permission.js +41 -35
  116. package/lib/permission.js.map +1 -1
  117. package/lib/plans.d.ts +210 -0
  118. package/lib/plans.d.ts.map +1 -0
  119. package/lib/plans.js +605 -0
  120. package/lib/plans.js.map +1 -0
  121. package/lib/protocol.d.ts +164 -88
  122. package/lib/protocol.d.ts.map +1 -1
  123. package/lib/protocol.js +184 -199
  124. package/lib/protocol.js.map +1 -1
  125. package/lib/snapshot-url.d.ts +14 -0
  126. package/lib/snapshot-url.d.ts.map +1 -0
  127. package/lib/snapshot-url.js +26 -0
  128. package/lib/snapshot-url.js.map +1 -0
  129. package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +2 -3
  130. package/lib/snapshot-url.spec.d.ts.map +1 -0
  131. package/lib/snapshot-url.spec.js +41 -0
  132. package/lib/snapshot-url.spec.js.map +1 -0
  133. package/lib/team-subscription-protocol.d.ts +75 -0
  134. package/lib/team-subscription-protocol.d.ts.map +1 -0
  135. package/lib/team-subscription-protocol.js +63 -0
  136. package/lib/team-subscription-protocol.js.map +1 -0
  137. package/lib/teams-projects-protocol.d.ts +113 -0
  138. package/lib/teams-projects-protocol.d.ts.map +1 -0
  139. package/lib/teams-projects-protocol.js +30 -0
  140. package/lib/teams-projects-protocol.js.map +1 -0
  141. package/lib/typings/globals.d.ts +2 -2
  142. package/lib/typings/globals.d.ts.map +1 -1
  143. package/lib/util/analytics.d.ts +8 -0
  144. package/lib/util/analytics.d.ts.map +1 -0
  145. package/lib/util/analytics.js +88 -0
  146. package/lib/util/analytics.js.map +1 -0
  147. package/lib/util/async-iterator.d.ts.map +1 -1
  148. package/lib/util/async-iterator.js +57 -135
  149. package/lib/util/async-iterator.js.map +1 -1
  150. package/lib/util/cancelable.js +17 -59
  151. package/lib/util/cancelable.js.map +1 -1
  152. package/lib/util/date-time.js +11 -11
  153. package/lib/util/date-time.js.map +1 -1
  154. package/lib/util/deferred.js +10 -12
  155. package/lib/util/deferred.js.map +1 -1
  156. package/lib/util/disposable.d.ts.map +1 -1
  157. package/lib/util/disposable.js +27 -40
  158. package/lib/util/disposable.js.map +1 -1
  159. package/lib/util/event.d.ts.map +1 -1
  160. package/lib/util/event.js +63 -77
  161. package/lib/util/event.js.map +1 -1
  162. package/lib/util/garbage-collected-cache.d.ts +1 -0
  163. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  164. package/lib/util/garbage-collected-cache.js +27 -47
  165. package/lib/util/garbage-collected-cache.js.map +1 -1
  166. package/lib/util/generate-workspace-id.d.ts +4 -0
  167. package/lib/util/generate-workspace-id.d.ts.map +1 -0
  168. package/lib/util/generate-workspace-id.js +487 -0
  169. package/lib/util/generate-workspace-id.js.map +1 -0
  170. package/{src/theia-plugins.ts → lib/util/generate-workspace-id.spec.d.ts} +2 -6
  171. package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
  172. package/lib/util/generate-workspace-id.spec.js +91 -0
  173. package/lib/util/generate-workspace-id.spec.js.map +1 -0
  174. package/lib/util/gitpod-cookie.d.ts +20 -0
  175. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  176. package/lib/util/gitpod-cookie.js +41 -0
  177. package/lib/util/gitpod-cookie.js.map +1 -0
  178. package/lib/util/gitpod-host-url.d.ts +2 -2
  179. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  180. package/lib/util/gitpod-host-url.js +109 -106
  181. package/lib/util/gitpod-host-url.js.map +1 -1
  182. package/lib/util/gitpod-host-url.spec.d.ts +8 -1
  183. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  184. package/lib/util/gitpod-host-url.spec.js +114 -22
  185. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  186. package/lib/util/grpc.d.ts +15 -0
  187. package/lib/util/grpc.d.ts.map +1 -0
  188. package/lib/util/grpc.js +18 -0
  189. package/lib/util/grpc.js.map +1 -0
  190. package/lib/util/jaeger-client-types.d.ts +68 -0
  191. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  192. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +1 -1
  193. package/lib/util/jaeger-client-types.js.map +1 -0
  194. package/lib/util/logging.d.ts +49 -33
  195. package/lib/util/logging.d.ts.map +1 -1
  196. package/lib/util/logging.js +125 -129
  197. package/lib/util/logging.js.map +1 -1
  198. package/lib/util/make-link.js +5 -5
  199. package/lib/util/make-link.js.map +1 -1
  200. package/lib/util/parse-workspace-id.d.ts +13 -3
  201. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  202. package/lib/util/parse-workspace-id.js +37 -8
  203. package/lib/util/parse-workspace-id.js.map +1 -1
  204. package/lib/util/parse-workspace-id.spec.d.ts +8 -0
  205. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  206. package/lib/util/parse-workspace-id.spec.js +127 -47
  207. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  208. package/lib/util/queue.js +16 -55
  209. package/lib/util/queue.js.map +1 -1
  210. package/lib/util/queue.spec.js +147 -288
  211. package/lib/util/queue.spec.js.map +1 -1
  212. package/lib/util/repeat.d.ts +15 -0
  213. package/lib/util/repeat.d.ts.map +1 -0
  214. package/lib/util/repeat.js +55 -0
  215. package/lib/util/repeat.js.map +1 -0
  216. package/lib/util/semaphore.d.ts.map +1 -1
  217. package/lib/util/semaphore.js +15 -46
  218. package/lib/util/semaphore.js.map +1 -1
  219. package/lib/util/skip-if.d.ts.map +1 -1
  220. package/lib/util/skip-if.js +6 -6
  221. package/lib/util/skip-if.js.map +1 -1
  222. package/lib/util/timeutil.d.ts.map +1 -1
  223. package/lib/util/timeutil.js +28 -16
  224. package/lib/util/timeutil.js.map +1 -1
  225. package/lib/util/timeutil.spec.d.ts.map +1 -1
  226. package/lib/util/timeutil.spec.js +21 -24
  227. package/lib/util/timeutil.spec.js.map +1 -1
  228. package/lib/util/tracing.d.ts +52 -6
  229. package/lib/util/tracing.d.ts.map +1 -1
  230. package/lib/util/tracing.js +199 -64
  231. package/lib/util/tracing.js.map +1 -1
  232. package/lib/util/tracing.spec.d.ts +7 -0
  233. package/lib/util/tracing.spec.d.ts.map +1 -0
  234. package/lib/util/tracing.spec.js +121 -0
  235. package/lib/util/tracing.spec.js.map +1 -0
  236. package/lib/util/workspace-port-authentication.d.ts +7 -7
  237. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  238. package/lib/util/workspace-port-authentication.js +10 -12
  239. package/lib/util/workspace-port-authentication.js.map +1 -1
  240. package/lib/workspace-cluster.d.ts +76 -0
  241. package/lib/workspace-cluster.d.ts.map +1 -0
  242. package/lib/workspace-cluster.js +31 -0
  243. package/lib/workspace-cluster.js.map +1 -0
  244. package/lib/workspace-instance.d.ts +28 -4
  245. package/lib/workspace-instance.d.ts.map +1 -1
  246. package/lib/wsready.d.ts +1 -1
  247. package/lib/wsready.d.ts.map +1 -1
  248. package/lib/wsready.js +2 -2
  249. package/package.json +33 -17
  250. package/pkg-yarn.lock +18 -9
  251. package/provenance-bundle.jsonl +2 -0
  252. package/src/accounting-protocol.ts +231 -0
  253. package/src/admin-protocol.ts +71 -19
  254. package/src/analytics.ts +52 -0
  255. package/src/auth.ts +27 -0
  256. package/src/context-url.spec.ts +67 -0
  257. package/src/context-url.ts +109 -0
  258. package/src/email-protocol.ts +5 -7
  259. package/src/encryption/container-module.ts +2 -3
  260. package/src/encryption/encryption-engine.spec.ts +9 -8
  261. package/src/encryption/encryption-engine.ts +14 -14
  262. package/src/encryption/encryption-service.ts +4 -5
  263. package/src/encryption/key-provider.ts +16 -19
  264. package/src/env.ts +18 -18
  265. package/src/gitpod-file-parser.spec.ts +55 -61
  266. package/src/gitpod-file-parser.ts +16 -17
  267. package/src/gitpod-service.ts +327 -102
  268. package/src/headless-workspace-log.ts +12 -14
  269. package/src/ide-frontend-service.ts +6 -2
  270. package/src/ide-protocol.ts +119 -0
  271. package/src/index.ts +16 -10
  272. package/src/installation-admin-protocol.ts +42 -0
  273. package/src/license-protocol.ts +5 -6
  274. package/src/messaging/browser/connection.ts +197 -18
  275. package/src/messaging/browser/window-connection.ts +39 -29
  276. package/src/messaging/client-call-metrics.ts +96 -0
  277. package/src/messaging/error.ts +15 -5
  278. package/src/messaging/handler.ts +13 -1
  279. package/src/messaging/node/connection.ts +23 -70
  280. package/src/messaging/proxy-factory.ts +35 -34
  281. package/src/oss-allowlist.ts +15 -0
  282. package/src/payment-protocol.ts +20 -0
  283. package/src/permission.ts +42 -38
  284. package/src/plans.ts +679 -0
  285. package/src/protocol.ts +384 -279
  286. package/src/snapshot-url.spec.ts +27 -0
  287. package/src/snapshot-url.ts +27 -0
  288. package/src/team-subscription-protocol.ts +123 -0
  289. package/src/teams-projects-protocol.ts +147 -0
  290. package/src/typings/globals.ts +4 -4
  291. package/src/util/analytics.ts +109 -0
  292. package/src/util/async-iterator.ts +4 -5
  293. package/src/util/cancelable.ts +3 -3
  294. package/src/util/date-time.ts +8 -8
  295. package/src/util/deferred.ts +6 -6
  296. package/src/util/disposable.ts +3 -6
  297. package/src/util/event.ts +9 -11
  298. package/src/util/garbage-collected-cache.ts +11 -8
  299. package/src/util/generate-workspace-id.spec.ts +51 -0
  300. package/src/util/generate-workspace-id.ts +475 -0
  301. package/src/util/gitpod-cookie.ts +38 -0
  302. package/src/util/gitpod-host-url.spec.ts +63 -7
  303. package/src/util/gitpod-host-url.ts +55 -38
  304. package/src/util/grpc.ts +15 -0
  305. package/src/util/jaeger-client-types.ts +102 -0
  306. package/src/util/logging.ts +145 -71
  307. package/src/util/make-link.ts +6 -7
  308. package/src/util/parse-workspace-id.spec.ts +60 -10
  309. package/src/util/parse-workspace-id.ts +38 -8
  310. package/src/util/queue.spec.ts +28 -26
  311. package/src/util/repeat.ts +45 -0
  312. package/src/util/semaphore.ts +6 -8
  313. package/src/util/skip-if.ts +10 -7
  314. package/src/util/timeutil.spec.ts +14 -15
  315. package/src/util/timeutil.ts +19 -15
  316. package/src/util/tracing.spec.ts +88 -0
  317. package/src/util/tracing.ts +202 -31
  318. package/src/util/workspace-port-authentication.ts +10 -13
  319. package/src/workspace-cluster.ts +107 -0
  320. package/src/workspace-instance.ts +72 -30
  321. package/src/wsready.ts +3 -3
  322. package/data/builtin-theia-plugins.json +0 -372
  323. package/lib/messaging/connection-error-handler.d.ts +0 -27
  324. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  325. package/lib/messaging/connection-error-handler.js +0 -46
  326. package/lib/messaging/connection-error-handler.js.map +0 -1
  327. package/lib/theia-plugins.d.ts +0 -11
  328. package/lib/theia-plugins.d.ts.map +0 -1
  329. package/lib/theia-plugins.js.map +0 -1
  330. package/lib/util/repeater.d.ts +0 -22
  331. package/lib/util/repeater.d.ts.map +0 -1
  332. package/lib/util/repeater.js +0 -118
  333. package/lib/util/repeater.js.map +0 -1
  334. package/lib/util/safe-promise.d.ts +0 -11
  335. package/lib/util/safe-promise.d.ts.map +0 -1
  336. package/lib/util/safe-promise.js +0 -34
  337. package/lib/util/safe-promise.js.map +0 -1
  338. package/lib/util/without.d.ts +0 -7
  339. package/lib/util/without.d.ts.map +0 -1
  340. package/lib/util/without.js.map +0 -1
  341. package/src/messaging/connection-error-handler.ts +0 -62
  342. package/src/util/jaeger-client.d.ts +0 -105
  343. package/src/util/repeater.ts +0 -49
  344. package/src/util/safe-promise.ts +0 -26
@@ -5,23 +5,52 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.parseWorkspaceIdFromHostname = void 0;
8
+ exports.matchesNewWorkspaceIdExactly = exports.matchesInstanceIdOrLegacyWorkspaceIdExactly = exports.parseWorkspaceIdFromHostname = void 0;
9
+ const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}/;
10
+ const REGEX_WORKSPACE_ID_EXACT = new RegExp(`^${REGEX_WORKSPACE_ID.source}$`);
11
+ // We need to parse the workspace id precisely here to get the case '<some-str>-<port>-<wsid>.ws.' right
12
+ const REGEX_WORKSPACE_ID_FROM_HOSTNAME = new RegExp(`(${REGEX_WORKSPACE_ID.source})\.ws`);
13
+ const REGEX_WORKSPACE_ID_LEGACY = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;
14
+ const REGEX_WORKSPACE_ID_LEGACY_EXACT = new RegExp(`^${REGEX_WORKSPACE_ID_LEGACY.source}$`);
15
+ const REGEX_WORKSPACE_ID_LEGACY_FROM_HOSTNAME = new RegExp(`(${REGEX_WORKSPACE_ID_LEGACY.source})\.ws`);
9
16
  /**
10
17
  * Hostname may be of the form:
11
- * - b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io
12
- * - 1234-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io
13
- * - webview-1234-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io (or any other string replacing webview)
18
+ * - moccasin-ferret-155799b3.ws-eu01.gitpod.io
19
+ * - 1234-moccasin-ferret-155799b3.ws-eu01.gitpod.io
20
+ * - webview-1234-moccasin-ferret-155799b3.ws-eu01.gitpod.io (or any other string replacing webview)
14
21
  * @param hostname The hostname the request is headed to
15
22
  */
16
- exports.parseWorkspaceIdFromHostname = function (hostname) {
17
- // We need to parse the workspace id precisely here to get the case '<some-str>-<port>-<wsid>.ws.' right
18
- var wsIdExpression = /([a-z][0-9a-z]+\-([0-9a-z]+\-){3}[0-9a-z]+)\.ws/g;
19
- var match = wsIdExpression.exec(hostname);
23
+ const parseWorkspaceIdFromHostname = function (hostname) {
24
+ const match = REGEX_WORKSPACE_ID_FROM_HOSTNAME.exec(hostname);
20
25
  if (match && match.length >= 2) {
21
26
  return match[1];
22
27
  }
23
28
  else {
29
+ const legacyMatch = REGEX_WORKSPACE_ID_LEGACY_FROM_HOSTNAME.exec(hostname);
30
+ if (legacyMatch && legacyMatch.length >= 2) {
31
+ return legacyMatch[1];
32
+ }
24
33
  return undefined;
25
34
  }
26
35
  };
36
+ exports.parseWorkspaceIdFromHostname = parseWorkspaceIdFromHostname;
37
+ /** Equalls UUIDv4 (and REGEX_WORKSPACE_ID_LEGACY!) */
38
+ const REGEX_INSTANCE_ID = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;
39
+ const REGEX_INSTANCE_ID_EXACT = new RegExp(`^${REGEX_INSTANCE_ID.source}$`);
40
+ /**
41
+ * @param maybeId
42
+ * @returns
43
+ */
44
+ const matchesInstanceIdOrLegacyWorkspaceIdExactly = function (maybeId) {
45
+ return REGEX_INSTANCE_ID_EXACT.test(maybeId) || REGEX_WORKSPACE_ID_LEGACY_EXACT.test(maybeId);
46
+ };
47
+ exports.matchesInstanceIdOrLegacyWorkspaceIdExactly = matchesInstanceIdOrLegacyWorkspaceIdExactly;
48
+ /**
49
+ * @param maybeWorkspaceId
50
+ * @returns
51
+ */
52
+ const matchesNewWorkspaceIdExactly = function (maybeWorkspaceId) {
53
+ return REGEX_WORKSPACE_ID_EXACT.test(maybeWorkspaceId);
54
+ };
55
+ exports.matchesNewWorkspaceIdExactly = matchesNewWorkspaceIdExactly;
27
56
  //# sourceMappingURL=parse-workspace-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH;;;;;;GAMG;AACU,QAAA,4BAA4B,GAAG,UAAS,QAAgB;IACjE,wGAAwG;IACxG,IAAM,cAAc,GAAG,kDAAkD,CAAC;IAC1E,IAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,kBAAkB,GAAG,8CAA8C,CAAC;AAC1E,MAAM,wBAAwB,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,wGAAwG;AACxG,MAAM,gCAAgC,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,OAAO,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAG,8DAA8D,CAAC;AACjG,MAAM,+BAA+B,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5F,MAAM,uCAAuC,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,OAAO,CAAC,CAAC;AAExG;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,UAAU,QAAgB;IAClE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,MAAM,WAAW,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC;AAEF,sDAAsD;AACtD,MAAM,iBAAiB,GAAG,8DAA8D,CAAC;AACzF,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5E;;;GAGG;AACI,MAAM,2CAA2C,GAAG,UAAU,OAAe;IAChF,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClG,CAAC,CAAC;AAFW,QAAA,2CAA2C,+CAEtD;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,UAAU,gBAAwB;IAC1E,OAAO,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC"}
@@ -8,5 +8,13 @@ export declare class ParseWorkspaceIdTest {
8
8
  parseWorkspaceIdFromHostname_fromWorkspacePortLocation(): void;
9
9
  parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix(): void;
10
10
  parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost(): void;
11
+ parseLegacyWorkspaceIdFromHostname_fromWorkspaceLocation(): void;
12
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocation(): void;
13
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix(): void;
14
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost(): void;
15
+ matchesInstanceIdOrLegacyWorkspaceIdExactly_positive(): void;
16
+ matchesInstanceIdOrLegacyWorkspaceIdExactly_negative(): void;
17
+ matchesWorkspaceIdExactly_new_positive(): void;
18
+ matchesWorkspaceIdExactly_new_negative(): void;
11
19
  }
12
20
  //# sourceMappingURL=parse-workspace-id.spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-workspace-id.spec.d.ts","sourceRoot":"","sources":["../../src/util/parse-workspace-id.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,qBACa,oBAAoB;IAEhB,kDAAkD;IAKlD,sDAAsD;IAKtD,uEAAuE;IAKvE,iFAAiF;CAIjG"}
1
+ {"version":3,"file":"parse-workspace-id.spec.d.ts","sourceRoot":"","sources":["../../src/util/parse-workspace-id.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,qBACa,oBAAoB;IAChB,kDAAkD;IAKlD,sDAAsD;IAKtD,uEAAuE;IAKvE,iFAAiF;IAQjF,wDAAwD;IAKxD,4DAA4D;IAK5D,6EAA6E;IAO7E,uFAAuF;IAQvF,oDAAoD;IAIpD,oDAAoD;IAMpD,sCAAsC;IAItC,sCAAsC;CAItD"}
@@ -15,58 +15,138 @@ var __metadata = (this && this.__metadata) || function (k, v) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ParseWorkspaceIdTest = void 0;
18
- var chai = require("chai");
19
- var mocha_typescript_1 = require("mocha-typescript");
20
- var parse_workspace_id_1 = require("./parse-workspace-id");
21
- var expect = chai.expect;
22
- var ParseWorkspaceIdTest = /** @class */ (function () {
23
- function ParseWorkspaceIdTest() {
18
+ const chai = require("chai");
19
+ const mocha_typescript_1 = require("mocha-typescript");
20
+ const parse_workspace_id_1 = require("./parse-workspace-id");
21
+ const expect = chai.expect;
22
+ let ParseWorkspaceIdTest = class ParseWorkspaceIdTest {
23
+ parseWorkspaceIdFromHostname_fromWorkspaceLocation() {
24
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("moccasin-ferret-155799b3.ws-eu01.gitpod.io");
25
+ expect(actual).to.equal("moccasin-ferret-155799b3");
24
26
  }
25
- ParseWorkspaceIdTest.prototype.parseWorkspaceIdFromHostname_fromWorkspaceLocation = function () {
26
- var actual = parse_workspace_id_1.parseWorkspaceIdFromHostname("b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
27
+ parseWorkspaceIdFromHostname_fromWorkspacePortLocation() {
28
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("3000-moccasin-ferret-155799b3.ws-eu01.gitpod.io");
29
+ expect(actual).to.equal("moccasin-ferret-155799b3");
30
+ }
31
+ parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix() {
32
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("webview-3000-moccasin-ferret-155799b3.ws-eu01.gitpod.io");
33
+ expect(actual).to.equal("moccasin-ferret-155799b3");
34
+ }
35
+ parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost() {
36
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("webview-3000-moccasin-ferret-155799b3.ws-eu01.some.subdomain.somehost.com");
37
+ expect(actual).to.equal("moccasin-ferret-155799b3");
38
+ }
39
+ // legacy mode
40
+ parseLegacyWorkspaceIdFromHostname_fromWorkspaceLocation() {
41
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
27
42
  expect(actual).to.equal("b7e0eaf8-ec73-44ec-81ea-04859263b656");
28
- };
29
- ParseWorkspaceIdTest.prototype.parseWorkspaceIdFromHostname_fromWorkspacePortLocation = function () {
30
- var actual = parse_workspace_id_1.parseWorkspaceIdFromHostname("3000-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
43
+ }
44
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocation() {
45
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("3000-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
31
46
  expect(actual).to.equal("b7e0eaf8-ec73-44ec-81ea-04859263b656");
32
- };
33
- ParseWorkspaceIdTest.prototype.parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix = function () {
34
- var actual = parse_workspace_id_1.parseWorkspaceIdFromHostname("webview-3000-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
47
+ }
48
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix() {
49
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("webview-3000-b7e0eaf8-ec73-44ec-81ea-04859263b656.ws-eu01.gitpod.io");
35
50
  expect(actual).to.equal("b7e0eaf8-ec73-44ec-81ea-04859263b656");
36
- };
37
- ParseWorkspaceIdTest.prototype.parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost = function () {
38
- var actual = parse_workspace_id_1.parseWorkspaceIdFromHostname("webview-3000-ca81a50f-09d7-465c-acd9-264a747d5351.ws-eu01.some.subdomain.somehost.com");
51
+ }
52
+ parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost() {
53
+ const actual = (0, parse_workspace_id_1.parseWorkspaceIdFromHostname)("webview-3000-ca81a50f-09d7-465c-acd9-264a747d5351.ws-eu01.some.subdomain.somehost.com");
39
54
  expect(actual).to.equal("ca81a50f-09d7-465c-acd9-264a747d5351");
40
- };
41
- __decorate([
42
- mocha_typescript_1.test,
43
- __metadata("design:type", Function),
44
- __metadata("design:paramtypes", []),
45
- __metadata("design:returntype", void 0)
46
- ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspaceLocation", null);
47
- __decorate([
48
- mocha_typescript_1.test,
49
- __metadata("design:type", Function),
50
- __metadata("design:paramtypes", []),
51
- __metadata("design:returntype", void 0)
52
- ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocation", null);
53
- __decorate([
54
- mocha_typescript_1.test,
55
- __metadata("design:type", Function),
56
- __metadata("design:paramtypes", []),
57
- __metadata("design:returntype", void 0)
58
- ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix", null);
59
- __decorate([
60
- mocha_typescript_1.test,
61
- __metadata("design:type", Function),
62
- __metadata("design:paramtypes", []),
63
- __metadata("design:returntype", void 0)
64
- ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost", null);
65
- ParseWorkspaceIdTest = __decorate([
66
- mocha_typescript_1.suite
67
- ], ParseWorkspaceIdTest);
68
- return ParseWorkspaceIdTest;
69
- }());
55
+ }
56
+ // match - instance ID
57
+ matchesInstanceIdOrLegacyWorkspaceIdExactly_positive() {
58
+ const actual = (0, parse_workspace_id_1.matchesInstanceIdOrLegacyWorkspaceIdExactly)("b7e0eaf8-ec73-44ec-81ea-04859263b656");
59
+ expect(actual).to.be.true;
60
+ }
61
+ matchesInstanceIdOrLegacyWorkspaceIdExactly_negative() {
62
+ const actual = (0, parse_workspace_id_1.matchesInstanceIdOrLegacyWorkspaceIdExactly)("b7e0eaf8-ec73-44ec-81a-04859263b656");
63
+ expect(actual).to.be.false;
64
+ }
65
+ // match - new workspace ID
66
+ matchesWorkspaceIdExactly_new_positive() {
67
+ const actual = (0, parse_workspace_id_1.matchesNewWorkspaceIdExactly)("moccasin-ferret-155799b3");
68
+ expect(actual).to.be.true;
69
+ }
70
+ matchesWorkspaceIdExactly_new_negative() {
71
+ const actual = (0, parse_workspace_id_1.matchesNewWorkspaceIdExactly)("moccasin-ferret-15599b3");
72
+ expect(actual).to.be.false;
73
+ }
74
+ };
75
+ __decorate([
76
+ mocha_typescript_1.test,
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", []),
79
+ __metadata("design:returntype", void 0)
80
+ ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspaceLocation", null);
81
+ __decorate([
82
+ mocha_typescript_1.test,
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", []),
85
+ __metadata("design:returntype", void 0)
86
+ ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocation", null);
87
+ __decorate([
88
+ mocha_typescript_1.test,
89
+ __metadata("design:type", Function),
90
+ __metadata("design:paramtypes", []),
91
+ __metadata("design:returntype", void 0)
92
+ ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix", null);
93
+ __decorate([
94
+ mocha_typescript_1.test,
95
+ __metadata("design:type", Function),
96
+ __metadata("design:paramtypes", []),
97
+ __metadata("design:returntype", void 0)
98
+ ], ParseWorkspaceIdTest.prototype, "parseWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost", null);
99
+ __decorate([
100
+ mocha_typescript_1.test,
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", []),
103
+ __metadata("design:returntype", void 0)
104
+ ], ParseWorkspaceIdTest.prototype, "parseLegacyWorkspaceIdFromHostname_fromWorkspaceLocation", null);
105
+ __decorate([
106
+ mocha_typescript_1.test,
107
+ __metadata("design:type", Function),
108
+ __metadata("design:paramtypes", []),
109
+ __metadata("design:returntype", void 0)
110
+ ], ParseWorkspaceIdTest.prototype, "parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocation", null);
111
+ __decorate([
112
+ mocha_typescript_1.test,
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", []),
115
+ __metadata("design:returntype", void 0)
116
+ ], ParseWorkspaceIdTest.prototype, "parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefix", null);
117
+ __decorate([
118
+ mocha_typescript_1.test,
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", []),
121
+ __metadata("design:returntype", void 0)
122
+ ], ParseWorkspaceIdTest.prototype, "parseLegacyWorkspaceIdFromHostname_fromWorkspacePortLocationWithWebviewPrefixCustomHost", null);
123
+ __decorate([
124
+ mocha_typescript_1.test,
125
+ __metadata("design:type", Function),
126
+ __metadata("design:paramtypes", []),
127
+ __metadata("design:returntype", void 0)
128
+ ], ParseWorkspaceIdTest.prototype, "matchesInstanceIdOrLegacyWorkspaceIdExactly_positive", null);
129
+ __decorate([
130
+ mocha_typescript_1.test,
131
+ __metadata("design:type", Function),
132
+ __metadata("design:paramtypes", []),
133
+ __metadata("design:returntype", void 0)
134
+ ], ParseWorkspaceIdTest.prototype, "matchesInstanceIdOrLegacyWorkspaceIdExactly_negative", null);
135
+ __decorate([
136
+ mocha_typescript_1.test,
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", []),
139
+ __metadata("design:returntype", void 0)
140
+ ], ParseWorkspaceIdTest.prototype, "matchesWorkspaceIdExactly_new_positive", null);
141
+ __decorate([
142
+ mocha_typescript_1.test,
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", []),
145
+ __metadata("design:returntype", void 0)
146
+ ], ParseWorkspaceIdTest.prototype, "matchesWorkspaceIdExactly_new_negative", null);
147
+ ParseWorkspaceIdTest = __decorate([
148
+ mocha_typescript_1.suite
149
+ ], ParseWorkspaceIdTest);
70
150
  exports.ParseWorkspaceIdTest = ParseWorkspaceIdTest;
71
151
  module.exports = new ParseWorkspaceIdTest();
72
152
  //# sourceMappingURL=parse-workspace-id.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,2BAA6B;AAC7B,qDAA+C;AAC/C,2DAAoE;AACpE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAG3B;IAAA;IAqBA,CAAC;IAnBgB,iFAAkD,GAAzD;QACF,IAAM,MAAM,GAAG,iDAA4B,CAAC,wDAAwD,CAAC,CAAC;QACtG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEY,qFAAsD,GAA7D;QACF,IAAM,MAAM,GAAG,iDAA4B,CAAC,6DAA6D,CAAC,CAAC;QAC3G,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEY,sGAAuE,GAA9E;QACF,IAAM,MAAM,GAAG,iDAA4B,CAAC,qEAAqE,CAAC,CAAC;QACnH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEY,gHAAiF,GAAxF;QACF,IAAM,MAAM,GAAG,iDAA4B,CAAC,uFAAuF,CAAC,CAAC;QACrI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAlBK;QAAL,uBAAI;;;;kGAGJ;IAEK;QAAL,uBAAI;;;;sGAGJ;IAEK;QAAL,uBAAI;;;;uHAGJ;IAEK;QAAL,uBAAI;;;;iIAGJ;IApBQ,oBAAoB;QADhC,wBAAK;OACO,oBAAoB,CAqBhC;IAAD,2BAAC;CAAA,AArBD,IAqBC;AArBY,oDAAoB;AAsBjC,MAAM,CAAC,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"parse-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.spec.ts"],"names":[],"mappings":"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"}
package/lib/util/queue.js CHANGED
@@ -13,68 +13,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
13
  step((generator = generator.apply(thisArg, _arguments || [])).next());
14
14
  });
15
15
  };
16
- var __generator = (this && this.__generator) || function (thisArg, body) {
17
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
18
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
19
- function verb(n) { return function (v) { return step([n, v]); }; }
20
- function step(op) {
21
- if (f) throw new TypeError("Generator is already executing.");
22
- while (_) try {
23
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
24
- if (y = 0, t) op = [op[0] & 2, t.value];
25
- switch (op[0]) {
26
- case 0: case 1: t = op; break;
27
- case 4: _.label++; return { value: op[1], done: false };
28
- case 5: _.label++; y = op[1]; op = [0]; continue;
29
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
30
- default:
31
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
32
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
33
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
34
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
35
- if (t[2]) _.ops.pop();
36
- _.trys.pop(); continue;
37
- }
38
- op = body.call(thisArg, _);
39
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
40
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
41
- }
42
- };
43
16
  Object.defineProperty(exports, "__esModule", { value: true });
44
17
  exports.Queue = void 0;
45
- var deferred_1 = require("./deferred");
18
+ const deferred_1 = require("./deferred");
46
19
  /**
47
20
  * Queues asynchronous operations in a synchronous context
48
21
  */
49
- var Queue = /** @class */ (function () {
50
- function Queue() {
22
+ class Queue {
23
+ constructor() {
51
24
  this.queue = Promise.resolve();
52
25
  }
53
- Queue.prototype.enqueue = function (operation) {
54
- var _this = this;
55
- var enqueue = new deferred_1.Deferred();
56
- this.queue = this.queue.then(function () { return __awaiter(_this, void 0, void 0, function () {
57
- var result, err_1;
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0:
61
- _a.trys.push([0, 2, , 3]);
62
- return [4 /*yield*/, operation()];
63
- case 1:
64
- result = _a.sent();
65
- enqueue.resolve(result);
66
- return [3 /*break*/, 3];
67
- case 2:
68
- err_1 = _a.sent();
69
- enqueue.reject(err_1);
70
- return [3 /*break*/, 3];
71
- case 3: return [2 /*return*/];
72
- }
73
- });
74
- }); });
26
+ enqueue(operation) {
27
+ const enqueue = new deferred_1.Deferred();
28
+ this.queue = this.queue.then(() => __awaiter(this, void 0, void 0, function* () {
29
+ try {
30
+ const result = yield operation();
31
+ enqueue.resolve(result);
32
+ }
33
+ catch (err) {
34
+ enqueue.reject(err);
35
+ }
36
+ }));
75
37
  return enqueue.promise;
76
- };
77
- return Queue;
78
- }());
38
+ }
39
+ }
79
40
  exports.Queue = Queue;
80
41
  //# sourceMappingURL=queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/util/queue.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAsC;AAEtC;;GAEG;AACH;IAAA;QACc,UAAK,GAAiB,OAAO,CAAC,OAAO,EAAE,CAAC;IActD,CAAC;IAZG,uBAAO,GAAP,UAAW,SAA2B;QAAtC,iBAWC;QAVG,IAAM,OAAO,GAAG,IAAI,mBAAQ,EAAK,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;;;;;wBAEN,qBAAM,SAAS,EAAE,EAAA;;wBAA1B,MAAM,GAAG,SAAiB;wBAChC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;;wBAExB,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC;;;;;aAE3B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC;IACL,YAAC;AAAD,CAAC,AAfD,IAeC;AAfY,sBAAK"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/util/queue.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,yCAAsC;AAEtC;;GAEG;AACH,MAAa,KAAK;IAAlB;QACc,UAAK,GAAiB,OAAO,CAAC,OAAO,EAAE,CAAC;IActD,CAAC;IAZG,OAAO,CAAI,SAA2B;QAClC,MAAM,OAAO,GAAG,IAAI,mBAAQ,EAAK,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAS,EAAE;YACpC,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC3B;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACvB;QACL,CAAC,CAAA,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC;CACJ;AAfD,sBAeC"}