@jbrowse/core 1.5.7 → 1.6.1

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 (155) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.js +91 -78
  2. package/BaseFeatureWidget/SequenceFeatureDetails.js +65 -57
  3. package/BaseFeatureWidget/SequenceFeatureDetails.test.js +9 -9
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/index.test.js +4 -4
  6. package/BaseFeatureWidget/util.js +13 -9
  7. package/CorePlugin.js +32 -20
  8. package/Plugin.js +13 -11
  9. package/PluginLoader.js +38 -33
  10. package/PluginManager.d.ts +8 -5
  11. package/PluginManager.js +142 -53
  12. package/ReExports/index.js +4 -4
  13. package/ReExports/list.js +2 -2
  14. package/ReExports/material-ui-colors.js +20 -20
  15. package/ReExports/modules.d.ts +7 -5
  16. package/ReExports/modules.js +51 -47
  17. package/TextSearch/BaseResults.js +34 -24
  18. package/TextSearch/BaseResults.test.js +7 -3
  19. package/TextSearch/TextSearchManager.js +17 -15
  20. package/assemblyManager/assembly.js +39 -34
  21. package/assemblyManager/assemblyConfigSchema.js +2 -2
  22. package/assemblyManager/assemblyManager.js +20 -16
  23. package/assemblyManager/index.js +3 -3
  24. package/babel.config.d.ts +15 -0
  25. package/babel.config.js +19 -0
  26. package/configuration/configurationSchema.js +19 -17
  27. package/configuration/configurationSlot.js +11 -11
  28. package/configuration/configurationSlot.test.js +5 -5
  29. package/configuration/index.d.ts +1 -0
  30. package/configuration/util.js +5 -5
  31. package/data_adapters/BaseAdapter.d.ts +15 -3
  32. package/data_adapters/BaseAdapter.js +216 -62
  33. package/data_adapters/BaseAdapter.test.js +30 -24
  34. package/data_adapters/CytobandAdapter.d.ts +1 -1
  35. package/data_adapters/CytobandAdapter.js +25 -19
  36. package/data_adapters/dataAdapterCache.js +9 -9
  37. package/package.json +4 -5
  38. package/pluggableElementTypes/AdapterType.js +31 -22
  39. package/pluggableElementTypes/ConnectionType.js +28 -18
  40. package/pluggableElementTypes/DisplayType.js +27 -17
  41. package/pluggableElementTypes/InternetAccountType.js +24 -14
  42. package/pluggableElementTypes/PluggableElementBase.js +10 -8
  43. package/pluggableElementTypes/RpcMethodType.d.ts +1 -1
  44. package/pluggableElementTypes/RpcMethodType.js +141 -118
  45. package/pluggableElementTypes/RpcMethodType.test.js +23 -17
  46. package/pluggableElementTypes/TextSearchAdapterType.js +25 -15
  47. package/pluggableElementTypes/TrackType.js +25 -15
  48. package/pluggableElementTypes/ViewType.js +25 -15
  49. package/pluggableElementTypes/WidgetType.js +27 -17
  50. package/pluggableElementTypes/index.js +11 -11
  51. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +5 -5
  52. package/pluggableElementTypes/models/BaseDisplayModel.js +8 -5
  53. package/pluggableElementTypes/models/BaseTrackModel.js +11 -8
  54. package/pluggableElementTypes/models/BaseViewModel.js +3 -3
  55. package/pluggableElementTypes/models/InternetAccountModel.d.ts +1 -1
  56. package/pluggableElementTypes/models/InternetAccountModel.js +5 -5
  57. package/pluggableElementTypes/models/baseConnectionConfig.js +2 -2
  58. package/pluggableElementTypes/models/baseTrackConfig.js +7 -4
  59. package/pluggableElementTypes/models/index.js +4 -4
  60. package/pluggableElementTypes/renderers/BoxRendererType.js +49 -39
  61. package/pluggableElementTypes/renderers/CircularChordRendererType.js +18 -12
  62. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +35 -27
  63. package/pluggableElementTypes/renderers/FeatureRendererType.js +46 -36
  64. package/pluggableElementTypes/renderers/RendererType.js +31 -21
  65. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +12 -8
  66. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +1 -1
  67. package/pluggableElementTypes/renderers/ServerSideRendererType.js +45 -33
  68. package/pluggableElementTypes/renderers/index.js +8 -8
  69. package/pluggableElementTypes/renderers/util/serializableFilterChain.js +10 -8
  70. package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +2 -2
  71. package/rpc/BaseRpcDriver.js +43 -38
  72. package/rpc/BaseRpcDriver.test.js +63 -49
  73. package/rpc/MainThreadRpcDriver.js +32 -22
  74. package/rpc/RpcManager.js +19 -17
  75. package/rpc/WebWorkerRpcDriver.js +38 -28
  76. package/rpc/configSchema.js +2 -2
  77. package/rpc/coreRpcMethods.d.ts +16 -0
  78. package/rpc/coreRpcMethods.js +248 -121
  79. package/rpc/remoteAbortSignals.js +3 -3
  80. package/ui/AboutDialog.js +21 -17
  81. package/ui/App.js +42 -38
  82. package/ui/AssemblySelector.d.ts +1 -1
  83. package/ui/AssemblySelector.js +6 -6
  84. package/ui/Drawer.js +7 -7
  85. package/ui/DrawerWidget.d.ts +1 -1
  86. package/ui/DrawerWidget.js +37 -33
  87. package/ui/DropDownMenu.js +21 -9
  88. package/ui/EditableTypography.js +30 -19
  89. package/ui/ErrorMessage.js +5 -5
  90. package/ui/FactoryResetDialog.js +8 -8
  91. package/ui/FatalErrorDialog.js +29 -12
  92. package/ui/FatalErrorDialog.test.js +11 -11
  93. package/ui/FileSelector/FileSelector.js +42 -32
  94. package/ui/FileSelector/LocalFileChooser.js +9 -9
  95. package/ui/FileSelector/UrlChooser.js +4 -4
  96. package/ui/FileSelector/index.js +4 -4
  97. package/ui/Icons.js +9 -9
  98. package/ui/Logo.js +19 -19
  99. package/ui/Menu.js +46 -35
  100. package/ui/NewSessionCards.js +29 -19
  101. package/ui/PrerenderedCanvas.js +27 -10
  102. package/ui/ResizeHandle.js +17 -10
  103. package/ui/SanitizedHTML.js +5 -5
  104. package/ui/SanitizedHTML.test.js +4 -4
  105. package/ui/Snackbar.js +16 -12
  106. package/ui/SnackbarModel.js +1 -1
  107. package/ui/Tooltip.js +11 -7
  108. package/ui/ViewContainer.d.ts +2 -5
  109. package/ui/ViewContainer.js +44 -49
  110. package/ui/index.d.ts +1 -0
  111. package/ui/index.js +26 -13
  112. package/ui/theme.js +15 -11
  113. package/util/Base1DViewModel.d.ts +14 -12
  114. package/util/Base1DViewModel.js +51 -55
  115. package/util/Base1DViewModel.test.js +5 -5
  116. package/util/QuickLRU.js +31 -27
  117. package/util/aborting.js +26 -16
  118. package/util/analytics.d.ts +1 -0
  119. package/util/analytics.js +15 -7
  120. package/util/blockTypes.js +48 -36
  121. package/util/calculateDynamicBlocks.js +4 -4
  122. package/util/calculateDynamicBlocks.test.js +14 -10
  123. package/util/calculateStaticBlocks.js +1 -1
  124. package/util/calculateStaticBlocks.test.js +15 -15
  125. package/util/compositeMap.js +31 -27
  126. package/util/idMaker.js +4 -4
  127. package/util/index.d.ts +23 -1
  128. package/util/index.js +135 -41
  129. package/util/index.test.js +11 -7
  130. package/util/io/RemoteFileWithRangeCache.js +41 -29
  131. package/util/io/index.js +6 -6
  132. package/util/jexl.js +5 -5
  133. package/util/jexlStrings.js +2 -2
  134. package/util/jexlStrings.test.js +2 -2
  135. package/util/layouts/GranularRectLayout.js +33 -27
  136. package/util/layouts/GranularRectLayout.test.js +10 -10
  137. package/util/layouts/MultiLayout.js +19 -13
  138. package/util/layouts/PrecomputedLayout.js +16 -14
  139. package/util/layouts/PrecomputedMultiLayout.js +23 -17
  140. package/util/layouts/SceneGraph.js +18 -12
  141. package/util/layouts/index.js +6 -6
  142. package/util/offscreenCanvasPonyfill.js +31 -29
  143. package/util/offscreenCanvasUtils.js +6 -6
  144. package/util/range.test.js +20 -20
  145. package/util/rxjs.js +2 -2
  146. package/util/simpleFeature.js +23 -18
  147. package/util/simpleFeature.test.js +3 -3
  148. package/util/stats.d.ts +1 -1
  149. package/util/stats.js +11 -7
  150. package/util/stats.test.js +16 -16
  151. package/util/tracks.js +1 -3
  152. package/util/types/index.d.ts +1 -1
  153. package/util/types/index.js +36 -31
  154. package/util/types/mst.js +19 -15
  155. package/util/when.js +6 -6
