@jbrowse/core 1.7.2 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/BaseFeatureWidget/SequenceFeatureDetails.js +2 -2
  2. package/TextSearch/TextSearchManager.d.ts +2 -3
  3. package/TextSearch/TextSearchManager.js +17 -3
  4. package/assemblyManager/assemblyManager.js +8 -26
  5. package/package.json +4 -7
  6. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
  7. package/pluggableElementTypes/models/BaseTrackModel.js +5 -7
  8. package/pluggableElementTypes/renderers/BoxRendererType.d.ts +6 -4
  9. package/pluggableElementTypes/renderers/BoxRendererType.js +14 -16
  10. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +1 -1
  11. package/pluggableElementTypes/renderers/FeatureRendererType.js +1 -1
  12. package/pluggableElementTypes/renderers/ServerSideRendererType.js +6 -13
  13. package/rpc/BaseRpcDriver.js +3 -0
  14. package/rpc/coreRpcMethods.d.ts +15 -2
  15. package/rpc/coreRpcMethods.js +308 -116
  16. package/tsconfig.build.tsbuildinfo +1 -1
  17. package/ui/App.d.ts +2 -2
  18. package/ui/Icons.d.ts +1 -0
  19. package/ui/Icons.js +8 -0
  20. package/ui/Snackbar.d.ts +2 -2
  21. package/ui/Snackbar.js +13 -6
  22. package/ui/SnackbarModel.d.ts +3 -3
  23. package/ui/SnackbarModel.js +4 -4
  24. package/util/index.d.ts +5 -0
  25. package/util/index.js +21 -5
  26. package/util/io/index.js +4 -4
  27. package/util/layouts/BaseLayout.d.ts +3 -3
  28. package/util/layouts/GranularRectLayout.d.ts +2 -1
  29. package/util/layouts/GranularRectLayout.js +16 -16
  30. package/util/layouts/GranularRectLayout.test.js +4 -12
  31. package/util/layouts/MultiLayout.d.ts +1 -0
  32. package/util/layouts/MultiLayout.js +32 -8
  33. package/util/types/index.d.ts +5 -1
  34. package/ui/declare.d.js +0 -1
@@ -334,11 +334,11 @@ function SequenceFeatureDetails(_ref6) {
334
334
  return rpcManager.call(sessionId, 'CoreGetFeatures', {
335
335
  adapterConfig: (0, _configuration.getConf)(assembly, ['sequence', 'adapter']),
336
336
  sessionId: sessionId,
337
- region: {
337
+ regions: [{
338
338
  start: start,
339
339
  end: end,
340
340
  refName: assembly.getCanonicalRefName(refName)
341
- }
341
+ }]
342
342
  });
343
343
 
344
344
  case 8:
@@ -27,12 +27,11 @@ export default class TextSearchManager {
27
27
  * Returns list of relevant text search adapters to use
28
28
  * @param args - search options/arguments include: search query
29
29
  */
30
- relevantAdapters(searchScope: SearchScope): (import("mobx-state-tree").ModelInstanceTypeProps<Record<string, any>> & {
31
- setSubschema(slotName: string, data: unknown): any;
32
- } & import("mobx-state-tree").IStateTreeNode<import("../configuration").AnyConfigurationSchemaType>)[];
30
+ relevantAdapters(searchScope: SearchScope): any[];
33
31
  getAdaptersWithAssembly(asmName: string, adapterConfs: AnyConfigurationModel[]): (import("mobx-state-tree").ModelInstanceTypeProps<Record<string, any>> & {
34
32
  setSubschema(slotName: string, data: unknown): any;
35
33
  } & import("mobx-state-tree").IStateTreeNode<import("../configuration").AnyConfigurationSchemaType>)[];
34
+ getTrackAdaptersWithAssembly(asmName: string, adapterConfs: AnyConfigurationModel[]): any[];
36
35
  /**
37
36
  * Returns list of relevant results given a search query and options
38
37
  * @param args - search options/arguments include: search query
@@ -75,9 +75,8 @@ var TextSearchManager = /*#__PURE__*/function () {
75
75
  tracks = _ref.tracks;
76
76
 
77
77
  var assemblyName = searchScope.assemblyName;
78
- return [].concat((0, _toConsumableArray2.default)(this.getAdaptersWithAssembly(assemblyName, aggregateTextSearchAdapters)), (0, _toConsumableArray2.default)(this.getAdaptersWithAssembly(assemblyName, tracks.map(function (track) {
79
- return (0, _configuration.readConfObject)(track, ['textSearching', 'textSearchAdapter']);
80
- }))));
78
+ var relevant = [].concat((0, _toConsumableArray2.default)(this.getAdaptersWithAssembly(assemblyName, aggregateTextSearchAdapters)), (0, _toConsumableArray2.default)(this.getTrackAdaptersWithAssembly(assemblyName, tracks)));
79
+ return relevant;
81
80
  }
82
81
  }, {
83
82
  key: "getAdaptersWithAssembly",
@@ -88,6 +87,21 @@ var TextSearchManager = /*#__PURE__*/function () {
88
87
  return (_readConfObject = (0, _configuration.readConfObject)(conf, 'assemblyNames')) === null || _readConfObject === void 0 ? void 0 : _readConfObject.includes(asmName);
89
88
  });
90
89
  }
