@jbrowse/core 1.4.4 → 1.5.3

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 (159) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +4 -4
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +27 -8
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +10 -10
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/types.d.ts +1 -1
  6. package/BaseFeatureWidget/util.js +3 -3
  7. package/CorePlugin.d.ts +0 -1
  8. package/CorePlugin.js +13 -1
  9. package/PluginLoader.d.ts +26 -4
  10. package/PluginLoader.js +337 -51
  11. package/PluginManager.d.ts +18 -11
  12. package/PluginManager.js +53 -31
  13. package/ReExports/list.js +1 -1
  14. package/ReExports/material-ui-colors.js +38 -38
  15. package/ReExports/modules.d.ts +19 -20
  16. package/ReExports/modules.js +10 -3
  17. package/TextSearch/BaseResults.d.ts +5 -14
  18. package/TextSearch/BaseResults.js +16 -58
  19. package/TextSearch/BaseResults.test.js +1 -11
  20. package/TextSearch/TextSearchManager.d.ts +3 -3
  21. package/TextSearch/TextSearchManager.js +1 -1
  22. package/assemblyManager/assembly.d.ts +21 -8
  23. package/assemblyManager/assembly.js +163 -120
  24. package/assemblyManager/assemblyConfigSchema.d.ts +3 -0
  25. package/assemblyManager/{assemblyConfigSchemas.js → assemblyConfigSchema.js} +35 -27
  26. package/assemblyManager/assemblyManager.d.ts +169 -60
  27. package/assemblyManager/index.d.ts +1 -1
  28. package/assemblyManager/index.js +5 -5
  29. package/configuration/configurationSchema.d.ts +3 -2
  30. package/configuration/configurationSchema.js +7 -10
  31. package/configuration/configurationSchema.test.js +4 -2
  32. package/configuration/configurationSlot.js +5 -4
  33. package/configuration/index.js +4 -4
  34. package/configuration/util.js +5 -5
  35. package/data_adapters/BaseAdapter.d.ts +5 -3
  36. package/data_adapters/BaseAdapter.js +7 -4
  37. package/data_adapters/BaseAdapter.test.js +4 -2
  38. package/data_adapters/CytobandAdapter.d.ts +8 -0
  39. package/data_adapters/CytobandAdapter.js +128 -0
  40. package/data_adapters/dataAdapterCache.js +3 -3
  41. package/package.json +7 -7
  42. package/pluggableElementTypes/AdapterType.d.ts +9 -1
  43. package/pluggableElementTypes/AdapterType.js +20 -0
  44. package/pluggableElementTypes/InternetAccountType.d.ts +12 -0
  45. package/pluggableElementTypes/InternetAccountType.js +64 -0
  46. package/pluggableElementTypes/PluggableElementBase.d.ts +1 -2
  47. package/pluggableElementTypes/PluggableElementBase.js +2 -3
  48. package/pluggableElementTypes/RpcMethodType.d.ts +3 -0
  49. package/pluggableElementTypes/RpcMethodType.js +269 -26
  50. package/pluggableElementTypes/RpcMethodType.test.d.ts +4 -0
  51. package/pluggableElementTypes/RpcMethodType.test.js +118 -0
  52. package/pluggableElementTypes/ViewType.d.ts +1 -1
  53. package/pluggableElementTypes/WidgetType.d.ts +1 -0
  54. package/pluggableElementTypes/index.d.ts +7 -3
  55. package/pluggableElementTypes/index.js +127 -1
  56. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +6 -6
  57. package/pluggableElementTypes/models/BaseDisplayModel.js +1 -3
  58. package/pluggableElementTypes/models/BaseViewModel.js +13 -15
  59. package/pluggableElementTypes/models/InternetAccountModel.d.ts +24 -0
  60. package/pluggableElementTypes/models/InternetAccountModel.js +85 -0
  61. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +4 -0
  62. package/pluggableElementTypes/models/baseInternetAccountConfig.js +25 -0
  63. package/pluggableElementTypes/models/index.d.ts +3 -0
  64. package/pluggableElementTypes/models/index.js +24 -8
  65. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -1
  66. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +1 -1
  67. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +15 -6
  68. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +3 -3
  69. package/pluggableElementTypes/renderers/FeatureRendererType.js +17 -8
  70. package/pluggableElementTypes/renderers/RendererType.d.ts +1 -0
  71. package/pluggableElementTypes/renderers/RendererType.js +4 -1
  72. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +1 -1
  73. package/pluggableElementTypes/renderers/index.d.ts +9 -0
  74. package/pluggableElementTypes/renderers/index.js +63 -0
  75. package/rpc/BaseRpcDriver.js +5 -9
  76. package/rpc/BaseRpcDriver.test.js +6 -6
  77. package/rpc/RpcManager.d.ts +1 -1
  78. package/rpc/RpcManager.js +44 -16
  79. package/rpc/WebWorkerRpcDriver.js +3 -3
  80. package/rpc/coreRpcMethods.d.ts +2 -1
  81. package/rpc/coreRpcMethods.js +109 -75
  82. package/rpc/remoteAbortSignals.js +2 -2
  83. package/ui/App.d.ts +17 -4
  84. package/ui/App.js +55 -41
  85. package/ui/Drawer.d.ts +6 -14
  86. package/ui/Drawer.js +11 -12
  87. package/ui/DrawerWidget.d.ts +5 -3
  88. package/ui/DrawerWidget.js +100 -61
  89. package/ui/ErrorMessage.d.ts +5 -0
  90. package/ui/ErrorMessage.js +54 -0
  91. package/ui/FileSelector/FileSelector.d.ts +11 -0
  92. package/ui/FileSelector/FileSelector.js +198 -0
  93. package/ui/FileSelector/LocalFileChooser.d.ts +7 -0
  94. package/ui/FileSelector/LocalFileChooser.js +79 -0
  95. package/ui/FileSelector/UrlChooser.d.ts +9 -0
  96. package/ui/FileSelector/UrlChooser.js +41 -0
  97. package/ui/FileSelector/index.d.ts +2 -0
  98. package/ui/FileSelector/index.js +13 -0
  99. package/ui/Icons.d.ts +4 -0
  100. package/ui/Icons.js +34 -0
  101. package/ui/Logo.js +1 -1
  102. package/ui/PrerenderedCanvas.d.ts +1 -0
  103. package/ui/PrerenderedCanvas.js +4 -1
  104. package/ui/ResizeHandle.d.ts +2 -3
  105. package/ui/ResizeHandle.js +6 -7
  106. package/ui/SanitizedHTML.js +1 -1
  107. package/ui/Snackbar.js +4 -6
  108. package/ui/SnackbarModel.d.ts +16 -0
  109. package/ui/SnackbarModel.js +56 -0
  110. package/ui/Tooltip.d.ts +1 -1
  111. package/ui/index.js +24 -24
  112. package/ui/theme.js +5 -5
  113. package/util/QuickLRU.d.ts +1 -1
  114. package/util/QuickLRU.js +3 -3
  115. package/util/aborting.d.ts +1 -1
  116. package/util/aborting.js +10 -11
  117. package/util/analytics.d.ts +2 -2
  118. package/util/analytics.js +20 -7
  119. package/util/blockTypes.d.ts +11 -6
  120. package/util/blockTypes.js +7 -1
  121. package/util/color/cssColorsLevel4.js +1 -1
  122. package/util/color/index.js +5 -5
  123. package/util/compositeMap.js +3 -3
  124. package/util/index.d.ts +6 -16
  125. package/util/index.js +76 -100
  126. package/util/io/RemoteFileWithRangeCache.d.ts +17 -0
  127. package/util/io/RemoteFileWithRangeCache.js +266 -0
  128. package/util/io/index.d.ts +4 -2
  129. package/util/io/index.js +134 -25
  130. package/util/jexl.js +4 -1
  131. package/util/layouts/BaseLayout.d.ts +3 -0
  132. package/util/layouts/GranularRectLayout.d.ts +19 -10
  133. package/util/layouts/GranularRectLayout.js +459 -100
  134. package/util/layouts/GranularRectLayout.test.js +57 -10
  135. package/util/layouts/PrecomputedLayout.js +2 -1
  136. package/util/layouts/index.d.ts +7 -0
  137. package/util/layouts/index.js +68 -0
  138. package/util/mst-reflection.js +3 -3
  139. package/util/offscreenCanvasPonyfill.js +1 -1
  140. package/util/range.js +1 -1
  141. package/util/simpleFeature.js +1 -1
  142. package/util/stats.js +2 -2
  143. package/util/tracks.d.ts +31 -362
  144. package/util/tracks.js +74 -190
  145. package/util/types/index.d.ts +54 -10
  146. package/util/types/index.js +110 -8
  147. package/util/types/mst.d.ts +46 -2
  148. package/util/types/mst.js +56 -8
  149. package/util/types/util.d.ts +1 -1
  150. package/util/when.js +1 -1
  151. package/assemblyManager/assemblyConfigSchemas.d.ts +0 -7
  152. package/ui/FileSelector.d.ts +0 -9
  153. package/ui/FileSelector.js +0 -150
  154. package/util/io/LocalFile.d.ts +0 -18
  155. package/util/io/LocalFile.js +0 -220
  156. package/util/io/rangeFetcher.d.ts +0 -3
  157. package/util/io/rangeFetcher.js +0 -236
  158. package/value.d.ts +0 -1
  159. package/value.js +0 -10
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { IAnyStateTreeNode } from 'mobx-state-tree';
3
3
  import { BaseCardProps, BaseProps } from './types';
