@jbrowse/core 1.7.4 → 1.7.7

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 (33) hide show
  1. package/BaseFeatureWidget/SequenceFeatureDetails.js +2 -2
  2. package/TextSearch/TextSearchManager.d.ts +2 -3
  3. package/TextSearch/TextSearchManager.js +17 -3
  4. package/assemblyManager/assemblyManager.d.ts +2 -2
  5. package/assemblyManager/assemblyManager.js +24 -26
  6. package/package.json +2 -2
  7. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
  8. package/pluggableElementTypes/models/BaseTrackModel.js +5 -7
  9. package/pluggableElementTypes/renderers/BoxRendererType.d.ts +6 -4
  10. package/pluggableElementTypes/renderers/BoxRendererType.js +14 -16
  11. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +1 -1
  12. package/pluggableElementTypes/renderers/FeatureRendererType.js +1 -1
  13. package/pluggableElementTypes/renderers/ServerSideRendererType.js +6 -13
  14. package/rpc/BaseRpcDriver.js +3 -0
  15. package/rpc/coreRpcMethods.d.ts +15 -2
  16. package/rpc/coreRpcMethods.js +308 -116
  17. package/tsconfig.build.tsbuildinfo +1 -1
  18. package/ui/App.d.ts +2 -2
  19. package/ui/Icons.d.ts +1 -0
  20. package/ui/Icons.js +8 -0
  21. package/ui/Snackbar.d.ts +2 -2
  22. package/ui/Snackbar.js +13 -6
  23. package/ui/SnackbarModel.d.ts +3 -3
  24. package/ui/SnackbarModel.js +4 -4
  25. package/util/index.d.ts +5 -0
  26. package/util/index.js +18 -2
  27. package/util/layouts/BaseLayout.d.ts +3 -3
  28. package/util/layouts/GranularRectLayout.d.ts +2 -1
  29. package/util/layouts/GranularRectLayout.js +16 -16
  30. package/util/layouts/GranularRectLayout.test.js +4 -12
  31. package/util/layouts/MultiLayout.d.ts +1 -0
  32. package/util/layouts/MultiLayout.js +32 -8
  33. package/util/types/index.d.ts +5 -1
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.CoreRender = exports.CoreGetRefNames = exports.CoreGetMetadata = exports.CoreGetFileInfo = exports.CoreGetFeatures = exports.CoreFreeResources = exports.CoreEstimateRegionStats = void 0;
8
+ exports.CoreRender = exports.CoreGetRefNames = exports.CoreGetMetadata = exports.CoreGetFileInfo = exports.CoreGetFeatures = exports.CoreGetFeatureDetails = exports.CoreFreeResources = exports.CoreEstimateRegionStats = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
@@ -31,7 +31,7 @@ var _operators = require("rxjs/operators");
31
31
 
32
32
  var _dataAdapterCache = require("../data_adapters/dataAdapterCache");
33
33
 
34
- var _RpcMethodType8 = _interopRequireDefault(require("../pluggableElementTypes/RpcMethodType"));
34
+ var _RpcMethodType9 = _interopRequireDefault(require("../pluggableElementTypes/RpcMethodType"));
35
35
 
36
36
  var _ServerSideRendererType = _interopRequireDefault(require("../pluggableElementTypes/renderers/ServerSideRendererType"));
37
37
 
@@ -117,7 +117,7 @@ var CoreGetRefNames = /*#__PURE__*/function (_RpcMethodType) {
117
117
  }()
118
118
  }]);
119
119
  return CoreGetRefNames;
120
- }(_RpcMethodType8.default);
120
+ }(_RpcMethodType9.default);
121
121
 
122
122
  exports.CoreGetRefNames = CoreGetRefNames;
123
123
 
@@ -180,7 +180,7 @@ var CoreGetFileInfo = /*#__PURE__*/function (_RpcMethodType2) {
180
180
  }()
181
181
  }]);
182
182
  return CoreGetFileInfo;
183
- }(_RpcMethodType8.default);
183
+ }(_RpcMethodType9.default);
184
184
 
185
185
  exports.CoreGetFileInfo = CoreGetFileInfo;
186
186
 
@@ -243,7 +243,7 @@ var CoreGetMetadata = /*#__PURE__*/function (_RpcMethodType3) {
243
243
  }()
244
244
  }]);
245
245
  return CoreGetMetadata;
246
- }(_RpcMethodType8.default);
246
+ }(_RpcMethodType9.default);
247
247
 
248
248
  exports.CoreGetMetadata = CoreGetMetadata;