90
+ }, {
91
+ key: "getTrackAdaptersWithAssembly",
92
+ value: function getTrackAdaptersWithAssembly(asmName, adapterConfs) {
93
+ var tracksConfs = adapterConfs.filter(function (conf) {
94
+ var _readConfObject2;
95
+
96
+ return (_readConfObject2 = (0, _configuration.readConfObject)(conf, ['textSearching', 'textSearchAdapter', 'assemblyNames'])) === null || _readConfObject2 === void 0 ? void 0 : _readConfObject2.includes(asmName);
97
+ });
98
+ var trackAdapters = tracksConfs.map(function (trackConf) {
99
+ var textSearching = trackConf.textSearching;
100
+ var textSearchAdapter = textSearching.textSearchAdapter;
101
+ return textSearchAdapter;
102
+ });
103
+ return trackAdapters;
104
+ }
91
105
  /**
92
106
  * Returns list of relevant results given a search query and options
93
107
  * @param args - search options/arguments include: search query
@@ -149,7 +149,8 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
149
149
  },
150
150
  getRefNameMapForAdapter: function getRefNameMapForAdapter(adapterConf, assemblyName, opts) {
151
151
  return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
152
- var assembly;
152
+ var _self$get;
153
+
153
154
  return _regenerator.default.wrap(function _callee2$(_context2) {
154
155
  while (1) {
155
156
  switch (_context2.prev = _context2.next) {
@@ -163,19 +164,9 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
163
164
  });
164
165
 
165
166
  case 2:
166
- assembly = self.get(assemblyName);
167
-
168
- if (!assembly) {
169
- _context2.next = 5;
170
- break;
171
- }
172
-
173
- return _context2.abrupt("return", assembly.getRefNameMapForAdapter(adapterConf, opts));
167
+ return _context2.abrupt("return", (_self$get = self.get(assemblyName)) === null || _self$get === void 0 ? void 0 : _self$get.getRefNameMapForAdapter(adapterConf, opts));
174
168
 
175
- case 5:
176
- return _context2.abrupt("return", undefined);
177
-
178
- case 6:
169
+ case 3:
179
170
  case "end":
180
171
  return _context2.stop();
181
172
  }
@@ -185,7 +176,8 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
185
176
  },
186
177
  getReverseRefNameMapForAdapter: function getReverseRefNameMapForAdapter(adapterConf, assemblyName, opts) {
187
178
  return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
188
- var assembly;
179
+ var _self$get2;
180
+
189
181
  return _regenerator.default.wrap(function _callee3$(_context3) {
190
182
  while (1) {
191
183
  switch (_context3.prev = _context3.next) {
@@ -199,19 +191,9 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
199
191
  });
200
192
 
201
193
  case 2:
202
- assembly = self.get(assemblyName);
203
-
204
- if (!assembly) {
205
- _context3.next = 5;
206
- break;
207
- }
208
-
209
- return _context3.abrupt("return", assembly.getReverseRefNameMapForAdapter(adapterConf, opts));
194
+ return _context3.abrupt("return", (_self$get2 = self.get(assemblyName)) === null || _self$get2 === void 0 ? void 0 : _self$get2.getReverseRefNameMapForAdapter(adapterConf, opts));
210
195
 
211
- case 5:
212
- return _context3.abrupt("return", undefined);
213
-
214
- case 6:
196
+ case 3:
215
197
  case "end":
216
198
  return _context3.stop();
217
199
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "1.7.2",
3
+ "version": "1.7.5",
4
4
  "description": "JBrowse 2 core libraries used by plugins",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -29,9 +29,9 @@
29
29
  "postbuild": "tsc -b tsconfig.build.json"
30
30
  },
31
31
  "dependencies": {
32
+ "@babel/runtime": "^7.17.9",
32
33
  "@material-ui/icons": "^4.0.1",
33
34
  "abortable-promise-cache": "^1.5.0",
34
- "base64-js": "^1.3.0",
35
35
  "canvas": "^2.8.0",
36
36
  "clsx": "^1.0.4",
37
37
  "color": "^3.1.3",
@@ -41,7 +41,6 @@
41
41
  "dompurify": "^2.3.4",
42
42
  "escape-html": "^1.0.3",
43
43
  "fast-deep-equal": "^3.1.3",
44
- "file-uri-to-path": "^1.0.0",
45
44
  "generic-filehandle": "^2.2.2",
46
45
  "http-range-fetcher": "^1.4.0",
47
46
  "is-object": "^1.0.1",
@@ -55,9 +54,7 @@
55
54
  "react-intersection-observer": "^8.32.5",
56
55
  "react-use-measure": "^2.1.1",
57
56
  "shortid": "^2.2.13",
58
- "svg-path-generator": "^1.1.0",
59
- "tenacious-fetch": "^2.1.0",
60
- "util.promisify": "^1.1.1"
57
+ "svg-path-generator": "^1.1.0"
61
58
  },
62
59
  "peerDependencies": {
63
60
  "@material-ui/core": "^4.12.2",
@@ -75,5 +72,5 @@
75
72
  "access": "public",
76
73
  "directory": "dist"
77
74
  },
78
- "gitHead": "8710d5770cfebb7351f0a802da2d0c5a0b9e42ba"
75
+ "gitHead": "2c3a1f0c95a47b24eba790eaeb49274caf297aeb"
79
76
  }
@@ -1,5 +1,5 @@
1
1
  import { Instance } from 'mobx-state-tree';
2
- import { AnyConfigurationSchemaType } from '../../configuration/configurationSchema';
2
+ import { AnyConfigurationSchemaType } from '../../configuration';
3
3
  import PluginManager from '../../PluginManager';
4
4
  import { MenuItem } from '../../ui';
5
5
  export declare function createBaseTrackModel(pluginManager: PluginManager, trackType: string, baseTrackConfig: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
@@ -17,8 +17,6 @@ var _mobxStateTree = require("mobx-state-tree");
17
17
 
18
18
  var _configuration = require("../../configuration");
19
19
 
20
- var _configurationSchema = require("../../configuration/configurationSchema");
21
-
22
20
  var _util = require("../../util");
23
21
 
24
22
  var _types = require("../../util/types");
@@ -38,7 +36,7 @@ function createBaseTrackModel(pluginManager, trackType, baseTrackConfig) {
38
36
  return _mobxStateTree.types.model(trackType, {
39
37
  id: _mst.ElementId,
40
38
  type: _mobxStateTree.types.literal(trackType),
41
- configuration: (0, _configurationSchema.ConfigurationReference)(baseTrackConfig),
39
+ configuration: (0, _configuration.ConfigurationReference)(baseTrackConfig),
42
40
  displays: _mobxStateTree.types.array(pluginManager.pluggableMstType('display', 'stateModel'))
43
41
  }).views(function (self) {
44
42
  return {
@@ -194,11 +192,11 @@ function createBaseTrackModel(pluginManager, trackType, baseTrackConfig) {
194
192
  compatibleDisplays.forEach(function (displayConf) {
195
193
  displayChoices.push({
196
194
  type: 'radio',
197
- label: "".concat(displayConf.type),
195
+ label: displayConf.type,
196
+ checked: displayConf.displayId === shownId,
198
197
  onClick: function onClick() {
199
- self.replaceDisplay(shownId, displayConf.displayId);
200
- },
201
- checked: displayConf.displayId === shownId
198
+ return self.replaceDisplay(shownId, displayConf.displayId);
199
+ }
202
200
  });
203
201
  });
204
202
  }
@@ -1,11 +1,10 @@
1
- import { AnyConfigurationModel } from '../../configuration/configurationSchema';
2
1
  import GranularRectLayout from '../../util/layouts/GranularRectLayout';
3
2
  import MultiLayout from '../../util/layouts/MultiLayout';
4
3
  import PrecomputedLayout from '../../util/layouts/PrecomputedLayout';
5
4
  import FeatureRendererType, { RenderArgs as FeatureRenderArgs, RenderArgsSerialized as FeatureRenderArgsSerialized, RenderArgsDeserialized as FeatureRenderArgsDeserialized, RenderResults as FeatureRenderResults, ResultsSerialized as FeatureResultsSerialized, ResultsDeserialized as FeatureResultsDeserialized } from './FeatureRendererType';
6
- import { Region } from '../../util/types';
7
- import { Feature } from '../../util/simpleFeature';
5
+ import { Region, Feature } from '../../util';
8
6
  import { SerializedLayout, BaseLayout } from '../../util/layouts/BaseLayout';
7
+ import { AnyConfigurationModel } from '../../configuration';
9
8
  import SerializableFilterChain from './util/serializableFilterChain';
10
9
  import RpcManager from '../../rpc/RpcManager';
11
10
  export interface LayoutSessionProps {
@@ -36,12 +35,14 @@ export declare class LayoutSession implements LayoutSessionProps {
36
35
  }
37
36
  export interface RenderArgs extends FeatureRenderArgs {
38
37
  bpPerPx: number;
38
+ layoutId: string;
39
39
  }
40
40
  export interface RenderArgsSerialized extends FeatureRenderArgsSerialized {
41
41
  bpPerPx: number;
42
42
  }
43
43
  export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
44
44
  bpPerPx: number;
45
+ layoutId: string;
45
46
  }
46
47
  export interface RenderResults extends FeatureRenderResults {
47
48
  layout: BaseLayout<Feature>;
@@ -56,10 +57,11 @@ export interface ResultsDeserialized extends FeatureResultsDeserialized {
56
57
  }
57
58
  export default class BoxRendererType extends FeatureRendererType {
58
59
  sessions: {
59
- [sessionId: string]: LayoutSession;
60
+ [key: string]: LayoutSession;
60
61
  };
61
62
  getWorkerSession(props: LayoutSessionProps & {
62
63
  sessionId: string;
64
+ layoutId: string;
63
65
  }): LayoutSession;
64
66
  getExpandedRegion(region: Region, renderArgs: RenderArgsDeserialized): Region;
65
67
  createSession(props: LayoutSessionProps): LayoutSession;
@@ -39,6 +39,8 @@ var _PrecomputedLayout = _interopRequireDefault(require("../../util/layouts/Prec
39
39
 
40
40
  var _FeatureRendererType2 = _interopRequireDefault(require("./FeatureRendererType"));
41
41
 
42
+ var _util = require("../../util");
43
+
42
44
  var _configuration = require("../../configuration");
43
45
 
44
46
  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; }
@@ -57,11 +59,6 @@ var LayoutSession = /*#__PURE__*/function () {
57
59
  (0, _defineProperty2.default)(this, "filters", void 0);
58
60
  (0, _defineProperty2.default)(this, "cachedLayout", void 0);
59
61
  this.config = args.config;
60
-
61
- if (!(0, _configuration.isConfigurationModel)(this.config)) {
62
- throw new Error('configuration required');
63
- }
64
-
65
62
  this.bpPerPx = args.bpPerPx;
66
63
  this.filters = args.filters;
67
64
  this.update(args);
@@ -133,13 +130,13 @@ var BoxRendererType = /*#__PURE__*/function (_FeatureRendererType) {
133
130
  (0, _createClass2.default)(BoxRendererType, [{
134
131
  key: "getWorkerSession",
135
132
  value: function getWorkerSession(props) {
136
- var sessionId = props.sessionId;
133
+ var key = (0, _util.getLayoutId)(props);
137
134
 
138
- if (!this.sessions[sessionId]) {
139
- this.sessions[sessionId] = this.createSession(props);
135
+ if (!this.sessions[key]) {
136
+ this.sessions[key] = this.createSession(props);
140
137
  }
141
138
 
142
- var session = this.sessions[sessionId];
139
+ var session = this.sessions[key];
143
140
  session.update(props);
144
141
  return session;
145
142
  } // expands region for glyphs to use
@@ -174,17 +171,18 @@ var BoxRendererType = /*#__PURE__*/function (_FeatureRendererType) {
174
171
  key: "freeResourcesInClient",
175
172
  value: function () {
176
173
  var _freeResourcesInClient = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(rpcManager, args) {
177
- var sessionId, regions, freed, session;
174
+ var regions, key, freed, session;
178
175
  return _regenerator.default.wrap(function _callee$(_context) {
179
176
  while (1) {
180
177
  switch (_context.prev = _context.next) {
181
178
  case 0:
182
- sessionId = args.sessionId, regions = args.regions;
179
+ regions = args.regions;
180
+ key = (0, _util.getLayoutId)(args);
183
181
  freed = 0;
184
- session = this.sessions[sessionId];
182
+ session = this.sessions[key];
185
183
 
186
184
  if (!regions && session) {
187
- delete this.sessions[sessionId];
185
+ delete this.sessions[key];
188
186
  freed = 1;
189
187
  }
190
188
 
@@ -193,14 +191,14 @@ var BoxRendererType = /*#__PURE__*/function (_FeatureRendererType) {
193
191
  }
194
192
 
195
193
  _context.t0 = freed;
196
- _context.next = 8;
194
+ _context.next = 9;
197
195
  return (0, _get2.default)((0, _getPrototypeOf2.default)(BoxRendererType.prototype), "freeResourcesInClient", this).call(this, rpcManager, args);
198
196
 
199
- case 8:
197
+ case 9:
200
198
  _context.t1 = _context.sent;
201
199
  return _context.abrupt("return", _context.t0 + _context.t1);
202
200
 
203
- case 10:
201
+ case 11:
204
202
  case "end":
205
203
  return _context.stop();
206
204
  }
@@ -57,7 +57,7 @@ export default class FeatureRendererType extends ServerSideRendererType {
57
57
  /**
58
58
  * Adds feature serialization to base server-side result serialization
59
59
  *
60
- * @param results - object containing the results of calling the `render`
60
+ * @param result - object containing the results of calling the `render`
61
61
  * method
62
62
  * @param args - deserialized render args
63
63
  */
@@ -105,7 +105,7 @@ var FeatureRendererType = /*#__PURE__*/function (_ServerSideRendererTy) {
105
105
  /**
106
106
  * Adds feature serialization to base server-side result serialization
107
107
  *
108
- * @param results - object containing the results of calling the `render`
108
+ * @param result - object containing the results of calling the `render`
109
109
  * method
110
110
  * @param args - deserialized render args
111
111
  */
@@ -197,37 +197,30 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
197
197
  var _renderInWorker = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(args) {
198
198
  var _this = this;
199
199
 
200
- var signal, _args$statusCallback, statusCallback, deserializedArgs, results, serialized;
200
+ var signal, _args$statusCallback, statusCallback, deserializedArgs, results;
201
201
 
202
202
  return _regenerator.default.wrap(function _callee2$(_context2) {
203
203
  while (1) {
204
204
  switch (_context2.prev = _context2.next) {
205
205
  case 0:
206
206
  signal = args.signal, _args$statusCallback = args.statusCallback, statusCallback = _args$statusCallback === void 0 ? function () {} : _args$statusCallback;
207
- (0, _util.checkAbortSignal)(signal);
208
207
  deserializedArgs = this.deserializeArgsInWorker(args);
209
- (0, _util.checkAbortSignal)(signal);
210
- _context2.next = 6;
208
+ _context2.next = 4;
211
209
  return (0, _util.updateStatus)('Rendering plot', statusCallback, function () {
212
210
  return _this.render(deserializedArgs);
213
211
  });
214
212
 
215
- case 6:
213
+ case 4:
216
214
  results = _context2.sent;
217
215
  (0, _util.checkAbortSignal)(signal); // serialize the results for passing back to the main thread.
218
216
  // these will be transmitted to the main process, and will come out
219
217
  // as the result of renderRegionWithWorker.
220
218
 
221
- _context2.next = 10;
222
- return (0, _util.updateStatus)('Serializing results', statusCallback, function () {
219
+ return _context2.abrupt("return", (0, _util.updateStatus)('Serializing results', statusCallback, function () {
223
220
  return _this.serializeResultsInWorker(results, deserializedArgs);
224
- });
225
-
226
- case 10:
227
- serialized = _context2.sent;
228
- return _context2.abrupt("return", serialized);
221
+ }));
229
222
 
230
- case 12:
223
+ case 7:
231
224
  case "end":
232
225
  return _context2.stop();
233
226
  }
@@ -147,6 +147,9 @@ var LazyWorker = /*#__PURE__*/function () {
147
147
  }
148
148
  });
149
149
  return worker;
150
+ }).catch(function (e) {
151
+ _this.workerP = undefined;
152
+ throw e;
150
153
  });
151
154
  }
152
155
 
@@ -1,7 +1,7 @@
1
1
  import RpcMethodType from '../pluggableElementTypes/RpcMethodType';
2
2
  import { RenderArgs as ServerSideRenderArgs, RenderArgsSerialized as ServerSideRenderArgsSerialized, RenderResults, ResultsSerialized } from '../pluggableElementTypes/renderers/ServerSideRendererType';
3
3
  import { RemoteAbortSignal } from './remoteAbortSignals';
4
- import { Region } from '../util/types';
4
+ import { Region } from '../util';
5
5
  import SimpleFeature, { SimpleFeatureSerialized } from '../util/simpleFeature';
6
6
  export declare class CoreGetRefNames extends RpcMethodType {
7
7
  name: string;
@@ -30,9 +30,10 @@ export declare class CoreGetMetadata extends RpcMethodType {
30
30
  export declare class CoreGetFeatures extends RpcMethodType {
31
31
  name: string;
32
32
  deserializeReturn(feats: SimpleFeatureSerialized[], args: unknown, rpcDriverClassName: string): Promise<SimpleFeature[]>;
33
+ serializeArguments(args: RenderArgs, rpcDriverClassName: string): Promise<RenderArgs>;
33
34
  execute(args: {
34
35
  sessionId: string;
35
- region: Region;
36
+ regions: Region[];
36
37
  adapterConfig: {};
37
38
  signal?: RemoteAbortSignal;
38
39
  opts?: any;
@@ -86,3 +87,15 @@ export declare class CoreRender extends RpcMethodType {
86
87
  }, rpcDriverClassName: string): Promise<ResultsSerialized | RenderResults>;
87
88
  deserializeReturn(serializedReturn: RenderResults | ResultsSerialized, args: RenderArgs, rpcDriverClassName: string): Promise<unknown>;
88
89
  }
90
+ /**
91
+ * fetches features from an adapter and call a renderer with them
92
+ */
93
+ export declare class CoreGetFeatureDetails extends RpcMethodType {
94
+ name: string;
95
+ serializeArguments(args: RenderArgs, rpcDriverClassName: string): Promise<ServerSideRenderArgsSerialized | RenderArgs>;
96
+ execute(args: RenderArgsSerialized & {
97
+ signal?: RemoteAbortSignal;
98
+ }, rpcDriverClassName: string): Promise<{
99
+ feature: any;
100
+ }>;
101
+ }