@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.
Files changed (184) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +9 -3
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +313 -581
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +213 -478
  4. package/BaseFeatureWidget/index.js +88 -126
  5. package/BaseFeatureWidget/types.d.ts +1 -0
  6. package/BaseFeatureWidget/types.js +1 -4
  7. package/BaseFeatureWidget/util.js +40 -75
  8. package/CorePlugin.js +55 -94
  9. package/Plugin.js +9 -34
  10. package/PluginLoader.js +153 -422
  11. package/PluginManager.d.ts +28 -33
  12. package/PluginManager.js +377 -666
  13. package/ReExports/Attributes.js +3 -10
  14. package/ReExports/BaseCard.js +3 -10
  15. package/ReExports/DataGrid.js +5 -12
  16. package/ReExports/FeatureDetails.js +3 -10
  17. package/ReExports/index.js +6 -12
  18. package/ReExports/list.d.ts +5 -0
  19. package/ReExports/list.js +271 -7
  20. package/ReExports/material-ui-colors.js +15 -16
  21. package/ReExports/modules.d.ts +11 -20
  22. package/ReExports/modules.js +453 -798
  23. package/TextSearch/BaseResults.js +51 -123
  24. package/TextSearch/TextSearchManager.js +66 -144
  25. package/assemblyManager/assembly.js +280 -555
  26. package/assemblyManager/assemblyConfigSchema.js +47 -64
  27. package/assemblyManager/assemblyManager.js +126 -272
  28. package/assemblyManager/index.js +9 -22
  29. package/configuration/configurationSchema.js +167 -203
  30. package/configuration/configurationSlot.js +248 -326
  31. package/configuration/index.js +19 -35
  32. package/configuration/util.js +131 -173
  33. package/data_adapters/BaseAdapter.d.ts +2 -2
  34. package/data_adapters/BaseAdapter.js +132 -521
  35. package/data_adapters/CytobandAdapter.js +40 -126
  36. package/data_adapters/dataAdapterCache.js +77 -158
  37. package/package.json +4 -5
  38. package/pluggableElementTypes/AdapterType.js +24 -79
  39. package/pluggableElementTypes/AddTrackWorkflowType.d.ts +17 -0
  40. package/pluggableElementTypes/AddTrackWorkflowType.js +20 -0
  41. package/pluggableElementTypes/ConnectionType.js +22 -65
  42. package/pluggableElementTypes/DisplayType.js +35 -82
  43. package/pluggableElementTypes/InternetAccountType.js +23 -64
  44. package/pluggableElementTypes/PluggableElementBase.js +8 -20
  45. package/pluggableElementTypes/RpcMethodType.js +85 -427
  46. package/pluggableElementTypes/TextSearchAdapterType.js +16 -55
  47. package/pluggableElementTypes/TrackType.js +26 -70
  48. package/pluggableElementTypes/ViewType.js +21 -63
  49. package/pluggableElementTypes/WidgetType.js +21 -64
  50. package/pluggableElementTypes/index.d.ts +4 -3
  51. package/pluggableElementTypes/index.js +42 -125
  52. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +28 -43
  53. package/pluggableElementTypes/models/BaseDisplayModel.js +58 -95
  54. package/pluggableElementTypes/models/BaseTrackModel.js +139 -199
  55. package/pluggableElementTypes/models/BaseViewModel.js +24 -40
  56. package/pluggableElementTypes/models/InternetAccountModel.js +116 -263
  57. package/pluggableElementTypes/models/baseConnectionConfig.js +14 -25
  58. package/pluggableElementTypes/models/baseInternetAccountConfig.js +29 -38
  59. package/pluggableElementTypes/models/baseTrackConfig.js +106 -133
  60. package/pluggableElementTypes/models/index.js +21 -70
  61. package/pluggableElementTypes/renderers/BoxRendererType.js +132 -291
  62. package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -38
  63. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +60 -192
  64. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -2
  65. package/pluggableElementTypes/renderers/FeatureRendererType.js +89 -255
  66. package/pluggableElementTypes/renderers/RendererType.js +31 -105
  67. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +61 -72
  68. package/pluggableElementTypes/renderers/ServerSideRendererType.js +112 -265
  69. package/pluggableElementTypes/renderers/index.js +19 -62
  70. package/pluggableElementTypes/renderers/util/serializableFilterChain.js +27 -65
  71. package/rpc/BaseRpcDriver.js +169 -405
  72. package/rpc/MainThreadRpcDriver.js +27 -150
  73. package/rpc/RpcManager.js +58 -159
  74. package/rpc/WebWorkerRpcDriver.js +54 -171
  75. package/rpc/configSchema.js +25 -49
  76. package/rpc/coreRpcMethods.d.ts +1 -3
  77. package/rpc/coreRpcMethods.js +221 -959
  78. package/rpc/remoteAbortSignals.js +46 -70
  79. package/tsconfig.build.tsbuildinfo +1 -1
  80. package/ui/AboutDialog.js +106 -162
  81. package/ui/App.js +157 -242
  82. package/ui/AssemblySelector.js +59 -120
  83. package/ui/CascadingMenu.js +101 -196
  84. package/ui/ColorPicker.d.ts +16 -0
  85. package/ui/ColorPicker.js +97 -0
  86. package/ui/Drawer.js +28 -61
  87. package/ui/DrawerWidget.js +108 -202
  88. package/ui/DropDownMenu.js +60 -91
  89. package/ui/EditableTypography.js +87 -149
  90. package/ui/ErrorMessage.js +41 -56
  91. package/ui/FactoryResetDialog.js +24 -57
  92. package/ui/FatalErrorDialog.js +59 -91
  93. package/ui/FileSelector/FileSelector.js +123 -189
  94. package/ui/FileSelector/LocalFileChooser.js +44 -75
  95. package/ui/FileSelector/UrlChooser.js +17 -38
  96. package/ui/FileSelector/index.js +6 -12
  97. package/ui/Icons.js +45 -69
  98. package/ui/Logo.js +57 -110
  99. package/ui/Menu.js +232 -354
  100. package/ui/PrerenderedCanvas.js +63 -87
  101. package/ui/ResizeHandle.js +87 -116
  102. package/ui/ReturnToImportFormDialog.js +32 -63
  103. package/ui/SanitizedHTML.js +64 -47
  104. package/ui/Snackbar.js +74 -101
  105. package/ui/SnackbarModel.js +37 -51
  106. package/ui/Tooltip.js +49 -76
  107. package/ui/ViewContainer.js +113 -196
  108. package/ui/colors.d.ts +10 -0
  109. package/ui/colors.js +78 -0
  110. package/ui/index.js +51 -181
  111. package/ui/react-colorful.d.ts +17 -0
  112. package/ui/react-colorful.js +455 -0
  113. package/ui/theme.d.ts +23 -1
  114. package/ui/theme.js +199 -247
  115. package/util/Base1DUtils.d.ts +32 -0
  116. package/util/Base1DUtils.js +174 -0
  117. package/util/Base1DViewModel.d.ts +16 -30
  118. package/util/Base1DViewModel.js +116 -293
  119. package/util/QuickLRU.js +84 -332
  120. package/util/TimeTraveller.d.ts +19 -0
  121. package/util/TimeTraveller.js +86 -0
  122. package/util/aborting.js +49 -127
  123. package/util/analytics.js +91 -154
  124. package/util/blockTypes.js +106 -240
  125. package/util/calculateDynamicBlocks.js +98 -128
  126. package/util/calculateStaticBlocks.js +105 -125
  127. package/util/color/cssColorsLevel4.js +156 -160
  128. package/util/color/index.js +33 -55
  129. package/util/compositeMap.js +49 -333
  130. package/util/formatFastaStrings.js +9 -14
  131. package/util/idMaker.js +18 -31
  132. package/util/index.d.ts +18 -32
  133. package/util/index.js +747 -1226
  134. package/util/io/RemoteFileWithRangeCache.js +88 -257
  135. package/util/io/index.js +95 -169
  136. package/util/jexl.js +60 -115
  137. package/util/jexlStrings.js +24 -29
  138. package/util/layouts/BaseLayout.js +1 -4
  139. package/util/layouts/GranularRectLayout.js +388 -555
  140. package/util/layouts/MultiLayout.js +41 -109
  141. package/util/layouts/PrecomputedLayout.js +56 -112
  142. package/util/layouts/PrecomputedMultiLayout.js +22 -59
  143. package/util/layouts/SceneGraph.js +127 -197
  144. package/util/layouts/index.js +29 -66
  145. package/util/mst-reflection.js +55 -71
  146. package/util/offscreenCanvasPonyfill.js +66 -134
  147. package/util/offscreenCanvasUtils.d.ts +2 -7
  148. package/util/offscreenCanvasUtils.js +49 -146
  149. package/util/range.js +29 -40
  150. package/util/rxjs.js +20 -27
  151. package/util/simpleFeature.js +88 -152
  152. package/util/stats.js +91 -151
  153. package/util/tracks.js +130 -173
  154. package/util/types/index.js +110 -179
  155. package/util/types/mst.js +91 -146
  156. package/util/types/util.js +1 -4
  157. package/util/when.js +54 -101
  158. package/BaseFeatureWidget/SequenceFeatureDetails.test.js +0 -122
  159. package/BaseFeatureWidget/index.test.js +0 -69
  160. package/TextSearch/BaseResults.test.js +0 -42
  161. package/configuration/configurationSchema.test.js +0 -266
  162. package/configuration/configurationSlot.test.js +0 -69
  163. package/configuration/util.test.js +0 -39
  164. package/data_adapters/BaseAdapter.test.js +0 -200
  165. package/declare.d.js +0 -1
  166. package/pluggableElementTypes/RpcMethodType.test.js +0 -118
  167. package/pluggableElementTypes/renderers/declare.d.js +0 -1
  168. package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +0 -20
  169. package/rpc/BaseRpcDriver.test.js +0 -540
  170. package/rpc/declaration.d.js +0 -1
  171. package/ui/FatalErrorDialog.test.js +0 -82
  172. package/ui/SanitizedHTML.test.js +0 -36
  173. package/ui/theme.test.js +0 -92
  174. package/util/Base1DViewModel.test.js +0 -130
  175. package/util/calculateDynamicBlocks.test.js +0 -74
  176. package/util/calculateStaticBlocks.test.js +0 -297
  177. package/util/declare.d.js +0 -1
  178. package/util/formatFastaStrings.test.js +0 -40
  179. package/util/index.test.js +0 -213
  180. package/util/jexlStrings.test.js +0 -48
  181. package/util/layouts/GranularRectLayout.test.js +0 -99
  182. package/util/range.test.js +0 -64
  183. package/util/simpleFeature.test.js +0 -34
  184. package/util/stats.test.js +0 -172