249
249
 
@@ -299,57 +299,109 @@ var CoreGetFeatures = /*#__PURE__*/function (_RpcMethodType4) {
299
299
  return deserializeReturn;
300
300
  }()
301
301
  }, {
302
- key: "execute",
302
+ key: "serializeArguments",
303
303
  value: function () {
304
- var _execute4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(args, rpcDriverClassName) {
305
- var deserializedArgs, signal, sessionId, adapterConfig, region, opts, _yield$getAdapter4, dataAdapter, ret, r;
304
+ var _serializeArguments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(args, rpcDriverClassName) {
305
+ var _this$pluginManager$r, _this$pluginManager$r2;
306
306
 
307
+ var assemblyManager, renamedArgs, superArgs;
307
308
  return _regenerator.default.wrap(function _callee5$(_context5) {
308
309
  while (1) {
309
310
  switch (_context5.prev = _context5.next) {
310
311
  case 0:
311
- _context5.next = 2;
312
+ assemblyManager = (_this$pluginManager$r = this.pluginManager.rootModel) === null || _this$pluginManager$r === void 0 ? void 0 : (_this$pluginManager$r2 = _this$pluginManager$r.session) === null || _this$pluginManager$r2 === void 0 ? void 0 : _this$pluginManager$r2.assemblyManager;
313
+
314
+ if (!assemblyManager) {
315
+ _context5.next = 7;
316
+ break;
317
+ }
318
+
319
+ _context5.next = 4;
320
+ return (0, _util.renameRegionsIfNeeded)(assemblyManager, args);
321
+
322
+ case 4:
323
+ _context5.t0 = _context5.sent;
324
+ _context5.next = 8;
325
+ break;
326
+
327
+ case 7:
328
+ _context5.t0 = args;
329
+
330
+ case 8:
331
+ renamedArgs = _context5.t0;
332
+ _context5.next = 11;
333
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(CoreGetFeatures.prototype), "serializeArguments", this).call(this, renamedArgs, rpcDriverClassName);
334
+
335
+ case 11:
336
+ superArgs = _context5.sent;
337
+ return _context5.abrupt("return", superArgs);
338
+
339
+ case 13:
340
+ case "end":
341
+ return _context5.stop();
342
+ }
343
+ }
344
+ }, _callee5, this);
345
+ }));
346
+
347
+ function serializeArguments(_x10, _x11) {
348
+ return _serializeArguments.apply(this, arguments);
349
+ }
350
+
351
+ return serializeArguments;
352
+ }()
353
+ }, {
354
+ key: "execute",
355
+ value: function () {
356
+ var _execute4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(args, rpcDriverClassName) {
357
+ var deserializedArgs, signal, sessionId, adapterConfig, regions, opts, _yield$getAdapter4, dataAdapter, ret, r;
358
+
359
+ return _regenerator.default.wrap(function _callee6$(_context6) {
360
+ while (1) {
361
+ switch (_context6.prev = _context6.next) {
362
+ case 0:
363
+ _context6.next = 2;
312
364
  return this.deserializeArguments(args, rpcDriverClassName);
313
365
 
314
366
  case 2:
315
- deserializedArgs = _context5.sent;
316
- signal = deserializedArgs.signal, sessionId = deserializedArgs.sessionId, adapterConfig = deserializedArgs.adapterConfig, region = deserializedArgs.region, opts = deserializedArgs.opts;
317
- _context5.next = 6;
367
+ deserializedArgs = _context6.sent;
368
+ signal = deserializedArgs.signal, sessionId = deserializedArgs.sessionId, adapterConfig = deserializedArgs.adapterConfig, regions = deserializedArgs.regions, opts = deserializedArgs.opts;
369
+ _context6.next = 6;
318
370
  return (0, _dataAdapterCache.getAdapter)(this.pluginManager, sessionId, adapterConfig);
319
371
 
320
372
  case 6:
321
- _yield$getAdapter4 = _context5.sent;
373
+ _yield$getAdapter4 = _context6.sent;
322
374
  dataAdapter = _yield$getAdapter4.dataAdapter;
323
375
 
324
376
  if ((0, _BaseAdapter.isFeatureAdapter)(dataAdapter)) {
325
- _context5.next = 10;
377
+ _context6.next = 10;
326
378
  break;
327
379
  }
328
380
 
329
- return _context5.abrupt("return", []);
381
+ return _context6.abrupt("return", []);
330
382
 
331
383
  case 10:
332
- ret = dataAdapter.getFeatures(region, _objectSpread(_objectSpread({}, opts), {}, {
384
+ ret = dataAdapter.getFeaturesInMultipleRegions(regions, _objectSpread(_objectSpread({}, opts), {}, {
333
385
  signal: signal
334
386
  }));
335
- _context5.next = 13;
387
+ _context6.next = 13;
336
388
  return ret.pipe((0, _operators.toArray)()).toPromise();
337
389
 
338
390
  case 13:
339
- r = _context5.sent;
340
- return _context5.abrupt("return", r.map(function (f) {
391
+ r = _context6.sent;
392
+ return _context6.abrupt("return", r.map(function (f) {
341
393
  return f.toJSON();
342
394
  }));
343
395
 
344
396
  case 15:
345
397
  case "end":
346
- return _context5.stop();
398
+ return _context6.stop();
347
399
  }
348
400
  }
349
- }, _callee5, this);
401
+ }, _callee6, this);
350
402
  }));
351
403
 
352
- function execute(_x10, _x11) {
404
+ function execute(_x12, _x13) {
353
405
  return _execute4.apply(this, arguments);
354
406
  }
355
407
 
@@ -357,7 +409,7 @@ var CoreGetFeatures = /*#__PURE__*/function (_RpcMethodType4) {
357
409
  }()
358
410
  }]);
359
411
  return CoreGetFeatures;
360
- }(_RpcMethodType8.default);
412
+ }(_RpcMethodType9.default);
361
413
  /**
362
414
  * free up any resources (e.g. cached adapter objects)
363
415
  * that are only associated with the given track ID.
@@ -390,11 +442,11 @@ var CoreFreeResources = /*#__PURE__*/function (_RpcMethodType5) {
390
442
  (0, _createClass2.default)(CoreFreeResources, [{
391
443
  key: "execute",
392
444
  value: function () {
393
- var _execute5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(specification) {
445
+ var _execute5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(specification) {
394
446
  var deleteCount;
395
- return _regenerator.default.wrap(function _callee6$(_context6) {
447
+ return _regenerator.default.wrap(function _callee7$(_context7) {
396
448
  while (1) {
397
- switch (_context6.prev = _context6.next) {
449
+ switch (_context7.prev = _context7.next) {
398
450
  case 0:
399
451
  deleteCount = 0;
400
452
  deleteCount += (0, _dataAdapterCache.freeAdapterResources)(specification); // pass the freeResources hint along to all the renderers as well
@@ -406,17 +458,17 @@ var CoreFreeResources = /*#__PURE__*/function (_RpcMethodType5) {
406
458
  deleteCount += count;
407
459
  }
408
460
  });
409
- return _context6.abrupt("return", deleteCount);
461
+ return _context7.abrupt("return", deleteCount);
410
462
 
411
463
  case 4:
412
464
  case "end":
413
- return _context6.stop();
465
+ return _context7.stop();
414
466
  }
415
467
  }
416
- }, _callee6, this);
468
+ }, _callee7, this);
417
469
  }));
418
470
 
419
- function execute(_x12) {
471
+ function execute(_x14) {
420
472
  return _execute5.apply(this, arguments);
421
473
  }
422
474
 
@@ -425,30 +477,30 @@ var CoreFreeResources = /*#__PURE__*/function (_RpcMethodType5) {
425
477
  }, {
426
478
  key: "serializeArguments",
427
479
  value: function () {
428
- var _serializeArguments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(args, _rpcDriverClassName) {
429
- return _regenerator.default.wrap(function _callee7$(_context7) {
480
+ var _serializeArguments2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(args, _rpcDriverClassName) {
481
+ return _regenerator.default.wrap(function _callee8$(_context8) {
430
482
  while (1) {
431
- switch (_context7.prev = _context7.next) {
483
+ switch (_context8.prev = _context8.next) {
432
484
  case 0:
433
- return _context7.abrupt("return", args);
485
+ return _context8.abrupt("return", args);
434
486
 
435
487
  case 1:
436
488
  case "end":
437
- return _context7.stop();
489
+ return _context8.stop();
438
490
  }
439
491
  }
440
- }, _callee7);
492
+ }, _callee8);
441
493
  }));
442
494
 
443
- function serializeArguments(_x13, _x14) {
444
- return _serializeArguments.apply(this, arguments);
495
+ function serializeArguments(_x15, _x16) {
496
+ return _serializeArguments2.apply(this, arguments);
445
497
  }
446
498
 
447
499
  return serializeArguments;
448
500
  }()
449
501
  }]);
450
502
  return CoreFreeResources;
451
- }(_RpcMethodType8.default);
503
+ }(_RpcMethodType9.default);
452
504
 
453
505
  exports.CoreFreeResources = CoreFreeResources;
454
506
 
@@ -474,43 +526,43 @@ var CoreEstimateRegionStats = /*#__PURE__*/function (_RpcMethodType6) {
474
526
  (0, _createClass2.default)(CoreEstimateRegionStats, [{
475
527
  key: "serializeArguments",
476
528
  value: function () {
477
- var _serializeArguments2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(args, rpcDriverClassName) {
478
- var _this$pluginManager$r, _this$pluginManager$r2;
529
+ var _serializeArguments3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(args, rpcDriverClassName) {
530
+ var _this$pluginManager$r3, _this$pluginManager$r4;
479
531
 
480
532
  var assemblyManager, renamedArgs;
481
- return _regenerator.default.wrap(function _callee8$(_context8) {
533
+ return _regenerator.default.wrap(function _callee9$(_context9) {
482
534
  while (1) {
483
- switch (_context8.prev = _context8.next) {
535
+ switch (_context9.prev = _context9.next) {
484
536
  case 0:
485
- assemblyManager = (_this$pluginManager$r = this.pluginManager.rootModel) === null || _this$pluginManager$r === void 0 ? void 0 : (_this$pluginManager$r2 = _this$pluginManager$r.session) === null || _this$pluginManager$r2 === void 0 ? void 0 : _this$pluginManager$r2.assemblyManager;
537
+ assemblyManager = (_this$pluginManager$r3 = this.pluginManager.rootModel) === null || _this$pluginManager$r3 === void 0 ? void 0 : (_this$pluginManager$r4 = _this$pluginManager$r3.session) === null || _this$pluginManager$r4 === void 0 ? void 0 : _this$pluginManager$r4.assemblyManager;
486
538
 
487
539
  if (assemblyManager) {
488
- _context8.next = 3;
540
+ _context9.next = 3;
489
541
  break;
490
542
  }
491
543
 
492
- return _context8.abrupt("return", args);
544
+ return _context9.abrupt("return", args);
493
545
 
494
546
  case 3:
495
- _context8.next = 5;
547
+ _context9.next = 5;
496
548
  return (0, _util.renameRegionsIfNeeded)(assemblyManager, _objectSpread(_objectSpread({}, args), {}, {
497
549
  filters: args.filters && args.filters.toJSON().filters
498
550
  }));
499
551
 
500
552
  case 5:
501
- renamedArgs = _context8.sent;
502
- return _context8.abrupt("return", (0, _get2.default)((0, _getPrototypeOf2.default)(CoreEstimateRegionStats.prototype), "serializeArguments", this).call(this, renamedArgs, rpcDriverClassName));
553
+ renamedArgs = _context9.sent;
554
+ return _context9.abrupt("return", (0, _get2.default)((0, _getPrototypeOf2.default)(CoreEstimateRegionStats.prototype), "serializeArguments", this).call(this, renamedArgs, rpcDriverClassName));
503
555
 
504
556
  case 7:
505
557
  case "end":
506
- return _context8.stop();
558
+ return _context9.stop();
507
559
  }
508
560
  }
509
- }, _callee8, this);
561
+ }, _callee9, this);
510
562
  }));
511
563
 
512
- function serializeArguments(_x15, _x16) {
513
- return _serializeArguments2.apply(this, arguments);
564
+ function serializeArguments(_x17, _x18) {
565
+ return _serializeArguments3.apply(this, arguments);
514
566
  }
515
567
 
516
568
  return serializeArguments;
@@ -518,45 +570,45 @@ var CoreEstimateRegionStats = /*#__PURE__*/function (_RpcMethodType6) {
518
570
  }, {
519
571
  key: "execute",
520
572
  value: function () {
521
- var _execute6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(args, rpcDriverClassName) {
573
+ var _execute6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(args, rpcDriverClassName) {
522
574
  var deserializedArgs, adapterConfig, sessionId, regions, _yield$getAdapter5, dataAdapter;
523
575
 
524
- return _regenerator.default.wrap(function _callee9$(_context9) {
576
+ return _regenerator.default.wrap(function _callee10$(_context10) {
525
577
  while (1) {
526
- switch (_context9.prev = _context9.next) {
578
+ switch (_context10.prev = _context10.next) {
527
579
  case 0:
528
- _context9.next = 2;
580
+ _context10.next = 2;
529
581
  return this.deserializeArguments(args, rpcDriverClassName);
530
582
 
531
583
  case 2:
532
- deserializedArgs = _context9.sent;
584
+ deserializedArgs = _context10.sent;
533
585
  adapterConfig = deserializedArgs.adapterConfig, sessionId = deserializedArgs.sessionId, regions = deserializedArgs.regions;
534
- _context9.next = 6;
586
+ _context10.next = 6;
535
587
  return (0, _dataAdapterCache.getAdapter)(this.pluginManager, sessionId, adapterConfig);
536
588
 
537
589
  case 6:
538
- _yield$getAdapter5 = _context9.sent;
590
+ _yield$getAdapter5 = _context10.sent;
539
591
  dataAdapter = _yield$getAdapter5.dataAdapter;
540
592
 
541
593
  if (!(dataAdapter instanceof _BaseAdapter.BaseFeatureDataAdapter)) {
542
- _context9.next = 10;
594
+ _context10.next = 10;
543
595
  break;
544
596
  }
545
597
 
546
- return _context9.abrupt("return", dataAdapter.estimateRegionsStats(regions, deserializedArgs));
598
+ return _context10.abrupt("return", dataAdapter.estimateRegionsStats(regions, deserializedArgs));
547
599
 
548
600
  case 10:
549
601
  throw new Error('Data adapter not found');
550
602
 
551
603
  case 11:
552
604
  case "end":
553
- return _context9.stop();
605
+ return _context10.stop();
554
606
  }
555
607
  }
556
- }, _callee9, this);
608
+ }, _callee10, this);
557
609
  }));
558
610
 
559
- function execute(_x17, _x18) {
611
+ function execute(_x19, _x20) {
560
612
  return _execute6.apply(this, arguments);
561
613
  }
562
614
 
@@ -564,7 +616,7 @@ var CoreEstimateRegionStats = /*#__PURE__*/function (_RpcMethodType6) {
564
616
  }()
565
617
  }]);
566
618
  return CoreEstimateRegionStats;
567
- }(_RpcMethodType8.default);
619
+ }(_RpcMethodType9.default);
568
620
  /**
569
621
  * fetches features from an adapter and call a renderer with them
570
622
  */
@@ -594,62 +646,62 @@ var CoreRender = /*#__PURE__*/function (_RpcMethodType7) {
594
646
  (0, _createClass2.default)(CoreRender, [{
595
647
  key: "serializeArguments",
596
648
  value: function () {
597
- var _serializeArguments3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(args, rpcDriverClassName) {
598
- var _this$pluginManager$r3, _this$pluginManager$r4;
649
+ var _serializeArguments4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(args, rpcDriverClassName) {
650
+ var _this$pluginManager$r5, _this$pluginManager$r6;
599
651
 
600
652
  var assemblyManager, renamedArgs, superArgs, rendererType, RendererType;
601
- return _regenerator.default.wrap(function _callee10$(_context10) {
653
+ return _regenerator.default.wrap(function _callee11$(_context11) {
602
654
  while (1) {
603
- switch (_context10.prev = _context10.next) {
655
+ switch (_context11.prev = _context11.next) {
604
656
  case 0:
605
- assemblyManager = (_this$pluginManager$r3 = this.pluginManager.rootModel) === null || _this$pluginManager$r3 === void 0 ? void 0 : (_this$pluginManager$r4 = _this$pluginManager$r3.session) === null || _this$pluginManager$r4 === void 0 ? void 0 : _this$pluginManager$r4.assemblyManager;
657
+ assemblyManager = (_this$pluginManager$r5 = this.pluginManager.rootModel) === null || _this$pluginManager$r5 === void 0 ? void 0 : (_this$pluginManager$r6 = _this$pluginManager$r5.session) === null || _this$pluginManager$r6 === void 0 ? void 0 : _this$pluginManager$r6.assemblyManager;
606
658
 
607
659
  if (!assemblyManager) {
608
- _context10.next = 7;
660
+ _context11.next = 7;
609
661
  break;
610
662
  }
611
663
 
612
- _context10.next = 4;
664
+ _context11.next = 4;
613
665
  return (0, _util.renameRegionsIfNeeded)(assemblyManager, args);
614
666
 
615
667
  case 4:
616
- _context10.t0 = _context10.sent;
617
- _context10.next = 8;
668
+ _context11.t0 = _context11.sent;
669
+ _context11.next = 8;
618
670
  break;
619
671
 
620
672
  case 7:
621
- _context10.t0 = args;
673
+ _context11.t0 = args;
622
674
 
623
675
  case 8:
624
- renamedArgs = _context10.t0;
625
- _context10.next = 11;
676
+ renamedArgs = _context11.t0;
677
+ _context11.next = 11;
626
678
  return (0, _get2.default)((0, _getPrototypeOf2.default)(CoreRender.prototype), "serializeArguments", this).call(this, renamedArgs, rpcDriverClassName);
627
679
 
628
680
  case 11:
629
- superArgs = _context10.sent;
681
+ superArgs = _context11.sent;
630
682
 
631
683
  if (!(rpcDriverClassName === 'MainThreadRpcDriver')) {
632
- _context10.next = 14;
684
+ _context11.next = 14;
633
685
  break;
634
686
  }
635
687
 
636
- return _context10.abrupt("return", superArgs);
688
+ return _context11.abrupt("return", superArgs);
637
689
 
638
690
  case 14:
639
691
  rendererType = args.rendererType;
640
692
  RendererType = validateRendererType(rendererType, this.pluginManager.getRendererType(rendererType));
641
- return _context10.abrupt("return", RendererType.serializeArgsInClient(superArgs));
693
+ return _context11.abrupt("return", RendererType.serializeArgsInClient(superArgs));
642
694
 
643
695
  case 17:
644
696
  case "end":
645
- return _context10.stop();
697
+ return _context11.stop();
646
698
  }
647
699
  }
648
- }, _callee10, this);
700
+ }, _callee11, this);
649
701
  }));
650
702
 
651
- function serializeArguments(_x19, _x20) {
652
- return _serializeArguments3.apply(this, arguments);
703
+ function serializeArguments(_x21, _x22) {
704
+ return _serializeArguments4.apply(this, arguments);
653
705
  }
654
706
 
655
707
  return serializeArguments;
@@ -657,31 +709,31 @@ var CoreRender = /*#__PURE__*/function (_RpcMethodType7) {
657
709
  }, {
658
710
  key: "execute",
659
711
  value: function () {
660
- var _execute7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(args, rpcDriverClassName) {
712
+ var _execute7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(args, rpcDriverClassName) {
661
713
  var deserializedArgs, _deserializedArgs, sessionId, rendererType, signal, RendererType, result;
662
714
 
663
- return _regenerator.default.wrap(function _callee11$(_context11) {
715
+ return _regenerator.default.wrap(function _callee12$(_context12) {
664
716
  while (1) {
665
- switch (_context11.prev = _context11.next) {
717
+ switch (_context12.prev = _context12.next) {
666
718
  case 0:
667
719
  deserializedArgs = args;
668
720
 
669
721
  if (!(rpcDriverClassName !== 'MainThreadRpcDriver')) {
670
- _context11.next = 5;
722
+ _context12.next = 5;
671
723
  break;
672
724
  }
673
725
 
674
- _context11.next = 4;
726
+ _context12.next = 4;
675
727
  return this.deserializeArguments(args, rpcDriverClassName);
676
728
 
677
729
  case 4:
678
- deserializedArgs = _context11.sent;
730
+ deserializedArgs = _context12.sent;
679
731
 
680
732
  case 5:
681
733
  _deserializedArgs = deserializedArgs, sessionId = _deserializedArgs.sessionId, rendererType = _deserializedArgs.rendererType, signal = _deserializedArgs.signal;
682
734
 
683
735
  if (sessionId) {
684
- _context11.next = 8;
736
+ _context12.next = 8;
685
737
  break;
686
738
  }
687
739
 
@@ -692,39 +744,39 @@ var CoreRender = /*#__PURE__*/function (_RpcMethodType7) {
692
744
  RendererType = validateRendererType(rendererType, this.pluginManager.getRendererType(rendererType));
693
745
 
694
746
  if (!(rpcDriverClassName === 'MainThreadRpcDriver')) {
695
- _context11.next = 16;
747
+ _context12.next = 16;
696
748
  break;
697
749
  }
698
750
 
699
- _context11.next = 13;
751
+ _context12.next = 13;
700
752
  return RendererType.render(deserializedArgs);
701
753
 
702
754
  case 13:
703
- _context11.t0 = _context11.sent;
704
- _context11.next = 19;
755
+ _context12.t0 = _context12.sent;
756
+ _context12.next = 19;
705
757
  break;
706
758
 
707
759
  case 16:
708
- _context11.next = 18;
760
+ _context12.next = 18;
709
761
  return RendererType.renderInWorker(deserializedArgs);
710
762
 
711
763
  case 18:
712
- _context11.t0 = _context11.sent;
764
+ _context12.t0 = _context12.sent;
713
765
 
714
766
  case 19:
715
- result = _context11.t0;
767
+ result = _context12.t0;
716
768
  (0, _util.checkAbortSignal)(signal);
717
- return _context11.abrupt("return", result);
769
+ return _context12.abrupt("return", result);
718
770
 
719
771
  case 22:
720
772
  case "end":
721
- return _context11.stop();
773
+ return _context12.stop();
722
774
  }
723
775
  }
724
- }, _callee11, this);
776
+ }, _callee12, this);
725
777
  }));
726
778
 
727
- function execute(_x21, _x22) {
779
+ function execute(_x23, _x24) {
728
780
  return _execute7.apply(this, arguments);
729
781
  }
730
782
 
@@ -733,39 +785,39 @@ var CoreRender = /*#__PURE__*/function (_RpcMethodType7) {
733
785
  }, {
734
786
  key: "deserializeReturn",
735
787
  value: function () {
736
- var _deserializeReturn2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(serializedReturn, args, rpcDriverClassName) {
788
+ var _deserializeReturn2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(serializedReturn, args, rpcDriverClassName) {
737
789
  var superDeserialized, rendererType, RendererType;
738
- return _regenerator.default.wrap(function _callee12$(_context12) {
790
+ return _regenerator.default.wrap(function _callee13$(_context13) {
739
791
  while (1) {
740
- switch (_context12.prev = _context12.next) {
792
+ switch (_context13.prev = _context13.next) {
741
793
  case 0:
742
- _context12.next = 2;
794
+ _context13.next = 2;
743
795
  return (0, _get2.default)((0, _getPrototypeOf2.default)(CoreRender.prototype), "deserializeReturn", this).call(this, serializedReturn, args, rpcDriverClassName);
744
796
 
745
797
  case 2:
746
- superDeserialized = _context12.sent;
798
+ superDeserialized = _context13.sent;
747
799
 
748
800
  if (!(rpcDriverClassName === 'MainThreadRpcDriver')) {
749
- _context12.next = 5;
801
+ _context13.next = 5;
750
802
  break;
751
803
  }
752
804
 
753
- return _context12.abrupt("return", superDeserialized);
805
+ return _context13.abrupt("return", superDeserialized);
754
806
 
755
807
  case 5:
756
808
  rendererType = args.rendererType;
757
809
  RendererType = validateRendererType(rendererType, this.pluginManager.getRendererType(rendererType));
758
- return _context12.abrupt("return", RendererType.deserializeResultsInClient(superDeserialized, args));
810
+ return _context13.abrupt("return", RendererType.deserializeResultsInClient(superDeserialized, args));
759
811
 
760
812
  case 8:
761
813
  case "end":
762
- return _context12.stop();
814
+ return _context13.stop();
763
815
  }
764
816
  }
765
- }, _callee12, this);
817
+ }, _callee13, this);
766
818
  }));
767
819
 
768
- function deserializeReturn(_x23, _x24, _x25) {
820
+ function deserializeReturn(_x25, _x26, _x27) {
769
821
  return _deserializeReturn2.apply(this, arguments);
770
822
  }
771
823
 
@@ -773,10 +825,150 @@ var CoreRender = /*#__PURE__*/function (_RpcMethodType7) {
773
825
  }()
774
826
  }]);
775
827
  return CoreRender;
776
- }(_RpcMethodType8.default);
828
+ }(_RpcMethodType9.default);
829
+ /**
830
+ * fetches features from an adapter and call a renderer with them
831
+ */
832
+
777
833
 
778
834
  exports.CoreRender = CoreRender;
779
835
 
836
+ var CoreGetFeatureDetails = /*#__PURE__*/function (_RpcMethodType8) {
837
+ (0, _inherits2.default)(CoreGetFeatureDetails, _RpcMethodType8);
838
+
839
+ var _super8 = _createSuper(CoreGetFeatureDetails);
840
+
841
+ function CoreGetFeatureDetails() {
842
+ var _this8;
843
+
844
+ (0, _classCallCheck2.default)(this, CoreGetFeatureDetails);
845
+
846
+ for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
847
+ args[_key8] = arguments[_key8];
848
+ }
849
+
850
+ _this8 = _super8.call.apply(_super8, [this].concat(args));
851
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this8), "name", 'CoreGetFeatureDetails');
852
+ return _this8;
853
+ }
854
+
855
+ (0, _createClass2.default)(CoreGetFeatureDetails, [{
856
+ key: "serializeArguments",
857
+ value: function () {
858
+ var _serializeArguments5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(args, rpcDriverClassName) {
859
+ var _this$pluginManager$r7, _this$pluginManager$r8;
860
+
861
+ var assemblyManager, renamedArgs, superArgs, rendererType, RendererType;
862
+ return _regenerator.default.wrap(function _callee14$(_context14) {
863
+ while (1) {
864
+ switch (_context14.prev = _context14.next) {
865
+ case 0:
866
+ assemblyManager = (_this$pluginManager$r7 = this.pluginManager.rootModel) === null || _this$pluginManager$r7 === void 0 ? void 0 : (_this$pluginManager$r8 = _this$pluginManager$r7.session) === null || _this$pluginManager$r8 === void 0 ? void 0 : _this$pluginManager$r8.assemblyManager;
867
+
868
+ if (!assemblyManager) {
869
+ _context14.next = 7;
870
+ break;
871
+ }
872
+
873
+ _context14.next = 4;
874
+ return (0, _util.renameRegionsIfNeeded)(assemblyManager, args);
875
+
876
+ case 4:
877
+ _context14.t0 = _context14.sent;
878
+ _context14.next = 8;
879
+ break;
880
+
881
+ case 7:
882
+ _context14.t0 = args;
883
+
884
+ case 8:
885
+ renamedArgs = _context14.t0;
886
+ _context14.next = 11;
887
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(CoreGetFeatureDetails.prototype), "serializeArguments", this).call(this, renamedArgs, rpcDriverClassName);
888
+
889
+ case 11:
890
+ superArgs = _context14.sent;
891
+
892
+ if (!(rpcDriverClassName === 'MainThreadRpcDriver')) {
893
+ _context14.next = 14;
894
+ break;
895
+ }
896
+
897
+ return _context14.abrupt("return", superArgs);
898
+
899
+ case 14:
900
+ rendererType = args.rendererType;
901
+ RendererType = validateRendererType(rendererType, this.pluginManager.getRendererType(rendererType));
902
+ return _context14.abrupt("return", RendererType.serializeArgsInClient(superArgs));
903
+
904
+ case 17:
905
+ case "end":
906
+ return _context14.stop();
907
+ }
908
+ }
909
+ }, _callee14, this);
910
+ }));
911
+
912
+ function serializeArguments(_x28, _x29) {
913
+ return _serializeArguments5.apply(this, arguments);
914
+ }
915
+
916
+ return serializeArguments;
917
+ }()
918
+ }, {
919
+ key: "execute",
920
+ value: function () {
921
+ var _execute8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(args, rpcDriverClassName) {
922
+ var deserializedArgs, _deserializedArgs2, rendererType, featureId, RendererType, sess, layout, xref;
923
+
924
+ return _regenerator.default.wrap(function _callee15$(_context15) {
925
+ while (1) {
926
+ switch (_context15.prev = _context15.next) {
927
+ case 0:
928
+ deserializedArgs = args;
929
+
930
+ if (!(rpcDriverClassName !== 'MainThreadRpcDriver')) {
931
+ _context15.next = 5;
932
+ break;
933
+ }
934
+
935
+ _context15.next = 4;
936
+ return this.deserializeArguments(args, rpcDriverClassName);
937
+
938
+ case 4:
939
+ deserializedArgs = _context15.sent;
940
+
941
+ case 5:
942
+ _deserializedArgs2 = deserializedArgs, rendererType = _deserializedArgs2.rendererType, featureId = _deserializedArgs2.featureId;
943
+ RendererType = validateRendererType(rendererType, this.pluginManager.getRendererType(rendererType)); // @ts-ignore
944
+
945
+ sess = RendererType.sessions[(0, _util.getLayoutId)(args)];
946
+ layout = sess.cachedLayout.layout;
947
+ xref = layout.getDataByID(featureId);
948
+ return _context15.abrupt("return", {
949
+ feature: xref.toJSON()
950
+ });
951
+
952
+ case 11:
953
+ case "end":
954
+ return _context15.stop();
955
+ }
956
+ }
957
+ }, _callee15, this);
958
+ }));
959
+
960
+ function execute(_x30, _x31) {
961
+ return _execute8.apply(this, arguments);
962
+ }
963
+
964
+ return execute;
965
+ }()
966
+ }]);
967
+ return CoreGetFeatureDetails;
968
+ }(_RpcMethodType9.default);
969
+
970
+ exports.CoreGetFeatureDetails = CoreGetFeatureDetails;
971
+
780
972
  function validateRendererType(rendererType, RendererType) {
781
973
  if (!RendererType) {
782
974
  throw new Error("renderer \"".concat(rendererType, "\" not found"));