@jbrowse/core 2.8.0 → 2.10.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.
@@ -2,6 +2,7 @@ import { IAnyType } from 'mobx-state-tree';
2
2
  import { Assembly } from './assembly';
3
3
  import PluginManager from '../PluginManager';
4
4
  import RpcManager from '../rpc/RpcManager';
5
+ type AdapterConf = Record<string, unknown>;
5
6
  /**
6
7
  * #stateModel AssemblyManager
7
8
  */
@@ -32,6 +33,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
32
33
  readonly initialized: boolean;
33
34
  readonly name: string;
34
35
  readonly regions: import("./assembly").BasicRegion[] | undefined;
36
+ /**
37
+ * #action
38
+ * private: you would generally want to add to manipulate
39
+ * jbrowse.assemblies, session.sessionAssemblies, or
40
+ * session.temporaryAssemblies instead of using this directly
41
+ *
42
+ * this can take an active instance of an assembly, in which case it is
43
+ * referred to, or it can take an identifier e.g. assembly name, which is
44
+ * used as a reference. snapshots cannot be used
45
+ */
35
46
  readonly aliases: string[];
36
47
  readonly displayName: string | undefined;
37
48
  hasName(name: string): boolean;
@@ -61,11 +72,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
61
72
  load(): Promise<void>;
62
73
  loadPre(): Promise<void>;
