@jbrowse/core 1.4.1 → 1.5.2

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 -6
  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
@@ -1,4 +1,4 @@
1
- import { IAnyType, Instance } from 'mobx-state-tree';
1
+ import { Instance, IAnyType } from 'mobx-state-tree';
2
2
  import PluginManager from '../PluginManager';
3
3
  export default function assemblyManagerFactory(assemblyConfigType: IAnyType, pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  assemblies: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
@@ -9,6 +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
13
  } & {
13
14
  readonly initialized: boolean;
14
15
  readonly name: string;
@@ -25,21 +26,35 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
25
26
  isValidRefName(refName: string): boolean;
26
27
  } & {
27
28
  setLoading(): void;
28
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
29
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
29
30
  adapterRegionsWithAssembly: import("../util").Region[];
30
- refNameAliases: Record<string, string>;
31
+ refNameAliases: {
32
+ [x: string]: string;
33
+ };
34
+ cytobands: import("../util/simpleFeature").Feature[];
31
35
  }): void;
32
- setError(error: Error): void;
36
+ setError(e: Error): void;
33
37
  setRegions(regions: import("../util").Region[]): void;
34
- setRefNameAliases(refNameAliases: Record<string, string>): void;
38
+ setRefNameAliases(refNameAliases: {
39
+ [x: string]: string;
40
+ }): void;
41
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
35
42
  afterAttach(): void;
36
43
  } & {
37
44
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
38
- forwardMap: Record<string, string>;
39
- reverseMap: Record<string, string>;
45
+ forwardMap: {
46
+ [k: string]: string;
47
+ };
48
+ reverseMap: {
49
+ [k: string]: string;
50
+ };
51
+ }>;
52
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
53
+ [k: string]: string;
54
+ }>;
55
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
56
+ [k: string]: string;
40
57
  }>;
41
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
42
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
43
58
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
44
59
  }, {
45
60
  get(assemblyName: string): (import("mobx-state-tree").ModelInstanceTypeProps<{
@@ -50,6 +65,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
50
65
  refNameAliases: {
51
66
  [key: string]: string;
52
67
  } | undefined;
68
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
53
69
  } & {
54
70
  readonly initialized: boolean;
55
71
  readonly name: string;
@@ -66,21 +82,35 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
66
82
  isValidRefName(refName: string): boolean;
67
83
  } & {
68
84
  setLoading(): void;
69
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
85
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
70
86
  adapterRegionsWithAssembly: import("../util").Region[];
71
- refNameAliases: Record<string, string>;
87
+ refNameAliases: {
88
+ [x: string]: string;
89
+ };
90
+ cytobands: import("../util/simpleFeature").Feature[];
72
91
  }): void;
73
- setError(error: Error): void;
92
+ setError(e: Error): void;
74
93
  setRegions(regions: import("../util").Region[]): void;
75
- setRefNameAliases(refNameAliases: Record<string, string>): void;
94
+ setRefNameAliases(refNameAliases: {
95
+ [x: string]: string;
96
+ }): void;
97
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
76
98
  afterAttach(): void;
77
99
  } & {
78
100
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
79
- forwardMap: Record<string, string>;
80
- reverseMap: Record<string, string>;
101
+ forwardMap: {
102
+ [k: string]: string;
103
+ };
104
+ reverseMap: {
105
+ [k: string]: string;
106
+ };
107
+ }>;
108
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
109
+ [k: string]: string;
110
+ }>;
111
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
112
+ [k: string]: string;
81
113
  }>;
82
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
83
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
84
114
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
85
115
  configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
86
116
  }, {
@@ -89,6 +119,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
89
119
  refNameAliases: {
90
120
  [key: string]: string;
91
121
  } | undefined;
122
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
92
123
  } & {
93
124
  readonly initialized: boolean;
94
125
  readonly name: string;
@@ -105,25 +136,39 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
105
136
  isValidRefName(refName: string): boolean;
106
137
  } & {
107
138
  setLoading(): void;
108
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
139
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
109
140
  adapterRegionsWithAssembly: import("../util").Region[];
110
- refNameAliases: Record<string, string>;
141
+ refNameAliases: {
142
+ [x: string]: string;
143
+ };
144
+ cytobands: import("../util/simpleFeature").Feature[];
111
145
  }): void;
112
- setError(error: Error): void;
146
+ setError(e: Error): void;
113
147
  setRegions(regions: import("../util").Region[]): void;
