@jbrowse/core 1.6.7 → 1.7.0

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 (61) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +2 -2
  2. package/PluginLoader.d.ts +11 -3
  3. package/PluginLoader.js +37 -89
  4. package/PluginManager.d.ts +2 -2
  5. package/PluginManager.js +4 -6
  6. package/ReExports/modules.d.ts +2 -2
  7. package/assemblyManager/assemblyManager.d.ts +21 -21
  8. package/configuration/util.js +1 -5
  9. package/data_adapters/BaseAdapter.js +70 -108
  10. package/package.json +5 -8
  11. package/pluggableElementTypes/WidgetType.d.ts +1 -2
  12. package/pluggableElementTypes/models/BaseViewModel.js +1 -1
  13. package/pluggableElementTypes/models/InternetAccountModel.js +51 -69
  14. package/pluggableElementTypes/renderers/FeatureRendererType.js +14 -19
  15. package/rpc/BaseRpcDriver.d.ts +7 -8
  16. package/rpc/BaseRpcDriver.js +35 -44
  17. package/rpc/BaseRpcDriver.test.js +2 -2
  18. package/rpc/RpcManager.js +29 -11
  19. package/rpc/WebWorkerRpcDriver.d.ts +2 -6
  20. package/rpc/WebWorkerRpcDriver.js +6 -5
  21. package/rpc/configSchema.js +14 -6
  22. package/ui/App.js +13 -17
  23. package/ui/AssemblySelector.d.ts +4 -1
  24. package/ui/AssemblySelector.js +69 -8
  25. package/ui/PrerenderedCanvas.js +1 -26
  26. package/ui/ViewContainer.d.ts +5 -5
  27. package/ui/ViewContainer.js +12 -7
  28. package/util/index.d.ts +12 -5
  29. package/util/index.js +47 -26
  30. package/util/io/index.js +3 -1
  31. package/util/layouts/BaseLayout.d.ts +1 -0
  32. package/util/layouts/GranularRectLayout.js +2 -0
  33. package/util/layouts/PrecomputedLayout.js +2 -1
  34. package/util/offscreenCanvas/Canvas2DContextShim/Canvas2DContextShim.test.d.ts +1 -0
  35. package/util/offscreenCanvas/Canvas2DContextShim/Canvas2DContextShim.test.js +15 -0
  36. package/util/offscreenCanvas/Canvas2DContextShim/context.d.ts +56 -0
  37. package/util/offscreenCanvas/Canvas2DContextShim/context.js +356 -0
  38. package/util/offscreenCanvas/Canvas2DContextShim/index.d.ts +2 -0
  39. package/util/offscreenCanvas/Canvas2DContextShim/index.js +13 -0
  40. package/util/offscreenCanvas/Canvas2DContextShim/svg.d.ts +3 -0
  41. package/util/offscreenCanvas/Canvas2DContextShim/svg.js +210 -0
  42. package/util/offscreenCanvas/Canvas2DContextShim/types.d.ts +50 -0
  43. package/util/offscreenCanvas/Canvas2DContextShim/types.js +59 -0
  44. package/util/offscreenCanvas/Canvas2DContextShim/util.d.ts +12 -0
  45. package/util/offscreenCanvas/Canvas2DContextShim/util.js +91 -0
  46. package/util/offscreenCanvas/CanvasShim.d.ts +11 -0
  47. package/util/offscreenCanvas/CanvasShim.js +54 -0
  48. package/util/offscreenCanvas/index.d.ts +14 -0
  49. package/util/offscreenCanvas/index.js +170 -0
  50. package/util/offscreenCanvas/ponyfill.d.ts +6 -0
  51. package/util/offscreenCanvas/ponyfill.js +145 -0
  52. package/util/offscreenCanvas/types.d.ts +16 -0
  53. package/util/offscreenCanvas/types.js +14 -0
  54. package/util/offscreenCanvasPonyfill.d.ts +1 -58
  55. package/util/offscreenCanvasPonyfill.js +10 -815
  56. package/util/offscreenCanvasUtils.d.ts +1 -13
  57. package/util/offscreenCanvasUtils.js +12 -124
  58. package/util/simpleFeature.d.ts +1 -0
  59. package/util/tracks.js +4 -1
  60. package/ui/NewSessionCards.d.ts +0 -14
  61. package/ui/NewSessionCards.js +0 -136