63
74
  } & {
64
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
65
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
75
+ getAdapterMapEntry(adapterConf: {
76
+ [x: string]: unknown;
77
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
78
+ getRefNameMapForAdapter(adapterConf: {
79
+ [x: string]: unknown;
80
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
66
81
  [x: string]: string | undefined;
67
82
  }>;
68
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
83
+ getReverseRefNameMapForAdapter(adapterConf: {
84
+ [x: string]: unknown;
85
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
69
86
  [x: string]: string | undefined;
70
87
  }>;
71
88
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -90,6 +107,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
90
107
  readonly initialized: boolean;
91
108
  readonly name: string;
92
109
  readonly regions: import("./assembly").BasicRegion[] | undefined;
110
+ /**
111
+ * #action
112
+ * private: you would generally want to add to manipulate
113
+ * jbrowse.assemblies, session.sessionAssemblies, or
114
+ * session.temporaryAssemblies instead of using this directly
115
+ *
116
+ * this can take an active instance of an assembly, in which case it is
117
+ * referred to, or it can take an identifier e.g. assembly name, which is
118
+ * used as a reference. snapshots cannot be used
119
+ */
93
120
  readonly aliases: string[];
94
121
  readonly displayName: string | undefined;
95
122
  hasName(name: string): boolean;
@@ -119,11 +146,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
119
146
  load(): Promise<void>;
120
147
  loadPre(): Promise<void>;
121
148
  } & {
122
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
123
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
149
+ getAdapterMapEntry(adapterConf: {
150
+ [x: string]: unknown;
151
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
152
+ getRefNameMapForAdapter(adapterConf: {
153
+ [x: string]: unknown;
154
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
124
155
  [x: string]: string | undefined;
125
156
  }>;
126
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
157
+ getReverseRefNameMapForAdapter(adapterConf: {
158
+ [x: string]: unknown;
159
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
127
160
  [x: string]: string | undefined;
128
161
  }>;
129
162
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -146,6 +179,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
146
179
  readonly initialized: boolean;
147
180
  readonly name: string;
148
181
  readonly regions: import("./assembly").BasicRegion[] | undefined;
182
+ /**
183
+ * #action
184
+ * private: you would generally want to add to manipulate
185
+ * jbrowse.assemblies, session.sessionAssemblies, or
186
+ * session.temporaryAssemblies instead of using this directly
187
+ *
188
+ * this can take an active instance of an assembly, in which case it is
189
+ * referred to, or it can take an identifier e.g. assembly name, which is
190
+ * used as a reference. snapshots cannot be used
191
+ */
149
192
  readonly aliases: string[];
150
193
  readonly displayName: string | undefined;
151
194
  hasName(name: string): boolean;
@@ -175,11 +218,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
175
218
  load(): Promise<void>;
176
219
  loadPre(): Promise<void>;
177
220
  } & {
178
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
179
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
221
+ getAdapterMapEntry(adapterConf: {
222
+ [x: string]: unknown;
223
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
224
+ getRefNameMapForAdapter(adapterConf: {
225
+ [x: string]: unknown;
226
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
180
227
  [x: string]: string | undefined;
181
228
  }>;
182
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
229
+ getReverseRefNameMapForAdapter(adapterConf: {
230
+ [x: string]: unknown;
231
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
183
232
  [x: string]: string | undefined;
184
233
  }>;
185
234
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined>;
@@ -207,6 +256,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
207
256
  readonly initialized: boolean;
208
257
  readonly name: string;
209
258
  readonly regions: import("./assembly").BasicRegion[] | undefined;
259
+ /**
260
+ * #action
261
+ * private: you would generally want to add to manipulate
262
+ * jbrowse.assemblies, session.sessionAssemblies, or
263
+ * session.temporaryAssemblies instead of using this directly
264
+ *
265
+ * this can take an active instance of an assembly, in which case it is
266
+ * referred to, or it can take an identifier e.g. assembly name, which is
267
+ * used as a reference. snapshots cannot be used
268
+ */
210
269
  readonly aliases: string[];
211
270
  readonly displayName: string | undefined;
212
271
  hasName(name: string): boolean;
@@ -236,11 +295,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
236
295
  load(): Promise<void>;
237
296
  loadPre(): Promise<void>;
238
297
  } & {
239
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
240
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
298
+ getAdapterMapEntry(adapterConf: {
299
+ [x: string]: unknown;
300
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
301
+ getRefNameMapForAdapter(adapterConf: {
302
+ [x: string]: unknown;
303
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
241
304
  [x: string]: string | undefined;
242
305
  }>;
243
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
306
+ getReverseRefNameMapForAdapter(adapterConf: {
307
+ [x: string]: unknown;
308
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
244
309
  [x: string]: string | undefined;
245
310
  }>;
246
311
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -263,6 +328,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
263
328
  readonly initialized: boolean;
264
329
  readonly name: string;
265
330
  readonly regions: import("./assembly").BasicRegion[] | undefined;
331
+ /**
332
+ * #action
333
+ * private: you would generally want to add to manipulate
334
+ * jbrowse.assemblies, session.sessionAssemblies, or
335
+ * session.temporaryAssemblies instead of using this directly
336
+ *
337
+ * this can take an active instance of an assembly, in which case it is
338
+ * referred to, or it can take an identifier e.g. assembly name, which is
339
+ * used as a reference. snapshots cannot be used
340
+ */
266
341
  readonly aliases: string[];
267
342
  readonly displayName: string | undefined;
268
343
  hasName(name: string): boolean;
@@ -292,11 +367,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
292
367
  load(): Promise<void>;
293
368
  loadPre(): Promise<void>;
294
369
  } & {
295
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
296
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
370
+ getAdapterMapEntry(adapterConf: {
371
+ [x: string]: unknown;
372
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
373
+ getRefNameMapForAdapter(adapterConf: {
374
+ [x: string]: unknown;
375
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
297
376
  [x: string]: string | undefined;
298
377
  }>;
299
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
378
+ getReverseRefNameMapForAdapter(adapterConf: {
379
+ [x: string]: unknown;
380
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
300
381
  [x: string]: string | undefined;
301
382
  }>;
302
383
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
@@ -341,6 +422,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
341
422
  readonly initialized: boolean;
342
423
  readonly name: string;
343
424
  readonly regions: import("./assembly").BasicRegion[] | undefined;
425
+ /**
426
+ * #action
427
+ * private: you would generally want to add to manipulate
428
+ * jbrowse.assemblies, session.sessionAssemblies, or
429
+ * session.temporaryAssemblies instead of using this directly
430
+ *
431
+ * this can take an active instance of an assembly, in which case it is
432
+ * referred to, or it can take an identifier e.g. assembly name, which is
433
+ * used as a reference. snapshots cannot be used
434
+ */
344
435
  readonly aliases: string[];
345
436
  readonly displayName: string | undefined;
346
437
  hasName(name: string): boolean;
@@ -370,11 +461,17 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
370
461
  load(): Promise<void>;
371
462
  loadPre(): Promise<void>;
372
463
  } & {
373
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
374
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
464
+ getAdapterMapEntry(adapterConf: {
465
+ [x: string]: unknown;
466
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
467
+ getRefNameMapForAdapter(adapterConf: {
468
+ [x: string]: unknown;
469
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
375
470
  [x: string]: string | undefined;
376
471
  }>;
377
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
472
+ getReverseRefNameMapForAdapter(adapterConf: {
473
+ [x: string]: unknown;
474
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
378
475
  [x: string]: string | undefined;
379
476
  }>;
380
477
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -397,6 +494,16 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
397
494
  readonly initialized: boolean;
398
495
  readonly name: string;
399
496
  readonly regions: import("./assembly").BasicRegion[] | undefined;
497
+ /**
498
+ * #action
499
+ * private: you would generally want to add to manipulate
500
+ * jbrowse.assemblies, session.sessionAssemblies, or
501
+ * session.temporaryAssemblies instead of using this directly
502
+ *
503
+ * this can take an active instance of an assembly, in which case it is
504
+ * referred to, or it can take an identifier e.g. assembly name, which is
505
+ * used as a reference. snapshots cannot be used
506
+ */
400
507
  readonly aliases: string[];
401
508
  readonly displayName: string | undefined;
402
509
  hasName(name: string): boolean;
@@ -426,18 +533,24 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
426
533
  load(): Promise<void>;
427
534
  loadPre(): Promise<void>;
428
535
  } & {
429
- getAdapterMapEntry(adapterConf: unknown, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
430
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
536
+ getAdapterMapEntry(adapterConf: {
537
+ [x: string]: unknown;
538
+ }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
539
+ getRefNameMapForAdapter(adapterConf: {
540
+ [x: string]: unknown;
541
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
431
542
  [x: string]: string | undefined;
432
543
  }>;
433
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
544
+ getReverseRefNameMapForAdapter(adapterConf: {
545
+ [x: string]: unknown;
546
+ }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
434
547
  [x: string]: string | undefined;
435
548
  }>;
436
549
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined>;
437
550
  /**
438
551
  * #method
439
552
  */
440
- getRefNameMapForAdapter(adapterConf: unknown, assemblyName: string | undefined, opts: {
553
+ getRefNameMapForAdapter(adapterConf: AdapterConf, assemblyName: string | undefined, opts: {
441
554
  signal?: AbortSignal;
442
555
  sessionId: string;
443
556
  }): Promise<{
@@ -446,7 +559,7 @@ declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): impo
446
559
  /**
447
560
  * #method
448
561
  */
449
- getReverseRefNameMapForAdapter(adapterConf: unknown, assemblyName: string | undefined, opts: {
562
+ getReverseRefNameMapForAdapter(adapterConf: AdapterConf, assemblyName: string | undefined, opts: {
450
563
  signal?: AbortSignal;
451
564
  sessionId: string;
452
565
  }): Promise<{
@@ -92,7 +92,7 @@ function assemblyManagerFactory(conf, pm) {
92
92
  return undefined;
93
93
  }
94
94
  await assembly.load();
95
- await (0, util_1.when)(() => Boolean((assembly === null || assembly === void 0 ? void 0 : assembly.regions) && assembly.refNameAliases) ||
95
+ await (0, util_1.when)(() => !!((assembly === null || assembly === void 0 ? void 0 : assembly.regions) && assembly.refNameAliases) ||
96
96
  !!(assembly === null || assembly === void 0 ? void 0 : assembly.error));
97
97
  if (assembly.error) {
98
98
  throw assembly.error;
@@ -3,6 +3,7 @@ import PluginManager from '../PluginManager';
3
3
  import { AnyConfigurationSchemaType } from '../configuration';
4
4
  import { AnyDataAdapter } from './BaseAdapter';
5
5
  type ConfigSnap = SnapshotIn<AnyConfigurationSchemaType>;
6
+ export declare function adapterConfigCacheKey(conf?: Record<string, unknown>): string;
6
7
  interface AdapterCacheEntry {
7
8
  dataAdapter: AnyDataAdapter;
8
9
  sessionIds: Set<string>;
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.clearAdapterCache = exports.freeAdapterResources = exports.getAdapter = void 0;
6
+ exports.clearAdapterCache = exports.freeAdapterResources = exports.getAdapter = exports.adapterConfigCacheKey = void 0;
7
7
  const idMaker_1 = __importDefault(require("../util/idMaker"));
8
- function adapterConfigCacheKey(adapterConfig) {
9
- return `${(0, idMaker_1.default)(adapterConfig)}`;
8
+ function adapterConfigCacheKey(conf = {}) {
9
+ return `${(0, idMaker_1.default)(conf)}`;
10
10
  }
11
+ exports.adapterConfigCacheKey = adapterConfigCacheKey;
11
12
  let adapterCache = {};
12
13
  /**
13
14
  * instantiate a data adapter, or return an already-instantiated one if we have one with the same
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "JBrowse 2 core libraries used by plugins",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -36,7 +36,6 @@
36
36
  "canvas-sequencer": "^3.1.0",
37
37
  "canvas2svg": "^1.0.16",
38
38
  "clone": "^2.1.2",
39
- "clsx": "^2.0.0",
40
39
  "colord": "^2.9.3",
41
40
  "copy-to-clipboard": "^3.3.1",
42
41
  "deepmerge": "^4.2.2",
@@ -48,7 +47,6 @@
48
47
  "http-range-fetcher": "^2.0.0",
49
48
  "is-object": "^1.0.1",
50
49
  "jexl": "^2.3.0",
51
- "json-stable-stringify": "^1.0.1",
52
50
  "librpc-web-mod": "^1.1.5",
53
51
  "load-script": "^2.0.0",
54
52
  "material-ui-popup-state": "^5.0.0",
@@ -73,5 +71,5 @@
73
71
  "access": "public",
74
72
  "directory": "dist"
75
73
  },
76
- "gitHead": "ee8c2bdc8bd4f1a70b1eefda984f04a2830d9ca0"
74
+ "gitHead": "223d8bfb68fd1bacaf22852639ad5920f1b7f43b"
77
75
  }
@@ -101,6 +101,14 @@ export declare function createBaseTrackConfig(pluginManager: PluginManager): imp
101
101
  defaultValue: number;
102
102
  description: string;
103
103
  };
104
+ /**
105
+ * #slot formatDetails.maxDepth
106
+ */
107
+ maxDepth: {
108
+ type: string;
109
+ defaultValue: number;
110
+ description: string;
111
+ };
104
112
  }, import("../../configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
105
113
  formatAbout: import("../../configuration/configurationSchema").ConfigurationSchemaType<{
106
114
  /**
@@ -105,6 +105,14 @@ function createBaseTrackConfig(pluginManager) {
105
105
  defaultValue: 2,
106
106
  description: 'depth of subfeatures to iterate the formatter on formatDetails.subfeatures (e.g. you may not want to format the exon/cds subfeatures, so limited to 2',
107
107
  },
108
+ /**
109
+ * #slot formatDetails.maxDepth
110
+ */
111
+ maxDepth: {
112
+ type: 'number',
113
+ defaultValue: 99999,
114
+ description: 'Maximum depth to render subfeatures',
115
+ },
108
116
  }),
109
117
  formatAbout: (0, configuration_1.ConfigurationSchema)('FormatAbout', {
110
118
  /**
@@ -138,7 +138,7 @@ class BaseRpcDriver {
138
138
  // now actually call the worker
139
139
  const callP = worker
140
140
  .call(functionName, filteredAndSerializedArgs, {
141
- timeout: 5 * 60 * 1000,
141
+ timeout: 5 * 60 * 1000, // 5 minutes
142
142
  statusCallback: args.statusCallback,
143
143
  rpcDriverClassName: this.name,
144
144
  ...options,
@@ -1,3 +1,4 @@
1
+ /// <reference path="../../rpc/declaration.d.ts" />
1
2
  import Rpc from 'librpc-web-mod';
2
3
  import BaseRpcDriver, { RpcDriverConstructorArgs } from './BaseRpcDriver';
3
4
  import { PluginDefinition } from '../PluginLoader';