@@ -1,67 +1,50 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _configuration = require("../configuration");
9
-
10
- var _default = function _default(pluginManager) {
11
- return (0, _configuration.ConfigurationSchema)('BaseAssembly', {
12
- aliases: {
13
- type: 'stringArray',
14
- defaultValue: [],
15
- description: 'Other possible names for the assembly'
16
- },
17
- sequence: pluginManager.getTrackType('ReferenceSequenceTrack').configSchema,
18
- refNameColors: {
19
- type: 'stringArray',
20
- defaultValue: [],
21
- description: 'Define custom colors for each reference sequence. Will cycle through this list if there are not enough colors for every sequence.'
22
- },
23
- refNameAliases: (0, _configuration.ConfigurationSchema)('RefNameAliases', {
24
- adapter: pluginManager.pluggableConfigSchemaType('adapter')
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
- preProcessSnapshot: function preProcessSnapshot(snap) {
27
- // allow refNameAliases to be unspecified
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
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = assemblyManagerFactory;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
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
- var Assembly = (0, _assembly.default)(assemblyConfigType, pluginManager);
34
- return _mobxStateTree.types.model({
35
- assemblies: _mobxStateTree.types.array(Assembly)
36
- }).views(function (self) {
37
- return {
38
- get: function get(assemblyName) {
39
- return self.assemblies.find(function (assembly) {
40
- return assembly.hasName(assemblyName);
41
- });
42
- },
43
-
44
- get assemblyNamesList() {
45
- return this.assemblyList.map(function (asm) {
46
- return asm.name;
47
- });
48
- },
49
-
50
- get assemblyList() {
51
- // name is the explicit identifier and can be accessed without getConf,
52
- // hence the union with {name:string}
53
- var _getParent = (0, _mobxStateTree.getParent)(self),
54
- assemblies = _getParent.jbrowse.assemblies,
55
- _getParent$session = _getParent.session;
56
-
57
- _getParent$session = _getParent$session === void 0 ? {} : _getParent$session;
58
- var _getParent$session$se = _getParent$session.sessionAssemblies,
59
- sessionAssemblies = _getParent$session$se === void 0 ? [] : _getParent$session$se;
60
- return [].concat((0, _toConsumableArray2.default)(assemblies), (0, _toConsumableArray2.default)(sessionAssemblies));
61
- },
62
-
63
- get rpcManager() {
64
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
- return (0, _mobxStateTree.getParent)(self).rpcManager;
66
- },
67
-
68
- get pluginManager() {
69
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
- return (0, _mobxStateTree.getParent)(self).pluginManager;
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
- refNames = refNames.concat(assembly.allRefNames);
88
- }
89
- } catch (err) {
90
- _iterator.e(err);
91
- } finally {
92
- _iterator.f();
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
- }, _callee);
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
- }, _callee2);
182
- }))();
183
- },
184
- getReverseRefNameMapForAdapter: function getReverseRefNameMapForAdapter(adapterConf, assemblyName, opts) {
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
- }, _callee3);
214
- }))();
215
- },
216
- isValidRefName: function isValidRefName(refName, assemblyName) {
217
- if (assemblyName) {
218
- var assembly = self.get(assemblyName);
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
- assemblyConfigs.forEach(function (assemblyConfig) {
252
- var existingAssemblyIdx = self.assemblies.findIndex(function (assembly) {
253
- return assembly.name === (0, _configuration.readConfObject)(assemblyConfig, 'name');
254
- });
255
-
256
- if (existingAssemblyIdx === -1) {
257
- _this3.addAssembly(assemblyConfig);
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
- fireImmediately: true,
262
- name: 'assemblyManagerAfterAttach'
263
- }));
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
- addAssembly: function addAssembly(assemblyConfig) {
269
- self.assemblies.push({
270
- configuration: assemblyConfig
271
- });
272
- },
273
- replaceAssembly: function replaceAssembly(idx, assemblyConfig) {
274
- self.assemblies[idx] = (0, _mobxStateTree.cast)({
275
- configuration: assemblyConfig
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;
@@ -1,23 +1,10 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "assemblyConfigSchemaFactory", {
9
- enumerable: true,
10
- get: function get() {
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; } });