package/util/jexl.js CHANGED
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = _default;
8
+ exports.default = _default;
9
9
 
10
10
  var _jexl = _interopRequireDefault(require("jexl"));
11
11
 
12
12
  function
13
13
  /* config?: any*/
14
14
  _default() {
15
- var j = new _jexl["default"].Jexl(); // someday will make sure all of configs callbacks are added in, including
15
+ var j = new _jexl.default.Jexl(); // someday will make sure all of configs callbacks are added in, including
16
16
  // ones passed in
17
17
  // below are core functions
18
18
 
@@ -49,8 +49,8 @@ _default() {
49
49
  j.addFunction('parseInt', Number.parseInt);
50
50
  j.addFunction('parseFloat', Number.parseFloat); // string
51
51
 
52
- j.addFunction('split', function (str, _char) {
53
- return str.split(_char);
52
+ j.addFunction('split', function (str, char) {
53
+ return str.split(char);
54
54
  });
55
55
  j.addFunction('charAt', function (str, index) {
56
56
  return str.charAt(index);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -32,7 +32,7 @@ jexl) {
32
32
  }
33
33
 
34
34
  var code = str.split('jexl:')[1];
35
- var compiled = jexl ? jexl.compile("".concat(code)) : (0, _jexl["default"])().compile("".concat(code));
35
+ var compiled = jexl ? jexl.compile("".concat(code)) : (0, _jexl.default)().compile("".concat(code));
36
36
  compilationCache[cacheKey] = compiled;
37
37
  }
38
38
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  var _jexlStrings = require("./jexlStrings");
6
6
 
@@ -29,7 +29,7 @@ describe('function string parsing', function () {
29
29
  expect(result).toEqual(35);
30
30
  });
31
31
  it('can use the loaded core helper functions to access feature info', function () {
32
- var feature = new _simpleFeature["default"]({
32
+ var feature = new _simpleFeature.default({
33
33
  uniqueId: 'jexlFeature',
34
34
  score: 10,
35
35
  start: 1,
@@ -1,22 +1,28 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
 
10
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
14
- var _classCallCheck2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
16
- var _createClass2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createClass.js"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
18
  var _index = require("../index");
19
19
 
20
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
20
26
  /**
21
27
  * Rectangle-layout manager that lays out rectangles using bitmaps at
22
28
  * resolution that, for efficiency, may be somewhat lower than that of
@@ -35,11 +41,11 @@ function segmentsIntersect(x1, x2, y1, y2) {
35
41
  // a single row in the layout
36
42
  var LayoutRow = /*#__PURE__*/function () {
37
43
  function LayoutRow() {
38
- (0, _classCallCheck2["default"])(this, LayoutRow);
39
- this.padding = void 0;
40
- this.allFilled = void 0;
41
- this.widthLimit = void 0;
42
- this.rowState = void 0;
44
+ (0, _classCallCheck2.default)(this, LayoutRow);
45
+ (0, _defineProperty2.default)(this, "padding", void 0);
46
+ (0, _defineProperty2.default)(this, "allFilled", void 0);
47
+ (0, _defineProperty2.default)(this, "widthLimit", void 0);
48
+ (0, _defineProperty2.default)(this, "rowState", void 0);
43
49
  this.padding = 1;
44
50
  this.widthLimit = 1000000; // this.rowState.offset is the offset of the bits array relative to the genomic coordinates
45
51
  // (modified by pitchX, but we don't know that in this class)
@@ -53,7 +59,7 @@ var LayoutRow = /*#__PURE__*/function () {
53
59
  // }
54
60
 
55
61
 
56
- (0, _createClass2["default"])(LayoutRow, [{
62
+ (0, _createClass2.default)(LayoutRow, [{
57
63
  key: "setAllFilled",
58
64
  value: function setAllFilled(data) {
59
65
  this.allFilled = data;
@@ -301,16 +307,16 @@ var GranularRectLayout = /*#__PURE__*/function () {
301
307
  _ref$displayMode = _ref.displayMode,
302
308
  displayMode = _ref$displayMode === void 0 ? 'normal' : _ref$displayMode;
303
309
 
304
- (0, _classCallCheck2["default"])(this, GranularRectLayout);
305
- this.pitchX = void 0;
306
- this.pitchY = void 0;
307
- this.hardRowLimit = void 0;
308
- this.bitmap = void 0;
309
- this.rectangles = void 0;
310
- this.maxHeightReached = void 0;
311
- this.maxHeight = void 0;
312
- this.displayMode = void 0;
313
- this.pTotalHeight = void 0;
310
+ (0, _classCallCheck2.default)(this, GranularRectLayout);
311
+ (0, _defineProperty2.default)(this, "pitchX", void 0);
312
+ (0, _defineProperty2.default)(this, "pitchY", void 0);
313
+ (0, _defineProperty2.default)(this, "hardRowLimit", void 0);
314
+ (0, _defineProperty2.default)(this, "bitmap", void 0);
315
+ (0, _defineProperty2.default)(this, "rectangles", void 0);
316
+ (0, _defineProperty2.default)(this, "maxHeightReached", void 0);
317
+ (0, _defineProperty2.default)(this, "maxHeight", void 0);
318
+ (0, _defineProperty2.default)(this, "displayMode", void 0);
319
+ (0, _defineProperty2.default)(this, "pTotalHeight", void 0);
314
320
  this.pitchX = pitchX;
315
321
  this.pitchY = pitchY;
316
322
  this.hardRowLimit = hardRowLimit;
@@ -333,7 +339,7 @@ var GranularRectLayout = /*#__PURE__*/function () {
333
339
  */
334
340
 
335
341
 
336
- (0, _createClass2["default"])(GranularRectLayout, [{
342
+ (0, _createClass2.default)(GranularRectLayout, [{
337
343
  key: "addRect",
338
344
  value: function addRect(id, left, right, height, data) {
339
345
  // if we have already laid it out, return its layout
@@ -518,7 +524,7 @@ var GranularRectLayout = /*#__PURE__*/function () {
518
524
  var _this = this;
519
525
 
520
526
  return new Map(Array.from(this.rectangles.entries()).map(function (_ref2) {
521
- var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
527
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
522
528
  id = _ref3[0],
523
529
  rect = _ref3[1];
524
530
 
@@ -537,12 +543,12 @@ var GranularRectLayout = /*#__PURE__*/function () {
537
543
  var regionRectangles = {};
538
544
  var maxHeightReached = false;
539
545
 
540
- var _iterator = (0, _createForOfIteratorHelper2["default"])(this.rectangles.entries()),
546
+ var _iterator = _createForOfIteratorHelper(this.rectangles.entries()),
541
547
  _step;
542
548
 
543
549
  try {
544
550
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
545
- var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
551
+ var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
546
552
  id = _step$value[0],
547
553
  rect = _step$value[1];
548
554
 
@@ -592,4 +598,4 @@ var GranularRectLayout = /*#__PURE__*/function () {
592
598
  return GranularRectLayout;
593
599
  }();
594
600
 
595
- exports["default"] = GranularRectLayout;
601
+ exports.default = GranularRectLayout;
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _toConsumableArray2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"));
5
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
6
6
 
7
7
  var _GranularRectLayout = _interopRequireDefault(require("./GranularRectLayout"));
8
8
 
9
9
  describe('GranularRectLayout', function () {
10
10
  it('lays out non-overlapping features end to end', function () {
11
- var l = new _GranularRectLayout["default"]({
11
+ var l = new _GranularRectLayout.default({
12
12
  pitchX: 10,
13
13
  pitchY: 4
14
14
  });
15
15
  var testRects = [['1,0', 4133, 5923, 16], ['1,1', 11299, 12389, 16], ['1,2', 21050, 22778, 16], ['1,3', 41125, 47459, 16], ['1,4', 47926, 49272, 16], ['1,5', 50240, 52495, 16], ['1,6', 53329, 56283, 16], ['1,7', 59309, 79441, 16], ['1,8', 80359, 83196, 16], ['1,9', 92147, 94188, 16], ['1,10', 96241, 103626, 16], ['1,11', 104396, 108110, 16], ['1,12', 111878, 125251, 16], ['1,13', 125747, 128085, 16], ['1,14', 131492, 132641, 16], ['1,15', 133857, 134931, 16], ['1,16', 137023, 138220, 16], ['1,17', 140703, 145668, 16], ['1,18', 146045, 147059, 16], ['1,19', 162296, 165395, 16], ['1,20', 168531, 170795, 16], ['1,21', 174812, 180475, 16], ['1,22', 184302, 188826, 16], ['1,23', 189609, 191141, 16], ['1,24', 199799, 201389, 16], ['1,25', 203436, 211345, 16], ['1,26', 212100, 212379, 16], ['1,27', 213418, 214627, 16], ['1,28', 215115, 219344, 16], ['1,29', 220067, 222525, 16], ['1,30', 223308, 228141, 16], ['1,31', 234473, 236768, 16], ['1,32', 239691, 245015, 16]];
16
16
 
17
17
  for (var i = 0; i < testRects.length; i += 1) {
18
- var top = l.addRect.apply(l, (0, _toConsumableArray2["default"])(testRects[i]));
18
+ var top = l.addRect.apply(l, (0, _toConsumableArray2.default)(testRects[i]));
19
19
  expect(top).toEqual(0);
20
20
  }
21
21
  });
22
22
  it('stacks up overlapping features', function () {
23
- var l = new _GranularRectLayout["default"]({
23
+ var l = new _GranularRectLayout.default({
24
24
  pitchX: 10,
25
25
  pitchY: 4
26
26
  });
@@ -31,12 +31,12 @@ describe('GranularRectLayout', function () {
31
31
  }
32
32
 
33
33
  for (var _i = 0; _i < testRects.length; _i += 1) {
34
- var top = l.addRect.apply(l, (0, _toConsumableArray2["default"])(testRects[_i]));
34
+ var top = l.addRect.apply(l, (0, _toConsumableArray2.default)(testRects[_i]));
35
35
  expect(top).toEqual(_i % 2 * 4);
36
36
  }
37
37
  });
38
38
  it('discards regions', function () {
39
- var l = new _GranularRectLayout["default"]({
39
+ var l = new _GranularRectLayout.default({
40
40
  pitchX: 10,
41
41
  pitchY: 4
42
42
  });
@@ -59,7 +59,7 @@ describe('GranularRectLayout', function () {
59
59
  }); // see issue #486
60
60
 
61
61
  it('tests that adding +/- pitchX fixes resolution causing errors', function () {
62
- var l = new _GranularRectLayout["default"]({
62
+ var l = new _GranularRectLayout.default({
63
63
  pitchX: 91.21851599727707,
64
64
  pitchY: 3
65
65
  });
@@ -71,7 +71,7 @@ describe('GranularRectLayout', function () {
71
71
  });
72
72
  it('tests reinitializing layout due to throwing away old one', function () {
73
73
  var spy = jest.spyOn(console, 'warn').mockImplementation(function () {});
74
- var l = new _GranularRectLayout["default"]({
74
+ var l = new _GranularRectLayout.default({
75
75
  pitchX: 1,
76
76
  pitchY: 1,
77
77
  maxHeight: 600
@@ -84,7 +84,7 @@ describe('GranularRectLayout', function () {
84
84
  spy.mockRestore();
85
85
  });
86
86
  it('tests adding a gigantic feature that fills entire row with another smaller added on top', function () {
87
- var l = new _GranularRectLayout["default"]({
87
+ var l = new _GranularRectLayout.default({
88
88
  pitchX: 100,
89
89
  pitchY: 1,
90
90
  maxHeight: 600
@@ -1,19 +1,25 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
 
10
- var _slicedToArray2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
 
12
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
14
- var _classCallCheck2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
16
- var _createClass2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createClass.js"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
23
 
18
24
  /* eslint-disable @typescript-eslint/no-explicit-any */
19
25
  var MultiLayout = /*#__PURE__*/function () {
@@ -24,15 +30,15 @@ var MultiLayout = /*#__PURE__*/function () {
24
30
  */
25
31
  function MultiLayout(SubLayoutClass) {
26
32
  var layoutArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
- (0, _classCallCheck2["default"])(this, MultiLayout);
33
+ (0, _classCallCheck2.default)(this, MultiLayout);
28
34
  this.SubLayoutClass = SubLayoutClass;
29
- this.subLayouts = new Map();
30
- this.subLayoutConstructorArgs = {};
35
+ (0, _defineProperty2.default)(this, "subLayouts", new Map());
36
+ (0, _defineProperty2.default)(this, "subLayoutConstructorArgs", {});
31
37
  this.subLayouts = new Map();
32
38
  this.subLayoutConstructorArgs = layoutArgs;
33
39
  }
34
40
 
35
- (0, _createClass2["default"])(MultiLayout, [{
41
+ (0, _createClass2.default)(MultiLayout, [{
36
42
  key: "getSublayout",
37
43
  value: function getSublayout(layoutName) {
38
44
  var subLayout = this.subLayouts.get(layoutName);
@@ -62,12 +68,12 @@ var MultiLayout = /*#__PURE__*/function () {
62
68
  value: function toJSON() {
63
69
  var data = {};
64
70
 
65
- var _iterator = (0, _createForOfIteratorHelper2["default"])(this.subLayouts.entries()),
71
+ var _iterator = _createForOfIteratorHelper(this.subLayouts.entries()),
66
72
  _step;
67
73
 
68
74
  try {
69
75
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
70
- var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
76
+ var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
71
77
  layoutName = _step$value[0],
72
78
  sublayout = _step$value[1];
73
79
 
@@ -85,4 +91,4 @@ var MultiLayout = /*#__PURE__*/function () {
85
91
  return MultiLayout;
86
92
  }();
87
93
 
88
- exports["default"] = MultiLayout;
94
+ exports.default = MultiLayout;
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
 
10
- var _slicedToArray2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
 
12
- var _classCallCheck2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
14
- var _createClass2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createClass.js"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
17
 
16
18
  var _ = require("..");
17
19
 
@@ -22,19 +24,19 @@ var PrecomputedLayout = /*#__PURE__*/function () {
22
24
  var rectangles = _ref.rectangles,
23
25
  totalHeight = _ref.totalHeight,
24
26
  maxHeightReached = _ref.maxHeightReached;
25
- (0, _classCallCheck2["default"])(this, PrecomputedLayout);
26
- this.rectangles = void 0;
27
- this.totalHeight = void 0;
28
- this.maxHeightReached = void 0;
29
- this.rbush = void 0;
27
+ (0, _classCallCheck2.default)(this, PrecomputedLayout);
28
+ (0, _defineProperty2.default)(this, "rectangles", void 0);
29
+ (0, _defineProperty2.default)(this, "totalHeight", void 0);
30
+ (0, _defineProperty2.default)(this, "maxHeightReached", void 0);
31
+ (0, _defineProperty2.default)(this, "rbush", void 0);
30
32
  this.rectangles = new Map(Object.entries(rectangles)); // rectangles is of the form "featureId": [leftPx, topPx, rightPx, bottomPx]
31
33
 
32
34
  this.totalHeight = totalHeight;
33
35
  this.maxHeightReached = maxHeightReached;
34
- this.rbush = new _rbush["default"]();
36
+ this.rbush = new _rbush.default();
35
37
 
36
38
  for (var _i = 0, _Object$entries = Object.entries(rectangles); _i < _Object$entries.length; _i++) {
37
- var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
39
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
38
40
  key = _Object$entries$_i[0],
39
41
  layout = _Object$entries$_i[1];
40
42
 
@@ -48,7 +50,7 @@ var PrecomputedLayout = /*#__PURE__*/function () {
48
50
  }
49
51
  }
50
52
 
51
- (0, _createClass2["default"])(PrecomputedLayout, [{
53
+ (0, _createClass2.default)(PrecomputedLayout, [{
52
54
  key: "addRect",
53
55
  value: function addRect(id) {
54
56
  var rect = this.rectangles.get(id);
@@ -123,4 +125,4 @@ var PrecomputedLayout = /*#__PURE__*/function () {
123
125
  return PrecomputedLayout;
124
126
  }();
125
127
 
126
- exports["default"] = PrecomputedLayout;
128
+ exports.default = PrecomputedLayout;
@@ -1,54 +1,60 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
 
10
- var _slicedToArray2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
 
12
- var _inherits2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/inherits.js"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
13
 
14
- var _createSuper2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createSuper.js"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
15
 
16
- var _createClass2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createClass.js"));
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
 
18
- var _classCallCheck2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"));
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
21
 
20
22
  var _MultiLayout2 = _interopRequireDefault(require("./MultiLayout"));
21
23
 
22
24
  var _PrecomputedLayout = _interopRequireDefault(require("./PrecomputedLayout"));
23
25
 
24
- var ThrowingLayout = /*#__PURE__*/(0, _createClass2["default"])(function ThrowingLayout() {
25
- (0, _classCallCheck2["default"])(this, ThrowingLayout);
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
+
28
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
+
30
+ var ThrowingLayout = /*#__PURE__*/(0, _createClass2.default)(function ThrowingLayout() {
31
+ (0, _classCallCheck2.default)(this, ThrowingLayout);
26
32
  throw new Error('invalid layout name');
27
33
  });
28
34
 
29
35
  var PrecomputedMultiLayout = /*#__PURE__*/function (_MultiLayout) {
30
- (0, _inherits2["default"])(PrecomputedMultiLayout, _MultiLayout);
36
+ (0, _inherits2.default)(PrecomputedMultiLayout, _MultiLayout);
31
37
 
32
- var _super = (0, _createSuper2["default"])(PrecomputedMultiLayout);
38
+ var _super = _createSuper(PrecomputedMultiLayout);
33
39
 
34
40
  function PrecomputedMultiLayout(json) {
35
41
  var _this;
36
42
 
37
- (0, _classCallCheck2["default"])(this, PrecomputedMultiLayout);
43
+ (0, _classCallCheck2.default)(this, PrecomputedMultiLayout);
38
44
  // use ThrowingLayout because there is not supposed to be any creation
39
45
  // of new layouts in a precomputed layout
40
46
  _this = _super.call(this, ThrowingLayout);
41
47
  Object.entries(json).forEach(function (_ref) {
42
- var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
48
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
43
49
  layoutName = _ref2[0],
44
50
  sublayoutJson = _ref2[1];
45
51
 
46
- _this.subLayouts.set(layoutName, new _PrecomputedLayout["default"](sublayoutJson));
52
+ _this.subLayouts.set(layoutName, new _PrecomputedLayout.default(sublayoutJson));
47
53
  });
48
54
  return _this;
49
55
  }
50
56
 
51
- return (0, _createClass2["default"])(PrecomputedMultiLayout);
52
- }(_MultiLayout2["default"]);
57
+ return (0, _createClass2.default)(PrecomputedMultiLayout);
58
+ }(_MultiLayout2.default);
53
59
 
54
- exports["default"] = PrecomputedMultiLayout;
60
+ exports.default = PrecomputedMultiLayout;
@@ -1,36 +1,42 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
 
10
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
12
- var _classCallCheck2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
 
14
- var _createClass2 = _interopRequireDefault(require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/esm/createClass.js"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
 
16
16
  var _ = require("..");
17
17
 
18
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
18
24
  var SceneGraph = /*#__PURE__*/function () {
19
25
  /**
20
26
  * note: all coordinates are inter-base or inter-pixel coordinates
21
27
  */
22
28
  function SceneGraph(name, left, top, width, height, // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
29
  data) {
24
- (0, _classCallCheck2["default"])(this, SceneGraph);
30
+ (0, _classCallCheck2.default)(this, SceneGraph);
25
31
  this.name = name;
26
32
  this.left = left;
27
33
  this.top = top;
28
34
  this.width = width;
29
35
  this.height = height;
30
36
  this.data = data;
31
- this.children = void 0;
32
- this.absoluteCache = void 0;
33
- this.parent = void 0;
37
+ (0, _defineProperty2.default)(this, "children", void 0);
38
+ (0, _defineProperty2.default)(this, "absoluteCache", void 0);
39
+ (0, _defineProperty2.default)(this, "parent", void 0);
34
40
 
35
41
  if (_.inDevelopment && (typeof name !== 'string' || typeof left !== 'number' || Number.isNaN(left) || typeof top !== 'number' || Number.isNaN(top) || typeof width !== 'number' || Number.isNaN(width) || typeof height !== 'number' || Number.isNaN(height))) {
36
42
  throw new TypeError('invalid SceneGraph arguments');
@@ -42,7 +48,7 @@ var SceneGraph = /*#__PURE__*/function () {
42
48
  };
43
49
  }
44
50
 
45
- (0, _createClass2["default"])(SceneGraph, [{
51
+ (0, _createClass2.default)(SceneGraph, [{
46
52
  key: "addChild",
47
53
  value: function addChild(nameOrSceneGraph, left, top, width, height, // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
54
  data) {
@@ -149,7 +155,7 @@ var SceneGraph = /*#__PURE__*/function () {
149
155
  }, {
150
156
  key: "walkChildren",
151
157
  value: function walkChildren(callback) {
152
- var _iterator = (0, _createForOfIteratorHelper2["default"])(this.children.values()),
158
+ var _iterator = _createForOfIteratorHelper(this.children.values()),
153
159
  _step;
154
160
 
155
161
  try {
@@ -210,4 +216,4 @@ var SceneGraph = /*#__PURE__*/function () {
210
216
  return SceneGraph;
211
217
  }();
212
218
 
213
- exports["default"] = SceneGraph;
219
+ exports.default = SceneGraph;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/data/jbrowse-components2/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -15,31 +15,31 @@ var _exportNames = {
15
15
  Object.defineProperty(exports, "GranularRectLayout", {
16
16
  enumerable: true,
17
17
  get: function get() {
18
- return _GranularRectLayout["default"];
18
+ return _GranularRectLayout.default;
19
19
  }
20
20
  });
21
21
  Object.defineProperty(exports, "MultiLayout", {
22
22
  enumerable: true,
23
23
  get: function get() {
24
- return _MultiLayout["default"];
24
+ return _MultiLayout.default;
25
25
  }
26
26
  });
27
27
  Object.defineProperty(exports, "PrecomputedLayout", {
28
28
  enumerable: true,
29
29
  get: function get() {
30
- return _PrecomputedLayout["default"];
30
+ return _PrecomputedLayout.default;
31
31
  }
32
32
  });
33
33
  Object.defineProperty(exports, "PrecomputedMultiLayout", {
34
34
  enumerable: true,
35
35
  get: function get() {
36
- return _PrecomputedMultiLayout["default"];
36
+ return _PrecomputedMultiLayout.default;
37
37
  }
38
38
  });
39
39
  Object.defineProperty(exports, "SceneGraph", {
40
40
  enumerable: true,
41
41
  get: function get() {
42
- return _SceneGraph["default"];
42
+ return _SceneGraph.default;
43
43
  }
44
44
  });
45
45