@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/util/blockTypes.js
CHANGED
|
@@ -1,30 +1,42 @@
|
|
|
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
8
|
exports.InterRegionPaddingBlock = exports.ElidedBlock = exports.ContentBlock = exports.BlockSet = exports.BaseBlock = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
20
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
21
|
+
|
|
22
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
23
|
+
|
|
24
|
+
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); }; }
|
|
25
|
+
|
|
26
|
+
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; } }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
19
31
|
|
|
20
32
|
var BlockSet = /*#__PURE__*/function () {
|
|
21
33
|
function BlockSet() {
|
|
22
34
|
var blocks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
23
|
-
(0, _classCallCheck2
|
|
35
|
+
(0, _classCallCheck2.default)(this, BlockSet);
|
|
24
36
|
this.blocks = blocks;
|
|
25
37
|
}
|
|
26
38
|
|
|
27
|
-
(0, _createClass2
|
|
39
|
+
(0, _createClass2.default)(BlockSet, [{
|
|
28
40
|
key: "push",
|
|
29
41
|
value: function push(block) {
|
|
30
42
|
if (block instanceof ElidedBlock) {
|
|
@@ -120,18 +132,18 @@ var BaseBlock = /*#__PURE__*/function () {
|
|
|
120
132
|
*/
|
|
121
133
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
122
134
|
function BaseBlock(data) {
|
|
123
|
-
(0, _classCallCheck2
|
|
124
|
-
this
|
|
125
|
-
this
|
|
126
|
-
this
|
|
127
|
-
this
|
|
128
|
-
this
|
|
129
|
-
this
|
|
130
|
-
this
|
|
131
|
-
this
|
|
132
|
-
this
|
|
133
|
-
this
|
|
134
|
-
this
|
|
135
|
+
(0, _classCallCheck2.default)(this, BaseBlock);
|
|
136
|
+
(0, _defineProperty2.default)(this, "regionNumber", void 0);
|
|
137
|
+
(0, _defineProperty2.default)(this, "reversed", void 0);
|
|
138
|
+
(0, _defineProperty2.default)(this, "refName", void 0);
|
|
139
|
+
(0, _defineProperty2.default)(this, "start", void 0);
|
|
140
|
+
(0, _defineProperty2.default)(this, "end", void 0);
|
|
141
|
+
(0, _defineProperty2.default)(this, "assemblyName", void 0);
|
|
142
|
+
(0, _defineProperty2.default)(this, "key", void 0);
|
|
143
|
+
(0, _defineProperty2.default)(this, "offsetPx", void 0);
|
|
144
|
+
(0, _defineProperty2.default)(this, "widthPx", 0);
|
|
145
|
+
(0, _defineProperty2.default)(this, "variant", void 0);
|
|
146
|
+
(0, _defineProperty2.default)(this, "isLeftEndOfDisplayedRegion", void 0);
|
|
135
147
|
Object.assign(this, data);
|
|
136
148
|
this.assemblyName = data.assemblyName;
|
|
137
149
|
this.refName = data.refName;
|
|
@@ -149,12 +161,12 @@ var BaseBlock = /*#__PURE__*/function () {
|
|
|
149
161
|
*/
|
|
150
162
|
|
|
151
163
|
|
|
152
|
-
(0, _createClass2
|
|
164
|
+
(0, _createClass2.default)(BaseBlock, [{
|
|
153
165
|
key: "renameReference",
|
|
154
166
|
value: function renameReference(refName) {
|
|
155
167
|
if (this.refName && refName !== this.refName) {
|
|
156
168
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
157
|
-
return new this.constructor((
|
|
169
|
+
return new this.constructor(_objectSpread(_objectSpread({}, this), {}, {
|
|
158
170
|
refName: refName
|
|
159
171
|
}));
|
|
160
172
|
}
|
|
@@ -179,16 +191,16 @@ var BaseBlock = /*#__PURE__*/function () {
|
|
|
179
191
|
exports.BaseBlock = BaseBlock;
|
|
180
192
|
|
|
181
193
|
var ContentBlock = /*#__PURE__*/function (_BaseBlock) {
|
|
182
|
-
(0, _inherits2
|
|
194
|
+
(0, _inherits2.default)(ContentBlock, _BaseBlock);
|
|
183
195
|
|
|
184
|
-
var _super = (
|
|
196
|
+
var _super = _createSuper(ContentBlock);
|
|
185
197
|
|
|
186
198
|
function ContentBlock() {
|
|
187
|
-
(0, _classCallCheck2
|
|
199
|
+
(0, _classCallCheck2.default)(this, ContentBlock);
|
|
188
200
|
return _super.apply(this, arguments);
|
|
189
201
|
}
|
|
190
202
|
|
|
191
|
-
return (0, _createClass2
|
|
203
|
+
return (0, _createClass2.default)(ContentBlock);
|
|
192
204
|
}(BaseBlock);
|
|
193
205
|
/**
|
|
194
206
|
* marker block representing one or more blocks that are
|
|
@@ -199,23 +211,23 @@ var ContentBlock = /*#__PURE__*/function (_BaseBlock) {
|
|
|
199
211
|
exports.ContentBlock = ContentBlock;
|
|
200
212
|
|
|
201
213
|
var ElidedBlock = /*#__PURE__*/function (_BaseBlock2) {
|
|
202
|
-
(0, _inherits2
|
|
214
|
+
(0, _inherits2.default)(ElidedBlock, _BaseBlock2);
|
|
203
215
|
|
|
204
|
-
var _super2 = (
|
|
216
|
+
var _super2 = _createSuper(ElidedBlock);
|
|
205
217
|
|
|
206
218
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
219
|
function ElidedBlock(data) {
|
|
208
220
|
var _this;
|
|
209
221
|
|
|
210
|
-
(0, _classCallCheck2
|
|
222
|
+
(0, _classCallCheck2.default)(this, ElidedBlock);
|
|
211
223
|
_this = _super2.call(this, data);
|
|
212
|
-
_this
|
|
213
|
-
_this
|
|
224
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "widthPx", void 0);
|
|
225
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "elidedBlockCount", 0);
|
|
214
226
|
_this.widthPx = data.widthPx;
|
|
215
227
|
return _this;
|
|
216
228
|
}
|
|
217
229
|
|
|
218
|
-
(0, _createClass2
|
|
230
|
+
(0, _createClass2.default)(ElidedBlock, [{
|
|
219
231
|
key: "push",
|
|
220
232
|
value: function push(otherBlock) {
|
|
221
233
|
this.elidedBlockCount += 1;
|
|
@@ -239,16 +251,16 @@ var ElidedBlock = /*#__PURE__*/function (_BaseBlock2) {
|
|
|
239
251
|
exports.ElidedBlock = ElidedBlock;
|
|
240
252
|
|
|
241
253
|
var InterRegionPaddingBlock = /*#__PURE__*/function (_BaseBlock3) {
|
|
242
|
-
(0, _inherits2
|
|
254
|
+
(0, _inherits2.default)(InterRegionPaddingBlock, _BaseBlock3);
|
|
243
255
|
|
|
244
|
-
var _super3 = (
|
|
256
|
+
var _super3 = _createSuper(InterRegionPaddingBlock);
|
|
245
257
|
|
|
246
258
|
function InterRegionPaddingBlock() {
|
|
247
|
-
(0, _classCallCheck2
|
|
259
|
+
(0, _classCallCheck2.default)(this, InterRegionPaddingBlock);
|
|
248
260
|
return _super3.apply(this, arguments);
|
|
249
261
|
}
|
|
250
262
|
|
|
251
|
-
return (0, _createClass2
|
|
263
|
+
return (0, _createClass2.default)(InterRegionPaddingBlock);
|
|
252
264
|
}(BaseBlock);
|
|
253
265
|
|
|
254
266
|
exports.InterRegionPaddingBlock = InterRegionPaddingBlock;
|
|
@@ -1,13 +1,13 @@
|
|
|
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
|
|
8
|
+
exports.default = calculateDynamicBlocks;
|
|
9
9
|
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
|
|
12
12
|
var _range = require("./range");
|
|
13
13
|
|
|
@@ -64,7 +64,7 @@ function calculateDynamicBlocks(model) {
|
|
|
64
64
|
if (displayedRegionLeftPx < windowRightPx && displayedRegionRightPx > windowLeftPx) {
|
|
65
65
|
// this displayed region overlaps the view, so make a record for it
|
|
66
66
|
var _intersection = (0, _range.intersection2)(windowLeftPx, windowRightPx, displayedRegionLeftPx, displayedRegionRightPx),
|
|
67
|
-
_intersection2 = (0, _slicedToArray2
|
|
67
|
+
_intersection2 = (0, _slicedToArray2.default)(_intersection, 2),
|
|
68
68
|
leftPx = _intersection2[0],
|
|
69
69
|
rightPx = _intersection2[1];
|
|
70
70
|
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
6
|
|
|
7
7
|
var _calculateDynamicBlocks = _interopRequireDefault(require("./calculateDynamicBlocks"));
|
|
8
8
|
|
|
9
|
+
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; }
|
|
10
|
+
|
|
11
|
+
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; }
|
|
12
|
+
|
|
9
13
|
var ctgA = {
|
|
10
14
|
assemblyName: 'test',
|
|
11
15
|
refName: 'ctgA',
|
|
@@ -13,7 +17,7 @@ var ctgA = {
|
|
|
13
17
|
end: 50000
|
|
14
18
|
};
|
|
15
19
|
test('one', function () {
|
|
16
|
-
expect((0, _calculateDynamicBlocks
|
|
20
|
+
expect((0, _calculateDynamicBlocks.default)({
|
|
17
21
|
offsetPx: 0,
|
|
18
22
|
width: 200,
|
|
19
23
|
displayedRegions: [ctgA],
|
|
@@ -23,10 +27,10 @@ test('one', function () {
|
|
|
23
27
|
}).getBlocks()).toMatchSnapshot();
|
|
24
28
|
});
|
|
25
29
|
test('two', function () {
|
|
26
|
-
expect((0, _calculateDynamicBlocks
|
|
30
|
+
expect((0, _calculateDynamicBlocks.default)({
|
|
27
31
|
offsetPx: 0,
|
|
28
32
|
width: 200,
|
|
29
|
-
displayedRegions: [(
|
|
33
|
+
displayedRegions: [_objectSpread(_objectSpread({}, ctgA), {}, {
|
|
30
34
|
reversed: true
|
|
31
35
|
})],
|
|
32
36
|
bpPerPx: 1,
|
|
@@ -35,10 +39,10 @@ test('two', function () {
|
|
|
35
39
|
}).getBlocks()).toMatchSnapshot();
|
|
36
40
|
});
|
|
37
41
|
test('three', function () {
|
|
38
|
-
expect((0, _calculateDynamicBlocks
|
|
42
|
+
expect((0, _calculateDynamicBlocks.default)({
|
|
39
43
|
offsetPx: -100,
|
|
40
44
|
width: 200,
|
|
41
|
-
displayedRegions: [(
|
|
45
|
+
displayedRegions: [_objectSpread(_objectSpread({}, ctgA), {}, {
|
|
42
46
|
reversed: true
|
|
43
47
|
})],
|
|
44
48
|
bpPerPx: 1,
|
|
@@ -47,7 +51,7 @@ test('three', function () {
|
|
|
47
51
|
}).getBlocks()).toMatchSnapshot();
|
|
48
52
|
});
|
|
49
53
|
test('four', function () {
|
|
50
|
-
expect((0, _calculateDynamicBlocks
|
|
54
|
+
expect((0, _calculateDynamicBlocks.default)({
|
|
51
55
|
offsetPx: -100,
|
|
52
56
|
width: 350,
|
|
53
57
|
displayedRegions: [ctgA],
|
|
@@ -57,10 +61,10 @@ test('four', function () {
|
|
|
57
61
|
}).getBlocks()).toMatchSnapshot();
|
|
58
62
|
});
|
|
59
63
|
test('five', function () {
|
|
60
|
-
expect((0, _calculateDynamicBlocks
|
|
64
|
+
expect((0, _calculateDynamicBlocks.default)({
|
|
61
65
|
offsetPx: 521,
|
|
62
66
|
width: 927,
|
|
63
|
-
displayedRegions: [(
|
|
67
|
+
displayedRegions: [_objectSpread(_objectSpread({}, ctgA), {}, {
|
|
64
68
|
reversed: false
|
|
65
69
|
})],
|
|
66
70
|
bpPerPx: 0.05,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
var _calculateStaticBlocks = _interopRequireDefault(require("./calculateStaticBlocks"));
|
|
6
6
|
|
|
7
7
|
describe('block calculation', function () {
|
|
8
8
|
it('can calculate some blocks 1', function () {
|
|
9
|
-
var blocks1 = (0, _calculateStaticBlocks
|
|
9
|
+
var blocks1 = (0, _calculateStaticBlocks.default)({
|
|
10
10
|
bpPerPx: 1,
|
|
11
11
|
width: 800,
|
|
12
12
|
offsetPx: 0,
|
|
@@ -19,7 +19,7 @@ describe('block calculation', function () {
|
|
|
19
19
|
minimumBlockWidth: 20,
|
|
20
20
|
interRegionPaddingWidth: 2
|
|
21
21
|
});
|
|
22
|
-
var blocks2 = (0, _calculateStaticBlocks
|
|
22
|
+
var blocks2 = (0, _calculateStaticBlocks.default)({
|
|
23
23
|
bpPerPx: 1,
|
|
24
24
|
width: 800,
|
|
25
25
|
offsetPx: 0,
|
|
@@ -36,7 +36,7 @@ describe('block calculation', function () {
|
|
|
36
36
|
expect(blocks1).toEqual(blocks2);
|
|
37
37
|
});
|
|
38
38
|
it('can calculate some blocks 2', function () {
|
|
39
|
-
var blocks = (0, _calculateStaticBlocks
|
|
39
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
40
40
|
bpPerPx: 1,
|
|
41
41
|
width: 800,
|
|
42
42
|
offsetPx: 30,
|
|
@@ -57,7 +57,7 @@ describe('block calculation', function () {
|
|
|
57
57
|
expect(blocks).toMatchSnapshot();
|
|
58
58
|
});
|
|
59
59
|
it('can calculate some blocks (should be empty because offscreen to the right)', function () {
|
|
60
|
-
var blockSet = (0, _calculateStaticBlocks
|
|
60
|
+
var blockSet = (0, _calculateStaticBlocks.default)({
|
|
61
61
|
bpPerPx: 1,
|
|
62
62
|
width: 800,
|
|
63
63
|
offsetPx: 2000,
|
|
@@ -78,7 +78,7 @@ describe('block calculation', function () {
|
|
|
78
78
|
expect(blockSet.getBlocks()).toEqual([]);
|
|
79
79
|
});
|
|
80
80
|
it('can calculate some blocks (should be empty because offscreen to the left)', function () {
|
|
81
|
-
var blockSet = (0, _calculateStaticBlocks
|
|
81
|
+
var blockSet = (0, _calculateStaticBlocks.default)({
|
|
82
82
|
bpPerPx: 1,
|
|
83
83
|
width: 800,
|
|
84
84
|
offsetPx: -2000,
|
|
@@ -99,7 +99,7 @@ describe('block calculation', function () {
|
|
|
99
99
|
expect(blockSet.getBlocks()).toEqual([]);
|
|
100
100
|
});
|
|
101
101
|
it('can calculate some blocks 5', function () {
|
|
102
|
-
var blocks = (0, _calculateStaticBlocks
|
|
102
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
103
103
|
bpPerPx: 1,
|
|
104
104
|
width: 800,
|
|
105
105
|
offsetPx: 5000,
|
|
@@ -120,7 +120,7 @@ describe('block calculation', function () {
|
|
|
120
120
|
expect(blocks).toMatchSnapshot();
|
|
121
121
|
});
|
|
122
122
|
it('can calculate some blocks 6', function () {
|
|
123
|
-
var blockSet = (0, _calculateStaticBlocks
|
|
123
|
+
var blockSet = (0, _calculateStaticBlocks.default)({
|
|
124
124
|
bpPerPx: 1,
|
|
125
125
|
width: 800,
|
|
126
126
|
offsetPx: 0,
|
|
@@ -142,7 +142,7 @@ describe('block calculation', function () {
|
|
|
142
142
|
expect(blockSet.blocks[1].offsetPx).toBe(0);
|
|
143
143
|
});
|
|
144
144
|
it('can calculate some blocks 7', function () {
|
|
145
|
-
var blocks = (0, _calculateStaticBlocks
|
|
145
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
146
146
|
bpPerPx: 1,
|
|
147
147
|
width: 800,
|
|
148
148
|
offsetPx: 801,
|
|
@@ -163,7 +163,7 @@ describe('block calculation', function () {
|
|
|
163
163
|
expect(blocks).toMatchSnapshot();
|
|
164
164
|
});
|
|
165
165
|
it('can calculate some blocks 8', function () {
|
|
166
|
-
var blocks = (0, _calculateStaticBlocks
|
|
166
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
167
167
|
bpPerPx: 1,
|
|
168
168
|
width: 800,
|
|
169
169
|
offsetPx: 1600,
|
|
@@ -184,7 +184,7 @@ describe('block calculation', function () {
|
|
|
184
184
|
expect(blocks).toMatchSnapshot();
|
|
185
185
|
});
|
|
186
186
|
it('can calculate some blocks 9', function () {
|
|
187
|
-
var blockSet = (0, _calculateStaticBlocks
|
|
187
|
+
var blockSet = (0, _calculateStaticBlocks.default)({
|
|
188
188
|
width: 800,
|
|
189
189
|
offsetPx: 1069,
|
|
190
190
|
bpPerPx: 2,
|
|
@@ -205,7 +205,7 @@ describe('block calculation', function () {
|
|
|
205
205
|
expect(blockSet).toMatchSnapshot();
|
|
206
206
|
});
|
|
207
207
|
it('can calculate some blocks 10', function () {
|
|
208
|
-
var blockSet = (0, _calculateStaticBlocks
|
|
208
|
+
var blockSet = (0, _calculateStaticBlocks.default)({
|
|
209
209
|
width: 800,
|
|
210
210
|
offsetPx: 0,
|
|
211
211
|
bpPerPx: 0.05,
|
|
@@ -230,7 +230,7 @@ describe('block calculation', function () {
|
|
|
230
230
|
});
|
|
231
231
|
describe('reverse block calculation', function () {
|
|
232
232
|
test('1', function () {
|
|
233
|
-
var blocks = (0, _calculateStaticBlocks
|
|
233
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
234
234
|
bpPerPx: 1,
|
|
235
235
|
width: 800,
|
|
236
236
|
offsetPx: 0,
|
|
@@ -249,7 +249,7 @@ describe('reverse block calculation', function () {
|
|
|
249
249
|
});
|
|
250
250
|
describe('reversed displayed regions', function () {
|
|
251
251
|
test('without elided region', function () {
|
|
252
|
-
var blocks = (0, _calculateStaticBlocks
|
|
252
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
253
253
|
bpPerPx: 1,
|
|
254
254
|
width: 800,
|
|
255
255
|
offsetPx: 0,
|
|
@@ -272,7 +272,7 @@ describe('reversed displayed regions', function () {
|
|
|
272
272
|
expect(blocks).toMatchSnapshot();
|
|
273
273
|
});
|
|
274
274
|
test('with elided region', function () {
|
|
275
|
-
var blocks = (0, _calculateStaticBlocks
|
|
275
|
+
var blocks = (0, _calculateStaticBlocks.default)({
|
|
276
276
|
bpPerPx: 1,
|
|
277
277
|
width: 800,
|
|
278
278
|
offsetPx: 0,
|
package/util/compositeMap.js
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
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
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
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; } } }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
17
21
|
|
|
18
22
|
// takes an array or Map or Set (anything iterable with values()) of Maps
|
|
19
23
|
// and lets you query them as one Map
|
|
20
24
|
var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
21
25
|
function CompositeMap(submaps) {
|
|
22
|
-
(0, _classCallCheck2
|
|
26
|
+
(0, _classCallCheck2.default)(this, CompositeMap);
|
|
23
27
|
this.submaps = submaps;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
(0, _createClass2
|
|
30
|
+
(0, _createClass2.default)(CompositeMap, [{
|
|
27
31
|
key: "has",
|
|
28
32
|
value: function has(id) {
|
|
29
|
-
var _iterator = (
|
|
33
|
+
var _iterator = _createForOfIteratorHelper(this.submaps.values()),
|
|
30
34
|
_step;
|
|
31
35
|
|
|
32
36
|
try {
|
|
@@ -48,7 +52,7 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
48
52
|
}, {
|
|
49
53
|
key: "get",
|
|
50
54
|
value: function get(id) {
|
|
51
|
-
var _iterator2 = (
|
|
55
|
+
var _iterator2 = _createForOfIteratorHelper(this.submaps.values()),
|
|
52
56
|
_step2;
|
|
53
57
|
|
|
54
58
|
try {
|
|
@@ -69,14 +73,14 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
69
73
|
}
|
|
70
74
|
}, {
|
|
71
75
|
key: "values",
|
|
72
|
-
value: /*#__PURE__*/
|
|
76
|
+
value: /*#__PURE__*/_regenerator.default.mark(function values() {
|
|
73
77
|
var _iterator3, _step3, key;
|
|
74
78
|
|
|
75
|
-
return
|
|
79
|
+
return _regenerator.default.wrap(function values$(_context) {
|
|
76
80
|
while (1) {
|
|
77
81
|
switch (_context.prev = _context.next) {
|
|
78
82
|
case 0:
|
|
79
|
-
_iterator3 = (
|
|
83
|
+
_iterator3 = _createForOfIteratorHelper(this.keys());
|
|
80
84
|
_context.prev = 1;
|
|
81
85
|
|
|
82
86
|
_iterator3.s();
|
|
@@ -121,20 +125,20 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
121
125
|
})
|
|
122
126
|
}, {
|
|
123
127
|
key: "keys",
|
|
124
|
-
value: /*#__PURE__*/
|
|
128
|
+
value: /*#__PURE__*/_regenerator.default.mark(function keys() {
|
|
125
129
|
var keys, _iterator4, _step4, submap, _iterator6, _step6, key, _iterator5, _step5, _key;
|
|
126
130
|
|
|
127
|
-
return
|
|
131
|
+
return _regenerator.default.wrap(function keys$(_context2) {
|
|
128
132
|
while (1) {
|
|
129
133
|
switch (_context2.prev = _context2.next) {
|
|
130
134
|
case 0:
|
|
131
135
|
keys = new Set();
|
|
132
|
-
_iterator4 = (
|
|
136
|
+
_iterator4 = _createForOfIteratorHelper(this.submaps.values());
|
|
133
137
|
|
|
134
138
|
try {
|
|
135
139
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
136
140
|
submap = _step4.value;
|
|
137
|
-
_iterator6 = (
|
|
141
|
+
_iterator6 = _createForOfIteratorHelper(submap.keys());
|
|
138
142
|
|
|
139
143
|
try {
|
|
140
144
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -153,7 +157,7 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
153
157
|
_iterator4.f();
|
|
154
158
|
}
|
|
155
159
|
|
|
156
|
-
_iterator5 = (
|
|
160
|
+
_iterator5 = _createForOfIteratorHelper(keys);
|
|
157
161
|
_context2.prev = 4;
|
|
158
162
|
|
|
159
163
|
_iterator5.s();
|
|
@@ -199,14 +203,14 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
199
203
|
}, {
|
|
200
204
|
key: "find",
|
|
201
205
|
value: function find(f) {
|
|
202
|
-
var _iterator7 = (
|
|
206
|
+
var _iterator7 = _createForOfIteratorHelper(this.submaps.values()),
|
|
203
207
|
_step7;
|
|
204
208
|
|
|
205
209
|
try {
|
|
206
210
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
207
211
|
var submap = _step7.value;
|
|
208
212
|
|
|
209
|
-
var _iterator8 = (
|
|
213
|
+
var _iterator8 = _createForOfIteratorHelper(submap.values()),
|
|
210
214
|
_step8;
|
|
211
215
|
|
|
212
216
|
try {
|
|
@@ -234,14 +238,14 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
234
238
|
}
|
|
235
239
|
}, {
|
|
236
240
|
key: _Symbol$iterator,
|
|
237
|
-
value: /*#__PURE__*/
|
|
241
|
+
value: /*#__PURE__*/_regenerator.default.mark(function value() {
|
|
238
242
|
var _iterator9, _step9, key;
|
|
239
243
|
|
|
240
|
-
return
|
|
244
|
+
return _regenerator.default.wrap(function value$(_context3) {
|
|
241
245
|
while (1) {
|
|
242
246
|
switch (_context3.prev = _context3.next) {
|
|
243
247
|
case 0:
|
|
244
|
-
_iterator9 = (
|
|
248
|
+
_iterator9 = _createForOfIteratorHelper(this.keys());
|
|
245
249
|
_context3.prev = 1;
|
|
246
250
|
|
|
247
251
|
_iterator9.s();
|
|
@@ -286,14 +290,14 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
286
290
|
})
|
|
287
291
|
}, {
|
|
288
292
|
key: "entries",
|
|
289
|
-
value: /*#__PURE__*/
|
|
293
|
+
value: /*#__PURE__*/_regenerator.default.mark(function entries() {
|
|
290
294
|
var _iterator10, _step10, k;
|
|
291
295
|
|
|
292
|
-
return
|
|
296
|
+
return _regenerator.default.wrap(function entries$(_context4) {
|
|
293
297
|
while (1) {
|
|
294
298
|
switch (_context4.prev = _context4.next) {
|
|
295
299
|
case 0:
|
|
296
|
-
_iterator10 = (
|
|
300
|
+
_iterator10 = _createForOfIteratorHelper(this.keys());
|
|
297
301
|
_context4.prev = 1;
|
|
298
302
|
|
|
299
303
|
_iterator10.s();
|
|
@@ -340,4 +344,4 @@ var CompositeMap = /*#__PURE__*/function (_Symbol$iterator) {
|
|
|
340
344
|
return CompositeMap;
|
|
341
345
|
}(Symbol.iterator);
|
|
342
346
|
|
|
343
|
-
exports
|
|
347
|
+
exports.default = CompositeMap;
|
package/util/idMaker.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
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
|
|
8
|
+
exports.default = idMaker;
|
|
9
9
|
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
|
|
12
12
|
var _ = require("./");
|
|
13
13
|
|
|
@@ -26,7 +26,7 @@ function idMaker(args) {
|
|
|
26
26
|
break;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
if ((0, _typeof2
|
|
29
|
+
if ((0, _typeof2.default)(args[key]) === 'object' && args[key]) {
|
|
30
30
|
id += idMaker(args[key], id);
|
|
31
31
|
} else {
|
|
32
32
|
id += "".concat(key, "-").concat(args[key], ";");
|
package/util/index.d.ts
CHANGED
|
@@ -304,6 +304,28 @@ export declare const defaultCodonTable: {
|
|
|
304
304
|
export declare function generateCodonTable(table: any): {
|
|
305
305
|
[key: string]: string;
|
|
306
306
|
};
|
|
307
|
-
export declare function updateStatus(
|
|
307
|
+
export declare function updateStatus<U>(msg: string, cb: (arg: string) => void, fn: () => U): Promise<U>;
|
|
308
308
|
export declare function hashCode(str: string): number;
|
|
309
309
|
export declare function objectHash(obj: Record<string, any>): string;
|
|
310
|
+
export declare function bytesForRegions(regions: Region[], index: any): Promise<number>;
|
|
311
|
+
export declare type ViewSnap = {
|
|
312
|
+
bpPerPx: number;
|
|
313
|
+
interRegionPaddingWidth: number;
|
|
314
|
+
minimumBlockWidth: number;
|
|
315
|
+
width: number;
|
|
316
|
+
displayedRegions: {
|
|
317
|
+
start: number;
|
|
318
|
+
end: number;
|
|
319
|
+
refName: string;
|
|
320
|
+
reversed: boolean;
|
|
321
|
+
}[];
|
|
322
|
+
};
|
|
323
|
+
export declare function viewBpToPx({ refName, coord, regionNumber, self, }: {
|
|
324
|
+
refName: string;
|
|
325
|
+
coord: number;
|
|
326
|
+
regionNumber?: number;
|
|
327
|
+
self: ViewSnap;
|
|
328
|
+
}): {
|
|
329
|
+
index: number;
|
|
330
|
+
offsetPx: number;
|
|
331
|
+
} | undefined;
|