114
- setRefNameAliases(refNameAliases: Record<string, string>): void;
148
+ setRefNameAliases(refNameAliases: {
149
+ [x: string]: string;
150
+ }): void;
151
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
115
152
  afterAttach(): void;
116
153
  } & {
117
154
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
118
- forwardMap: Record<string, string>;
119
- reverseMap: Record<string, string>;
155
+ forwardMap: {
156
+ [k: string]: string;
157
+ };
158
+ reverseMap: {
159
+ [k: string]: string;
160
+ };
161
+ }>;
162
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
163
+ [k: string]: string;
164
+ }>;
165
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
166
+ [k: string]: string;
120
167
  }>;
121
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
122
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
123
168
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
124
169
  readonly assemblyNamesList: string[];
125
170
  readonly assemblyList: (import("mobx-state-tree").ModelInstanceTypeProps<Record<string, any>> & {
126
- setSubschema(slotName: string, data: import("mobx-state-tree").ModelPropertiesDeclaration | import("../configuration/configurationSchema").AnyConfigurationSchemaType): any;
171
+ setSubschema(slotName: string, data: unknown): any;
127
172
  } & import("mobx-state-tree").IStateTreeNode<import("../configuration/configurationSchema").AnyConfigurationSchemaType> & {
128
173
  name: string;
129
174
  })[];
@@ -139,6 +184,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
139
184
  refNameAliases: {
140
185
  [key: string]: string;
141
186
  } | undefined;
187
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
142
188
  } & {
143
189
  readonly initialized: boolean;
144
190
  readonly name: string;
@@ -155,21 +201,35 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
155
201
  isValidRefName(refName: string): boolean;
156
202
  } & {
157
203
  setLoading(): void;
158
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
204
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
159
205
  adapterRegionsWithAssembly: import("../util").Region[];
160
- refNameAliases: Record<string, string>;
206
+ refNameAliases: {
207
+ [x: string]: string;
208
+ };
209
+ cytobands: import("../util/simpleFeature").Feature[];
161
210
  }): void;
162
- setError(error: Error): void;
211
+ setError(e: Error): void;
163
212
  setRegions(regions: import("../util").Region[]): void;
164
- setRefNameAliases(refNameAliases: Record<string, string>): void;
213
+ setRefNameAliases(refNameAliases: {
214
+ [x: string]: string;
215
+ }): void;
216
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
165
217
  afterAttach(): void;
166
218
  } & {
167
219
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
168
- forwardMap: Record<string, string>;
169
- reverseMap: Record<string, string>;
220
+ forwardMap: {
221
+ [k: string]: string;
222
+ };
223
+ reverseMap: {
224
+ [k: string]: string;
225
+ };
226
+ }>;
227
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
228
+ [k: string]: string;
229
+ }>;
230
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
231
+ [k: string]: string;
170
232
  }>;
171
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
172
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
173
233
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
174
234
  configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
175
235
  }, {
@@ -178,6 +238,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
178
238
  refNameAliases: {
179
239
  [key: string]: string;
180
240
  } | undefined;
241
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
181
242
  } & {
182
243
  readonly initialized: boolean;
183
244
  readonly name: string;
@@ -194,30 +255,48 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
194
255
  isValidRefName(refName: string): boolean;
195
256
  } & {
196
257
  setLoading(): void;
197
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
258
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
198
259
  adapterRegionsWithAssembly: import("../util").Region[];
199
- refNameAliases: Record<string, string>;
260
+ refNameAliases: {
261
+ [x: string]: string;
262
+ };
263
+ cytobands: import("../util/simpleFeature").Feature[];
200
264
  }): void;
201
- setError(error: Error): void;
265
+ setError(e: Error): void;
202
266
  setRegions(regions: import("../util").Region[]): void;
203
- setRefNameAliases(refNameAliases: Record<string, string>): void;
267
+ setRefNameAliases(refNameAliases: {
268
+ [x: string]: string;
269
+ }): void;
270
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
204
271
  afterAttach(): void;
205
272
  } & {
206
273
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
207
- forwardMap: Record<string, string>;
208
- reverseMap: Record<string, string>;
274
+ forwardMap: {
275
+ [k: string]: string;
276
+ };
277
+ reverseMap: {
278
+ [k: string]: string;
279
+ };
280
+ }>;
281
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
282
+ [k: string]: string;
283
+ }>;
284
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
285
+ [k: string]: string;
209
286
  }>;
