@jbrowse/core 2.0.0 → 2.1.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.
- package/BaseFeatureWidget/BaseFeatureDetail.d.ts +9 -3
- package/BaseFeatureWidget/BaseFeatureDetail.js +313 -581
- package/BaseFeatureWidget/SequenceFeatureDetails.js +213 -478
- package/BaseFeatureWidget/index.js +88 -126
- package/BaseFeatureWidget/types.d.ts +1 -0
- package/BaseFeatureWidget/types.js +1 -4
- package/BaseFeatureWidget/util.js +40 -75
- package/CorePlugin.js +55 -94
- package/Plugin.js +9 -34
- package/PluginLoader.js +153 -422
- package/PluginManager.d.ts +28 -33
- package/PluginManager.js +377 -666
- package/ReExports/Attributes.js +3 -10
- package/ReExports/BaseCard.js +3 -10
- package/ReExports/DataGrid.js +5 -12
- package/ReExports/FeatureDetails.js +3 -10
- package/ReExports/index.js +6 -12
- package/ReExports/list.d.ts +5 -0
- package/ReExports/list.js +271 -7
- package/ReExports/material-ui-colors.js +15 -16
- package/ReExports/modules.d.ts +11 -20
- package/ReExports/modules.js +453 -798
- package/TextSearch/BaseResults.js +51 -123
- package/TextSearch/TextSearchManager.js +66 -144
- package/assemblyManager/assembly.js +280 -555
- package/assemblyManager/assemblyConfigSchema.js +47 -64
- package/assemblyManager/assemblyManager.js +126 -272
- package/assemblyManager/index.js +9 -22
- package/configuration/configurationSchema.js +167 -203
- package/configuration/configurationSlot.js +248 -326
- package/configuration/index.js +19 -35
- package/configuration/util.js +131 -173
- package/data_adapters/BaseAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter.js +132 -521
- package/data_adapters/CytobandAdapter.js +40 -126
- package/data_adapters/dataAdapterCache.js +77 -158
- package/package.json +4 -5
- package/pluggableElementTypes/AdapterType.js +24 -79
- package/pluggableElementTypes/AddTrackWorkflowType.d.ts +17 -0
- package/pluggableElementTypes/AddTrackWorkflowType.js +20 -0
- package/pluggableElementTypes/ConnectionType.js +22 -65
- package/pluggableElementTypes/DisplayType.js +35 -82
- package/pluggableElementTypes/InternetAccountType.js +23 -64
- package/pluggableElementTypes/PluggableElementBase.js +8 -20
- package/pluggableElementTypes/RpcMethodType.js +85 -427
- package/pluggableElementTypes/TextSearchAdapterType.js +16 -55
- package/pluggableElementTypes/TrackType.js +26 -70
- package/pluggableElementTypes/ViewType.js +21 -63
- package/pluggableElementTypes/WidgetType.js +21 -64
- package/pluggableElementTypes/index.d.ts +4 -3
- package/pluggableElementTypes/index.js +42 -125
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +28 -43
- package/pluggableElementTypes/models/BaseDisplayModel.js +58 -95
- package/pluggableElementTypes/models/BaseTrackModel.js +139 -199
- package/pluggableElementTypes/models/BaseViewModel.js +24 -40
- package/pluggableElementTypes/models/InternetAccountModel.js +116 -263
- package/pluggableElementTypes/models/baseConnectionConfig.js +14 -25
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +29 -38
- package/pluggableElementTypes/models/baseTrackConfig.js +106 -133
- package/pluggableElementTypes/models/index.js +21 -70
- package/pluggableElementTypes/renderers/BoxRendererType.js +132 -291
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -38
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +60 -192
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -2
- package/pluggableElementTypes/renderers/FeatureRendererType.js +89 -255
- package/pluggableElementTypes/renderers/RendererType.js +31 -105
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +61 -72
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +112 -265
- package/pluggableElementTypes/renderers/index.js +19 -62
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +27 -65
- package/rpc/BaseRpcDriver.js +169 -405
- package/rpc/MainThreadRpcDriver.js +27 -150
- package/rpc/RpcManager.js +58 -159
- package/rpc/WebWorkerRpcDriver.js +54 -171
- package/rpc/configSchema.js +25 -49
- package/rpc/coreRpcMethods.d.ts +1 -3
- package/rpc/coreRpcMethods.js +221 -959
- package/rpc/remoteAbortSignals.js +46 -70
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.js +106 -162
- package/ui/App.js +157 -242
- package/ui/AssemblySelector.js +59 -120
- package/ui/CascadingMenu.js +101 -196
- package/ui/ColorPicker.d.ts +16 -0
- package/ui/ColorPicker.js +97 -0
- package/ui/Drawer.js +28 -61
- package/ui/DrawerWidget.js +108 -202
- package/ui/DropDownMenu.js +60 -91
- package/ui/EditableTypography.js +87 -149
- package/ui/ErrorMessage.js +41 -56
- package/ui/FactoryResetDialog.js +24 -57
- package/ui/FatalErrorDialog.js +59 -91
- package/ui/FileSelector/FileSelector.js +123 -189
- package/ui/FileSelector/LocalFileChooser.js +44 -75
- package/ui/FileSelector/UrlChooser.js +17 -38
- package/ui/FileSelector/index.js +6 -12
- package/ui/Icons.js +45 -69
- package/ui/Logo.js +57 -110
- package/ui/Menu.js +232 -354
- package/ui/PrerenderedCanvas.js +63 -87
- package/ui/ResizeHandle.js +87 -116
- package/ui/ReturnToImportFormDialog.js +32 -63
- package/ui/SanitizedHTML.js +64 -47
- package/ui/Snackbar.js +74 -101
- package/ui/SnackbarModel.js +37 -51
- package/ui/Tooltip.js +49 -76
- package/ui/ViewContainer.js +113 -196
- package/ui/colors.d.ts +10 -0
- package/ui/colors.js +78 -0
- package/ui/index.js +51 -181
- package/ui/react-colorful.d.ts +17 -0
- package/ui/react-colorful.js +455 -0
- package/ui/theme.d.ts +23 -1
- package/ui/theme.js +199 -247
- package/util/Base1DUtils.d.ts +32 -0
- package/util/Base1DUtils.js +174 -0
- package/util/Base1DViewModel.d.ts +16 -30
- package/util/Base1DViewModel.js +116 -293
- package/util/QuickLRU.js +84 -332
- package/util/TimeTraveller.d.ts +19 -0
- package/util/TimeTraveller.js +86 -0
- package/util/aborting.js +49 -127
- package/util/analytics.js +91 -154
- package/util/blockTypes.js +106 -240
- package/util/calculateDynamicBlocks.js +98 -128
- package/util/calculateStaticBlocks.js +105 -125
- package/util/color/cssColorsLevel4.js +156 -160
- package/util/color/index.js +33 -55
- package/util/compositeMap.js +49 -333
- package/util/formatFastaStrings.js +9 -14
- package/util/idMaker.js +18 -31
- package/util/index.d.ts +18 -32
- package/util/index.js +747 -1226
- package/util/io/RemoteFileWithRangeCache.js +88 -257
- package/util/io/index.js +95 -169
- package/util/jexl.js +60 -115
- package/util/jexlStrings.js +24 -29
- package/util/layouts/BaseLayout.js +1 -4
- package/util/layouts/GranularRectLayout.js +388 -555
- package/util/layouts/MultiLayout.js +41 -109
- package/util/layouts/PrecomputedLayout.js +56 -112
- package/util/layouts/PrecomputedMultiLayout.js +22 -59
- package/util/layouts/SceneGraph.js +127 -197
- package/util/layouts/index.js +29 -66
- package/util/mst-reflection.js +55 -71
- package/util/offscreenCanvasPonyfill.js +66 -134
- package/util/offscreenCanvasUtils.d.ts +2 -7
- package/util/offscreenCanvasUtils.js +49 -146
- package/util/range.js +29 -40
- package/util/rxjs.js +20 -27
- package/util/simpleFeature.js +88 -152
- package/util/stats.js +91 -151
- package/util/tracks.js +130 -173
- package/util/types/index.js +110 -179
- package/util/types/mst.js +91 -146
- package/util/types/util.js +1 -4
- package/util/when.js +54 -101
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +0 -122
- package/BaseFeatureWidget/index.test.js +0 -69
- package/TextSearch/BaseResults.test.js +0 -42
- package/configuration/configurationSchema.test.js +0 -266
- package/configuration/configurationSlot.test.js +0 -69
- package/configuration/util.test.js +0 -39
- package/data_adapters/BaseAdapter.test.js +0 -200
- package/declare.d.js +0 -1
- package/pluggableElementTypes/RpcMethodType.test.js +0 -118
- package/pluggableElementTypes/renderers/declare.d.js +0 -1
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +0 -20
- package/rpc/BaseRpcDriver.test.js +0 -540
- package/rpc/declaration.d.js +0 -1
- package/ui/FatalErrorDialog.test.js +0 -82
- package/ui/SanitizedHTML.test.js +0 -36
- package/ui/theme.test.js +0 -92
- package/util/Base1DViewModel.test.js +0 -130
- package/util/calculateDynamicBlocks.test.js +0 -74
- package/util/calculateStaticBlocks.test.js +0 -297
- package/util/declare.d.js +0 -1
- package/util/formatFastaStrings.test.js +0 -40
- package/util/index.test.js +0 -213
- package/util/jexlStrings.test.js +0 -48
- package/util/layouts/GranularRectLayout.test.js +0 -99
- package/util/range.test.js +0 -64
- package/util/simpleFeature.test.js +0 -34
- package/util/stats.test.js +0 -172
|
@@ -1,67 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const configuration_1 = require("../configuration");
|
|
4
|
+
exports.default = (pluginManager) => {
|
|
5
|
+
return (0, configuration_1.ConfigurationSchema)('BaseAssembly', {
|
|
6
|
+
aliases: {
|
|
7
|
+
type: 'stringArray',
|
|
8
|
+
defaultValue: [],
|
|
9
|
+
description: 'Other possible names for the assembly',
|
|
10
|
+
},
|
|
11
|
+
sequence: pluginManager.getTrackType('ReferenceSequenceTrack')
|
|
12
|
+
.configSchema,
|
|
13
|
+
refNameColors: {
|
|
14
|
+
type: 'stringArray',
|
|
15
|
+
defaultValue: [],
|
|
16
|
+
description: 'Define custom colors for each reference sequence. Will cycle through this list if there are not enough colors for every sequence.',
|
|
17
|
+
},
|
|
18
|
+
refNameAliases: (0, configuration_1.ConfigurationSchema)('RefNameAliases', {
|
|
19
|
+
adapter: pluginManager.pluggableConfigSchemaType('adapter'),
|
|
20
|
+
}, {
|
|
21
|
+
preProcessSnapshot: snap => {
|
|
22
|
+
// allow refNameAliases to be unspecified
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
if (!snap.adapter) {
|
|
25
|
+
return { adapter: { type: 'RefNameAliasAdapter' } };
|
|
26
|
+
}
|
|
27
|
+
return snap;
|
|
28
|
+
},
|
|
29
|
+
}),
|
|
30
|
+
cytobands: (0, configuration_1.ConfigurationSchema)('Cytoband', {
|
|
31
|
+
adapter: pluginManager.pluggableConfigSchemaType('adapter'),
|
|
32
|
+
}, {
|
|
33
|
+
preProcessSnapshot: snap => {
|
|
34
|
+
// allow cytoBand to be unspecified
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
if (!snap.adapter) {
|
|
37
|
+
return { adapter: { type: 'CytobandAdapter' } };
|
|
38
|
+
}
|
|
39
|
+
return snap;
|
|
40
|
+
},
|
|
41
|
+
}),
|
|
42
|
+
displayName: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
defaultValue: '',
|
|
45
|
+
description: 'A human readable display name for the assembly e.g. "Homo sapiens (hg38)" while the assembly name may just be "hg38"',
|
|
46
|
+
},
|
|
25
47
|
}, {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// @ts-ignore
|
|
29
|
-
if (!snap.adapter) {
|
|
30
|
-
return {
|
|
31
|
-
adapter: {
|
|
32
|
-
type: 'RefNameAliasAdapter'
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return snap;
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
cytobands: (0, _configuration.ConfigurationSchema)('Cytoband', {
|
|
41
|
-
adapter: pluginManager.pluggableConfigSchemaType('adapter')
|
|
42
|
-
}, {
|
|
43
|
-
preProcessSnapshot: function preProcessSnapshot(snap) {
|
|
44
|
-
// allow cytoBand to be unspecified
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
if (!snap.adapter) {
|
|
47
|
-
return {
|
|
48
|
-
adapter: {
|
|
49
|
-
type: 'CytobandAdapter'
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return snap;
|
|
55
|
-
}
|
|
56
|
-
}),
|
|
57
|
-
displayName: {
|
|
58
|
-
type: 'string',
|
|
59
|
-
defaultValue: '',
|
|
60
|
-
description: 'A human readable display name for the assembly e.g. "Homo sapiens (hg38)" while the assembly name may just be "hg38"'
|
|
61
|
-
}
|
|
62
|
-
}, {
|
|
63
|
-
explicitIdentifier: 'name'
|
|
64
|
-
});
|
|
48
|
+
explicitIdentifier: 'name',
|
|
49
|
+
});
|
|
65
50
|
};
|
|
66
|
-
|
|
67
|
-
exports.default = _default;
|
|
@@ -1,280 +1,134 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
|
-
var _mobx = require("mobx");
|
|
17
|
-
|
|
18
|
-
var _mobxStateTree = require("mobx-state-tree");
|
|
19
|
-
|
|
20
|
-
var _util = require("../util");
|
|
21
|
-
|
|
22
|
-
var _configuration = require("../configuration");
|
|
23
|
-
|
|
24
|
-
var _assembly = _interopRequireDefault(require("./assembly"));
|
|
25
|
-
|
|
26
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
27
|
-
|
|
28
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const mobx_1 = require("mobx");
|
|
7
|
+
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
8
|
+
const util_1 = require("../util");
|
|
9
|
+
const configuration_1 = require("../configuration");
|
|
10
|
+
const assembly_1 = __importDefault(require("./assembly"));
|
|
32
11
|
function assemblyManagerFactory(assemblyConfigType, pluginManager) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
get allPossibleRefNames() {
|
|
74
|
-
var refNames = [];
|
|
75
|
-
|
|
76
|
-
var _iterator = _createForOfIteratorHelper(self.assemblies),
|
|
77
|
-
_step;
|
|
78
|
-
|
|
79
|
-
try {
|
|
80
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
81
|
-
var assembly = _step.value;
|
|
82
|
-
|
|
83
|
-
if (!assembly.allRefNames) {
|
|
84
|
-
return undefined;
|
|
12
|
+
const Assembly = (0, assembly_1.default)(assemblyConfigType, pluginManager);
|
|
13
|
+
return mobx_state_tree_1.types
|
|
14
|
+
.model({
|
|
15
|
+
assemblies: mobx_state_tree_1.types.array(Assembly),
|
|
16
|
+
})
|
|
17
|
+
.views(self => ({
|
|
18
|
+
get(assemblyName) {
|
|
19
|
+
return self.assemblies.find(assembly => assembly.hasName(assemblyName));
|
|
20
|
+
},
|
|
21
|
+
get assemblyNamesList() {
|
|
22
|
+
return this.assemblyList.map(asm => asm.name);
|
|
23
|
+
},
|
|
24
|
+
get assemblyList() {
|
|
25
|
+
// name is the explicit identifier and can be accessed without getConf,
|
|
26
|
+
// hence the union with {name:string}
|
|
27
|
+
const { jbrowse: { assemblies }, session: { sessionAssemblies = [] } = {},
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
} = (0, mobx_state_tree_1.getParent)(self);
|
|
30
|
+
return [
|
|
31
|
+
...assemblies,
|
|
32
|
+
...sessionAssemblies,
|
|
33
|
+
];
|
|
34
|
+
},
|
|
35
|
+
get rpcManager() {
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
return (0, mobx_state_tree_1.getParent)(self).rpcManager;
|
|
38
|
+
},
|
|
39
|
+
get pluginManager() {
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
return (0, mobx_state_tree_1.getParent)(self).pluginManager;
|
|
42
|
+
},
|
|
43
|
+
get allPossibleRefNames() {
|
|
44
|
+
let refNames = [];
|
|
45
|
+
for (const assembly of self.assemblies) {
|
|
46
|
+
if (!assembly.allRefNames) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
refNames = refNames.concat(assembly.allRefNames);
|
|
85
50
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return refNames;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
};
|
|
99
|
-
}).views(function (self) {
|
|
100
|
-
return {
|
|
101
|
-
// use this method instead of assemblyManager.get(assemblyName)
|
|
102
|
-
// get an assembly with regions loaded
|
|
103
|
-
waitForAssembly: function waitForAssembly(assemblyName) {
|
|
104
|
-
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
105
|
-
var assembly;
|
|
106
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
107
|
-
while (1) {
|
|
108
|
-
switch (_context.prev = _context.next) {
|
|
109
|
-
case 0:
|
|
110
|
-
if (assemblyName) {
|
|
111
|
-
_context.next = 2;
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
throw new Error('no assembly name supplied to waitForAssembly');
|
|
116
|
-
|
|
117
|
-
case 2:
|
|
118
|
-
assembly = self.get(assemblyName);
|
|
119
|
-
|
|
120
|
-
if (assembly) {
|
|
121
|
-
_context.next = 5;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return _context.abrupt("return", undefined);
|
|
126
|
-
|
|
127
|
-
case 5:
|
|
128
|
-
_context.next = 7;
|
|
129
|
-
return (0, _util.when)(function () {
|
|
130
|
-
return Boolean(assembly.regions && assembly.refNameAliases) || !!assembly.error;
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
case 7:
|
|
134
|
-
if (!assembly.error) {
|
|
135
|
-
_context.next = 9;
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
throw assembly.error;
|
|
140
|
-
|
|
141
|
-
case 9:
|
|
142
|
-
return _context.abrupt("return", assembly);
|
|
143
|
-
|
|
144
|
-
case 10:
|
|
145
|
-
case "end":
|
|
146
|
-
return _context.stop();
|
|
147
|
-
}
|
|
51
|
+
return refNames;
|
|
52
|
+
},
|
|
53
|
+
}))
|
|
54
|
+
.views(self => ({
|
|
55
|
+
// use this method instead of assemblyManager.get(assemblyName)
|
|
56
|
+
// get an assembly with regions loaded
|
|
57
|
+
async waitForAssembly(assemblyName) {
|
|
58
|
+
if (!assemblyName) {
|
|
59
|
+
throw new Error('no assembly name supplied to waitForAssembly');
|
|
148
60
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
getRefNameMapForAdapter: function getRefNameMapForAdapter(adapterConf, assemblyName, opts) {
|
|
153
|
-
var _this = this;
|
|
154
|
-
|
|
155
|
-
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
156
|
-
var asm;
|
|
157
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
158
|
-
while (1) {
|
|
159
|
-
switch (_context2.prev = _context2.next) {
|
|
160
|
-
case 0:
|
|
161
|
-
if (!assemblyName) {
|
|
162
|
-
_context2.next = 5;
|
|
163
|
-
break;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
_context2.next = 3;
|
|
167
|
-
return _this.waitForAssembly(assemblyName);
|
|
168
|
-
|
|
169
|
-
case 3:
|
|
170
|
-
asm = _context2.sent;
|
|
171
|
-
return _context2.abrupt("return", asm === null || asm === void 0 ? void 0 : asm.getRefNameMapForAdapter(adapterConf, opts));
|
|
172
|
-
|
|
173
|
-
case 5:
|
|
174
|
-
return _context2.abrupt("return", {});
|
|
175
|
-
|
|
176
|
-
case 6:
|
|
177
|
-
case "end":
|
|
178
|
-
return _context2.stop();
|
|
179
|
-
}
|
|
61
|
+
const assembly = self.get(assemblyName);
|
|
62
|
+
if (!assembly) {
|
|
63
|
+
return undefined;
|
|
180
64
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var _this2 = this;
|
|
186
|
-
|
|
187
|
-
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
188
|
-
var asm;
|
|
189
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
190
|
-
while (1) {
|
|
191
|
-
switch (_context3.prev = _context3.next) {
|
|
192
|
-
case 0:
|
|
193
|
-
if (!assemblyName) {
|
|
194
|
-
_context3.next = 5;
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
_context3.next = 3;
|
|
199
|
-
return _this2.waitForAssembly(assemblyName);
|
|
200
|
-
|
|
201
|
-
case 3:
|
|
202
|
-
asm = _context3.sent;
|
|
203
|
-
return _context3.abrupt("return", asm === null || asm === void 0 ? void 0 : asm.getReverseRefNameMapForAdapter(adapterConf, opts));
|
|
204
|
-
|
|
205
|
-
case 5:
|
|
206
|
-
return _context3.abrupt("return", {});
|
|
207
|
-
|
|
208
|
-
case 6:
|
|
209
|
-
case "end":
|
|
210
|
-
return _context3.stop();
|
|
211
|
-
}
|
|
65
|
+
await (0, util_1.when)(() => Boolean(assembly.regions && assembly.refNameAliases) ||
|
|
66
|
+
!!assembly.error);
|
|
67
|
+
if (assembly.error) {
|
|
68
|
+
throw assembly.error;
|
|
212
69
|
}
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if (assembly) {
|
|
221
|
-
return assembly.isValidRefName(refName);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
throw new Error("isValidRefName for ".concat(assemblyName, " failed, assembly does not exist"));
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
if (!self.allPossibleRefNames) {
|
|
228
|
-
throw new Error("isValidRefName not available, assemblyManager has not yet finished loading. If you are looking for a refname in a specific assembly, pass assembly argument");
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return self.allPossibleRefNames.includes(refName);
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
}).actions(function (self) {
|
|
235
|
-
return {
|
|
236
|
-
removeAssembly: function removeAssembly(asm) {
|
|
237
|
-
self.assemblies.remove(asm);
|
|
238
|
-
},
|
|
239
|
-
afterAttach: function afterAttach() {
|
|
240
|
-
var _this3 = this;
|
|
241
|
-
|
|
242
|
-
(0, _mobxStateTree.addDisposer)(self, (0, _mobx.reaction)( // have to slice it to be properly reacted to
|
|
243
|
-
function () {
|
|
244
|
-
return self.assemblyList;
|
|
245
|
-
}, function (assemblyConfigs) {
|
|
246
|
-
self.assemblies.forEach(function (asm) {
|
|
247
|
-
if (!asm.configuration) {
|
|
248
|
-
_this3.removeAssembly(asm);
|
|
70
|
+
return assembly;
|
|
71
|
+
},
|
|
72
|
+
async getRefNameMapForAdapter(adapterConf, assemblyName, opts) {
|
|
73
|
+
if (assemblyName) {
|
|
74
|
+
const asm = await this.waitForAssembly(assemblyName);
|
|
75
|
+
return asm === null || asm === void 0 ? void 0 : asm.getRefNameMapForAdapter(adapterConf, opts);
|
|
249
76
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
77
|
+
return {};
|
|
78
|
+
},
|
|
79
|
+
async getReverseRefNameMapForAdapter(adapterConf, assemblyName, opts) {
|
|
80
|
+
if (assemblyName) {
|
|
81
|
+
const asm = await this.waitForAssembly(assemblyName);
|
|
82
|
+
return asm === null || asm === void 0 ? void 0 : asm.getReverseRefNameMapForAdapter(adapterConf, opts);
|
|
83
|
+
}
|
|
84
|
+
return {};
|
|
85
|
+
},
|
|
86
|
+
isValidRefName(refName, assemblyName) {
|
|
87
|
+
if (assemblyName) {
|
|
88
|
+
const assembly = self.get(assemblyName);
|
|
89
|
+
if (assembly) {
|
|
90
|
+
return assembly.isValidRefName(refName);
|
|
91
|
+
}
|
|
92
|
+
throw new Error(`isValidRefName for ${assemblyName} failed, assembly does not exist`);
|
|
258
93
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
94
|
+
if (!self.allPossibleRefNames) {
|
|
95
|
+
throw new Error(`isValidRefName not available, assemblyManager has not yet finished loading. If you are looking for a refname in a specific assembly, pass assembly argument`);
|
|
96
|
+
}
|
|
97
|
+
return self.allPossibleRefNames.includes(refName);
|
|
98
|
+
},
|
|
99
|
+
}))
|
|
100
|
+
.actions(self => ({
|
|
101
|
+
removeAssembly(asm) {
|
|
102
|
+
self.assemblies.remove(asm);
|
|
103
|
+
},
|
|
104
|
+
afterAttach() {
|
|
105
|
+
(0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.reaction)(
|
|
106
|
+
// have to slice it to be properly reacted to
|
|
107
|
+
() => self.assemblyList, assemblyConfigs => {
|
|
108
|
+
self.assemblies.forEach(asm => {
|
|
109
|
+
if (!asm.configuration) {
|
|
110
|
+
this.removeAssembly(asm);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
assemblyConfigs.forEach(assemblyConfig => {
|
|
114
|
+
const existingAssemblyIdx = self.assemblies.findIndex(assembly => assembly.name === (0, configuration_1.readConfObject)(assemblyConfig, 'name'));
|
|
115
|
+
if (existingAssemblyIdx === -1) {
|
|
116
|
+
this.addAssembly(assemblyConfig);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}, { fireImmediately: true, name: 'assemblyManagerAfterAttach' }));
|
|
120
|
+
},
|
|
121
|
+
// this can take an active instance of an assembly, in which case it is
|
|
122
|
+
// referred to, or it can take an identifier e.g. assembly name, which is
|
|
123
|
+
// used as a reference. snapshots cannot be used
|
|
124
|
+
addAssembly(assemblyConfig) {
|
|
125
|
+
self.assemblies.push({ configuration: assemblyConfig });
|
|
126
|
+
},
|
|
127
|
+
replaceAssembly(idx, assemblyConfig) {
|
|
128
|
+
self.assemblies[idx] = (0, mobx_state_tree_1.cast)({
|
|
129
|
+
configuration: assemblyConfig,
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
exports.default = assemblyManagerFactory;
|
package/assemblyManager/index.js
CHANGED
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return _assemblyConfigSchema.default;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "default", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _assemblyManager.default;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
var _assemblyManager = _interopRequireDefault(require("./assemblyManager"));
|
|
22
|
-
|
|
23
|
-
var _assemblyConfigSchema = _interopRequireDefault(require("./assemblyConfigSchema"));
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.assemblyConfigSchemaFactory = exports.default = void 0;
|
|
7
|
+
var assemblyManager_1 = require("./assemblyManager");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(assemblyManager_1).default; } });
|
|
9
|
+
var assemblyConfigSchema_1 = require("./assemblyConfigSchema");
|
|
10
|
+
Object.defineProperty(exports, "assemblyConfigSchemaFactory", { enumerable: true, get: function () { return __importDefault(assemblyConfigSchema_1).default; } });
|