@jbrowse/core 1.5.7 → 1.6.1
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.js +91 -78
- package/BaseFeatureWidget/SequenceFeatureDetails.js +65 -57
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +9 -9
- package/BaseFeatureWidget/index.js +1 -1
- package/BaseFeatureWidget/index.test.js +4 -4
- package/BaseFeatureWidget/util.js +13 -9
- package/CorePlugin.js +32 -20
- package/Plugin.js +13 -11
- package/PluginLoader.js +38 -33
- package/PluginManager.d.ts +8 -5
- package/PluginManager.js +142 -53
- package/ReExports/index.js +4 -4
- package/ReExports/list.js +2 -2
- package/ReExports/material-ui-colors.js +20 -20
- package/ReExports/modules.d.ts +7 -5
- package/ReExports/modules.js +51 -47
- package/TextSearch/BaseResults.js +34 -24
- package/TextSearch/BaseResults.test.js +7 -3
- package/TextSearch/TextSearchManager.js +17 -15
- package/assemblyManager/assembly.js +39 -34
- package/assemblyManager/assemblyConfigSchema.js +2 -2
- package/assemblyManager/assemblyManager.js +20 -16
- package/assemblyManager/index.js +3 -3
- package/babel.config.d.ts +15 -0
- package/babel.config.js +19 -0
- package/configuration/configurationSchema.js +19 -17
- package/configuration/configurationSlot.js +11 -11
- package/configuration/configurationSlot.test.js +5 -5
- package/configuration/index.d.ts +1 -0
- package/configuration/util.js +5 -5
- package/data_adapters/BaseAdapter.d.ts +15 -3
- package/data_adapters/BaseAdapter.js +216 -62
- package/data_adapters/BaseAdapter.test.js +30 -24
- package/data_adapters/CytobandAdapter.d.ts +1 -1
- package/data_adapters/CytobandAdapter.js +25 -19
- package/data_adapters/dataAdapterCache.js +9 -9
- package/package.json +4 -5
- package/pluggableElementTypes/AdapterType.js +31 -22
- package/pluggableElementTypes/ConnectionType.js +28 -18
- package/pluggableElementTypes/DisplayType.js +27 -17
- package/pluggableElementTypes/InternetAccountType.js +24 -14
- package/pluggableElementTypes/PluggableElementBase.js +10 -8
- package/pluggableElementTypes/RpcMethodType.d.ts +1 -1
- package/pluggableElementTypes/RpcMethodType.js +141 -118
- package/pluggableElementTypes/RpcMethodType.test.js +23 -17
- package/pluggableElementTypes/TextSearchAdapterType.js +25 -15
- package/pluggableElementTypes/TrackType.js +25 -15
- package/pluggableElementTypes/ViewType.js +25 -15
- package/pluggableElementTypes/WidgetType.js +27 -17
- package/pluggableElementTypes/index.js +11 -11
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +5 -5
- package/pluggableElementTypes/models/BaseDisplayModel.js +8 -5
- package/pluggableElementTypes/models/BaseTrackModel.js +11 -8
- package/pluggableElementTypes/models/BaseViewModel.js +3 -3
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +1 -1
- package/pluggableElementTypes/models/InternetAccountModel.js +5 -5
- package/pluggableElementTypes/models/baseConnectionConfig.js +2 -2
- package/pluggableElementTypes/models/baseTrackConfig.js +7 -4
- package/pluggableElementTypes/models/index.js +4 -4
- package/pluggableElementTypes/renderers/BoxRendererType.js +49 -39
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +18 -12
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +35 -27
- package/pluggableElementTypes/renderers/FeatureRendererType.js +46 -36
- package/pluggableElementTypes/renderers/RendererType.js +31 -21
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +12 -8
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +1 -1
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +45 -33
- package/pluggableElementTypes/renderers/index.js +8 -8
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +10 -8
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +2 -2
- package/rpc/BaseRpcDriver.js +43 -38
- package/rpc/BaseRpcDriver.test.js +63 -49
- package/rpc/MainThreadRpcDriver.js +32 -22
- package/rpc/RpcManager.js +19 -17
- package/rpc/WebWorkerRpcDriver.js +38 -28
- package/rpc/configSchema.js +2 -2
- package/rpc/coreRpcMethods.d.ts +16 -0
- package/rpc/coreRpcMethods.js +248 -121
- package/rpc/remoteAbortSignals.js +3 -3
- package/ui/AboutDialog.js +21 -17
- package/ui/App.js +42 -38
- package/ui/AssemblySelector.d.ts +1 -1
- package/ui/AssemblySelector.js +6 -6
- package/ui/Drawer.js +7 -7
- package/ui/DrawerWidget.d.ts +1 -1
- package/ui/DrawerWidget.js +37 -33
- package/ui/DropDownMenu.js +21 -9
- package/ui/EditableTypography.js +30 -19
- package/ui/ErrorMessage.js +5 -5
- package/ui/FactoryResetDialog.js +8 -8
- package/ui/FatalErrorDialog.js +29 -12
- package/ui/FatalErrorDialog.test.js +11 -11
- package/ui/FileSelector/FileSelector.js +42 -32
- package/ui/FileSelector/LocalFileChooser.js +9 -9
- package/ui/FileSelector/UrlChooser.js +4 -4
- package/ui/FileSelector/index.js +4 -4
- package/ui/Icons.js +9 -9
- package/ui/Logo.js +19 -19
- package/ui/Menu.js +46 -35
- package/ui/NewSessionCards.js +29 -19
- package/ui/PrerenderedCanvas.js +27 -10
- package/ui/ResizeHandle.js +17 -10
- package/ui/SanitizedHTML.js +5 -5
- package/ui/SanitizedHTML.test.js +4 -4
- package/ui/Snackbar.js +16 -12
- package/ui/SnackbarModel.js +1 -1
- package/ui/Tooltip.js +11 -7
- package/ui/ViewContainer.d.ts +2 -5
- package/ui/ViewContainer.js +44 -49
- package/ui/index.d.ts +1 -0
- package/ui/index.js +26 -13
- package/ui/theme.js +15 -11
- package/util/Base1DViewModel.d.ts +14 -12
- package/util/Base1DViewModel.js +51 -55
- package/util/Base1DViewModel.test.js +5 -5
- package/util/QuickLRU.js +31 -27
- package/util/aborting.js +26 -16
- package/util/analytics.d.ts +1 -0
- package/util/analytics.js +15 -7
- package/util/blockTypes.js +48 -36
- package/util/calculateDynamicBlocks.js +4 -4
- package/util/calculateDynamicBlocks.test.js +14 -10
- package/util/calculateStaticBlocks.js +1 -1
- package/util/calculateStaticBlocks.test.js +15 -15
- package/util/compositeMap.js +31 -27
- package/util/idMaker.js +4 -4
- package/util/index.d.ts +23 -1
- package/util/index.js +135 -41
- package/util/index.test.js +11 -7
- package/util/io/RemoteFileWithRangeCache.js +41 -29
- package/util/io/index.js +6 -6
- package/util/jexl.js +5 -5
- package/util/jexlStrings.js +2 -2
- package/util/jexlStrings.test.js +2 -2
- package/util/layouts/GranularRectLayout.js +33 -27
- package/util/layouts/GranularRectLayout.test.js +10 -10
- package/util/layouts/MultiLayout.js +19 -13
- package/util/layouts/PrecomputedLayout.js +16 -14
- package/util/layouts/PrecomputedMultiLayout.js +23 -17
- package/util/layouts/SceneGraph.js +18 -12
- package/util/layouts/index.js +6 -6
- package/util/offscreenCanvasPonyfill.js +31 -29
- package/util/offscreenCanvasUtils.js +6 -6
- package/util/range.test.js +20 -20
- package/util/rxjs.js +2 -2
- package/util/simpleFeature.js +23 -18
- package/util/simpleFeature.test.js +3 -3
- package/util/stats.d.ts +1 -1
- package/util/stats.js +11 -7
- package/util/stats.test.js +16 -16
- package/util/tracks.js +1 -3
- package/util/types/index.d.ts +1 -1
- package/util/types/index.js +36 -31
- package/util/types/mst.js +19 -15
- package/util/when.js +6 -6
package/configuration/util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -13,9 +13,9 @@ exports.isConfigurationSchemaType = isConfigurationSchemaType;
|
|
|
13
13
|
exports.isConfigurationSlotType = isConfigurationSlotType;
|
|
14
14
|
exports.readConfObject = readConfObject;
|
|
15
15
|
|
|
16
|
-
var _typeof2 = _interopRequireDefault(require("
|
|
16
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
17
|
|
|
18
|
-
var _toConsumableArray2 = _interopRequireDefault(require("
|
|
18
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
19
|
|
|
20
20
|
var _mobxStateTree = require("mobx-state-tree");
|
|
21
21
|
|
|
@@ -154,7 +154,7 @@ function getTypeNamesFromExplicitlyTypedUnion(maybeUnionType) {
|
|
|
154
154
|
throw new Error("invalid config schema type ".concat(type));
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
typeNames.push.apply(typeNames, (0, _toConsumableArray2
|
|
157
|
+
typeNames.push.apply(typeNames, (0, _toConsumableArray2.default)(typeName));
|
|
158
158
|
});
|
|
159
159
|
return typeNames;
|
|
160
160
|
}
|
|
@@ -217,5 +217,5 @@ function isConfigurationModel(thing) {
|
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
function isConfigurationSlotType(thing) {
|
|
220
|
-
return (0, _typeof2
|
|
220
|
+
return (0, _typeof2.default)(thing) === 'object' && thing !== null && 'isJBrowseConfigurationSlot' in thing;
|
|
221
221
|
}
|
|
@@ -24,7 +24,9 @@ export interface BaseArgs {
|
|
|
24
24
|
export interface AnyAdapter {
|
|
25
25
|
new (config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager | undefined): AnyDataAdapter;
|
|
26
26
|
}
|
|
27
|
-
export declare type AnyDataAdapter = BaseAdapter | BaseFeatureDataAdapter | BaseRefNameAliasAdapter | BaseTextSearchAdapter | RegionsAdapter |
|
|
27
|
+
export declare type AnyDataAdapter = BaseAdapter | BaseFeatureDataAdapter | BaseRefNameAliasAdapter | BaseTextSearchAdapter | RegionsAdapter | BaseSequenceAdapter;
|
|
28
|
+
export interface SequenceAdapter extends BaseFeatureDataAdapter, RegionsAdapter {
|
|
29
|
+
}
|
|
28
30
|
export declare abstract class BaseAdapter {
|
|
29
31
|
config: AnyConfigurationModel;
|
|
30
32
|
getSubAdapter?: getSubAdapterType | undefined;
|
|
@@ -39,6 +41,11 @@ export declare abstract class BaseAdapter {
|
|
|
39
41
|
*/
|
|
40
42
|
abstract freeResources(region: Region): void;
|
|
41
43
|
}
|
|
44
|
+
export interface Stats {
|
|
45
|
+
featureDensity?: number;
|
|
46
|
+
fetchSizeLimit?: number;
|
|
47
|
+
bytes?: number;
|
|
48
|
+
}
|
|
42
49
|
/**
|
|
43
50
|
* Base class for feature adapters to extend. Defines some methods that
|
|
44
51
|
* subclasses must implement.
|
|
@@ -101,13 +108,18 @@ export declare abstract class BaseFeatureDataAdapter extends BaseAdapter {
|
|
|
101
108
|
hasDataForRefName(refName: string, opts?: BaseOptions): Promise<boolean>;
|
|
102
109
|
getRegionStats(region: Region, opts?: BaseOptions): Promise<import("../util/stats").FeatureStats>;
|
|
103
110
|
getMultiRegionStats(regions?: Region[], opts?: BaseOptions): Promise<import("../util/stats").FeatureStats>;
|
|
111
|
+
estimateRegionsStats(regions: Region[], opts?: BaseOptions): Promise<Stats>;
|
|
104
112
|
}
|
|
105
113
|
export interface RegionsAdapter extends BaseAdapter {
|
|
106
114
|
getRegions(opts: BaseOptions): Promise<NoAssemblyRegion[]>;
|
|
107
115
|
}
|
|
108
|
-
export
|
|
116
|
+
export declare abstract class BaseSequenceAdapter extends BaseFeatureDataAdapter implements RegionsAdapter {
|
|
117
|
+
estimateRegionsStats(): Promise<{
|
|
118
|
+
featureDensity: number;
|
|
119
|
+
}>;
|
|
120
|
+
abstract getRegions(opts: BaseOptions): Promise<NoAssemblyRegion[]>;
|
|
109
121
|
}
|
|
110
|
-
export declare function isSequenceAdapter(thing: AnyDataAdapter): thing is
|
|
122
|
+
export declare function isSequenceAdapter(thing: AnyDataAdapter): thing is BaseSequenceAdapter;
|
|
111
123
|
export declare function isRegionsAdapter(thing: AnyDataAdapter): thing is RegionsAdapter;
|
|
112
124
|
export declare function isFeatureAdapter(thing: AnyDataAdapter): thing is BaseFeatureDataAdapter;
|
|
113
125
|
export interface Alias {
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.BaseFeatureDataAdapter = exports.BaseAdapter = void 0;
|
|
8
|
+
exports.BaseSequenceAdapter = exports.BaseFeatureDataAdapter = exports.BaseAdapter = void 0;
|
|
9
9
|
exports.isFeatureAdapter = isFeatureAdapter;
|
|
10
10
|
exports.isRefNameAliasAdapter = isRefNameAliasAdapter;
|
|
11
11
|
exports.isRegionsAdapter = isRegionsAdapter;
|
|
12
12
|
exports.isSequenceAdapter = isSequenceAdapter;
|
|
13
13
|
exports.isTextSearchAdapter = isTextSearchAdapter;
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
16
16
|
|
|
17
|
-
var _toConsumableArray2 = _interopRequireDefault(require("
|
|
17
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
18
18
|
|
|
19
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("
|
|
19
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
20
20
|
|
|
21
|
-
var _inherits2 = _interopRequireDefault(require("
|
|
21
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
28
|
+
|
|
29
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
30
|
+
|
|
31
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
28
32
|
|
|
29
33
|
var _rxjs = require("rxjs");
|
|
30
34
|
|
|
@@ -42,21 +46,29 @@ var _stats = require("../util/stats");
|
|
|
42
46
|
|
|
43
47
|
var _idMaker = _interopRequireDefault(require("../util/idMaker"));
|
|
44
48
|
|
|
45
|
-
var
|
|
49
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
50
|
+
|
|
51
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
52
|
+
|
|
53
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
54
|
+
|
|
55
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
56
|
+
|
|
57
|
+
var BaseAdapter = /*#__PURE__*/(0, _createClass2.default)(function BaseAdapter() {
|
|
46
58
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _configurationSchema.ConfigurationSchema)('empty', {}).create();
|
|
47
59
|
var getSubAdapter = arguments.length > 1 ? arguments[1] : undefined;
|
|
48
60
|
var pluginManager = arguments.length > 2 ? arguments[2] : undefined;
|
|
49
|
-
(0, _classCallCheck2
|
|
61
|
+
(0, _classCallCheck2.default)(this, BaseAdapter);
|
|
50
62
|
this.config = config;
|
|
51
63
|
this.getSubAdapter = getSubAdapter;
|
|
52
64
|
this.pluginManager = pluginManager;
|
|
53
|
-
this
|
|
65
|
+
(0, _defineProperty2.default)(this, "id", void 0);
|
|
54
66
|
|
|
55
67
|
// note: we use switch on jest here for more simple feature IDs
|
|
56
68
|
// in test environment
|
|
57
69
|
if (typeof jest === 'undefined') {
|
|
58
70
|
var data = (0, _mobxStateTree.isStateTreeNode)(config) ? (0, _mobxStateTree.getSnapshot)(config) : config;
|
|
59
|
-
this.id = "".concat((0, _idMaker
|
|
71
|
+
this.id = "".concat((0, _idMaker.default)(data));
|
|
60
72
|
} else {
|
|
61
73
|
this.id = 'test';
|
|
62
74
|
}
|
|
@@ -67,25 +79,24 @@ var BaseAdapter = /*#__PURE__*/(0, _createClass2["default"])(function BaseAdapte
|
|
|
67
79
|
* @param region - Region
|
|
68
80
|
*/
|
|
69
81
|
);
|
|
82
|
+
exports.BaseAdapter = BaseAdapter;
|
|
83
|
+
(0, _defineProperty2.default)(BaseAdapter, "capabilities", []);
|
|
84
|
+
|
|
70
85
|
/**
|
|
71
86
|
* Base class for feature adapters to extend. Defines some methods that
|
|
72
87
|
* subclasses must implement.
|
|
73
88
|
*/
|
|
74
|
-
|
|
75
|
-
exports.BaseAdapter = BaseAdapter;
|
|
76
|
-
BaseAdapter.capabilities = [];
|
|
77
|
-
|
|
78
89
|
var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
79
|
-
(0, _inherits2
|
|
90
|
+
(0, _inherits2.default)(BaseFeatureDataAdapter, _BaseAdapter);
|
|
80
91
|
|
|
81
|
-
var _super = (
|
|
92
|
+
var _super = _createSuper(BaseFeatureDataAdapter);
|
|
82
93
|
|
|
83
94
|
function BaseFeatureDataAdapter() {
|
|
84
|
-
(0, _classCallCheck2
|
|
95
|
+
(0, _classCallCheck2.default)(this, BaseFeatureDataAdapter);
|
|
85
96
|
return _super.apply(this, arguments);
|
|
86
97
|
}
|
|
87
98
|
|
|
88
|
-
(0, _createClass2
|
|
99
|
+
(0, _createClass2.default)(BaseFeatureDataAdapter, [{
|
|
89
100
|
key: "getHeader",
|
|
90
101
|
value: // public abstract getFeatures(
|
|
91
102
|
// region: Region,
|
|
@@ -108,8 +119,8 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
108
119
|
* object
|
|
109
120
|
*/
|
|
110
121
|
function () {
|
|
111
|
-
var _getHeader = (0, _asyncToGenerator2
|
|
112
|
-
return
|
|
122
|
+
var _getHeader = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_opts) {
|
|
123
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
113
124
|
while (1) {
|
|
114
125
|
switch (_context.prev = _context.next) {
|
|
115
126
|
case 0:
|
|
@@ -137,8 +148,8 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
137
148
|
}, {
|
|
138
149
|
key: "getMetadata",
|
|
139
150
|
value: function () {
|
|
140
|
-
var _getMetadata = (0, _asyncToGenerator2
|
|
141
|
-
return
|
|
151
|
+
var _getMetadata = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_opts) {
|
|
152
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
142
153
|
while (1) {
|
|
143
154
|
switch (_context2.prev = _context2.next) {
|
|
144
155
|
case 0:
|
|
@@ -170,9 +181,9 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
170
181
|
|
|
171
182
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
172
183
|
return (0, _rxjs2.ObservableCreate)( /*#__PURE__*/function () {
|
|
173
|
-
var _ref = (0, _asyncToGenerator2
|
|
184
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(observer) {
|
|
174
185
|
var hasData;
|
|
175
|
-
return
|
|
186
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
176
187
|
while (1) {
|
|
177
188
|
switch (_context3.prev = _context3.next) {
|
|
178
189
|
case 0:
|
|
@@ -184,7 +195,6 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
184
195
|
(0, _util.checkAbortSignal)(opts.signal);
|
|
185
196
|
|
|
186
197
|
if (!hasData) {
|
|
187
|
-
// console.warn(`no data for ${region.refName}`)
|
|
188
198
|
observer.complete();
|
|
189
199
|
} else {
|
|
190
200
|
_this.getFeatures(region, opts).pipe((0, _operators.takeUntil)((0, _util.observeAbortSignal)(opts.signal))).subscribe(observer);
|
|
@@ -226,11 +236,11 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
226
236
|
|
|
227
237
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
228
238
|
|
|
229
|
-
var obs = _rxjs.merge.apply(void 0, (0, _toConsumableArray2
|
|
239
|
+
var obs = _rxjs.merge.apply(void 0, (0, _toConsumableArray2.default)(regions.map(function (region) {
|
|
230
240
|
return (0, _rxjs2.ObservableCreate)( /*#__PURE__*/function () {
|
|
231
|
-
var _ref2 = (0, _asyncToGenerator2
|
|
241
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(observer) {
|
|
232
242
|
var hasData;
|
|
233
|
-
return
|
|
243
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
234
244
|
while (1) {
|
|
235
245
|
switch (_context4.prev = _context4.next) {
|
|
236
246
|
case 0:
|
|
@@ -242,7 +252,6 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
242
252
|
(0, _util.checkAbortSignal)(opts.signal);
|
|
243
253
|
|
|
244
254
|
if (!hasData) {
|
|
245
|
-
// console.warn(`no data for ${region.refName}`)
|
|
246
255
|
observer.complete();
|
|
247
256
|
} else {
|
|
248
257
|
_this2.getFeatures(region, opts).subscribe(observer);
|
|
@@ -277,11 +286,11 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
277
286
|
}, {
|
|
278
287
|
key: "hasDataForRefName",
|
|
279
288
|
value: function () {
|
|
280
|
-
var _hasDataForRefName = (0, _asyncToGenerator2
|
|
289
|
+
var _hasDataForRefName = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(refName) {
|
|
281
290
|
var opts,
|
|
282
291
|
refNames,
|
|
283
292
|
_args5 = arguments;
|
|
284
|
-
return
|
|
293
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
285
294
|
while (1) {
|
|
286
295
|
switch (_context5.prev = _context5.next) {
|
|
287
296
|
case 0:
|
|
@@ -310,9 +319,9 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
310
319
|
}, {
|
|
311
320
|
key: "getRegionStats",
|
|
312
321
|
value: function () {
|
|
313
|
-
var _getRegionStats = (0, _asyncToGenerator2
|
|
322
|
+
var _getRegionStats = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(region, opts) {
|
|
314
323
|
var feats;
|
|
315
|
-
return
|
|
324
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
316
325
|
while (1) {
|
|
317
326
|
switch (_context6.prev = _context6.next) {
|
|
318
327
|
case 0:
|
|
@@ -336,7 +345,7 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
336
345
|
}, {
|
|
337
346
|
key: "getMultiRegionStats",
|
|
338
347
|
value: function () {
|
|
339
|
-
var _getMultiRegionStats = (0, _asyncToGenerator2
|
|
348
|
+
var _getMultiRegionStats = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
340
349
|
var _this3 = this;
|
|
341
350
|
|
|
342
351
|
var regions,
|
|
@@ -349,7 +358,7 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
349
358
|
featureCount,
|
|
350
359
|
basesCovered,
|
|
351
360
|
_args7 = arguments;
|
|
352
|
-
return
|
|
361
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
353
362
|
while (1) {
|
|
354
363
|
switch (_context7.prev = _context7.next) {
|
|
355
364
|
case 0:
|
|
@@ -371,35 +380,27 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
371
380
|
|
|
372
381
|
case 6:
|
|
373
382
|
feats = _context7.sent;
|
|
374
|
-
scoreMax = feats.map(function (
|
|
375
|
-
return
|
|
376
|
-
}).reduce(function (
|
|
377
|
-
return Math.max(
|
|
378
|
-
});
|
|
379
|
-
scoreMin = feats.map(function (s) {
|
|
380
|
-
return s.scoreMin;
|
|
381
|
-
}).reduce(function (acc, curr) {
|
|
382
|
-
return Math.min(acc, curr);
|
|
383
|
+
scoreMax = feats.map(function (a) {
|
|
384
|
+
return a.scoreMax;
|
|
385
|
+
}).reduce(function (a, b) {
|
|
386
|
+
return Math.max(a, b);
|
|
383
387
|
});
|
|
384
|
-
|
|
385
|
-
return
|
|
388
|
+
scoreMin = feats.map(function (a) {
|
|
389
|
+
return a.scoreMin;
|
|
386
390
|
}).reduce(function (a, b) {
|
|
387
|
-
return a
|
|
391
|
+
return Math.min(a, b);
|
|
392
|
+
});
|
|
393
|
+
scoreSum = feats.reduce(function (a, b) {
|
|
394
|
+
return a + b.scoreSum;
|
|
388
395
|
}, 0);
|
|
389
|
-
scoreSumSquares = feats.
|
|
390
|
-
return
|
|
391
|
-
}).reduce(function (a, b) {
|
|
392
|
-
return a + b;
|
|
396
|
+
scoreSumSquares = feats.reduce(function (a, b) {
|
|
397
|
+
return a + b.scoreSumSquares;
|
|
393
398
|
}, 0);
|
|
394
|
-
featureCount = feats.
|
|
395
|
-
return
|
|
396
|
-
}).reduce(function (a, b) {
|
|
397
|
-
return a + b;
|
|
399
|
+
featureCount = feats.reduce(function (a, b) {
|
|
400
|
+
return a + b.featureCount;
|
|
398
401
|
}, 0);
|
|
399
|
-
basesCovered = feats.
|
|
400
|
-
return
|
|
401
|
-
}).reduce(function (a, b) {
|
|
402
|
-
return a + b;
|
|
402
|
+
basesCovered = feats.reduce(function (a, b) {
|
|
403
|
+
return a + b.basesCovered;
|
|
403
404
|
}, 0);
|
|
404
405
|
return _context7.abrupt("return", (0, _stats.rectifyStats)({
|
|
405
406
|
scoreMin: scoreMin,
|
|
@@ -424,12 +425,165 @@ var BaseFeatureDataAdapter = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
424
425
|
|
|
425
426
|
return getMultiRegionStats;
|
|
426
427
|
}()
|
|
428
|
+
}, {
|
|
429
|
+
key: "estimateRegionsStats",
|
|
430
|
+
value: function () {
|
|
431
|
+
var _estimateRegionsStats = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(regions, opts) {
|
|
432
|
+
var _this4 = this;
|
|
433
|
+
|
|
434
|
+
var region, lastTime, statsFromInterval, maybeRecordStats;
|
|
435
|
+
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
436
|
+
while (1) {
|
|
437
|
+
switch (_context10.prev = _context10.next) {
|
|
438
|
+
case 0:
|
|
439
|
+
region = regions[0];
|
|
440
|
+
lastTime = +Date.now();
|
|
441
|
+
|
|
442
|
+
statsFromInterval = /*#__PURE__*/function () {
|
|
443
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(length, expansionTime) {
|
|
444
|
+
var start, end, sampleCenter, query, features;
|
|
445
|
+
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
446
|
+
while (1) {
|
|
447
|
+
switch (_context8.prev = _context8.next) {
|
|
448
|
+
case 0:
|
|
449
|
+
start = region.start, end = region.end;
|
|
450
|
+
sampleCenter = start * 0.75 + end * 0.25;
|
|
451
|
+
query = _objectSpread(_objectSpread({}, region), {}, {
|
|
452
|
+
start: Math.max(0, Math.round(sampleCenter - length / 2)),
|
|
453
|
+
end: Math.min(Math.round(sampleCenter + length / 2), end)
|
|
454
|
+
});
|
|
455
|
+
_context8.next = 5;
|
|
456
|
+
return _this4.getFeatures(query, opts).pipe((0, _operators.toArray)()).toPromise();
|
|
457
|
+
|
|
458
|
+
case 5:
|
|
459
|
+
features = _context8.sent;
|
|
460
|
+
return _context8.abrupt("return", maybeRecordStats(length, {
|
|
461
|
+
featureDensity: features.length / length
|
|
462
|
+
}, features.length, expansionTime));
|
|
463
|
+
|
|
464
|
+
case 7:
|
|
465
|
+
case "end":
|
|
466
|
+
return _context8.stop();
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}, _callee8);
|
|
470
|
+
}));
|
|
471
|
+
|
|
472
|
+
return function statsFromInterval(_x10, _x11) {
|
|
473
|
+
return _ref3.apply(this, arguments);
|
|
474
|
+
};
|
|
475
|
+
}();
|
|
476
|
+
|
|
477
|
+
maybeRecordStats = /*#__PURE__*/function () {
|
|
478
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(interval, stats, statsSampleFeatures, expansionTime) {
|
|
479
|
+
var refLen, currTime;
|
|
480
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
481
|
+
while (1) {
|
|
482
|
+
switch (_context9.prev = _context9.next) {
|
|
483
|
+
case 0:
|
|
484
|
+
refLen = region.end - region.start;
|
|
485
|
+
|
|
486
|
+
if (!(statsSampleFeatures >= 70 || interval * 2 > refLen)) {
|
|
487
|
+
_context9.next = 5;
|
|
488
|
+
break;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
return _context9.abrupt("return", stats);
|
|
492
|
+
|
|
493
|
+
case 5:
|
|
494
|
+
if (!(expansionTime <= 5000)) {
|
|
495
|
+
_context9.next = 12;
|
|
496
|
+
break;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
currTime = +Date.now();
|
|
500
|
+
expansionTime += currTime - lastTime;
|
|
501
|
+
lastTime = currTime;
|
|
502
|
+
return _context9.abrupt("return", statsFromInterval(interval * 2, expansionTime));
|
|
503
|
+
|
|
504
|
+
case 12:
|
|
505
|
+
console.warn("Stats estimation reached timeout, or didn't get enough features");
|
|
506
|
+
return _context9.abrupt("return", {
|
|
507
|
+
featureDensity: Infinity
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
case 14:
|
|
511
|
+
case "end":
|
|
512
|
+
return _context9.stop();
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}, _callee9);
|
|
516
|
+
}));
|
|
517
|
+
|
|
518
|
+
return function maybeRecordStats(_x12, _x13, _x14, _x15) {
|
|
519
|
+
return _ref4.apply(this, arguments);
|
|
520
|
+
};
|
|
521
|
+
}();
|
|
522
|
+
|
|
523
|
+
return _context10.abrupt("return", statsFromInterval(1000, 0));
|
|
524
|
+
|
|
525
|
+
case 5:
|
|
526
|
+
case "end":
|
|
527
|
+
return _context10.stop();
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}, _callee10);
|
|
531
|
+
}));
|
|
532
|
+
|
|
533
|
+
function estimateRegionsStats(_x8, _x9) {
|
|
534
|
+
return _estimateRegionsStats.apply(this, arguments);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
return estimateRegionsStats;
|
|
538
|
+
}()
|
|
427
539
|
}]);
|
|
428
540
|
return BaseFeatureDataAdapter;
|
|
429
541
|
}(BaseAdapter);
|
|
430
542
|
|
|
431
543
|
exports.BaseFeatureDataAdapter = BaseFeatureDataAdapter;
|
|
432
544
|
|
|
545
|
+
var BaseSequenceAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
546
|
+
(0, _inherits2.default)(BaseSequenceAdapter, _BaseFeatureDataAdapt);
|
|
547
|
+
|
|
548
|
+
var _super2 = _createSuper(BaseSequenceAdapter);
|
|
549
|
+
|
|
550
|
+
function BaseSequenceAdapter() {
|
|
551
|
+
(0, _classCallCheck2.default)(this, BaseSequenceAdapter);
|
|
552
|
+
return _super2.apply(this, arguments);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
(0, _createClass2.default)(BaseSequenceAdapter, [{
|
|
556
|
+
key: "estimateRegionsStats",
|
|
557
|
+
value: function () {
|
|
558
|
+
var _estimateRegionsStats2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
|
|
559
|
+
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
560
|
+
while (1) {
|
|
561
|
+
switch (_context11.prev = _context11.next) {
|
|
562
|
+
case 0:
|
|
563
|
+
return _context11.abrupt("return", {
|
|
564
|
+
featureDensity: 0
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
case 1:
|
|
568
|
+
case "end":
|
|
569
|
+
return _context11.stop();
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}, _callee11);
|
|
573
|
+
}));
|
|
574
|
+
|
|
575
|
+
function estimateRegionsStats() {
|
|
576
|
+
return _estimateRegionsStats2.apply(this, arguments);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
return estimateRegionsStats;
|
|
580
|
+
}()
|
|
581
|
+
}]);
|
|
582
|
+
return BaseSequenceAdapter;
|
|
583
|
+
}(BaseFeatureDataAdapter);
|
|
584
|
+
|
|
585
|
+
exports.BaseSequenceAdapter = BaseSequenceAdapter;
|
|
586
|
+
|
|
433
587
|
function isSequenceAdapter(thing) {
|
|
434
588
|
return 'getRegions' in thing && 'getFeatures' in thing;
|
|
435
589
|
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
6
|
|
|
7
|
-
var _classCallCheck2 = _interopRequireDefault(require("
|
|
7
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
8
8
|
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
|
|
17
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
18
|
|
|
17
19
|
var _operators = require("rxjs/operators");
|
|
18
20
|
|
|
@@ -24,28 +26,32 @@ var _simpleFeature = _interopRequireDefault(require("../util/simpleFeature"));
|
|
|
24
26
|
|
|
25
27
|
var _configurationSchema = require("../configuration/configurationSchema");
|
|
26
28
|
|
|
29
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
30
|
+
|
|
31
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
32
|
+
|
|
27
33
|
describe('base data adapter', function () {
|
|
28
|
-
it('properly propagates errors in feature fetching', /*#__PURE__*/(0, _asyncToGenerator2
|
|
34
|
+
it('properly propagates errors in feature fetching', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
29
35
|
var Adapter, adapter, features, featuresArray;
|
|
30
|
-
return
|
|
36
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
31
37
|
while (1) {
|
|
32
38
|
switch (_context2.prev = _context2.next) {
|
|
33
39
|
case 0:
|
|
34
40
|
Adapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
35
|
-
(0, _inherits2
|
|
41
|
+
(0, _inherits2.default)(Adapter, _BaseFeatureDataAdapt);
|
|
36
42
|
|
|
37
|
-
var _super = (
|
|
43
|
+
var _super = _createSuper(Adapter);
|
|
38
44
|
|
|
39
45
|
function Adapter() {
|
|
40
|
-
(0, _classCallCheck2
|
|
46
|
+
(0, _classCallCheck2.default)(this, Adapter);
|
|
41
47
|
return _super.apply(this, arguments);
|
|
42
48
|
}
|
|
43
49
|
|
|
44
|
-
(0, _createClass2
|
|
50
|
+
(0, _createClass2.default)(Adapter, [{
|
|
45
51
|
key: "getRefNames",
|
|
46
52
|
value: function () {
|
|
47
|
-
var _getRefNames = (0, _asyncToGenerator2
|
|
48
|
-
return
|
|
53
|
+
var _getRefNames = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
54
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
49
55
|
while (1) {
|
|
50
56
|
switch (_context.prev = _context.next) {
|
|
51
57
|
case 0:
|
|
@@ -96,27 +102,27 @@ describe('base data adapter', function () {
|
|
|
96
102
|
}
|
|
97
103
|
}, _callee2);
|
|
98
104
|
})));
|
|
99
|
-
it('retrieves features', /*#__PURE__*/(0, _asyncToGenerator2
|
|
105
|
+
it('retrieves features', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
100
106
|
var Adapter, adapter, features, featuresArray, features2, featuresArray2;
|
|
101
|
-
return
|
|
107
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
102
108
|
while (1) {
|
|
103
109
|
switch (_context4.prev = _context4.next) {
|
|
104
110
|
case 0:
|
|
105
111
|
Adapter = /*#__PURE__*/function (_BaseFeatureDataAdapt2) {
|
|
106
|
-
(0, _inherits2
|
|
112
|
+
(0, _inherits2.default)(Adapter, _BaseFeatureDataAdapt2);
|
|
107
113
|
|
|
108
|
-
var _super2 = (
|
|
114
|
+
var _super2 = _createSuper(Adapter);
|
|
109
115
|
|
|
110
116
|
function Adapter() {
|
|
111
|
-
(0, _classCallCheck2
|
|
117
|
+
(0, _classCallCheck2.default)(this, Adapter);
|
|
112
118
|
return _super2.apply(this, arguments);
|
|
113
119
|
}
|
|
114
120
|
|
|
115
|
-
(0, _createClass2
|
|
121
|
+
(0, _createClass2.default)(Adapter, [{
|
|
116
122
|
key: "getRefNames",
|
|
117
123
|
value: function () {
|
|
118
|
-
var _getRefNames2 = (0, _asyncToGenerator2
|
|
119
|
-
return
|
|
124
|
+
var _getRefNames2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
125
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
120
126
|
while (1) {
|
|
121
127
|
switch (_context3.prev = _context3.next) {
|
|
122
128
|
case 0:
|
|
@@ -141,7 +147,7 @@ describe('base data adapter', function () {
|
|
|
141
147
|
value: function getFeatures(region) {
|
|
142
148
|
return (0, _rxjs.ObservableCreate)(function (observer) {
|
|
143
149
|
if (region.refName === 'ctgA') {
|
|
144
|
-
observer.next(new _simpleFeature
|
|
150
|
+
observer.next(new _simpleFeature.default({
|
|
145
151
|
uniqueId: 'testFeature',
|
|
146
152
|
start: 100,
|
|
147
153
|
end: 200
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import SimpleFeature from '
|
|
1
|
+
import SimpleFeature from '../util/simpleFeature';
|
|
2
2
|
import { BaseAdapter } from './BaseAdapter';
|
|
3
3
|
declare const configSchema: import("../configuration/configurationSchema").AnyConfigurationSchemaType;
|
|
4
4
|
declare class CytobandAdapter extends BaseAdapter {
|