@jbrowse/core 1.4.4 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BaseFeatureWidget/BaseFeatureDetail.d.ts +4 -4
- package/BaseFeatureWidget/BaseFeatureDetail.js +27 -8
- package/BaseFeatureWidget/SequenceFeatureDetails.js +10 -10
- package/BaseFeatureWidget/index.js +1 -1
- package/BaseFeatureWidget/types.d.ts +1 -1
- package/BaseFeatureWidget/util.js +3 -3
- package/CorePlugin.d.ts +0 -1
- package/CorePlugin.js +13 -1
- package/PluginLoader.d.ts +26 -4
- package/PluginLoader.js +337 -51
- package/PluginManager.d.ts +18 -11
- package/PluginManager.js +53 -31
- package/ReExports/list.js +1 -1
- package/ReExports/material-ui-colors.js +38 -38
- package/ReExports/modules.d.ts +19 -20
- package/ReExports/modules.js +10 -3
- package/TextSearch/BaseResults.d.ts +5 -14
- package/TextSearch/BaseResults.js +16 -58
- package/TextSearch/BaseResults.test.js +1 -11
- package/TextSearch/TextSearchManager.d.ts +3 -3
- package/TextSearch/TextSearchManager.js +1 -1
- package/assemblyManager/assembly.d.ts +21 -8
- package/assemblyManager/assembly.js +163 -120
- package/assemblyManager/assemblyConfigSchema.d.ts +3 -0
- package/assemblyManager/{assemblyConfigSchemas.js → assemblyConfigSchema.js} +35 -27
- package/assemblyManager/assemblyManager.d.ts +169 -60
- package/assemblyManager/index.d.ts +1 -1
- package/assemblyManager/index.js +5 -5
- package/configuration/configurationSchema.d.ts +3 -2
- package/configuration/configurationSchema.js +7 -10
- package/configuration/configurationSchema.test.js +4 -2
- package/configuration/configurationSlot.js +5 -4
- package/configuration/index.js +4 -4
- package/configuration/util.js +5 -5
- package/data_adapters/BaseAdapter.d.ts +5 -3
- package/data_adapters/BaseAdapter.js +7 -4
- package/data_adapters/BaseAdapter.test.js +4 -2
- package/data_adapters/CytobandAdapter.d.ts +8 -0
- package/data_adapters/CytobandAdapter.js +128 -0
- package/data_adapters/dataAdapterCache.js +3 -3
- package/package.json +7 -7
- package/pluggableElementTypes/AdapterType.d.ts +9 -1
- package/pluggableElementTypes/AdapterType.js +20 -0
- package/pluggableElementTypes/InternetAccountType.d.ts +12 -0
- package/pluggableElementTypes/InternetAccountType.js +64 -0
- package/pluggableElementTypes/PluggableElementBase.d.ts +1 -2
- package/pluggableElementTypes/PluggableElementBase.js +2 -3
- package/pluggableElementTypes/RpcMethodType.d.ts +3 -0
- package/pluggableElementTypes/RpcMethodType.js +269 -26
- package/pluggableElementTypes/RpcMethodType.test.d.ts +4 -0
- package/pluggableElementTypes/RpcMethodType.test.js +118 -0
- package/pluggableElementTypes/ViewType.d.ts +1 -1
- package/pluggableElementTypes/WidgetType.d.ts +1 -0
- package/pluggableElementTypes/index.d.ts +7 -3
- package/pluggableElementTypes/index.js +127 -1
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +6 -6
- package/pluggableElementTypes/models/BaseDisplayModel.js +1 -3
- package/pluggableElementTypes/models/BaseViewModel.js +13 -15
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +24 -0
- package/pluggableElementTypes/models/InternetAccountModel.js +85 -0
- package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +4 -0
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +25 -0
- package/pluggableElementTypes/models/index.d.ts +3 -0
- package/pluggableElementTypes/models/index.js +24 -8
- package/pluggableElementTypes/renderers/BoxRendererType.js +1 -1
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +1 -1
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +15 -6
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +3 -3
- package/pluggableElementTypes/renderers/FeatureRendererType.js +17 -8
- package/pluggableElementTypes/renderers/RendererType.d.ts +1 -0
- package/pluggableElementTypes/renderers/RendererType.js +4 -1
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +1 -1
- package/pluggableElementTypes/renderers/index.d.ts +9 -0
- package/pluggableElementTypes/renderers/index.js +63 -0
- package/rpc/BaseRpcDriver.js +5 -9
- package/rpc/BaseRpcDriver.test.js +6 -6
- package/rpc/RpcManager.d.ts +1 -1
- package/rpc/RpcManager.js +44 -16
- package/rpc/WebWorkerRpcDriver.js +3 -3
- package/rpc/coreRpcMethods.d.ts +2 -1
- package/rpc/coreRpcMethods.js +109 -75
- package/rpc/remoteAbortSignals.js +2 -2
- package/ui/App.d.ts +17 -4
- package/ui/App.js +55 -41
- package/ui/Drawer.d.ts +6 -14
- package/ui/Drawer.js +11 -12
- package/ui/DrawerWidget.d.ts +5 -3
- package/ui/DrawerWidget.js +100 -61
- package/ui/ErrorMessage.d.ts +5 -0
- package/ui/ErrorMessage.js +54 -0
- package/ui/FileSelector/FileSelector.d.ts +11 -0
- package/ui/FileSelector/FileSelector.js +198 -0
- package/ui/FileSelector/LocalFileChooser.d.ts +7 -0
- package/ui/FileSelector/LocalFileChooser.js +79 -0
- package/ui/FileSelector/UrlChooser.d.ts +9 -0
- package/ui/FileSelector/UrlChooser.js +41 -0
- package/ui/FileSelector/index.d.ts +2 -0
- package/ui/FileSelector/index.js +13 -0
- package/ui/Icons.d.ts +4 -0
- package/ui/Icons.js +34 -0
- package/ui/Logo.js +1 -1
- package/ui/PrerenderedCanvas.d.ts +1 -0
- package/ui/PrerenderedCanvas.js +4 -1
- package/ui/ResizeHandle.d.ts +2 -3
- package/ui/ResizeHandle.js +6 -7
- package/ui/SanitizedHTML.js +1 -1
- package/ui/Snackbar.js +4 -6
- package/ui/SnackbarModel.d.ts +16 -0
- package/ui/SnackbarModel.js +56 -0
- package/ui/Tooltip.d.ts +1 -1
- package/ui/index.js +24 -24
- package/ui/theme.js +5 -5
- package/util/QuickLRU.d.ts +1 -1
- package/util/QuickLRU.js +3 -3
- package/util/aborting.d.ts +1 -1
- package/util/aborting.js +10 -11
- package/util/analytics.d.ts +2 -2
- package/util/analytics.js +20 -7
- package/util/blockTypes.d.ts +11 -6
- package/util/blockTypes.js +7 -1
- package/util/color/cssColorsLevel4.js +1 -1
- package/util/color/index.js +5 -5
- package/util/compositeMap.js +3 -3
- package/util/index.d.ts +6 -16
- package/util/index.js +76 -100
- package/util/io/RemoteFileWithRangeCache.d.ts +17 -0
- package/util/io/RemoteFileWithRangeCache.js +266 -0
- package/util/io/index.d.ts +4 -2
- package/util/io/index.js +134 -25
- package/util/jexl.js +4 -1
- package/util/layouts/BaseLayout.d.ts +3 -0
- package/util/layouts/GranularRectLayout.d.ts +19 -10
- package/util/layouts/GranularRectLayout.js +459 -100
- package/util/layouts/GranularRectLayout.test.js +57 -10
- package/util/layouts/PrecomputedLayout.js +2 -1
- package/util/layouts/index.d.ts +7 -0
- package/util/layouts/index.js +68 -0
- package/util/mst-reflection.js +3 -3
- package/util/offscreenCanvasPonyfill.js +1 -1
- package/util/range.js +1 -1
- package/util/simpleFeature.js +1 -1
- package/util/stats.js +2 -2
- package/util/tracks.d.ts +31 -362
- package/util/tracks.js +74 -190
- package/util/types/index.d.ts +54 -10
- package/util/types/index.js +110 -8
- package/util/types/mst.d.ts +46 -2
- package/util/types/mst.js +56 -8
- package/util/types/util.d.ts +1 -1
- package/util/when.js +1 -1
- package/assemblyManager/assemblyConfigSchemas.d.ts +0 -7
- package/ui/FileSelector.d.ts +0 -9
- package/ui/FileSelector.js +0 -150
- package/util/io/LocalFile.d.ts +0 -18
- package/util/io/LocalFile.js +0 -220
- package/util/io/rangeFetcher.d.ts +0 -3
- package/util/io/rangeFetcher.js +0 -236
- package/value.d.ts +0 -1
- package/value.js +0 -10
package/util/io/rangeFetcher.js
DELETED
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.clearCache = clearCache;
|
|
9
|
-
exports.openUrl = openUrl;
|
|
10
|
-
|
|
11
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
-
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
|
|
17
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
-
|
|
19
|
-
var _httpRangeFetcher = require("http-range-fetcher");
|
|
20
|
-
|
|
21
|
-
var _buffer = require("buffer");
|
|
22
|
-
|
|
23
|
-
var _genericFilehandle = require("generic-filehandle");
|
|
24
|
-
|
|
25
|
-
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; } } }; }
|
|
26
|
-
|
|
27
|
-
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); }
|
|
28
|
-
|
|
29
|
-
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; }
|
|
30
|
-
|
|
31
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
32
|
-
|
|
33
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
34
|
-
|
|
35
|
-
// function unReplacePath() {
|
|
36
|
-
// throw new Error('unimplemented') // TODO
|
|
37
|
-
// }
|
|
38
|
-
function getfetch(url) {
|
|
39
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
40
|
-
return fetch(url, _objectSpread({
|
|
41
|
-
method: 'GET',
|
|
42
|
-
credentials: 'same-origin'
|
|
43
|
-
}, opts));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function fetchBinaryRange(_x, _x2, _x3) {
|
|
47
|
-
return _fetchBinaryRange.apply(this, arguments);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function _fetchBinaryRange() {
|
|
51
|
-
_fetchBinaryRange = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, start, end) {
|
|
52
|
-
var options,
|
|
53
|
-
requestDate,
|
|
54
|
-
requestHeaders,
|
|
55
|
-
res,
|
|
56
|
-
responseDate,
|
|
57
|
-
headers,
|
|
58
|
-
_iterator,
|
|
59
|
-
_step,
|
|
60
|
-
_step$value,
|
|
61
|
-
k,
|
|
62
|
-
v,
|
|
63
|
-
arrayBuffer,
|
|
64
|
-
_args = arguments;
|
|
65
|
-
|
|
66
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
67
|
-
while (1) {
|
|
68
|
-
switch (_context.prev = _context.next) {
|
|
69
|
-
case 0:
|
|
70
|
-
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
|
|
71
|
-
requestDate = new Date();
|
|
72
|
-
requestHeaders = _objectSpread(_objectSpread({}, options.headers), {}, {
|
|
73
|
-
range: "bytes=".concat(start, "-").concat(end)
|
|
74
|
-
});
|
|
75
|
-
_context.next = 5;
|
|
76
|
-
return getfetch(url, _objectSpread(_objectSpread({}, options), {}, {
|
|
77
|
-
headers: requestHeaders // onRetry: ({ retriesLeft }: { retriesLeft: number }) => {
|
|
78
|
-
// console.warn(
|
|
79
|
-
// `${url} bytes ${start}-${end} request failed, retrying (${retriesLeft} retries left)`,
|
|
80
|
-
// )
|
|
81
|
-
// },
|
|
82
|
-
|
|
83
|
-
}));
|
|
84
|
-
|
|
85
|
-
case 5:
|
|
86
|
-
res = _context.sent;
|
|
87
|
-
responseDate = new Date();
|
|
88
|
-
|
|
89
|
-
if (!(res.status !== 206 && res.status !== 200)) {
|
|
90
|
-
_context.next = 9;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
throw new Error("HTTP ".concat(res.status, " when fetching ").concat(url, " bytes ").concat(start, "-").concat(end));
|
|
95
|
-
|
|
96
|
-
case 9:
|
|
97
|
-
// translate the Headers object into a regular key -> value object.
|
|
98
|
-
// will miss duplicate headers of course
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
|
-
headers = {};
|
|
101
|
-
_iterator = _createForOfIteratorHelper(res.headers.entries());
|
|
102
|
-
|
|
103
|
-
try {
|
|
104
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
105
|
-
_step$value = (0, _slicedToArray2.default)(_step.value, 2), k = _step$value[0], v = _step$value[1];
|
|
106
|
-
headers[k] = v;
|
|
107
|
-
}
|
|
108
|
-
} catch (err) {
|
|
109
|
-
_iterator.e(err);
|
|
110
|
-
} finally {
|
|
111
|
-
_iterator.f();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (!(res.status === 200)) {
|
|
115
|
-
_context.next = 14;
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
throw new Error("HTTP ".concat(res.status, " when fetching ").concat(url, " bytes ").concat(start, "-").concat(end));
|
|
120
|
-
|
|
121
|
-
case 14:
|
|
122
|
-
_context.next = 16;
|
|
123
|
-
return res.arrayBuffer();
|
|
124
|
-
|
|
125
|
-
case 16:
|
|
126
|
-
arrayBuffer = _context.sent;
|
|
127
|
-
return _context.abrupt("return", {
|
|
128
|
-
headers: headers,
|
|
129
|
-
requestDate: requestDate,
|
|
130
|
-
responseDate: responseDate,
|
|
131
|
-
buffer: _buffer.Buffer.from(arrayBuffer)
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
case 18:
|
|
135
|
-
case "end":
|
|
136
|
-
return _context.stop();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}, _callee);
|
|
140
|
-
}));
|
|
141
|
-
return _fetchBinaryRange.apply(this, arguments);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
var globalRangeCache = new _httpRangeFetcher.HttpRangeFetcher({
|
|
145
|
-
fetch: fetchBinaryRange,
|
|
146
|
-
size: 500 * 1024 * 1024,
|
|
147
|
-
// 500MB
|
|
148
|
-
chunkSize: Math.pow(2, 17),
|
|
149
|
-
// 128KB
|
|
150
|
-
maxFetchSize: 100 * 1024 * 1024,
|
|
151
|
-
minimumTTL: 300000000
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
function globalCacheFetch(_x4, _x5) {
|
|
155
|
-
return _globalCacheFetch.apply(this, arguments);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function _globalCacheFetch() {
|
|
159
|
-
_globalCacheFetch = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url, opts) {
|
|
160
|
-
var requestHeaders, range, _ref, _ref2, rangeParse, _rangeParse, start, end, s, e, response, headers;
|
|
161
|
-
|
|
162
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
163
|
-
while (1) {
|
|
164
|
-
switch (_context2.prev = _context2.next) {
|
|
165
|
-
case 0:
|
|
166
|
-
// if it is a range request, route it through the global range cache
|
|
167
|
-
requestHeaders = opts && opts.headers;
|
|
168
|
-
|
|
169
|
-
if (requestHeaders) {
|
|
170
|
-
if (requestHeaders instanceof Headers) {
|
|
171
|
-
range = requestHeaders.get('range');
|
|
172
|
-
} else if (Array.isArray(requestHeaders)) {
|
|
173
|
-
;
|
|
174
|
-
_ref = requestHeaders.find(function (_ref3) {
|
|
175
|
-
var _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
|
|
176
|
-
key = _ref4[0];
|
|
177
|
-
|
|
178
|
-
return key === 'range';
|
|
179
|
-
}) || [undefined, undefined];
|
|
180
|
-
_ref2 = (0, _slicedToArray2.default)(_ref, 2);
|
|
181
|
-
range = _ref2[1];
|
|
182
|
-
} else {
|
|
183
|
-
range = requestHeaders.range;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (!range) {
|
|
188
|
-
_context2.next = 13;
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
rangeParse = /bytes=(\d+)-(\d+)/.exec(range);
|
|
193
|
-
|
|
194
|
-
if (!rangeParse) {
|
|
195
|
-
_context2.next = 13;
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
_rangeParse = (0, _slicedToArray2.default)(rangeParse, 3), start = _rangeParse[1], end = _rangeParse[2];
|
|
200
|
-
s = parseInt(start, 10);
|
|
201
|
-
e = parseInt(end, 10);
|
|
202
|
-
_context2.next = 10;
|
|
203
|
-
return globalRangeCache.getRange(url, s, e - s + 1, {
|
|
204
|
-
signal: opts && opts.signal
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
case 10:
|
|
208
|
-
response = _context2.sent;
|
|
209
|
-
headers = response.headers;
|
|
210
|
-
return _context2.abrupt("return", new Response(response.buffer, {
|
|
211
|
-
status: 206,
|
|
212
|
-
headers: headers
|
|
213
|
-
}));
|
|
214
|
-
|
|
215
|
-
case 13:
|
|
216
|
-
return _context2.abrupt("return", getfetch(url, opts));
|
|
217
|
-
|
|
218
|
-
case 14:
|
|
219
|
-
case "end":
|
|
220
|
-
return _context2.stop();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}, _callee2);
|
|
224
|
-
}));
|
|
225
|
-
return _globalCacheFetch.apply(this, arguments);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
function clearCache() {
|
|
229
|
-
globalRangeCache.reset();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
function openUrl(url) {
|
|
233
|
-
return new _genericFilehandle.RemoteFile(String(url), {
|
|
234
|
-
fetch: globalCacheFetch
|
|
235
|
-
});
|
|
236
|
-
}
|
package/value.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function (): number;
|