@jbrowse/core 1.5.5 → 1.5.9
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 +78 -91
- package/BaseFeatureWidget/SequenceFeatureDetails.js +56 -64
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +9 -9
- package/BaseFeatureWidget/index.js +1 -1
- package/BaseFeatureWidget/index.test.js +3 -3
- package/BaseFeatureWidget/types.js +5 -1
- package/BaseFeatureWidget/util.js +9 -13
- package/CorePlugin.js +19 -31
- package/Plugin.js +11 -13
- package/PluginLoader.js +32 -37
- package/PluginManager.js +55 -56
- package/ReExports/index.js +4 -4
- package/ReExports/list.js +2 -2
- package/ReExports/material-ui-colors.js +20 -20
- package/ReExports/modules.js +47 -51
- package/TextSearch/BaseResults.js +24 -34
- package/TextSearch/BaseResults.test.js +3 -7
- package/TextSearch/TextSearchManager.js +15 -16
- package/assemblyManager/assembly.js +33 -38
- package/assemblyManager/assemblyConfigSchema.js +2 -2
- package/assemblyManager/assemblyManager.js +15 -19
- package/assemblyManager/index.js +3 -3
- package/configuration/configurationSchema.js +17 -19
- package/configuration/configurationSlot.js +11 -11
- package/configuration/configurationSlot.test.js +5 -5
- package/configuration/util.js +5 -5
- package/data_adapters/BaseAdapter.js +37 -39
- package/data_adapters/BaseAdapter.test.js +23 -29
- package/data_adapters/CytobandAdapter.js +15 -21
- package/data_adapters/dataAdapterCache.js +8 -8
- package/package.json +3 -4
- package/pluggableElementTypes/AdapterType.js +21 -30
- package/pluggableElementTypes/ConnectionType.js +18 -28
- package/pluggableElementTypes/DisplayType.js +17 -27
- package/pluggableElementTypes/InternetAccountType.js +14 -24
- package/pluggableElementTypes/PluggableElementBase.js +8 -10
- package/pluggableElementTypes/RpcMethodType.js +40 -54
- package/pluggableElementTypes/RpcMethodType.test.js +16 -22
- package/pluggableElementTypes/TextSearchAdapterType.js +15 -25
- package/pluggableElementTypes/TrackType.js +15 -25
- package/pluggableElementTypes/ViewType.js +15 -25
- package/pluggableElementTypes/WidgetType.js +17 -27
- package/pluggableElementTypes/index.js +11 -11
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +5 -5
- package/pluggableElementTypes/models/BaseDisplayModel.js +5 -8
- package/pluggableElementTypes/models/BaseTrackModel.js +8 -11
- package/pluggableElementTypes/models/BaseViewModel.js +3 -3
- package/pluggableElementTypes/models/InternetAccountModel.js +4 -4
- package/pluggableElementTypes/models/baseConnectionConfig.js +2 -2
- package/pluggableElementTypes/models/baseTrackConfig.js +4 -7
- package/pluggableElementTypes/models/index.js +4 -4
- package/pluggableElementTypes/renderers/BoxRendererType.js +38 -48
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +12 -18
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +26 -34
- package/pluggableElementTypes/renderers/FeatureRendererType.js +35 -45
- package/pluggableElementTypes/renderers/RendererType.js +20 -30
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +8 -12
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +30 -43
- package/pluggableElementTypes/renderers/index.js +8 -8
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +8 -10
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +2 -2
- package/rpc/BaseRpcDriver.js +37 -40
- package/rpc/BaseRpcDriver.test.js +48 -62
- package/rpc/MainThreadRpcDriver.js +21 -31
- package/rpc/RpcManager.js +19 -18
- package/rpc/WebWorkerRpcDriver.js +28 -37
- package/rpc/configSchema.js +2 -2
- package/rpc/coreRpcMethods.js +71 -81
- package/rpc/remoteAbortSignals.js +3 -3
- package/ui/AboutDialog.js +16 -20
- package/ui/App.js +38 -42
- package/ui/AssemblySelector.js +5 -5
- package/ui/Drawer.js +7 -7
- package/ui/DrawerWidget.js +33 -37
- package/ui/DropDownMenu.js +9 -21
- package/ui/EditableTypography.js +19 -30
- package/ui/ErrorMessage.js +5 -5
- package/ui/FactoryResetDialog.js +8 -8
- package/ui/FatalErrorDialog.js +12 -29
- package/ui/FatalErrorDialog.test.js +10 -10
- package/ui/FileSelector/FileSelector.js +32 -42
- 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 +35 -46
- package/ui/NewSessionCards.js +19 -29
- package/ui/PrerenderedCanvas.js +10 -27
- package/ui/ResizeHandle.js +10 -17
- package/ui/SanitizedHTML.js +5 -5
- package/ui/SanitizedHTML.test.js +4 -4
- package/ui/Snackbar.js +12 -16
- package/ui/SnackbarModel.js +1 -1
- package/ui/Tooltip.js +7 -11
- package/ui/ViewContainer.js +20 -30
- package/ui/index.js +13 -17
- package/ui/theme.js +11 -15
- package/util/Base1DViewModel.js +10 -14
- package/util/Base1DViewModel.test.js +5 -5
- package/util/QuickLRU.js +26 -30
- package/util/aborting.js +15 -25
- package/util/analytics.js +6 -6
- package/util/blockTypes.js +39 -49
- package/util/calculateDynamicBlocks.js +4 -4
- package/util/calculateDynamicBlocks.test.js +10 -14
- package/util/calculateStaticBlocks.js +1 -1
- package/util/calculateStaticBlocks.test.js +15 -15
- package/util/compositeMap.js +27 -30
- package/util/idMaker.js +4 -4
- package/util/index.js +34 -45
- package/util/index.test.js +7 -11
- package/util/io/RemoteFileWithRangeCache.js +28 -40
- package/util/io/index.js +5 -5
- package/util/jexl.js +8 -5
- package/util/jexlStrings.js +2 -2
- package/util/jexlStrings.test.js +2 -2
- package/util/layouts/BaseLayout.js +5 -1
- package/util/layouts/GranularRectLayout.js +27 -33
- package/util/layouts/GranularRectLayout.test.js +10 -10
- package/util/layouts/MultiLayout.js +14 -19
- package/util/layouts/PrecomputedLayout.js +14 -16
- package/util/layouts/PrecomputedMultiLayout.js +17 -23
- package/util/layouts/SceneGraph.js +18 -18
- package/util/layouts/index.js +6 -6
- package/util/offscreenCanvasPonyfill.js +28 -30
- package/util/offscreenCanvasUtils.js +5 -5
- package/util/range.test.js +20 -20
- package/util/rxjs.js +2 -2
- package/util/simpleFeature.js +19 -24
- package/util/simpleFeature.test.js +3 -3
- package/util/stats.js +6 -10
- package/util/stats.test.js +14 -14
- package/util/types/index.js +32 -34
- package/util/types/mst.js +15 -19
- package/util/types/util.js +5 -1
- package/util/when.js +5 -5
- package/babel.config.d.ts +0 -15
- package/babel.config.js +0 -19
|
@@ -1,31 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports["default"] = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
|
|
23
23
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
27
|
-
|
|
28
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
24
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createSuper"));
|
|
29
25
|
|
|
30
26
|
var _react = _interopRequireDefault(require("react"));
|
|
31
27
|
|
|
@@ -47,25 +43,17 @@ var _ServerSideRenderedContent = _interopRequireDefault(require("./ServerSideRen
|
|
|
47
43
|
|
|
48
44
|
var _excluded = ["html"];
|
|
49
45
|
|
|
50
|
-
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; }
|
|
51
|
-
|
|
52
|
-
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; }
|
|
53
|
-
|
|
54
|
-
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); }; }
|
|
55
|
-
|
|
56
|
-
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; } }
|
|
57
|
-
|
|
58
46
|
var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
59
|
-
(0, _inherits2
|
|
47
|
+
(0, _inherits2["default"])(ServerSideRenderer, _RendererType);
|
|
60
48
|
|
|
61
|
-
var _super =
|
|
49
|
+
var _super = (0, _createSuper2["default"])(ServerSideRenderer);
|
|
62
50
|
|
|
63
51
|
function ServerSideRenderer() {
|
|
64
|
-
(0, _classCallCheck2
|
|
52
|
+
(0, _classCallCheck2["default"])(this, ServerSideRenderer);
|
|
65
53
|
return _super.apply(this, arguments);
|
|
66
54
|
}
|
|
67
55
|
|
|
68
|
-
(0, _createClass2
|
|
56
|
+
(0, _createClass2["default"])(ServerSideRenderer, [{
|
|
69
57
|
key: "serializeArgsInClient",
|
|
70
58
|
value:
|
|
71
59
|
/**
|
|
@@ -76,7 +64,7 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
76
64
|
* @returns the same object
|
|
77
65
|
*/
|
|
78
66
|
function serializeArgsInClient(args) {
|
|
79
|
-
return
|
|
67
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, args), {}, {
|
|
80
68
|
config: (0, _mobxStateTree.isStateTreeNode)(args.config) ? (0, _mobxStateTree.getSnapshot)(args.config) : args.config,
|
|
81
69
|
filters: args.filters && args.filters.toJSON().filters
|
|
82
70
|
});
|
|
@@ -94,20 +82,20 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
94
82
|
key: "deserializeResultsInClient",
|
|
95
83
|
value: function deserializeResultsInClient(results, args) {
|
|
96
84
|
var html = results.html,
|
|
97
|
-
rest = (0, _objectWithoutProperties2
|
|
85
|
+
rest = (0, _objectWithoutProperties2["default"])(results, _excluded); // if we are rendering svg, we skip hydration
|
|
98
86
|
|
|
99
87
|
if (args.exportSVG) {
|
|
100
88
|
// only return the results if the renderer explicitly has
|
|
101
89
|
// this.supportsSVG support to avoid garbage being rendered in SVG
|
|
102
90
|
// document
|
|
103
|
-
return
|
|
91
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, results), {}, {
|
|
104
92
|
html: this.supportsSVG ? results.html : '<text y="12" fill="black">SVG export not supported for this track</text>'
|
|
105
93
|
});
|
|
106
94
|
} // hydrate results using ServerSideRenderedContent
|
|
107
95
|
|
|
108
96
|
|
|
109
|
-
return
|
|
110
|
-
reactElement: /*#__PURE__*/_react
|
|
97
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, rest), {}, {
|
|
98
|
+
reactElement: /*#__PURE__*/_react["default"].createElement(_ServerSideRenderedContent["default"], Object.assign({}, args, results, {
|
|
111
99
|
RenderingComponent: this.ReactComponent
|
|
112
100
|
}))
|
|
113
101
|
});
|
|
@@ -122,13 +110,12 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
122
110
|
}, {
|
|
123
111
|
key: "deserializeArgsInWorker",
|
|
124
112
|
value: function deserializeArgsInWorker(args) {
|
|
125
|
-
var deserialized =
|
|
126
|
-
|
|
113
|
+
var deserialized = (0, _objectSpread2["default"])({}, args);
|
|
127
114
|
var config = this.configSchema.create(args.config || {}, {
|
|
128
115
|
pluginManager: this.pluginManager
|
|
129
116
|
});
|
|
130
117
|
deserialized.config = config;
|
|
131
|
-
deserialized.filters = new _serializableFilterChain
|
|
118
|
+
deserialized.filters = new _serializableFilterChain["default"]({
|
|
132
119
|
filters: args.filters
|
|
133
120
|
});
|
|
134
121
|
return deserialized;
|
|
@@ -145,11 +132,11 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
145
132
|
}, {
|
|
146
133
|
key: "serializeResultsInWorker",
|
|
147
134
|
value: function serializeResultsInWorker(results, args) {
|
|
148
|
-
var html = (0, _server.renderToString)( /*#__PURE__*/_react
|
|
135
|
+
var html = (0, _server.renderToString)( /*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
149
136
|
theme: (0, _ui.createJBrowseTheme)(args.theme)
|
|
150
137
|
}, results.reactElement));
|
|
151
138
|
delete results.reactElement;
|
|
152
|
-
return
|
|
139
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, results), {}, {
|
|
153
140
|
html: html
|
|
154
141
|
});
|
|
155
142
|
}
|
|
@@ -164,8 +151,8 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
164
151
|
}, {
|
|
165
152
|
key: "renderInClient",
|
|
166
153
|
value: function () {
|
|
167
|
-
var _renderInClient = (0, _asyncToGenerator2
|
|
168
|
-
return _regenerator
|
|
154
|
+
var _renderInClient = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(rpcManager, args) {
|
|
155
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
169
156
|
while (1) {
|
|
170
157
|
switch (_context.prev = _context.next) {
|
|
171
158
|
case 0:
|
|
@@ -195,12 +182,12 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
195
182
|
}, {
|
|
196
183
|
key: "renderInWorker",
|
|
197
184
|
value: function () {
|
|
198
|
-
var _renderInWorker = (0, _asyncToGenerator2
|
|
185
|
+
var _renderInWorker = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(args) {
|
|
199
186
|
var _this = this;
|
|
200
187
|
|
|
201
188
|
var signal, _args$statusCallback, statusCallback, deserializedArgs, results, serialized;
|
|
202
189
|
|
|
203
|
-
return _regenerator
|
|
190
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
204
191
|
while (1) {
|
|
205
192
|
switch (_context2.prev = _context2.next) {
|
|
206
193
|
case 0:
|
|
@@ -245,9 +232,9 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
245
232
|
}, {
|
|
246
233
|
key: "freeResourcesInClient",
|
|
247
234
|
value: function () {
|
|
248
|
-
var _freeResourcesInClient = (0, _asyncToGenerator2
|
|
235
|
+
var _freeResourcesInClient = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(rpcManager, args) {
|
|
249
236
|
var serializedArgs, freed, freedRpc;
|
|
250
|
-
return _regenerator
|
|
237
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
251
238
|
while (1) {
|
|
252
239
|
switch (_context3.prev = _context3.next) {
|
|
253
240
|
case 0:
|
|
@@ -276,6 +263,6 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
276
263
|
}()
|
|
277
264
|
}]);
|
|
278
265
|
return ServerSideRenderer;
|
|
279
|
-
}(_RendererType2
|
|
266
|
+
}(_RendererType2["default"]);
|
|
280
267
|
|
|
281
|
-
exports
|
|
268
|
+
exports["default"] = ServerSideRenderer;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -8,43 +8,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
Object.defineProperty(exports, "BoxRendererType", {
|
|
9
9
|
enumerable: true,
|
|
10
10
|
get: function get() {
|
|
11
|
-
return _BoxRendererType
|
|
11
|
+
return _BoxRendererType["default"];
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "CircularChordRendererType", {
|
|
15
15
|
enumerable: true,
|
|
16
16
|
get: function get() {
|
|
17
|
-
return _CircularChordRendererType
|
|
17
|
+
return _CircularChordRendererType["default"];
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "ComparativeServerSideRendererType", {
|
|
21
21
|
enumerable: true,
|
|
22
22
|
get: function get() {
|
|
23
|
-
return _ComparativeServerSideRendererType
|
|
23
|
+
return _ComparativeServerSideRendererType["default"];
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "FeatureRendererType", {
|
|
27
27
|
enumerable: true,
|
|
28
28
|
get: function get() {
|
|
29
|
-
return _FeatureRendererType
|
|
29
|
+
return _FeatureRendererType["default"];
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "RendererType", {
|
|
33
33
|
enumerable: true,
|
|
34
34
|
get: function get() {
|
|
35
|
-
return _RendererType
|
|
35
|
+
return _RendererType["default"];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "ServerSideRenderedContent", {
|
|
39
39
|
enumerable: true,
|
|
40
40
|
get: function get() {
|
|
41
|
-
return _ServerSideRenderedContent
|
|
41
|
+
return _ServerSideRenderedContent["default"];
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "ServerSideRendererType", {
|
|
45
45
|
enumerable: true,
|
|
46
46
|
get: function get() {
|
|
47
|
-
return _ServerSideRendererType
|
|
47
|
+
return _ServerSideRendererType["default"];
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
11
11
|
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
15
13
|
|
|
16
14
|
var _jexlStrings = require("../../../util/jexlStrings");
|
|
17
15
|
|
|
@@ -19,8 +17,8 @@ var SerializableFilterChain = /*#__PURE__*/function () {
|
|
|
19
17
|
function SerializableFilterChain(_ref) {
|
|
20
18
|
var _ref$filters = _ref.filters,
|
|
21
19
|
filters = _ref$filters === void 0 ? [] : _ref$filters;
|
|
22
|
-
(0, _classCallCheck2
|
|
23
|
-
|
|
20
|
+
(0, _classCallCheck2["default"])(this, SerializableFilterChain);
|
|
21
|
+
this.filterChain = void 0;
|
|
24
22
|
this.filterChain = filters.map(function (inputFilter) {
|
|
25
23
|
if (typeof inputFilter === 'string') {
|
|
26
24
|
var expr = (0, _jexlStrings.stringToJexlExpression)(inputFilter);
|
|
@@ -35,7 +33,7 @@ var SerializableFilterChain = /*#__PURE__*/function () {
|
|
|
35
33
|
} // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
34
|
|
|
37
35
|
|
|
38
|
-
(0, _createClass2
|
|
36
|
+
(0, _createClass2["default"])(SerializableFilterChain, [{
|
|
39
37
|
key: "passes",
|
|
40
38
|
value: function passes() {
|
|
41
39
|
for (var i = 0; i < this.filterChain.length; i += 1) {
|
|
@@ -67,4 +65,4 @@ var SerializableFilterChain = /*#__PURE__*/function () {
|
|
|
67
65
|
return SerializableFilterChain;
|
|
68
66
|
}();
|
|
69
67
|
|
|
70
|
-
exports
|
|
68
|
+
exports["default"] = SerializableFilterChain;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
|
|
5
5
|
var _serializableFilterChain = _interopRequireDefault(require("./serializableFilterChain"));
|
|
6
6
|
|
|
7
7
|
test('one', function () {
|
|
8
|
-
var c = new _serializableFilterChain
|
|
8
|
+
var c = new _serializableFilterChain["default"]({
|
|
9
9
|
filters: ["jexl:feature.y == 2"]
|
|
10
10
|
});
|
|
11
11
|
expect(c.passes({
|
package/rpc/BaseRpcDriver.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports["default"] = void 0;
|
|
9
9
|
exports.watchWorker = watchWorker;
|
|
10
10
|
|
|
11
11
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
24
24
|
|
|
25
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
25
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
26
26
|
|
|
27
27
|
var _mobxStateTree = require("mobx-state-tree");
|
|
28
28
|
|
|
@@ -30,10 +30,6 @@ var _util = require("../util");
|
|
|
30
30
|
|
|
31
31
|
var _remoteAbortSignals = require("./remoteAbortSignals");
|
|
32
32
|
|
|
33
|
-
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; }
|
|
34
|
-
|
|
35
|
-
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; }
|
|
36
|
-
|
|
37
33
|
function isClonable(thing) {
|
|
38
34
|
if (typeof thing === 'function') {
|
|
39
35
|
return false;
|
|
@@ -53,8 +49,8 @@ function watchWorker(_x, _x2, _x3) {
|
|
|
53
49
|
}
|
|
54
50
|
|
|
55
51
|
function _watchWorker() {
|
|
56
|
-
_watchWorker = (0, _asyncToGenerator2
|
|
57
|
-
return _regenerator
|
|
52
|
+
_watchWorker = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(worker, pingTime, rpcDriverClassName) {
|
|
53
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
58
54
|
while (1) {
|
|
59
55
|
switch (_context3.prev = _context3.next) {
|
|
60
56
|
case 0:
|
|
@@ -67,8 +63,8 @@ function _watchWorker() {
|
|
|
67
63
|
case 2:
|
|
68
64
|
return _context3.abrupt("return", new Promise(function (_resolve, reject) {
|
|
69
65
|
function delay() {
|
|
70
|
-
setTimeout( /*#__PURE__*/(0, _asyncToGenerator2
|
|
71
|
-
return _regenerator
|
|
66
|
+
setTimeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
67
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
72
68
|
while (1) {
|
|
73
69
|
switch (_context2.prev = _context2.next) {
|
|
74
70
|
case 0:
|
|
@@ -124,18 +120,19 @@ function detectHardwareConcurrency() {
|
|
|
124
120
|
|
|
125
121
|
var LazyWorker = /*#__PURE__*/function () {
|
|
126
122
|
function LazyWorker(driver) {
|
|
127
|
-
(0, _classCallCheck2
|
|
128
|
-
|
|
123
|
+
(0, _classCallCheck2["default"])(this, LazyWorker);
|
|
124
|
+
this.driver = driver;
|
|
125
|
+
this.worker = void 0;
|
|
129
126
|
}
|
|
130
127
|
|
|
131
|
-
(0, _createClass2
|
|
128
|
+
(0, _createClass2["default"])(LazyWorker, [{
|
|
132
129
|
key: "getWorker",
|
|
133
130
|
value: function getWorker(pluginManager, rpcDriverClassName) {
|
|
134
131
|
var _this = this;
|
|
135
132
|
|
|
136
133
|
if (!this.worker) {
|
|
137
134
|
var worker = this.driver.makeWorker(pluginManager);
|
|
138
|
-
watchWorker(worker, this.driver.maxPingTime, rpcDriverClassName)
|
|
135
|
+
watchWorker(worker, this.driver.maxPingTime, rpcDriverClassName)["catch"](function (error) {
|
|
139
136
|
if (_this.worker) {
|
|
140
137
|
console.warn("worker did not respond, killing and generating new one ".concat(error));
|
|
141
138
|
|
|
@@ -157,20 +154,20 @@ var LazyWorker = /*#__PURE__*/function () {
|
|
|
157
154
|
|
|
158
155
|
var BaseRpcDriver = /*#__PURE__*/function () {
|
|
159
156
|
function BaseRpcDriver(args) {
|
|
160
|
-
(0, _classCallCheck2
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
157
|
+
(0, _classCallCheck2["default"])(this, BaseRpcDriver);
|
|
158
|
+
this.name = void 0;
|
|
159
|
+
this.lastWorkerAssignment = -1;
|
|
160
|
+
this.workerAssignments = new Map();
|
|
161
|
+
this.workerCount = 0;
|
|
162
|
+
this.workerPool = void 0;
|
|
163
|
+
this.maxPingTime = 30000;
|
|
164
|
+
this.workerCheckFrequency = 5000;
|
|
165
|
+
this.config = void 0;
|
|
169
166
|
this.config = args.config;
|
|
170
167
|
} // filter the given object and just remove any non-clonable things from it
|
|
171
168
|
|
|
172
169
|
|
|
173
|
-
(0, _createClass2
|
|
170
|
+
(0, _createClass2["default"])(BaseRpcDriver, [{
|
|
174
171
|
key: "filterArgs",
|
|
175
172
|
value: function filterArgs(thing, pluginManager, sessionId) {
|
|
176
173
|
var _this2 = this;
|
|
@@ -181,7 +178,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
181
178
|
});
|
|
182
179
|
}
|
|
183
180
|
|
|
184
|
-
if ((0, _typeof2
|
|
181
|
+
if ((0, _typeof2["default"])(thing) === 'object' && thing !== null) {
|
|
185
182
|
// AbortSignals are specially handled
|
|
186
183
|
if (thing instanceof AbortSignal) {
|
|
187
184
|
return (0, _remoteAbortSignals.serializeAbortSignal)(thing, this.remoteAbort.bind(this, pluginManager, sessionId));
|
|
@@ -200,7 +197,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
200
197
|
return (0, _util.objectFromEntries)(Object.entries(thing).filter(function (e) {
|
|
201
198
|
return isClonable(e[1]);
|
|
202
199
|
}).map(function (_ref) {
|
|
203
|
-
var _ref2 = (0, _slicedToArray2
|
|
200
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
204
201
|
k = _ref2[0],
|
|
205
202
|
v = _ref2[1];
|
|
206
203
|
|
|
@@ -228,7 +225,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
228
225
|
|
|
229
226
|
var hardwareConcurrency = detectHardwareConcurrency();
|
|
230
227
|
var workerCount = this.workerCount || Math.max(1, Math.ceil((hardwareConcurrency - 2) / 3));
|
|
231
|
-
return (0, _toConsumableArray2
|
|
228
|
+
return (0, _toConsumableArray2["default"])(new Array(workerCount)).map(function () {
|
|
232
229
|
return new LazyWorker(_this3);
|
|
233
230
|
});
|
|
234
231
|
}
|
|
@@ -268,7 +265,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
268
265
|
}, {
|
|
269
266
|
key: "call",
|
|
270
267
|
value: function () {
|
|
271
|
-
var _call = (0, _asyncToGenerator2
|
|
268
|
+
var _call = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(pluginManager, sessionId, functionName, args) {
|
|
272
269
|
var _this4 = this;
|
|
273
270
|
|
|
274
271
|
var options,
|
|
@@ -282,7 +279,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
282
279
|
killedP,
|
|
283
280
|
resultP,
|
|
284
281
|
_args = arguments;
|
|
285
|
-
return _regenerator
|
|
282
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
286
283
|
while (1) {
|
|
287
284
|
switch (_context.prev = _context.next) {
|
|
288
285
|
case 0:
|
|
@@ -306,12 +303,12 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
306
303
|
serializedArgs = _context.sent;
|
|
307
304
|
filteredAndSerializedArgs = this.filterArgs(serializedArgs, pluginManager, sessionId); // now actually call the worker
|
|
308
305
|
|
|
309
|
-
callP = worker.call(functionName, filteredAndSerializedArgs,
|
|
306
|
+
callP = worker.call(functionName, filteredAndSerializedArgs, (0, _objectSpread2["default"])({
|
|
310
307
|
timeout: 5 * 60 * 1000,
|
|
311
308
|
// 5 minutes
|
|
312
309
|
statusCallback: args.statusCallback,
|
|
313
310
|
rpcDriverClassName: this.name
|
|
314
|
-
}, options))
|
|
311
|
+
}, options))["finally"](function () {
|
|
315
312
|
done = true;
|
|
316
313
|
}); // check every 5 seconds to see if the worker has been killed, and
|
|
317
314
|
// reject the killedP promise if it has
|
|
@@ -325,7 +322,7 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
325
322
|
resolve(true);
|
|
326
323
|
}
|
|
327
324
|
}, _this4.workerCheckFrequency);
|
|
328
|
-
})
|
|
325
|
+
})["finally"](function () {
|
|
329
326
|
clearInterval(killedCheckInterval);
|
|
330
327
|
}); // the result is a race between the actual result promise, and the "killed"
|
|
331
328
|
// promise. the killed promise will only actually win if the worker was
|
|
@@ -352,4 +349,4 @@ var BaseRpcDriver = /*#__PURE__*/function () {
|
|
|
352
349
|
return BaseRpcDriver;
|
|
353
350
|
}();
|
|
354
351
|
|
|
355
|
-
exports
|
|
352
|
+
exports["default"] = BaseRpcDriver;
|