210
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
211
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
212
287
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined>;
213
288
  getRefNameMapForAdapter(adapterConf: unknown, assemblyName: string, opts: {
214
289
  signal?: AbortSignal;
215
290
  sessionId: string;
216
- }): Promise<Record<string, string> | undefined>;
291
+ }): Promise<{
292
+ [k: string]: string;
293
+ } | undefined>;
217
294
  getReverseRefNameMapForAdapter(adapterConf: unknown, assemblyName: string, opts: {
218
295
  signal?: AbortSignal;
219
296
  sessionId: string;
220
- }): Promise<Record<string, string> | undefined>;
297
+ }): Promise<{
298
+ [k: string]: string;
299
+ } | undefined>;
221
300
  isValidRefName(refName: string, assemblyName?: string | undefined): boolean;
222
301
  } & {
223
302
  removeAssembly(asm: import("mobx-state-tree").ModelInstanceTypeProps<{
@@ -228,6 +307,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
228
307
  refNameAliases: {
229
308
  [key: string]: string;
230
309
  } | undefined;
310
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
231
311
  } & {
232
312
  readonly initialized: boolean;
233
313
  readonly name: string;
@@ -244,21 +324,35 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
244
324
  isValidRefName(refName: string): boolean;
245
325
  } & {
246
326
  setLoading(): void;
247
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
327
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
248
328
  adapterRegionsWithAssembly: import("../util").Region[];
249
- refNameAliases: Record<string, string>;
329
+ refNameAliases: {
330
+ [x: string]: string;
331
+ };
332
+ cytobands: import("../util/simpleFeature").Feature[];
250
333
  }): void;
251
- setError(error: Error): void;
334
+ setError(e: Error): void;
252
335
  setRegions(regions: import("../util").Region[]): void;
253
- setRefNameAliases(refNameAliases: Record<string, string>): void;
336
+ setRefNameAliases(refNameAliases: {
337
+ [x: string]: string;
338
+ }): void;
339
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
254
340
  afterAttach(): void;
255
341
  } & {
256
342
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
257
- forwardMap: Record<string, string>;
258
- reverseMap: Record<string, string>;
343
+ forwardMap: {
344
+ [k: string]: string;
345
+ };
346
+ reverseMap: {
347
+ [k: string]: string;
348
+ };
349
+ }>;
350
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
351
+ [k: string]: string;
352
+ }>;
353
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
354
+ [k: string]: string;
259
355
  }>;
260
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
261
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
262
356
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
263
357
  configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
264
358
  }, {
@@ -267,6 +361,7 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
267
361
  refNameAliases: {
268
362
  [key: string]: string;
269
363
  } | undefined;
364
+ cytobands: import("../util/simpleFeature").Feature[] | undefined;
270
365
  } & {
271
366
  readonly initialized: boolean;
272
367
  readonly name: string;
@@ -283,21 +378,35 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
283
378
  isValidRefName(refName: string): boolean;
284
379
  } & {
285
380
  setLoading(): void;
286
- setLoaded({ adapterRegionsWithAssembly, refNameAliases, }: {
381
+ setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
287
382
  adapterRegionsWithAssembly: import("../util").Region[];
288
- refNameAliases: Record<string, string>;
383
+ refNameAliases: {
384
+ [x: string]: string;
385
+ };
386
+ cytobands: import("../util/simpleFeature").Feature[];
289
387
  }): void;
290
- setError(error: Error): void;
388
+ setError(e: Error): void;
291
389
  setRegions(regions: import("../util").Region[]): void;
292
- setRefNameAliases(refNameAliases: Record<string, string>): void;
390
+ setRefNameAliases(refNameAliases: {
391
+ [x: string]: string;
392
+ }): void;
393
+ setCytobands(cytobands: import("../util/simpleFeature").Feature[]): void;
293
394
  afterAttach(): void;
294
395
  } & {
295
396
  getAdapterMapEntry(adapterConf: unknown, options: import("./assembly").BaseOptions): Promise<{
296
- forwardMap: Record<string, string>;
297
- reverseMap: Record<string, string>;
397
+ forwardMap: {
398
+ [k: string]: string;
399
+ };
400
+ reverseMap: {
401
+ [k: string]: string;
402
+ };
403
+ }>;
404
+ getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
405
+ [k: string]: string;
406
+ }>;
407
+ getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<{
408
+ [k: string]: string;
298
409
  }>;
299
- getRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
300
- getReverseRefNameMapForAdapter(adapterConf: unknown, opts: import("./assembly").BaseOptions): Promise<Record<string, string>>;
301
410
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
302
411
  afterAttach(): void;
