@jbrowse/core 1.6.5 → 1.6.8

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 (58) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.js +1 -3
  2. package/BaseFeatureWidget/index.d.ts +1 -1
  3. package/PluginLoader.d.ts +1 -1
  4. package/PluginManager.d.ts +4 -2
  5. package/ReExports/modules.d.ts +4 -2
  6. package/TextSearch/TextSearchManager.d.ts +2 -2
  7. package/assemblyManager/assemblyConfigSchema.d.ts +1 -1
  8. package/assemblyManager/assemblyManager.d.ts +22 -22
  9. package/configuration/index.d.ts +1 -1
  10. package/configuration/util.js +1 -5
  11. package/data_adapters/BaseAdapter.d.ts +2 -1
  12. package/data_adapters/BaseAdapter.js +90 -110
  13. package/data_adapters/CytobandAdapter.d.ts +1 -1
  14. package/package.json +2 -2
  15. package/pluggableElementTypes/RpcMethodType.js +1 -1
  16. package/pluggableElementTypes/models/InternetAccountModel.d.ts +103 -7
  17. package/pluggableElementTypes/models/InternetAccountModel.js +296 -10
  18. package/pluggableElementTypes/models/baseConnectionConfig.d.ts +1 -1
  19. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +1 -1
  20. package/pluggableElementTypes/models/baseInternetAccountConfig.js +16 -1
  21. package/pluggableElementTypes/models/baseTrackConfig.d.ts +1 -1
  22. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +1 -0
  23. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +46 -22
  24. package/pluggableElementTypes/renderers/FeatureRendererType.js +14 -19
  25. package/rpc/BaseRpcDriver.d.ts +7 -8
  26. package/rpc/BaseRpcDriver.js +151 -87
  27. package/rpc/BaseRpcDriver.test.js +55 -36
  28. package/rpc/MainThreadRpcDriver.d.ts +1 -1
  29. package/rpc/MainThreadRpcDriver.js +25 -16
  30. package/rpc/RpcManager.d.ts +1 -1
  31. package/rpc/RpcManager.js +29 -11
  32. package/rpc/WebWorkerRpcDriver.d.ts +1 -1
  33. package/rpc/WebWorkerRpcDriver.js +43 -11
  34. package/rpc/configSchema.d.ts +1 -1
  35. package/rpc/configSchema.js +14 -6
  36. package/ui/ErrorMessage.js +23 -8
  37. package/ui/FileSelector/FileSelector.js +1 -1
  38. package/ui/ReturnToImportFormDialog.d.ts +9 -0
  39. package/ui/ReturnToImportFormDialog.js +63 -0
  40. package/ui/Tooltip.d.ts +1 -1
  41. package/ui/Tooltip.js +2 -2
  42. package/ui/index.d.ts +2 -0
  43. package/ui/index.js +18 -0
  44. package/ui/theme.d.ts +8 -0
  45. package/ui/theme.js +9 -0
  46. package/ui/theme.test.js +2 -2
  47. package/util/Base1DViewModel.d.ts +2 -0
  48. package/util/Base1DViewModel.js +9 -0
  49. package/util/index.d.ts +7 -4
  50. package/util/index.js +67 -31
  51. package/util/index.test.js +35 -14
  52. package/util/io/index.d.ts +2 -1
  53. package/util/io/index.js +97 -86
  54. package/util/offscreenCanvasPonyfill.js +2 -2
  55. package/util/simpleFeature.d.ts +4 -0
  56. package/util/tracks.js +4 -1
  57. package/util/types/index.d.ts +2 -2
  58. package/util/types/index.js +3 -3
@@ -30,6 +30,8 @@ var _util = require("../util");
30
30
 
31
31
  var _remoteAbortSignals = require("./remoteAbortSignals");
32
32
 
33
+ var _configuration = require("../configuration");
34
+
33
35
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
36
 
35
37
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -53,27 +55,20 @@ function watchWorker(_x, _x2, _x3) {
53
55
  }
54
56
 