@@ -39,8 +39,8 @@ export interface BaseInputProps extends BaseCardProps {
39
39
  export declare const FeatureDetails: (props: {
40
40
  model: IAnyStateTreeNode;
41
41
  feature: SimpleFeatureSerialized & {
42
- name?: string | undefined;
43
- id?: string | undefined;
42
+ name?: string;
43
+ id?: string;
44
44
  };
45
45
  depth?: number | undefined;
46
46
  omit?: string[] | undefined;
package/PluginLoader.d.ts CHANGED
@@ -28,14 +28,22 @@ export interface LoadedPlugin {
28
28
  }
29
29
  export default class PluginLoader {
30
30
  definitions: PluginDefinition[];
31
- constructor(pluginDefinitions?: PluginDefinition[]);
31
+ fetchESM?: (url: string) => Promise<unknown>;
32
+ fetchCJS?: (url: string) => Promise<LoadedPlugin>;
33
+ constructor(pluginDefinitions?: PluginDefinition[], args?: {
34
+ fetchESM?: (url: string) => Promise<unknown>;
35
+ fetchCJS?: (url: string) => Promise<LoadedPlugin>;
36
+ });
32
37
  loadScript(scriptUrl: string): Promise<void>;
33
- loadCJSPlugin(pluginDefinition: CJSPluginDefinition): Promise<LoadedPlugin>;
38
+ loadCJSPlugin({ cjsUrl }: CJSPluginDefinition): Promise<LoadedPlugin>;
34
39
  loadESMPlugin(pluginDefinition: ESMPluginDefinition): Promise<LoadedPlugin>;
35
40
  loadUMDPlugin(pluginDefinition: UMDPluginDefinition | LegacyUMDPluginDefinition): Promise<{
36
41
  default: PluginConstructor;
37
42
  }>;
38
43
  loadPlugin(definition: PluginDefinition): Promise<PluginConstructor>;
39
44
  installGlobalReExports(target: WindowOrWorkerGlobalScope): void;
40
- load(): Promise<PluginRecord[]>;
45
+ load(): Promise<{
46
+ plugin: PluginConstructor;
47
+ definition: PluginDefinition;
48
+ }[]>;
41
49
  }
package/PluginLoader.js CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -28,18 +26,12 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
28
26
 
29
27
  var _loadScript = _interopRequireDefault(require("load-script2"));
30
28
 
31
- var _sanitizeFilename = _interopRequireDefault(require("sanitize-filename"));
32
-
33
29
  var _configuration = require("./configuration");
34
30
 
35
31
  var _ReExports = _interopRequireDefault(require("./ReExports"));
36
32
 
37
33
  var _util = require("./util");
38
34
 
39
- 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); }
40
-
41
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
42
-
43
35
  var PluginSourceConfigurationSchema = (0, _configuration.ConfigurationSchema)('PluginSource', {
44
36
  name: {
45
37
  type: 'string',
@@ -67,8 +59,7 @@ function isCJSPluginDefinition(pluginDefinition) {
67
59
  function getGlobalObject() {
68
60
  // Based on window-or-global
69
61
  // https://github.com/purposeindustries/window-or-global/blob/322abc71de0010c9e5d9d0729df40959e1ef8775/lib/index.js
70
- return (
71
- /* eslint-disable-next-line no-restricted-globals */
62
+ return (// eslint-disable-next-line no-restricted-globals
72
63
  (typeof self === "undefined" ? "undefined" : (0, _typeof2.default)(self)) === 'object' && self.self === self && self || (typeof global === "undefined" ? "undefined" : (0, _typeof2.default)(global)) === 'object' && global.global === global && global || // @ts-ignore
73
64
  this
74
65
  );
@@ -81,8 +72,13 @@ function isInWebWorker(globalObject) {
81
72
  var PluginLoader = /*#__PURE__*/function () {
82
73
  function PluginLoader() {
83
74
  var pluginDefinitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
75
+ var args = arguments.length > 1 ? arguments[1] : undefined;
84
76
  (0, _classCallCheck2.default)(this, PluginLoader);
85
77
  (0, _defineProperty2.default)(this, "definitions", []);
78
+ (0, _defineProperty2.default)(this, "fetchESM", void 0);
79
+ (0, _defineProperty2.default)(this, "fetchCJS", void 0);
80
+ this.fetchESM = args === null || args === void 0 ? void 0 : args.fetchESM;
81
+ this.fetchCJS = args === null || args === void 0 ? void 0 : args.fetchCJS;
86
82
  this.definitions = JSON.parse(JSON.stringify(pluginDefinitions));
87
83
  }
88
84
 
@@ -115,95 +111,49 @@ var PluginLoader = /*#__PURE__*/function () {
115
111
  }, {
116
112
  key: "loadCJSPlugin",
117
113
  value: function () {
118
- var _loadCJSPlugin = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(pluginDefinition) {
119
- var parsedUrl, fs, path, os, http, fsPromises, systemTmp, tmpDir, plugin, pluginLocation, pluginLocationRelative, pluginDownload;
114
+ var _loadCJSPlugin = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
115
+ var cjsUrl, parsedUrl;
120
116
  return _regenerator.default.wrap(function _callee$(_context) {
121
117
  while (1) {
122
118
  switch (_context.prev = _context.next) {
123
119
  case 0:
124
- _context.prev = 0;
125
- parsedUrl = new URL(pluginDefinition.cjsUrl, getGlobalObject().location.href);
126
- _context.next = 8;
120
+ cjsUrl = _ref.cjsUrl;
121
+ _context.prev = 1;
122
+ parsedUrl = new URL(cjsUrl, getGlobalObject().location.href);
123
+ _context.next = 9;
127
124
  break;
128
125
 
129
- case 4:
130
- _context.prev = 4;
131
- _context.t0 = _context["catch"](0);
126
+ case 5:
127
+ _context.prev = 5;
128
+ _context.t0 = _context["catch"](1);
132
129
  console.error(_context.t0);
133
- throw new Error("Error parsing URL: ".concat(pluginDefinition.cjsUrl));
130
+ throw new Error("Error parsing URL: ".concat(cjsUrl));
134
131
 
135
- case 8:
132
+ case 9:
136
133
  if (!(parsedUrl.protocol !== 'http:' && parsedUrl.protocol !== 'https:')) {
137
- _context.next = 10;
134
+ _context.next = 11;
138
135
  break;
139
136
  }
140
137
 
141
- throw new Error("cannot load plugins using protocol \"".concat(parsedUrl.protocol, "\""));
142
-
143
- case 10:
144
- fs = require('fs');
145
- path = require('path');
146
- os = require('os');
147
- http = require('http');
148
- fsPromises = fs.promises; // On macOS `os.tmpdir()` returns the path to a symlink, see:
149
- // https://github.com/nodejs/node/issues/11422
150
-
151
- _context.next = 17;
152
- return fsPromises.realpath(os.tmpdir());
138
+ throw new Error("Cannot load plugins using protocol \"".concat(parsedUrl.protocol, "\""));
153
139
 
154
- case 17:
155
- systemTmp = _context.sent;
156
- _context.next = 20;
157
- return fsPromises.mkdtemp(path.join(systemTmp, 'jbrowse-plugin-'));
158
-
159
- case 20:
160
- tmpDir = _context.sent;
161
- plugin = undefined;
162
- _context.prev = 22;
163
- pluginLocation = path.join(tmpDir, (0, _sanitizeFilename.default)(parsedUrl.href));
164
- pluginLocationRelative = path.relative('.', pluginLocation);
165
- pluginDownload = new Promise(function (resolve, reject) {
166
- var file = fs.createWriteStream(pluginLocation);
167
- http.get(parsedUrl.href, function (response) {
168
- response.pipe(file);
169
- file.on('finish', function () {
170
- resolve();
171
- });
172
- }).on('error', function (err) {
173
- fs.unlinkSync(pluginLocation);
174
- reject(err);
175
- });
176
- });
177
- _context.next = 28;
178
- return pluginDownload;
179
-
180
- case 28:
181
- plugin = __non_webpack_require__(pluginLocationRelative);
182
-
183
- case 29:
184
- _context.prev = 29;
185
- fsPromises.rmdir(tmpDir, {
186
- recursive: true
187
- });
188
- return _context.finish(29);
189
-
190
- case 32:
191
- if (plugin) {
192
- _context.next = 34;
140
+ case 11:
141
+ if (this.fetchCJS) {
142
+ _context.next = 13;
193
143
  break;
194
144
  }
195
145
 
196
- throw new Error("Could not load CJS plugin: ".concat(parsedUrl));
146
+ throw new Error('No fetchCJS callback provided');
197
147
 
198
- case 34:
199
- return _context.abrupt("return", plugin);
148
+ case 13:
149
+ return _context.abrupt("return", this.fetchCJS(parsedUrl.href));
200
150
 
201
- case 35:
151
+ case 14:
202
152
  case "end":
203
153
  return _context.stop();
204
154
  }
205
155
  }
206
- }, _callee, null, [[0, 4], [22,, 29, 32]]);
156
+ }, _callee, this, [[1, 5]]);
207
157
  }));
208
158
 
209
159
  function loadCJSPlugin(_x) {
@@ -216,6 +166,8 @@ var PluginLoader = /*#__PURE__*/function () {
216
166
  key: "loadESMPlugin",
217
167
  value: function () {
218
168
  var _loadESMPlugin = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(pluginDefinition) {
169
+ var _this$fetchESM;
170
+
219
171
  var parsedUrl, plugin;
220
172
  return _regenerator.default.wrap(function _callee2$(_context2) {
221
173
  while (1) {
@@ -242,11 +194,7 @@ var PluginLoader = /*#__PURE__*/function () {
242
194
 
243
195
  case 10:
244
196
  _context2.next = 12;
245
- return Promise.resolve("".concat(
246
- /* webpackIgnore: true */
247
- parsedUrl.href)).then(function (s) {
248
- return _interopRequireWildcard(require(s));
249
- });
197
+ return (_this$fetchESM = this.fetchESM) === null || _this$fetchESM === void 0 ? void 0 : _this$fetchESM.call(this, parsedUrl.href);
250
198
 
251
199
  case 12:
252
200
  plugin = _context2.sent;
@@ -266,7 +214,7 @@ var PluginLoader = /*#__PURE__*/function () {
266
214
  return _context2.stop();
267
215
  }
268
216
  }
269
- }, _callee2, null, [[0, 4]]);
217
+ }, _callee2, this, [[0, 4]]);
270
218
  }));
271
219
 
272
220
  function loadESMPlugin(_x2) {
@@ -421,10 +369,10 @@ var PluginLoader = /*#__PURE__*/function () {
421
369
  key: "installGlobalReExports",
422
370
  value: function installGlobalReExports(target) {
423
371
  // @ts-ignore
424
- target.JBrowseExports = Object.fromEntries(Object.entries(_ReExports.default).map(function (_ref) {
425
- var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
426
- moduleName = _ref2[0],
427
- module = _ref2[1];
372
+ target.JBrowseExports = Object.fromEntries(Object.entries(_ReExports.default).map(function (_ref2) {
373
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
374
+ moduleName = _ref3[0],
375
+ module = _ref3[1];
428
376
 
429
377
  return [moduleName, module];
430
378
  }));
@@ -440,7 +388,7 @@ var PluginLoader = /*#__PURE__*/function () {
440
388
  switch (_context6.prev = _context6.next) {
441
389
  case 0:
442
390
  return _context6.abrupt("return", Promise.all(this.definitions.map( /*#__PURE__*/function () {
443
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(definition) {
391
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(definition) {
444
392
  return _regenerator.default.wrap(function _callee5$(_context5) {
445
393
  while (1) {
446
394
  switch (_context5.prev = _context5.next) {
@@ -465,7 +413,7 @@ var PluginLoader = /*#__PURE__*/function () {
465
413
  }));
466
414
 
467
415
  return function (_x5) {
468
- return _ref3.apply(this, arguments);
416
+ return _ref4.apply(this, arguments);
469
417
  };
470
418
  }())));
471
419
 
@@ -221,7 +221,7 @@ export default class PluginManager {
221
221
  interRegionPaddingWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
222
222
  minimumBlockWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
223
223
  }, {
224
- features: import("./util/simpleFeature").Feature[] | undefined;
224
+ features: import("./util").Feature[] | undefined;
225
225
  volatileWidth: number;
226
226
  } & {
227
227
  setDisplayedRegions(regions: import("./util").Region[]): void;
@@ -264,7 +264,7 @@ export default class PluginManager {
264
264
  regionNumber?: number | undefined;
265
265
  }): number | undefined;
266
266
  } & {
267
- setFeatures(features: import("./util/simpleFeature").Feature[]): void;
267
+ setFeatures(features: import("./util").Feature[]): void;
268
268
  zoomToDisplayedRegions(leftPx: import("./util/Base1DViewModel").BpOffset | undefined, rightPx: import("./util/Base1DViewModel").BpOffset | undefined): void;
269
269
  showAllRegions(): void;
270
270
  moveTo(start: import("./util/Base1DViewModel").BpOffset, end: import("./util/Base1DViewModel").BpOffset): void;
package/PluginManager.js CHANGED
@@ -96,13 +96,11 @@ var PhasedScheduler = /*#__PURE__*/function () {
96
96
  var _this = this;
97
97
 
98
98
  this.phaseOrder.forEach(function (phaseName) {
99
- var phaseCallbacks = _this.phaseCallbacks.get(phaseName);
99
+ var _this$phaseCallbacks$;
100
100
 
101
- if (phaseCallbacks) {
102
- phaseCallbacks.forEach(function (callback) {
103
- return callback();
104
- });
105
- }
101
+ (_this$phaseCallbacks$ = _this.phaseCallbacks.get(phaseName)) === null || _this$phaseCallbacks$ === void 0 ? void 0 : _this$phaseCallbacks$.forEach(function (callback) {
102
+ return callback();
103
+ });
106
104
  });
107
105
  }
108
106
  }]);
@@ -149,7 +149,7 @@ declare const libs: {
149
149
  interRegionPaddingWidth: mst.IOptionalIType<mst.ISimpleType<number>, [undefined]>;
150
150
  minimumBlockWidth: mst.IOptionalIType<mst.ISimpleType<number>, [undefined]>;
151
151
  }, {
152
- features: import("../util/simpleFeature").Feature[] | undefined;
152
+ features: coreUtil.Feature[] | undefined;
153
153
  volatileWidth: number;
154
154
  } & {
155
155
  setDisplayedRegions(regions: coreUtil.Region[]): void;
@@ -192,7 +192,7 @@ declare const libs: {
192
192
  regionNumber?: number | undefined;
193
193
  }): number | undefined;
194
194
  } & {
195
- setFeatures(features: import("../util/simpleFeature").Feature[]): void;
195
+ setFeatures(features: coreUtil.Feature[]): void;
196
196
  zoomToDisplayedRegions(leftPx: import("../util/Base1DViewModel").BpOffset | undefined, rightPx: import("../util/Base1DViewModel").BpOffset | undefined): void;
197
197
  showAllRegions(): void;
198
198
  moveTo(start: import("../util/Base1DViewModel").BpOffset, end: import("../util/Base1DViewModel").BpOffset): void;
@@ -9,7 +9,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
9
9
  refNameAliases: {
10
10
  [key: string]: string;
11
11
  } | undefined;
12
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
12
+ cytobands: import("../util").Feature[] | undefined;
13
13
  } & {
14
14
  readonly initialized: boolean;
15
15
  readonly name: string;
@@ -31,14 +31,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
31
31
  refNameAliases: {
32
32
  [x: string]: string;
33
33
  };
34
- cytobands: import("../util/simpleFeature").Feature[];
34
+ cytobands: import("../util").Feature[];
35
35
  }): void;
36
36
  setError(e: Error): void;
37
37
  setRegions(regions: import("../util").Region[]): void;
38
38
  setRefNameAliases(refNameAliases: {
39
39
  [x: string]: string;
40
40
  }): void;
41
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
41
+ setCytobands(cytobands: import("../util").Feature[]): void;
42
42
  afterAttach(): void;
43
43
  } & {
44
44
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -65,7 +65,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
65
65
  refNameAliases: {
66
66
  [key: string]: string;
67
67
  } | undefined;
68
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
68
+ cytobands: import("../util").Feature[] | undefined;
69
69
  } & {
70
70
  readonly initialized: boolean;
71
71
  readonly name: string;
@@ -87,14 +87,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
87
87
  refNameAliases: {
88
88
  [x: string]: string;
89
89
  };
90
- cytobands: import("../util/simpleFeature").Feature[];
90
+ cytobands: import("../util").Feature[];
91
91
  }): void;
92
92
  setError(e: Error): void;
93
93
  setRegions(regions: import("../util").Region[]): void;
94
94
  setRefNameAliases(refNameAliases: {
95
95
  [x: string]: string;
96
96
  }): void;
97
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
97
+ setCytobands(cytobands: import("../util").Feature[]): void;
98
98
  afterAttach(): void;
99
99
  } & {
100
100
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -119,7 +119,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
119
119
  refNameAliases: {
120
120
  [key: string]: string;
121
121
  } | undefined;
122
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
122
+ cytobands: import("../util").Feature[] | undefined;
123
123
  } & {
124
124
  readonly initialized: boolean;
125
125
  readonly name: string;
@@ -141,14 +141,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
141
141
  refNameAliases: {
142
142
  [x: string]: string;
143
143
  };
144
- cytobands: import("../util/simpleFeature").Feature[];
144
+ cytobands: import("../util").Feature[];
145
145
  }): void;
146
146
  setError(e: Error): void;
147
147
  setRegions(regions: import("../util").Region[]): void;
148
148
  setRefNameAliases(refNameAliases: {
149
149
  [x: string]: string;
150
150
  }): void;
151
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
151
+ setCytobands(cytobands: import("../util").Feature[]): void;
152
152
  afterAttach(): void;
153
153
  } & {
154
154
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -184,7 +184,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
184
184
  refNameAliases: {
185
185
  [key: string]: string;
186
186
  } | undefined;
187
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
187
+ cytobands: import("../util").Feature[] | undefined;
188
188
  } & {
189
189
  readonly initialized: boolean;
190
190
  readonly name: string;
@@ -206,14 +206,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
206
206
  refNameAliases: {
207
207
  [x: string]: string;
208
208
  };
209
- cytobands: import("../util/simpleFeature").Feature[];
209
+ cytobands: import("../util").Feature[];
210
210
  }): void;
211
211
  setError(e: Error): void;
212
212
  setRegions(regions: import("../util").Region[]): void;
213
213
  setRefNameAliases(refNameAliases: {
214
214
  [x: string]: string;
215
215
  }): void;
216
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
216
+ setCytobands(cytobands: import("../util").Feature[]): void;
217
217
  afterAttach(): void;
218
218
  } & {
219
219
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -238,7 +238,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
238
238
  refNameAliases: {
239
239
  [key: string]: string;
240
240
  } | undefined;
241
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
241
+ cytobands: import("../util").Feature[] | undefined;
242
242
  } & {
243
243
  readonly initialized: boolean;
244
244
  readonly name: string;
@@ -260,14 +260,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
260
260
  refNameAliases: {
261
261
  [x: string]: string;
262
262
  };
263
- cytobands: import("../util/simpleFeature").Feature[];
263
+ cytobands: import("../util").Feature[];
264
264
  }): void;
265
265
  setError(e: Error): void;
266
266
  setRegions(regions: import("../util").Region[]): void;
267
267
  setRefNameAliases(refNameAliases: {
268
268
  [x: string]: string;
269
269
  }): void;
270
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
270
+ setCytobands(cytobands: import("../util").Feature[]): void;
271
271
  afterAttach(): void;
272
272
  } & {
273
273
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -307,7 +307,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
307
307
  refNameAliases: {
308
308
  [key: string]: string;
309
309
  } | undefined;
310
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
310
+ cytobands: import("../util").Feature[] | undefined;
311
311
  } & {
312
312
  readonly initialized: boolean;
313
313
  readonly name: string;
@@ -329,14 +329,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
329
329
  refNameAliases: {
330
330
  [x: string]: string;
331
331
  };
332
- cytobands: import("../util/simpleFeature").Feature[];
332
+ cytobands: import("../util").Feature[];
333
333
  }): void;
334
334
  setError(e: Error): void;
335
335
  setRegions(regions: import("../util").Region[]): void;
336
336
  setRefNameAliases(refNameAliases: {
337
337
  [x: string]: string;
338
338
  }): void;
339
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
339
+ setCytobands(cytobands: import("../util").Feature[]): void;
340
340
  afterAttach(): void;
341
341
  } & {
342
342
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -361,7 +361,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
361
361
  refNameAliases: {
362
362
  [key: string]: string;
363
363
  } | undefined;
364
- cytobands: import("../util/simpleFeature").Feature[] | undefined;
364
+ cytobands: import("../util").Feature[] | undefined;
365
365
  } & {
366
366
  readonly initialized: boolean;
367
367
  readonly name: string;
@@ -383,14 +383,14 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
383
383
  refNameAliases: {
384
384
  [x: string]: string;
385
385
  };
386
- cytobands: import("../util/simpleFeature").Feature[];
386
+ cytobands: import("../util").Feature[];
387
387
  }): void;
388
388
  setError(e: Error): void;
389
389
  setRegions(regions: import("../util").Region[]): void;
390
390
  setRefNameAliases(refNameAliases: {
391
391
  [x: string]: string;
392
392
  }): void;
393
- setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
393
+ setCytobands(cytobands: import("../util").Feature[]): void;
394
394
  afterAttach(): void;
395
395
  } & {
396
396
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
@@ -89,11 +89,7 @@ function readConfObject(confObject) {
89
89
  subConf = confObject.get(slotName);
90
90
  }
91
91
 
92
- if (!subConf) {
93
- return undefined;
94
- }
95
-
96
- return readConfObject(subConf, newPath, args);
92
+ return subConf ? readConfObject(subConf, newPath, args) : undefined;
97
93
  }
98
94
 
99
95
  return readConfObject(confObject, slotName, args);