303
412
  addAssembly(assemblyConfig: Instance<typeof assemblyConfigType> | string): void;
@@ -1,2 +1,2 @@
1
1
  export { default } from './assemblyManager';
2
- export { default as assemblyConfigSchemas } from './assemblyConfigSchemas';
2
+ export { default as assemblyConfigSchemaFactory } from './assemblyConfigSchema';
@@ -5,19 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "default", {
8
+ Object.defineProperty(exports, "assemblyConfigSchemaFactory", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _assemblyManager.default;
11
+ return _assemblyConfigSchema.default;
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "assemblyConfigSchemas", {
14
+ Object.defineProperty(exports, "default", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _assemblyConfigSchemas.default;
17
+ return _assemblyManager.default;
18
18
  }
19
19
  });
20
20
 
21
21
  var _assemblyManager = _interopRequireDefault(require("./assemblyManager"));
22
22
 
23
- var _assemblyConfigSchemas = _interopRequireDefault(require("./assemblyConfigSchemas"));
23
+ var _assemblyConfigSchema = _interopRequireDefault(require("./assemblyConfigSchema"));
@@ -1,4 +1,4 @@
1
- import { Instance, IAnyType, ModelPropertiesDeclaration } from 'mobx-state-tree';
1
+ import { Instance, IAnyType } from 'mobx-state-tree';
2
2
  import { ConfigSlotDefinition } from './configurationSlot';
3
3
  export interface ConfigurationSchemaDefinition {
4
4
  [n: string]: ConfigSlotDefinition | ConfigurationSchemaDefinition | string | number | IAnyType;
@@ -14,12 +14,13 @@ interface ConfigurationSchemaOptions {
14
14
  preProcessSnapshot?: (snapshot: {}) => {};
15
15
  }
16
16
  declare function makeConfigurationSchemaModel<DEFINITION extends ConfigurationSchemaDefinition, OPTIONS extends ConfigurationSchemaOptions>(modelName: string, schemaDefinition: DEFINITION, options: OPTIONS): import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<Record<string, any>, {
17
- setSubschema(slotName: string, data: ModelPropertiesDeclaration | AnyConfigurationSchemaType): any;
17
+ setSubschema(slotName: string, data: unknown): any;
18
18
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
19
19
  export interface AnyConfigurationSchemaType extends ReturnType<typeof makeConfigurationSchemaModel> {
20
20
  isJBrowseConfigurationSchema: boolean;
21
21
  jbrowseSchemaDefinition: ConfigurationSchemaDefinition;
22
22
  jbrowseSchemaOptions: ConfigurationSchemaOptions;
23
+ type: string;
23
24
  }
24
25
  export declare type AnyConfigurationModel = Instance<AnyConfigurationSchemaType>;
25
26
  export declare type ConfigurationModel<SCHEMA extends AnyConfigurationSchemaType> = Instance<SCHEMA>;
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.ConfigurationSchema = ConfigurationSchema;
9
8
  exports.ConfigurationReference = ConfigurationReference;
9
+ exports.ConfigurationSchema = ConfigurationSchema;
10
10
 
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
 
@@ -119,7 +119,7 @@ function makeConfigurationSchemaModel(modelName, schemaDefinition, options) {
119
119
  try {
120
120
  modelDefinition[slotName] = (0, _configurationSlot.default)(slotName, slotDefinition);
121
121
  } catch (e) {
122
- throw new Error("invalid config slot definition for ".concat(modelName, ".").concat(slotName, ": ").concat(e.message));
122
+ throw new Error("invalid config slot definition for ".concat(modelName, ".").concat(slotName, ": ").concat(e));
123
123
  }
124
124
  } else {
125
125
  throw new Error("invalid configuration schema definition, \"".concat(slotName, "\" must be either a valid configuration slot definition, a constant, or a nested configuration schema"));
@@ -141,11 +141,10 @@ function makeConfigurationSchemaModel(modelName, schemaDefinition, options) {
141
141
  });
142
142
 
143
143
  if (Object.keys(volatileConstants).length) {
144
- completeModel = completeModel.volatile(function () {
145
- return (
146
- /* self */
147
- volatileConstants
148
- );
144
+ completeModel = completeModel.volatile(function
145
+ /* self */
146
+ () {
147
+ return volatileConstants;
149
148
  });
150
149
  }
151
150
 
@@ -202,9 +201,7 @@ function makeConfigurationSchemaModel(modelName, schemaDefinition, options) {
202
201
  completeModel = completeModel.preProcessSnapshot(options.preProcessSnapshot);
203
202
  }
204
203
 
205
- var schemaType = _mobxStateTree.types.optional(completeModel, modelDefault);
206
-
207
- return schemaType;
204
+ return _mobxStateTree.types.optional(completeModel, modelDefault);
208
205
  }
209
206
 
210
207
  function ConfigurationSchema(modelName, inputSchemaDefinition, inputOptions) {
@@ -229,7 +229,8 @@ describe('configuration schemas', function () {
229
229
  gffGzLocation: {
230
230
  type: 'fileLocation',
231
231
  defaultValue: {
232
- uri: '/path/to/my.gff.gz'
232
+ uri: '/path/to/my.gff.gz',
233
+ locationType: 'UriLocation'
233
234
  }
234
235
  },
235
236
  index: (0, _configurationSchema.ConfigurationSchema)('Gff3TabixIndex', {
@@ -241,7 +242,8 @@ describe('configuration schemas', function () {
241
242
  location: {
242
243
  type: 'fileLocation',
243
244
  defaultValue: {
244
- uri: '/path/to/my.gff.gz.tbi'
245
+ uri: '/path/to/my.gff.gz.tbi',
246
+ locationType: 'UriLocation'
245
247
  }
246
248
  }
247
249
  }),
@@ -16,9 +16,9 @@ var _jexlStrings = require("../util/jexlStrings");
16
16
  var _mst = require("../util/types/mst");
17
17
 
18
18
  /* eslint-disable @typescript-eslint/no-explicit-any */
19
- function isValidColorString()
20
- /* str */
21
- {
19
+ function
20
+ /* str */
21
+ isValidColorString() {
22
22
  // TODO: check all the crazy cases for whether it's a valid HTML/CSS color string
23
23
  return true;
24
24
  }
@@ -48,7 +48,8 @@ var fallbackDefaults = {
48
48
  string: '',
49
49
  text: '',
50
50
  fileLocation: {
51
- uri: '/path/to/resource.txt'
51
+ uri: '/path/to/resource.txt',
52
+ locationType: 'UriLocation'
52
53
  },
53
54
  frozen: {}
54
55
  };
@@ -7,16 +7,16 @@ var _exportNames = {
7
7
  ConfigurationSchema: true,
8
8
  ConfigurationReference: true
9
9
  };
10
- Object.defineProperty(exports, "ConfigurationSchema", {
10
+ Object.defineProperty(exports, "ConfigurationReference", {
11
11
  enumerable: true,
12
12
  get: function get() {
13
- return _configurationSchema.ConfigurationSchema;
13
+ return _configurationSchema.ConfigurationReference;
14
14
  }
15
15
  });
16
- Object.defineProperty(exports, "ConfigurationReference", {
16
+ Object.defineProperty(exports, "ConfigurationSchema", {
17
17
  enumerable: true,
18
18
  get: function get() {
19
- return _configurationSchema.ConfigurationReference;
19
+ return _configurationSchema.ConfigurationSchema;
20
20
  }
21
21
  });
22
22
 
@@ -5,13 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.readConfObject = readConfObject;
9
8
  exports.getConf = getConf;
10
9
  exports.getTypeNamesFromExplicitlyTypedUnion = getTypeNamesFromExplicitlyTypedUnion;
11
10
  exports.isBareConfigurationSchemaType = isBareConfigurationSchemaType;
12
- exports.isConfigurationSchemaType = isConfigurationSchemaType;
13
11
  exports.isConfigurationModel = isConfigurationModel;
12
+ exports.isConfigurationSchemaType = isConfigurationSchemaType;
14
13
  exports.isConfigurationSlotType = isConfigurationSlotType;
14
+ exports.readConfObject = readConfObject;
15
15
 
16
16
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
17
 
@@ -39,7 +39,7 @@ function readConfObject(confObject) {
39
39
  }
40
40
 
41
41
  if (!slotPath) {
42
- return (0, _mobxStateTree.getSnapshot)(confObject);
42
+ return JSON.parse(JSON.stringify((0, _mobxStateTree.getSnapshot)(confObject)));
43
43
  }
44
44
 
45
45
  if (typeof slotPath === 'string') {
@@ -66,14 +66,14 @@ function readConfObject(confObject) {
66
66
  var appliedFunc = slot.expr.evalSync(args);
67
67
 
68
68
  if ((0, _mobxStateTree.isStateTreeNode)(appliedFunc)) {
69
- return (0, _mobxStateTree.getSnapshot)(appliedFunc);
69
+ return JSON.parse(JSON.stringify((0, _mobxStateTree.getSnapshot)(appliedFunc)));
70
70
  }
71
71
 
72
72
  return appliedFunc;
73
73
  }
74
74
 
75
75
  if ((0, _mobxStateTree.isStateTreeNode)(slot)) {
76
- return (0, _mobxStateTree.getSnapshot)(slot);
76
+ return JSON.parse(JSON.stringify((0, _mobxStateTree.getSnapshot)(slot)));
77
77
  }
78
78
 
79
79
  return slot;
@@ -2,8 +2,9 @@ import { Observable } from 'rxjs';
2
2
  import { Feature } from '../util/simpleFeature';
3
3
  import { AnyConfigurationModel } from '../configuration/configurationSchema';
4
4
  import { getSubAdapterType } from './dataAdapterCache';
5
- import { Region, NoAssemblyRegion } from '../util/types';
5
+ import { AugmentedRegion as Region, NoAssemblyRegion } from '../util/types';
6
6
  import BaseResult from '../TextSearch/BaseResults';
7
+ import PluginManager from '../PluginManager';
7
8
  export interface BaseOptions {
8
9
  signal?: AbortSignal;
9
10
  bpPerPx?: number;
@@ -21,7 +22,7 @@ export interface BaseArgs {
21
22
  pageNumber?: number;
22
23
  }
23
24
  export interface AnyAdapter {
24
- new (config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType): AnyDataAdapter;
25
+ new (config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager | undefined): AnyDataAdapter;
25
26
  }
26
27
  export declare type AnyDataAdapter = BaseAdapter | BaseFeatureDataAdapter | BaseRefNameAliasAdapter | BaseTextSearchAdapter | RegionsAdapter | SequenceAdapter;
27
28
  export declare abstract class BaseAdapter {
@@ -29,7 +30,8 @@ export declare abstract class BaseAdapter {
29
30
  static capabilities: string[];
30
31
  config: AnyConfigurationModel;
31
32
  getSubAdapter?: getSubAdapterType;
32
- constructor(config?: AnyConfigurationModel, getSubAdapter?: getSubAdapterType);
33
+ pluginManager: PluginManager | undefined;
34
+ constructor(config?: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
33
35
  /**
34
36
  * Called to provide a hint that data tied to a certain region will not be
35
37
  * needed for the forseeable future and can be purged from caches, etc
@@ -5,12 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.isSequenceAdapter = isSequenceAdapter;
9
- exports.isRegionsAdapter = isRegionsAdapter;
8
+ exports.BaseFeatureDataAdapter = exports.BaseAdapter = void 0;
10
9
  exports.isFeatureAdapter = isFeatureAdapter;
11
10
  exports.isRefNameAliasAdapter = isRefNameAliasAdapter;
11
+ exports.isRegionsAdapter = isRegionsAdapter;
12
+ exports.isSequenceAdapter = isSequenceAdapter;
12
13
  exports.isTextSearchAdapter = isTextSearchAdapter;
13
- exports.BaseFeatureDataAdapter = exports.BaseAdapter = void 0;
14
14
 
15
15
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
16
 
@@ -53,12 +53,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
53
53
  var BaseAdapter = function BaseAdapter() {
54
54
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _configurationSchema.ConfigurationSchema)('empty', {}).create();
55
55
  var getSubAdapter = arguments.length > 1 ? arguments[1] : undefined;
56
+ var pluginManager = arguments.length > 2 ? arguments[2] : undefined;
56
57
  (0, _classCallCheck2.default)(this, BaseAdapter);
57
58
  (0, _defineProperty2.default)(this, "id", void 0);
58
59
  (0, _defineProperty2.default)(this, "config", void 0);
59
60
  (0, _defineProperty2.default)(this, "getSubAdapter", void 0);
61
+ (0, _defineProperty2.default)(this, "pluginManager", void 0);
60
62
  this.config = config;
61
- this.getSubAdapter = getSubAdapter; // note: we use switch on jest here for more simple feature IDs
63
+ this.getSubAdapter = getSubAdapter;
64
+ this.pluginManager = pluginManager; // note: we use switch on jest here for more simple feature IDs
62
65
  // in test environment
63
66
 
64
67
  if (typeof jest === 'undefined') {