55
57
  function _watchWorker() {
56
- _watchWorker = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(worker, pingTime, rpcDriverClassName) {
57
- return _regenerator.default.wrap(function _callee3$(_context3) {
58
+ _watchWorker = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(worker, pingTime, rpcDriverClassName) {
59
+ return _regenerator.default.wrap(function _callee6$(_context6) {
58
60
  while (1) {
59
- switch (_context3.prev = _context3.next) {
61
+ switch (_context6.prev = _context6.next) {
60
62
  case 0:
61
- _context3.next = 2;
62
- return worker.call('ping', [], {
63
- timeout: 100000000,
64
- rpcDriverClassName: rpcDriverClassName
65
- });
66
-
67
- case 2:
68
- return _context3.abrupt("return", new Promise(function (_resolve, reject) {
63
+ return _context6.abrupt("return", new Promise(function (_resolve, reject) {
69
64
  function delay() {
70
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
71
- return _regenerator.default.wrap(function _callee2$(_context2) {
65
+ setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
66
+ return _regenerator.default.wrap(function _callee5$(_context5) {
72
67
  while (1) {
73
- switch (_context2.prev = _context2.next) {
68
+ switch (_context5.prev = _context5.next) {
74
69
  case 0:
75
- _context2.prev = 0;
76
- _context2.next = 3;
70
+ _context5.prev = 0;
71
+ _context5.next = 3;
77
72
  return worker.call('ping', [], {
78
73
  timeout: pingTime * 2,
79
74
  rpcDriverClassName: rpcDriverClassName
@@ -81,32 +76,32 @@ function _watchWorker() {
81
76
 
82
77
  case 3:
83
78
  delay();
84
- _context2.next = 9;
79
+ _context5.next = 9;
85
80
  break;
86
81
 
87
82
  case 6:
88
- _context2.prev = 6;
89
- _context2.t0 = _context2["catch"](0);
90
- reject(_context2.t0);
83
+ _context5.prev = 6;
84
+ _context5.t0 = _context5["catch"](0);
85
+ reject(_context5.t0);
91
86
 
92
87
  case 9:
93
88
  case "end":
94
- return _context2.stop();
89
+ return _context5.stop();
95
90
  }
96
91
  }
97
- }, _callee2, null, [[0, 6]]);
92
+ }, _callee5, null, [[0, 6]]);
98
93
  })), pingTime);
99
94
  }
100
95
 
101
96
  delay();
102
97
  }));
103
98
 
104
- case 3:
99
+ case 1:
105
100
  case "end":
106
- return _context3.stop();
101
+ return _context6.stop();
107
102
  }
108
103
  }
109
- }, _callee3);
104
+ }, _callee6);
110
105
  }));
111
106
  return _watchWorker.apply(this, arguments);
112
107
  }
@@ -126,33 +121,51 @@ var LazyWorker = /*#__PURE__*/function () {
126
121
  function LazyWorker(driver) {
127
122
  (0, _classCallCheck2.default)(this, LazyWorker);
128
123
  this.driver = driver;
129
- (0, _defineProperty2.default)(this, "worker", void 0);
124
+ (0, _defineProperty2.default)(this, "workerP", void 0);
130
125
  }
131
126
 
132
127
  (0, _createClass2.default)(LazyWorker, [{
133
128
  key: "getWorker",
134
- value: function getWorker(pluginManager, rpcDriverClassName) {
135
- var _this = this;
129
+ value: function () {
130
+ var _getWorker = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
131
+ var _this = this;
136
132
 
137
- if (!this.worker) {
138
- var worker = this.driver.makeWorker(pluginManager);
139
- watchWorker(worker, this.driver.maxPingTime, rpcDriverClassName).catch(function (error) {
140
- if (_this.worker) {
141
- console.error('worker did not respond, killing and generating new one');
142
- console.error(error);
133
+ return _regenerator.default.wrap(function _callee$(_context) {
134
+ while (1) {
135
+ switch (_context.prev = _context.next) {
136
+ case 0:
137
+ if (!this.workerP) {
138
+ this.workerP = this.driver.makeWorker().then(function (worker) {
139
+ watchWorker(worker, _this.driver.maxPingTime, _this.driver.name).catch(function (error) {
140
+ if (worker) {
141
+ console.error('worker did not respond, killing and generating new one');
142
+ console.error(error);
143
+ worker.destroy();
144
+ worker.status = 'killed';
145
+ worker.error = error;
146
+ _this.workerP = undefined;
147
+ }
148
+ });
149
+ return worker;
150
+ });
151
+ }
143
152
 
144
- _this.worker.destroy();
153
+ return _context.abrupt("return", this.workerP);
145
154
 
146
- _this.worker.status = 'killed';
147
- _this.worker.error = error;
148
- _this.worker = undefined;
155
+ case 2:
156
+ case "end":
157
+ return _context.stop();
158
+ }
149
159
  }
150
- });
151
- this.worker = worker;
160
+ }, _callee, this);
161
+ }));
162
+
163
+ function getWorker() {
164
+ return _getWorker.apply(this, arguments);
152
165
  }
153
166
 
154
- return this.worker;
155
- }
167
+ return getWorker;
168
+ }()
156
169
  }]);
157
170
  return LazyWorker;
158
171
  }();
@@ -163,7 +176,6 @@ var BaseRpcDriver = /*#__PURE__*/function () {
163
176
  (0, _defineProperty2.default)(this, "name", void 0);
164
177
  (0, _defineProperty2.default)(this, "lastWorkerAssignment", -1);
165
178
  (0, _defineProperty2.default)(this, "workerAssignments", new Map());
166
- (0, _defineProperty2.default)(this, "workerCount", 0);
167
179
  (0, _defineProperty2.default)(this, "workerPool", void 0);
168
180
  (0, _defineProperty2.default)(this, "maxPingTime", 30000);
169
181
  (0, _defineProperty2.default)(this, "workerCheckFrequency", 5000);
@@ -174,19 +186,19 @@ var BaseRpcDriver = /*#__PURE__*/function () {
174
186
 
175
187
  (0, _createClass2.default)(BaseRpcDriver, [{
176
188
  key: "filterArgs",
177
- value: function filterArgs(thing, pluginManager, sessionId) {
189
+ value: function filterArgs(thing, sessionId) {
178
190
  var _this2 = this;
179
191
 
180
192
  if (Array.isArray(thing)) {
181
193
  return thing.filter(isClonable).map(function (t) {
182
- return _this2.filterArgs(t, pluginManager, sessionId);
194
+ return _this2.filterArgs(t, sessionId);
183
195
  });
184
196
  }
185
197
 
186
198
  if ((0, _typeof2.default)(thing) === 'object' && thing !== null) {
187
199
  // AbortSignals are specially handled
188
200
  if (thing instanceof AbortSignal) {
189
- return (0, _remoteAbortSignals.serializeAbortSignal)(thing, this.remoteAbort.bind(this, pluginManager, sessionId));
201
+ return (0, _remoteAbortSignals.serializeAbortSignal)(thing, this.remoteAbort.bind(this, sessionId));
190
202
  }
191
203
 
192
204
  if ((0, _mobxStateTree.isStateTreeNode)(thing) && !(0, _mobxStateTree.isAlive)(thing)) {
@@ -206,7 +218,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
206
218
  k = _ref2[0],
207
219
  v = _ref2[1];
208
220
 
209
- return [k, _this2.filterArgs(v, pluginManager, sessionId)];
221
+ return [k, _this2.filterArgs(v, sessionId)];
210
222
  }));
211
223
  }
212
224
 
@@ -214,22 +226,46 @@ var BaseRpcDriver = /*#__PURE__*/function () {
214
226
  }
215
227
  }, {
216
228
  key: "remoteAbort",
217
- value: function remoteAbort(pluginManager, sessionId, functionName, signalId) {
218
- var worker = this.getWorker(sessionId, pluginManager);
219
- worker.call(functionName, {
220
- signalId: signalId
221
- }, {
222
- timeout: 1000000,
223
- rpcDriverClassName: this.name
224
- });
225
- }
229
+ value: function () {
230
+ var _remoteAbort = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(sessionId, functionName, signalId) {
231
+ var worker;
232
+ return _regenerator.default.wrap(function _callee2$(_context2) {
233
+ while (1) {
234
+ switch (_context2.prev = _context2.next) {
235
+ case 0:
236
+ _context2.next = 2;
237
+ return this.getWorker(sessionId);
238
+
239
+ case 2:
240
+ worker = _context2.sent;
241
+ worker.call(functionName, {
242
+ signalId: signalId
243
+ }, {
244
+ timeout: 1000000,
245
+ rpcDriverClassName: this.name
246
+ });
247
+
248
+ case 4:
249
+ case "end":
250
+ return _context2.stop();
251
+ }
252
+ }
253
+ }, _callee2, this);
254
+ }));
255
+
256
+ function remoteAbort(_x4, _x5, _x6) {
257
+ return _remoteAbort.apply(this, arguments);
258
+ }
259
+
260
+ return remoteAbort;
261
+ }()
226
262
  }, {
227
263
  key: "createWorkerPool",
228
264
  value: function createWorkerPool() {
229
265
  var _this3 = this;
230
266
 
231
267
  var hardwareConcurrency = detectHardwareConcurrency();
232
- var workerCount = this.workerCount || Math.max(1, Math.ceil((hardwareConcurrency - 2) / 3));
268
+ var workerCount = (0, _configuration.readConfObject)(this.config, 'workerCount') || (0, _util.clamp)(1, Math.max(1, hardwareConcurrency - 1), 5);
233
269
  return (0, _toConsumableArray2.default)(new Array(workerCount)).map(function () {
234
270
  return new LazyWorker(_this3);
235
271
  });
@@ -247,30 +283,54 @@ var BaseRpcDriver = /*#__PURE__*/function () {
247
283
  }
248
284
  }, {
249
285
  key: "getWorker",
250
- value: function getWorker(sessionId, pluginManager) {
251
- var workers = this.getWorkerPool();
252
- var workerNumber = this.workerAssignments.get(sessionId);
286
+ value: function () {
287
+ var _getWorker2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(sessionId) {
288
+ var workers, workerNumber, workerAssignment, worker;
289
+ return _regenerator.default.wrap(function _callee3$(_context3) {
290
+ while (1) {
291
+ switch (_context3.prev = _context3.next) {
292
+ case 0:
293
+ workers = this.getWorkerPool();
294
+ workerNumber = this.workerAssignments.get(sessionId);
295
+
296
+ if (workerNumber === undefined) {
297
+ workerAssignment = (this.lastWorkerAssignment + 1) % workers.length;
298
+ this.workerAssignments.set(sessionId, workerAssignment);
299
+ this.lastWorkerAssignment = workerAssignment;
300
+ workerNumber = workerAssignment;
301
+ } // console.log(`${sessionId} -> worker ${workerNumber}`)
302
+
303
+
304
+ worker = workers[workerNumber].getWorker();
305
+
306
+ if (worker) {
307
+ _context3.next = 6;
308
+ break;
309
+ }
253
310
 
254
- if (workerNumber === undefined) {
255
- var workerAssignment = (this.lastWorkerAssignment + 1) % workers.length;
256
- this.workerAssignments.set(sessionId, workerAssignment);
257
- this.lastWorkerAssignment = workerAssignment;
258
- workerNumber = workerAssignment;
259
- } // console.log(`${sessionId} -> worker ${workerNumber}`)
311
+ throw new Error('no web workers registered for RPC');
260
312
 
313
+ case 6:
314
+ return _context3.abrupt("return", worker);
261
315
 
262
- var worker = workers[workerNumber].getWorker(pluginManager, this.name);
316
+ case 7:
317
+ case "end":
318
+ return _context3.stop();
319
+ }
320
+ }
321
+ }, _callee3, this);
322
+ }));
263
323
 
264
- if (!worker) {
265
- throw new Error('no web workers registered for RPC');
324
+ function getWorker(_x7) {
325
+ return _getWorker2.apply(this, arguments);
266
326
  }
267
327
 
268
- return worker;
269
- }
328
+ return getWorker;
329
+ }()
270
330
  }, {
271
331
  key: "call",
272
332
  value: function () {
273
- var _call = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(pluginManager, sessionId, functionName, args) {
333
+ var _call = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(pluginManager, sessionId, functionName, args) {
274
334
  var _this4 = this;
275
335
 
276
336
  var options,
@@ -283,15 +343,15 @@ var BaseRpcDriver = /*#__PURE__*/function () {
283
343
  killedCheckInterval,
284
344
  killedP,
285
345
  resultP,
286
- _args = arguments;
287
- return _regenerator.default.wrap(function _callee$(_context) {
346
+ _args4 = arguments;
347
+ return _regenerator.default.wrap(function _callee4$(_context4) {
288
348
  while (1) {
289
- switch (_context.prev = _context.next) {
349
+ switch (_context4.prev = _context4.next) {
290
350
  case 0:
291
- options = _args.length > 4 && _args[4] !== undefined ? _args[4] : {};
351
+ options = _args4.length > 4 && _args4[4] !== undefined ? _args4[4] : {};
292
352
 
293
353
  if (sessionId) {
294
- _context.next = 3;
354
+ _context4.next = 3;
295
355
  break;
296
356
  }
297
357
 
@@ -299,14 +359,18 @@ var BaseRpcDriver = /*#__PURE__*/function () {
299
359
 
300
360
  case 3:
301
361
  done = false;
302
- worker = this.getWorker(sessionId, pluginManager);
362
+ _context4.next = 6;
363
+ return this.getWorker(sessionId);
364
+
365
+ case 6:
366
+ worker = _context4.sent;
303
367
  rpcMethod = pluginManager.getRpcMethodType(functionName);
304
- _context.next = 8;
368
+ _context4.next = 10;
305
369
  return rpcMethod.serializeArguments(args, this.name);
306
370
 
307
- case 8:
308
- serializedArgs = _context.sent;
309
- filteredAndSerializedArgs = this.filterArgs(serializedArgs, pluginManager, sessionId); // now actually call the worker
371
+ case 10:
372
+ serializedArgs = _context4.sent;
373
+ filteredAndSerializedArgs = this.filterArgs(serializedArgs, sessionId); // now actually call the worker
310
374
 
311
375
  callP = worker.call(functionName, filteredAndSerializedArgs, _objectSpread({
312
376
  timeout: 5 * 60 * 1000,
@@ -334,17 +398,17 @@ var BaseRpcDriver = /*#__PURE__*/function () {
334
398
  // killed before the call could return
335
399
 
336
400
  resultP = Promise.race([callP, killedP]);
337
- return _context.abrupt("return", rpcMethod.deserializeReturn(resultP, args, this.name));
401
+ return _context4.abrupt("return", rpcMethod.deserializeReturn(resultP, args, this.name));
338
402
 
339
- case 14:
403
+ case 16:
340
404
  case "end":
341
- return _context.stop();
405
+ return _context4.stop();
342
406
  }
343
407
  }
344
- }, _callee, this);
408
+ }, _callee4, this);
345
409
  }));
346
410
 
347
- function call(_x4, _x5, _x6, _x7) {
411
+ function call(_x8, _x9, _x10, _x11) {
348
412
  return _call.apply(this, arguments);
349
413
  }
350
414
 
@@ -333,9 +333,28 @@ var MockRpcDriver = /*#__PURE__*/function (_BaseRpcDriver) {
333
333
 
334
334
  (0, _createClass2.default)(MockRpcDriver, [{
335
335
  key: "makeWorker",
336
- value: function makeWorker(_pluginManager) {
337
- return new MockWorkerHandle();
338
- }
336
+ value: function () {
337
+ var _makeWorker = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
338
+ return _regenerator.default.wrap(function _callee5$(_context5) {
339
+ while (1) {
340
+ switch (_context5.prev = _context5.next) {
341
+ case 0:
342
+ return _context5.abrupt("return", new MockWorkerHandle());
343
+
344
+ case 1:
345
+ case "end":
346
+ return _context5.stop();
347
+ }
348
+ }
349
+ }, _callee5);
350
+ }));
351
+
352
+ function makeWorker() {
353
+ return _makeWorker.apply(this, arguments);
354
+ }
355
+
356
+ return makeWorker;
357
+ }()
339
358
  }]);
340
359
  return MockRpcDriver;
341
360
  }(_BaseRpcDriver2.default);
@@ -362,16 +381,16 @@ var MockRendererTimeout = /*#__PURE__*/function (_RpcMethodType) {
362
381
  (0, _createClass2.default)(MockRendererTimeout, [{
363
382
  key: "execute",
364
383
  value: function () {
365
- var _execute = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
366
- return _regenerator.default.wrap(function _callee5$(_context5) {
384
+ var _execute = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
385
+ return _regenerator.default.wrap(function _callee6$(_context6) {
367
386
  while (1) {
368
- switch (_context5.prev = _context5.next) {
387
+ switch (_context6.prev = _context6.next) {
369
388
  case 0:
370
389
  case "end":
371
- return _context5.stop();
390
+ return _context6.stop();
372
391
  }
373
392
  }
374
- }, _callee5);
393
+ }, _callee6);
375
394
  }));
376
395
 
377
396
  function execute() {
@@ -408,16 +427,16 @@ var MockRendererShort = /*#__PURE__*/function (_RpcMethodType2) {
408
427
  (0, _createClass2.default)(MockRendererShort, [{
409
428
  key: "execute",
410
429
  value: function () {
411
- var _execute2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
412
- return _regenerator.default.wrap(function _callee6$(_context6) {
430
+ var _execute2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
431
+ return _regenerator.default.wrap(function _callee7$(_context7) {
413
432
  while (1) {
414
- switch (_context6.prev = _context6.next) {
433
+ switch (_context7.prev = _context7.next) {
415
434
  case 0:
416
435
  case "end":
417
- return _context6.stop();
436
+ return _context7.stop();
418
437
  }
419
438
  }
420
- }, _callee6);
439
+ }, _callee7);
421
440
  }));
422
441
 
423
442
  function execute() {
@@ -431,11 +450,11 @@ var MockRendererShort = /*#__PURE__*/function (_RpcMethodType2) {
431
450
  }(_RpcMethodType3.default);
432
451
 
433
452
  exports.MockRendererShort = MockRendererShort;
434
- test('test RPC driver operation timeout and worker replace', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
453
+ test('test RPC driver operation timeout and worker replace', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
435
454
  var config, driver, pluginManager;
436
- return _regenerator.default.wrap(function _callee7$(_context7) {
455
+ return _regenerator.default.wrap(function _callee8$(_context8) {
437
456
  while (1) {
438
- switch (_context7.prev = _context7.next) {
457
+ switch (_context8.prev = _context8.next) {
439
458
  case 0:
440
459
  console.error = jest.fn();
441
460
  console.warn = jest.fn();
@@ -452,35 +471,35 @@ test('test RPC driver operation timeout and worker replace', /*#__PURE__*/(0, _a
452
471
  return new MockRendererShort(pluginManager);
453
472
  });
454
473
  pluginManager.createPluggableElements();
455
- _context7.prev = 9;
456
- _context7.next = 12;
474
+ _context8.prev = 9;
475
+ _context8.next = 12;
457
476
  return driver.call(pluginManager, 'sessionId', 'MockRenderTimeout', {}, {});
458
477
 
459
478
  case 12:
460
- _context7.next = 17;
479
+ _context8.next = 17;
461
480
  break;
462
481
 
463
482
  case 14:
464
- _context7.prev = 14;
465
- _context7.t0 = _context7["catch"](9);
466
- expect("".concat(_context7.t0)).toMatch(/operation timed out/);
483
+ _context8.prev = 14;
484
+ _context8.t0 = _context8["catch"](9);
485
+ expect("".concat(_context8.t0)).toMatch(/operation timed out/);
467
486
 
468
487
  case 17:
469
- _context7.next = 19;
488
+ _context8.next = 19;
470
489
  return driver.call(pluginManager, 'sessionId', 'MockRenderShort', {}, {});
471
490
 
472
491
  case 19:
473
492
  case "end":
474
- return _context7.stop();
493
+ return _context8.stop();
475
494
  }
476
495
  }
477
- }, _callee7, null, [[9, 14]]);
496
+ }, _callee8, null, [[9, 14]]);
478
497
  })));
479
- test('remote abort', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
498
+ test('remote abort', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
480
499
  var config, driver, pluginManager, controller, resP;
481
- return _regenerator.default.wrap(function _callee8$(_context8) {
500
+ return _regenerator.default.wrap(function _callee9$(_context9) {
482
501
  while (1) {
483
- switch (_context8.prev = _context8.next) {
502
+ switch (_context9.prev = _context9.next) {
484
503
  case 0:
485
504
  console.error = jest.fn();
486
505
  console.warn = jest.fn();
@@ -494,28 +513,28 @@ test('remote abort', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/
494
513
  return new MockRendererShort(pluginManager);
495
514
  });
496
515
  pluginManager.createPluggableElements();
497
- _context8.prev = 8;
516
+ _context9.prev = 8;
498
517
  controller = new AbortController();
499
518
  resP = driver.call(pluginManager, 'sessionId', 'MockRenderShort', {}, {
500
519
  signal: controller.signal
501
520
  });
502
521
  controller.abort();
503
- _context8.next = 14;
522
+ _context9.next = 14;
504
523
  return resP;
505
524
 
506
525
  case 14:
507
- _context8.next = 19;
526
+ _context9.next = 19;
508
527
  break;
509
528
 
510
529
  case 16:
511
- _context8.prev = 16;
512
- _context8.t0 = _context8["catch"](8);
513
- expect("".concat(_context8.t0)).toMatch(/abort/);
530
+ _context9.prev = 16;
531
+ _context9.t0 = _context9["catch"](8);
532
+ expect("".concat(_context9.t0)).toMatch(/abort/);
514
533
 
515
534
  case 19:
516
535
  case "end":
517
- return _context8.stop();
536
+ return _context9.stop();
518
537
  }
519
538
  }
520
- }, _callee8, null, [[8, 16]]);
539
+ }, _callee9, null, [[8, 16]]);
521
540
  })));
@@ -11,7 +11,7 @@ declare class DummyHandle {
11
11
  */
12
12
  export default class MainThreadRpcDriver extends BaseRpcDriver {
13
13
  name: string;
14
- makeWorker: () => DummyHandle;
14
+ makeWorker: () => Promise<DummyHandle>;
15
15
  constructor(args: RpcDriverConstructorArgs);
16
16
  call(pluginManager: PluginManager, sessionId: string, functionName: string, args: {}): Promise<unknown>;
17
17
  }
@@ -89,25 +89,34 @@ var MainThreadRpcDriver = /*#__PURE__*/function (_BaseRpcDriver) {
89
89
  _this = _super.call(this, args);
90
90
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'MainThreadRpcDriver');
91
91
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "makeWorker", void 0);
92
-
93
- _this.makeWorker = function () {
94
- return new DummyHandle();
95
- };
96
-
92
+ _this.makeWorker = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
93
+ return _regenerator.default.wrap(function _callee2$(_context2) {
94
+ while (1) {
95
+ switch (_context2.prev = _context2.next) {
96
+ case 0:
97
+ return _context2.abrupt("return", new DummyHandle());
98
+
99
+ case 1:
100
+ case "end":
101
+ return _context2.stop();
102
+ }
103
+ }
104
+ }, _callee2);
105
+ }));
97
106
  return _this;
98
107
  }
99
108
 
100
109
  (0, _createClass2.default)(MainThreadRpcDriver, [{
101
110
  key: "call",
102
111
  value: function () {
103
- var _call2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(pluginManager, sessionId, functionName, args) {
112
+ var _call2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(pluginManager, sessionId, functionName, args) {
104
113
  var rpcMethod, serializedArgs, result;
105
- return _regenerator.default.wrap(function _callee2$(_context2) {
114
+ return _regenerator.default.wrap(function _callee3$(_context3) {
106
115
  while (1) {
107
- switch (_context2.prev = _context2.next) {
116
+ switch (_context3.prev = _context3.next) {
108
117
  case 0:
109
118
  if (sessionId) {
110
- _context2.next = 2;
119
+ _context3.next = 2;
111
120
  break;
112
121
  }
113
122
 
@@ -115,24 +124,24 @@ var MainThreadRpcDriver = /*#__PURE__*/function (_BaseRpcDriver) {
115
124
 
116
125
  case 2:
117
126
  rpcMethod = pluginManager.getRpcMethodType(functionName);
118
- _context2.next = 5;
127
+ _context3.next = 5;
119
128
  return rpcMethod.serializeArguments(args, this.name);
120
129
 
121
130
  case 5:
122
- serializedArgs = _context2.sent;
123
- _context2.next = 8;
131
+ serializedArgs = _context3.sent;
132
+ _context3.next = 8;
124
133
  return rpcMethod.execute(serializedArgs, this.name);
125
134
 
126
135
  case 8:
127
- result = _context2.sent;
128
- return _context2.abrupt("return", rpcMethod.deserializeReturn(result, args, this.name));
136
+ result = _context3.sent;
137
+ return _context3.abrupt("return", rpcMethod.deserializeReturn(result, args, this.name));
129
138
 
130
139
  case 10:
131
140
  case "end":
132
- return _context2.stop();
141
+ return _context3.stop();
133
142
  }
134
143
  }
135
- }, _callee2, this);
144
+ }, _callee3, this);
136
145
  }));
137
146
 
138
147
  function call(_x3, _x4, _x5, _x6) {
@@ -15,7 +15,7 @@ export default class RpcManager {
15
15
  pluginManager: PluginManager;
16
16
  mainConfiguration: AnyConfigurationModel;
17
17
  backendConfigurations: BackendConfigurations;
18
- static configSchema: import("../configuration/configurationSchema").AnyConfigurationSchemaType;
18
+ static configSchema: import("../configuration").AnyConfigurationSchemaType;
19
19
  driverObjects: Map<string, DriverClass>;
20
20
  constructor(pluginManager: PluginManager, mainConfiguration: AnyConfigurationModel, backendConfigurations: BackendConfigurations);
21
21
  getDriver(backendName: keyof typeof DriverClasses): DriverClass;