4
4
  import { SimpleFeatureSerialized } from '../util/simpleFeature';
5
- export declare const useStyles: (props?: any) => Record<"expandIcon" | "expansionPanelDetails" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue", string>;
5
+ export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"expandIcon" | "expansionPanelDetails" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue">;
6
6
  export declare function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): JSX.Element;
7
7
  export declare const FieldName: ({ description, name, prefix, }: {
8
8
  description?: React.ReactNode;
@@ -22,7 +22,7 @@ export declare const BaseCoreDetails: (props: BaseProps) => JSX.Element;
22
22
  interface AttributeProps {
23
23
  attributes: Record<string, any>;
24
24
  omit?: string[];
25
- formatter?: (val: unknown, key: string) => JSX.Element;
25
+ formatter?: (val: unknown, key: string) => React.ReactElement;
26
26
  descriptions?: Record<string, React.ReactNode>;
27
27
  prefix?: string[];
28
28
  }
@@ -32,7 +32,7 @@ export interface BaseInputProps extends BaseCardProps {
32
32
  omit?: string[];
33
33
  model: any;
34
34
  descriptions?: Record<string, React.ReactNode>;
35
- formatter?: (val: unknown, key: string) => JSX.Element;
35
+ formatter?: (val: unknown, key: string) => React.ReactElement;
36
36
  }
37
37
  export declare const FeatureDetails: (props: {
38
38
  model: IAnyStateTreeNode;
@@ -42,7 +42,7 @@ export declare const FeatureDetails: (props: {
42
42
  };
43
43
  depth?: number | undefined;
44
44
  omit?: string[] | undefined;
45
- formatter?: ((val: unknown, key: string) => JSX.Element) | undefined;
45
+ formatter?: ((val: unknown, key: string) => React.ReactElement) | undefined;
46
46
  }) => JSX.Element;
47
47
  declare const BaseFeatureDetails: (props: BaseInputProps) => JSX.Element | null;
48
48
  export default BaseFeatureDetails;
@@ -2,23 +2,26 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
10
+ exports.BaseAttributes = exports.Attributes = void 0;
8
11
  exports.BaseCard = BaseCard;
9
- exports.default = exports.FeatureDetails = exports.BaseAttributes = exports.Attributes = exports.BaseCoreDetails = exports.SimpleValue = exports.BasicValue = exports.FieldName = exports.useStyles = void 0;
12
+ exports.useStyles = exports.default = exports.SimpleValue = exports.FieldName = exports.FeatureDetails = exports.BasicValue = exports.BaseCoreDetails = void 0;
10
13
 
11
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
15
 
13
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
17
 
15
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
-
17
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
19
 
19
20
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
20
21
 
21
- var _react = _interopRequireDefault(require("react"));
22
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
+
24
+ var _react = _interopRequireWildcard(require("react"));
22
25
 
23
26
  var _reactErrorBoundary = require("react-error-boundary");
24
27
 
@@ -28,7 +31,7 @@ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"
28
31
 
29
32
  var _styles = require("@material-ui/core/styles");
30
33
 
31
- var _dataGrid = require("@material-ui/data-grid");
34
+ var _xDataGrid = require("@mui/x-data-grid");
32
35
 
33
36
  var _mobxReact = require("mobx-react");
34
37
 
@@ -48,6 +51,10 @@ var _util2 = require("./util");
48
51
 
49
52
  var _excluded = ["id"];
50
53
 
54
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
55
+
56
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
57
+
51
58
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
52
59
 
53
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -108,8 +115,19 @@ function BaseCard(_ref) {
108
115
  _ref$defaultExpanded = _ref.defaultExpanded,
109
116
  defaultExpanded = _ref$defaultExpanded === void 0 ? true : _ref$defaultExpanded;
110
117
  var classes = useStyles();
118
+
119
+ var _useState = (0, _react.useState)(defaultExpanded),
120
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
121
+ expanded = _useState2[0],
122
+ setExpanded = _useState2[1];
123
+
111
124
  return /*#__PURE__*/_react.default.createElement(_core.Accordion, {
112
- defaultExpanded: defaultExpanded,
125
+ expanded: expanded,
126
+ onChange: function onChange() {
127
+ return setExpanded(function (s) {
128
+ return !s;
129
+ });
130
+ },
113
131
  TransitionProps: {
114
132
  unmountOnExit: true
115
133
  }
@@ -178,7 +196,8 @@ var ArrayValue = function ArrayValue(_ref5) {
178
196
  var name = _ref5.name,
179
197
  value = _ref5.value,
180
198
  description = _ref5.description,
181
- prefix = _ref5.prefix;
199
+ _ref5$prefix = _ref5.prefix,
200
+ prefix = _ref5$prefix === void 0 ? [] : _ref5$prefix;
182
201
  var classes = useStyles();
183
202
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, value.length === 1 ? (0, _isObject.default)(value[0]) ? /*#__PURE__*/_react.default.createElement(Attributes, {
184
203
  attributes: value[0],
@@ -323,7 +342,7 @@ var DataGridDetails = function DataGridDetails(_ref11) {
323
342
  height: Math.min(rows.length, 100) * 20 + 50 + (rows.length < 100 ? 0 : 50),
324
343
  width: '100%'
325
344
  }
326
- }, /*#__PURE__*/_react.default.createElement(_dataGrid.DataGrid, {
345
+ }, /*#__PURE__*/_react.default.createElement(_xDataGrid.DataGrid, {
327
346
  disableSelectionOnClick: true,
328
347
  rowHeight: 20,
329
348
  headerHeight: 25,
@@ -7,8 +7,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = SequenceFeatureDetails;
11
10
  exports.SequencePanel = void 0;
11
+ exports.default = SequenceFeatureDetails;
12
12
 
13
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
14
 
@@ -366,35 +366,35 @@ function SequenceFeatureDetails(_ref6) {
366
366
 
367
367
  ;
368
368
  (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
369
- var _ref10, s, e, refName, seq, upstream, downstream;
369
+ var _ref10, start, end, refName, seq, up, down;
370
370
 
371
371
  return _regenerator.default.wrap(function _callee$(_context) {
372
372
  while (1) {
373
373
  switch (_context.prev = _context.next) {
374
374
  case 0:
375
375
  _context.prev = 0;
376
- _ref10 = feature, s = _ref10.start, e = _ref10.end, refName = _ref10.refName;
376
+ _ref10 = feature, start = _ref10.start, end = _ref10.end, refName = _ref10.refName;
377
377
  _context.next = 4;
378
- return fetchSeq(s, e, refName);
378
+ return fetchSeq(start, end, refName);
379
379
 
380
380
  case 4:
381
381
  seq = _context.sent;
382
382
  _context.next = 7;
383
- return fetchSeq(Math.max(0, s - 500), s, refName);
383
+ return fetchSeq(Math.max(0, start - 500), start, refName);
384
384
 
385
385
  case 7:
386
- upstream = _context.sent;
386
+ up = _context.sent;
387
387
  _context.next = 10;
388
- return fetchSeq(e, e + 500, refName);
388
+ return fetchSeq(end, end + 500, refName);
389
389
 
390
390
  case 10:
391
- downstream = _context.sent;
391
+ down = _context.sent;
392
392
 
393
393
  if (!finished) {
394
394
  setSequence({
395
395
  seq: seq,
396
- upstream: upstream,
397
- downstream: downstream
396
+ upstream: up,
397
+ downstream: down
398
398
  });
399
399
  }
400
400
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.stateModelFactory = exports.default = stateModelFactory;
7
6
  exports.configSchema = void 0;
7
+ exports.stateModelFactory = exports.default = stateModelFactory;
8
8
 
9
9
  var _mobxStateTree = require("mobx-state-tree");
10
10
 
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { IAnyStateTreeNode } from 'mobx-state-tree';
3
3
  import { SimpleFeatureSerialized } from '../util/simpleFeature';
4
4
  import { AbstractViewModel } from '../util';
@@ -5,11 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.stitch = stitch;
9
- exports.dedupe = dedupe;
10
- exports.revlist = revlist;
11
8
  exports.calculateUTRs = calculateUTRs;
9
+ exports.dedupe = dedupe;
12
10
  exports.ellipses = ellipses;
11
+ exports.revlist = revlist;
12
+ exports.stitch = stitch;
13
13
 
14
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
15
 
package/CorePlugin.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import Plugin from './Plugin';
2
2
  import PluginManager from './PluginManager';
3
- /** the core plugin, which registers types that ALL JBrowse applications are expected to need. */
4
3
  export default class CorePlugin extends Plugin {
5
4
  name: string;
6
5
  install(pluginManager: PluginManager): void;
package/CorePlugin.js CHANGED
@@ -29,10 +29,14 @@ var _BaseFeatureWidget = require("./BaseFeatureWidget");
29
29
 
30
30
  var _Plugin2 = _interopRequireDefault(require("./Plugin"));
31
31
 
32
+ var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
33
+
32
34
  var coreRpcMethods = _interopRequireWildcard(require("./rpc/coreRpcMethods"));
33
35
 
34
36
  var _WidgetType = _interopRequireDefault(require("./pluggableElementTypes/WidgetType"));
35
37
 
38
+ var _CytobandAdapter = require("./data_adapters/CytobandAdapter");
39
+
36
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
41
 
38
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -41,7 +45,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
41
45
 
42
46
  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; } }
43
47
 
44
- /** the core plugin, which registers types that ALL JBrowse applications are expected to need. */
48
+ // the core plugin, which registers types that ALL JBrowse applications are
49
+ // expected to need.
45
50
  var CorePlugin = /*#__PURE__*/function (_Plugin) {
46
51
  (0, _inherits2.default)(CorePlugin, _Plugin);
47
52
 
@@ -70,6 +75,13 @@ var CorePlugin = /*#__PURE__*/function (_Plugin) {
70
75
  return new RpcMethod(pluginManager);
71
76
  });
72
77
  });
78
+ pluginManager.addAdapterType(function () {
79
+ return new _AdapterType.default({
80
+ name: 'CytobandAdapter',
81
+ configSchema: _CytobandAdapter.configSchema,
82
+ AdapterClass: _CytobandAdapter.DataAdapter
83
+ });
84
+ });
73
85
  pluginManager.addWidgetType(function () {
74
86
  return new _WidgetType.default({
75
87
  name: 'BaseFeatureWidget',
package/PluginLoader.d.ts CHANGED
@@ -1,19 +1,41 @@
1
- /// <reference types="node" />
2
1
  import { PluginConstructor } from './Plugin';
3
2
  export declare const PluginSourceConfigurationSchema: import("./configuration/configurationSchema").AnyConfigurationSchemaType;
4
- export interface PluginDefinition {
5
- name?: string;
3
+ export interface UMDPluginDefinition {
4
+ umdUrl: string;
5
+ name: string;
6
+ }
7
+ export interface LegacyUMDPluginDefinition {
6
8
  url: string;
9
+ name: string;
10
+ }
11
+ export declare function isUMDPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is UMDPluginDefinition | LegacyUMDPluginDefinition;
12
+ export interface ESMPluginDefinition {
13
+ esmUrl: string;
14
+ }
15
+ export declare function isESMPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is ESMPluginDefinition;
16
+ export interface CJSPluginDefinition {
17
+ cjsUrl: string;
18
+ }
19
+ export declare function isCJSPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is CJSPluginDefinition;
20
+ export interface PluginDefinition extends Partial<UMDPluginDefinition>, Partial<LegacyUMDPluginDefinition>, Partial<ESMPluginDefinition>, Partial<CJSPluginDefinition> {
7
21
  }
8
22
  export interface PluginRecord {
9
23
  plugin: PluginConstructor;
10
24
  definition: PluginDefinition;
11
25
  }
26
+ export interface LoadedPlugin {
27
+ default: PluginConstructor;
28
+ }
12
29
  export default class PluginLoader {
13
30
  definitions: PluginDefinition[];
14
31
  constructor(pluginDefinitions?: PluginDefinition[]);
15
32
  loadScript(scriptUrl: string): Promise<void>;
33
+ loadCJSPlugin(pluginDefinition: CJSPluginDefinition): Promise<LoadedPlugin>;
34
+ loadESMPlugin(pluginDefinition: ESMPluginDefinition): Promise<LoadedPlugin>;
35
+ loadUMDPlugin(pluginDefinition: UMDPluginDefinition | LegacyUMDPluginDefinition): Promise<{
36
+ default: PluginConstructor;
37
+ }>;
16
38
  loadPlugin(definition: PluginDefinition): Promise<PluginConstructor>;
17
- installGlobalReExports(target: WindowOrWorkerGlobalScope | NodeJS.Global): void;
39
+ installGlobalReExports(target: WindowOrWorkerGlobalScope): void;
18
40
  load(): Promise<PluginRecord[]>;
19
41
  }