@jbrowse/core 2.2.1 → 2.3.0

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 (96) hide show
  1. package/BaseFeatureWidget/SequenceFeatureDetails.js +1 -0
  2. package/BaseFeatureWidget/SequenceFeatureSettingsDialog.js +2 -17
  3. package/BaseFeatureWidget/SequenceHelpDialog.js +3 -19
  4. package/PluginManager.d.ts +4 -0
  5. package/PluginManager.js +12 -0
  6. package/README.md +6 -2
  7. package/data_adapters/BaseAdapter.d.ts +1 -1
  8. package/package.json +3 -3
  9. package/pluggableElementTypes/AdapterType.d.ts +4 -4
  10. package/pluggableElementTypes/AdapterType.js +0 -1
  11. package/pluggableElementTypes/AddTrackWorkflowType.d.ts +3 -3
  12. package/pluggableElementTypes/ConnectionType.d.ts +0 -1
  13. package/pluggableElementTypes/ConnectionType.js +0 -1
  14. package/pluggableElementTypes/DisplayType.d.ts +9 -0
  15. package/pluggableElementTypes/DisplayType.js +1 -0
  16. package/pluggableElementTypes/PluggableElementBase.d.ts +3 -0
  17. package/pluggableElementTypes/PluggableElementBase.js +4 -0
  18. package/pluggableElementTypes/TextSearchAdapterType.d.ts +1 -0
  19. package/pluggableElementTypes/TrackType.d.ts +2 -1
  20. package/pluggableElementTypes/ViewType.d.ts +4 -3
  21. package/pluggableElementTypes/WidgetType.d.ts +10 -9
  22. package/pluggableElementTypes/models/BaseDisplayModel.js +1 -0
  23. package/pluggableElementTypes/models/BaseTrackModel.d.ts +19 -8
  24. package/pluggableElementTypes/models/BaseTrackModel.js +32 -26
  25. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +0 -3
  26. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -14
  27. package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +9 -0
  28. package/pluggableElementTypes/renderers/CircularChordRendererType.js +23 -0
  29. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +4 -1
  30. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +4 -4
  31. package/pluggableElementTypes/renderers/FeatureRendererType.js +11 -13
  32. package/pluggableElementTypes/renderers/RendererType.d.ts +1 -0
  33. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +8 -0
  34. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +60 -0
  35. package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +2 -2
  36. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +6 -6
  37. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +5 -5
  38. package/pluggableElementTypes/renderers/ServerSideRendererType.js +14 -13
  39. package/rpc/BaseRpcDriver.d.ts +1 -1
  40. package/rpc/BaseRpcDriver.js +8 -18
  41. package/rpc/coreRpcMethods.d.ts +11 -99
  42. package/rpc/coreRpcMethods.js +17 -241
  43. package/rpc/methods/CoreEstimateRegionStats.d.ts +18 -0
  44. package/rpc/methods/CoreEstimateRegionStats.js +37 -0
  45. package/rpc/methods/CoreFreeResources.d.ts +12 -0
  46. package/rpc/methods/CoreFreeResources.js +35 -0
  47. package/rpc/methods/CoreGetFeatureDetails.d.ts +16 -0
  48. package/rpc/methods/CoreGetFeatureDetails.js +44 -0
  49. package/rpc/methods/CoreGetFeatures.d.ts +17 -0
  50. package/rpc/methods/CoreGetFeatures.js +44 -0
  51. package/rpc/methods/CoreGetFileInfo.d.ts +10 -0
  52. package/rpc/methods/CoreGetFileInfo.js +24 -0
  53. package/rpc/methods/CoreGetMetadata.d.ts +10 -0
  54. package/rpc/methods/CoreGetMetadata.js +24 -0
  55. package/rpc/methods/CoreGetRefNames.d.ts +10 -0
  56. package/rpc/methods/CoreGetRefNames.js +25 -0
  57. package/rpc/methods/CoreRender.d.ts +14 -0
  58. package/rpc/methods/CoreRender.js +57 -0
  59. package/rpc/methods/util.d.ts +14 -0
  60. package/rpc/methods/util.js +21 -0
  61. package/rpc/remoteAbortSignals.d.ts +3 -1
  62. package/rpc/remoteAbortSignals.js +3 -1
  63. package/tsconfig.build.tsbuildinfo +1 -1
  64. package/ui/AboutDialog.d.ts +1 -1
  65. package/ui/AboutDialog.js +8 -18
  66. package/ui/App.js +9 -77
  67. package/ui/AppLogo.d.ts +8 -0
  68. package/ui/AppLogo.js +22 -0
  69. package/ui/AppToolbar.d.ts +19 -0
  70. package/ui/AppToolbar.js +56 -0
  71. package/ui/AssemblySelector.d.ts +5 -3
  72. package/ui/AssemblySelector.js +4 -4
  73. package/ui/Dialog.d.ts +7 -0
  74. package/ui/Dialog.js +35 -0
  75. package/ui/FactoryResetDialog.js +8 -13
  76. package/ui/PrerenderedCanvas.d.ts +3 -20
  77. package/ui/PrerenderedCanvas.js +1 -19
  78. package/ui/ReturnToImportFormDialog.js +2 -17
  79. package/ui/Snackbar.js +7 -53
  80. package/ui/ViewLauncher.d.ts +18 -0
  81. package/ui/ViewLauncher.js +50 -0
  82. package/ui/index.d.ts +9 -8
  83. package/ui/index.js +19 -17
  84. package/util/Base1DUtils.js +1 -1
  85. package/util/analytics.js +3 -0
  86. package/util/dedupe.d.ts +3 -0
  87. package/util/dedupe.js +18 -0
  88. package/util/formatFastaStrings.d.ts +1 -1
  89. package/util/formatFastaStrings.js +1 -1
  90. package/util/index.d.ts +1 -0
  91. package/util/index.js +1 -0
  92. package/util/offscreenCanvasUtils.js +1 -1
  93. package/util/stats.d.ts +7 -3
  94. package/util/stats.js +33 -24
  95. package/util/tracks.d.ts +1 -1
  96. package/util/tracks.js +1 -1
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const operators_1 = require("rxjs/operators");
7
+ const clone_1 = __importDefault(require("clone"));
7
8
  const util_1 = require("../../util");
8
9
  const simpleFeature_1 = __importDefault(require("../../util/simpleFeature"));
9
10
  const dataAdapterCache_1 = require("../../data_adapters/dataAdapterCache");
@@ -11,10 +12,10 @@ const ServerSideRendererType_1 = __importDefault(require("./ServerSideRendererTy
11
12
  const BaseAdapter_1 = require("../../data_adapters/BaseAdapter");
12
13
  class FeatureRendererType extends ServerSideRendererType_1.default {
13
14
  /**
14
- * replaces the `displayModel` param (which on the client is a MST model) with
15
- * a stub that only contains the `selectedFeature`, since this is the only
16
- * part of the track model that most renderers read. also serializes the
17
- * config and regions to JSON from MST objects.
15
+ * replaces the `displayModel` param (which on the client is a MST model)
16
+ * with a stub that only contains the `selectedFeature`, since this is the only
17
+ * part of the track model that most renderers read. also serializes the config
18
+ * and regions to JSON from MST objects.
18
19
  *
19
20
  * @param args - the arguments passed to render
20
21
  */
@@ -26,7 +27,7 @@ class FeatureRendererType extends ServerSideRendererType_1.default {
26
27
  id: displayModel.id,
27
28
  selectedFeatureId: displayModel.selectedFeatureId,
28
29
  },
29
- regions: JSON.parse(JSON.stringify(regions)),
30
+ regions: (0, clone_1.default)(regions),
30
31
  };
31
32
  return super.serializeArgsInClient(serializedArgs);
32
33
  }
@@ -37,11 +38,7 @@ class FeatureRendererType extends ServerSideRendererType_1.default {
37
38
  * @param args - the arguments passed to render
38
39
  */
39
40
  deserializeResultsInClient(result, args) {
40
- const deserializedFeatures = new Map();
41
- result.features.forEach(j => {
42
- const f = simpleFeature_1.default.fromJSON(j);
43
- deserializedFeatures.set(String(f.id()), f);
44
- });
41
+ const deserializedFeatures = new Map(result.features.map(f => simpleFeature_1.default.fromJSON(f)).map(f => [f.id(), f]));
45
42
  const deserialized = super.deserializeResultsInClient({
46
43
  ...result,
47
44
  features: deserializedFeatures,
@@ -83,8 +80,9 @@ class FeatureRendererType extends ServerSideRendererType_1.default {
83
80
  * @returns Map of features as `{ id => feature, ... }`
84
81
  */
85
82
  async getFeatures(renderArgs) {
83
+ const pm = this.pluginManager;
86
84
  const { signal, regions, sessionId, adapterConfig } = renderArgs;
87
- const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(this.pluginManager, sessionId, adapterConfig);
85
+ const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
88
86
  if (!(0, BaseAdapter_1.isFeatureAdapter)(dataAdapter)) {
89
87
  throw new Error('Adapter does not support retrieving features');
90
88
  }
@@ -92,9 +90,9 @@ class FeatureRendererType extends ServerSideRendererType_1.default {
92
90
  if (!regions || regions.length === 0) {
93
91
  return features;
94
92
  }
93
+ // make sure the requested region's start and end are integers, if
94
+ // there is a region specification.
95
95
  const requestRegions = regions.map((r) => {
96
- // make sure the requested region's start and end are integers, if
97
- // there is a region specification.
98
96
  const requestRegion = { ...r };
99
97
  if (requestRegion.start) {
100
98
  requestRegion.start = Math.floor(requestRegion.start);
@@ -16,6 +16,7 @@ export default class RendererType extends PluggableElementBase {
16
16
  constructor(stuff: {
17
17
  name: string;
18
18
  ReactComponent: AnyReactComponentType;
19
+ displayName?: string;
19
20
  configSchema: AnyConfigurationSchemaType;
20
21
  pluginManager: PluginManager;
21
22
  });
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { AnyReactComponentType, Feature } from '../../util';
3
+ declare const _default: (props: {
4
+ html: string;
5
+ features: Map<string, Feature>;
6
+ RenderingComponent: AnyReactComponentType;
7
+ }) => JSX.Element;
8
+ export default _default;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const mobx_react_1 = require("mobx-react");
28
+ const react_dom_1 = require("react-dom");
29
+ const util_1 = require("../../util");
30
+ exports.default = (0, mobx_react_1.observer)(function (props) {
31
+ const { html, RenderingComponent } = props;
32
+ const ref = (0, react_1.useRef)(null);
33
+ (0, react_1.useEffect)(() => {
34
+ const domNode = ref.current;
35
+ function doHydrate() {
36
+ if (domNode && html) {
37
+ if (domNode.innerHTML) {
38
+ (0, react_dom_1.unmountComponentAtNode)(domNode);
39
+ }
40
+ // setting outline:none fixes react "focusable" element issue. see
41
+ // https://github.com/GMOD/jbrowse-components/issues/2160
42
+ domNode.style.outline = 'none';
43
+ domNode.innerHTML = html;
44
+ // use requestIdleCallback to defer main-thread rendering
45
+ // and hydration for when we have some free time. helps
46
+ // keep the framerate up.
47
+ (0, util_1.rIC)(() => {
48
+ (0, react_dom_1.hydrate)(react_1.default.createElement(RenderingComponent, { ...props }), domNode);
49
+ });
50
+ }
51
+ }
52
+ doHydrate();
53
+ return () => {
54
+ if (domNode) {
55
+ (0, react_dom_1.unmountComponentAtNode)(domNode);
56
+ }
57
+ };
58
+ }, [html, RenderingComponent, props]);
59
+ return react_1.default.createElement("g", { ref: ref });
60
+ });
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ResultsSerialized, RenderArgs } from './ServerSideRendererType';
3
- interface ServerSideRenderedContentProps extends ResultsSerialized, RenderArgs {
3
+ interface Props extends ResultsSerialized, RenderArgs {
4
4
  RenderingComponent: React.ComponentType<any>;
5
5
  }
6
- export default function ServerSideRenderedContent(props: ServerSideRenderedContentProps): JSX.Element;
6
+ export default function ({ theme, html, RenderingComponent, ...rest }: Props): JSX.Element;
7
7
  export {};
@@ -26,14 +26,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
27
  const styles_1 = require("@mui/material/styles");
28
28
  const react_dom_1 = require("react-dom");
29
+ // locals
29
30
  const ui_1 = require("../../ui");
30
31
  const util_1 = require("../../util");
31
- function ServerSideRenderedContent(props) {
32
- const ssrContainerNode = (0, react_1.useRef)(null);
33
- const { theme, html, RenderingComponent, ...rest } = props;
32
+ function default_1({ theme, html, RenderingComponent, ...rest }) {
33
+ const ref = (0, react_1.useRef)(null);
34
34
  const jbrowseTheme = (0, ui_1.createJBrowseTheme)(theme);
35
35
  (0, react_1.useEffect)(() => {
36
- const domNode = ssrContainerNode.current;
36
+ const domNode = ref.current;
37
37
  function doHydrate() {
38
38
  if (domNode) {
39
39
  if (domNode) {
@@ -60,6 +60,6 @@ function ServerSideRenderedContent(props) {
60
60
  }
61
61
  };
62
62
  }, [html, jbrowseTheme, rest, RenderingComponent]);
63
- return (react_1.default.createElement("div", { ref: ssrContainerNode, "data-html-size": html.length, className: "ssr-container" }));
63
+ return react_1.default.createElement("div", { ref: ref });
64
64
  }
65
- exports.default = ServerSideRenderedContent;
65
+ exports.default = default_1;
@@ -1,13 +1,13 @@
1
- import { DeprecatedThemeOptions } from '@mui/material';
1
+ import { ThemeOptions } from '@mui/material';
2
2
  import { SnapshotOrInstance, SnapshotIn } from 'mobx-state-tree';
3
- import RendererType, { RenderProps, RenderResults } from './RendererType';
4
3
  import SerializableFilterChain, { SerializedFilterChain } from './util/serializableFilterChain';
5
4
  import { AnyConfigurationModel } from '../../configuration/configurationSchema';
6
5
  import RpcManager from '../../rpc/RpcManager';
6
+ import RendererType, { RenderProps, RenderResults } from './RendererType';
7
7
  interface BaseRenderArgs extends RenderProps {
8
8
  sessionId: string;
9
9
  signal?: AbortSignal;
10
- theme: DeprecatedThemeOptions;
10
+ theme: ThemeOptions;
11
11
  exportSVG: {
12
12
  rasterizeLayers?: boolean;
13
13
  };
@@ -53,7 +53,7 @@ export default class ServerSideRenderer extends RendererType {
53
53
  * @param results - the results of the render
54
54
  * @param args - the arguments passed to render
55
55
  */
56
- deserializeResultsInClient(results: ResultsSerialized, args: RenderArgs): ResultsDeserialized;
56
+ deserializeResultsInClient(res: ResultsSerialized, args: RenderArgs): ResultsDeserialized;
57
57
  /**
58
58
  * modifies the passed arguments object to inflate arguments as necessary.
59
59
  * called in the worker process.
@@ -74,7 +74,7 @@ export default class ServerSideRenderer extends RendererType {
74
74
  * Render method called on the client. Serializes args, then calls
75
75
  * "CoreRender" with the RPC manager.
76
76
  *
77
- * @param rpcManager - RPC mananger
77
+ * @param rpcManager - RPC manager
78
78
  * @param args - render args
79
79
  */
80
80
  renderInClient(rpcManager: RpcManager, args: RenderArgs): Promise<ResultsSerialized>;
@@ -31,13 +31,14 @@ const styles_1 = require("@mui/material/styles");
31
31
  const canvas_sequencer_1 = require("canvas-sequencer");
32
32
  const server_1 = require("react-dom/server");
33
33
  const mobx_state_tree_1 = require("mobx-state-tree");
34
+ // locals
34
35
  const util_1 = require("../../util");
35
- const RendererType_1 = __importDefault(require("./RendererType"));
36
36
  const serializableFilterChain_1 = __importDefault(require("./util/serializableFilterChain"));
37
37
  const ui_1 = require("../../ui");
38
+ const RendererType_1 = __importDefault(require("./RendererType"));
38
39
  const ServerSideRenderedContent_1 = __importDefault(require("./ServerSideRenderedContent"));
39
- function isSvgExport(elt) {
40
- return 'canvasRecordedData' in elt;
40
+ function isSvgExport(e) {
41
+ return 'canvasRecordedData' in e;
41
42
  }
42
43
  class ServerSideRenderer extends RendererType_1.default {
43
44
  /**
@@ -48,12 +49,13 @@ class ServerSideRenderer extends RendererType_1.default {
48
49
  * @returns the same object
49
50
  */
50
51
  serializeArgsInClient(args) {
52
+ var _a;
51
53
  return {
52
54
  ...args,
53
55
  config: (0, mobx_state_tree_1.isStateTreeNode)(args.config)
54
56
  ? (0, mobx_state_tree_1.getSnapshot)(args.config)
55
57
  : args.config,
56
- filters: args.filters && args.filters.toJSON().filters,
58
+ filters: (_a = args.filters) === null || _a === void 0 ? void 0 : _a.toJSON().filters,
57
59
  };
58
60
  }
59
61
  /**
@@ -64,24 +66,23 @@ class ServerSideRenderer extends RendererType_1.default {
64
66
  * @param results - the results of the render
65
67
  * @param args - the arguments passed to render
66
68
  */
67
- deserializeResultsInClient(results, args) {
68
- const { html, ...rest } = results;
69
+ deserializeResultsInClient(res, args) {
69
70
  // if we are rendering svg, we skip hydration
70
71
  if (args.exportSVG) {
71
- // only return the results if the renderer explicitly has
72
+ // only return the res if the renderer explicitly has
72
73
  // this.supportsSVG support to avoid garbage being rendered in SVG
73
74
  // document
74
75
  return {
75
- ...results,
76
+ ...res,
76
77
  html: this.supportsSVG
77
- ? results.html
78
+ ? res.html
78
79
  : '<text y="12" fill="black">SVG export not supported for this track</text>',
79
80
  };
80
81
  }
81
- // hydrate results using ServerSideRenderedContent
82
+ // hydrate res using ServerSideRenderedContent
82
83
  return {
83
- ...rest,
84
- reactElement: (react_1.default.createElement(ServerSideRenderedContent_1.default, { ...args, ...results, RenderingComponent: this.ReactComponent })),
84
+ ...res,
85
+ reactElement: (react_1.default.createElement(ServerSideRenderedContent_1.default, { ...args, ...res, RenderingComponent: this.ReactComponent })),
85
86
  };
86
87
  }
87
88
  /**
@@ -117,7 +118,7 @@ class ServerSideRenderer extends RendererType_1.default {
117
118
  * Render method called on the client. Serializes args, then calls
118
119
  * "CoreRender" with the RPC manager.
119
120
  *
120
- * @param rpcManager - RPC mananger
121
+ * @param rpcManager - RPC manager
121
122
  * @param args - render args
122
123
  */
123
124
  async renderInClient(rpcManager, args) {
@@ -15,7 +15,7 @@ export interface WorkerHandle {
15
15
  export interface RpcDriverConstructorArgs {
16
16
  config: AnyConfigurationModel;
17
17
  }
18
- export declare function watchWorker(worker: WorkerHandle, pingTime: number, rpcDriverClassName: string): Promise<unknown>;
18
+ export declare function watchWorker(worker: WorkerHandle, pingTime: number, rpcDriverClassName: string): Promise<void>;
19
19
  declare class LazyWorker {
20
20
  driver: BaseRpcDriver;
21
21
  workerP?: Promise<WorkerHandle> | undefined;
@@ -18,23 +18,13 @@ function isClonable(thing) {
18
18
  // the worker times out
19
19
  async function watchWorker(worker, pingTime, rpcDriverClassName) {
20
20
  // after first ping succeeds, apply wait for timeout
21
- return new Promise((_resolve, reject) => {
22
- function delay() {
23
- setTimeout(async () => {
24
- try {
25
- await worker.call('ping', [], {
26
- timeout: pingTime * 2,
27
- rpcDriverClassName,
28
- });
29
- delay();
30
- }
31
- catch (e) {
32
- reject(e);
33
- }
34
- }, pingTime);
35
- }
36
- delay();
37
- });
21
+ while (true) {
22
+ await worker.call('ping', [], {
23
+ timeout: pingTime * 2,
24
+ rpcDriverClassName,
25
+ });
26
+ await new Promise(resolve => setTimeout(resolve, pingTime));
27
+ }
38
28
  }
39
29
  exports.watchWorker = watchWorker;
40
30
  function detectHardwareConcurrency() {
@@ -110,7 +100,7 @@ class BaseRpcDriver {
110
100
  }
111
101
  async remoteAbort(sessionId, functionName, signalId) {
112
102
  const worker = await this.getWorker(sessionId);
113
- worker.call(functionName, { signalId }, { timeout: 1000000, rpcDriverClassName: this.name });
103
+ await worker.call(functionName, { signalId }, { timeout: 1000000, rpcDriverClassName: this.name });
114
104
  }
115
105
  createWorkerPool() {
116
106
  const hardwareConcurrency = detectHardwareConcurrency();
@@ -1,99 +1,11 @@
1
- import RpcMethodType from '../pluggableElementTypes/RpcMethodType';
2
- import { RenderArgs as ServerSideRenderArgs, RenderArgsSerialized as ServerSideRenderArgsSerialized, RenderResults, ResultsSerialized } from '../pluggableElementTypes/renderers/ServerSideRendererType';
3
- import { RemoteAbortSignal } from './remoteAbortSignals';
4
- import { Region } from '../util';
5
- import SimpleFeature, { SimpleFeatureSerialized } from '../util/simpleFeature';
6
- export declare class CoreGetRefNames extends RpcMethodType {
7
- name: string;
8
- execute(args: {
9
- sessionId: string;
10
- signal: RemoteAbortSignal;
11
- adapterConfig: {};
12
- }, rpcDriver: string): Promise<string[]>;
13
- }
14
- export declare class CoreGetFileInfo extends RpcMethodType {
15
- name: string;
16
- execute(args: {
17
- sessionId: string;
18
- signal: RemoteAbortSignal;
19
- adapterConfig: {};
20
- }, rpcDriver: string): Promise<unknown>;
21
- }
22
- export declare class CoreGetMetadata extends RpcMethodType {
23
- name: string;
24
- execute(args: {
25
- sessionId: string;
26
- signal: RemoteAbortSignal;
27
- adapterConfig: {};
28
- }, rpcDriver: string): Promise<unknown>;
29
- }
30
- export declare class CoreGetFeatures extends RpcMethodType {
31
- name: string;
32
- deserializeReturn(feats: SimpleFeatureSerialized[], args: unknown, rpcDriver: string): Promise<SimpleFeature[]>;
33
- serializeArguments(args: RenderArgs, rpcDriver: string): Promise<RenderArgs>;
34
- execute(args: {
35
- sessionId: string;
36
- regions: Region[];
37
- adapterConfig: {};
38
- signal?: RemoteAbortSignal;
39
- opts?: any;
40
- }, rpcDriver: string): Promise<SimpleFeatureSerialized[]>;
41
- }
42
- /**
43
- * free up any resources (e.g. cached adapter objects)
44
- * that are only associated with the given track ID.
45
- *
46
- * returns number of objects deleted
47
- */
48
- export declare class CoreFreeResources extends RpcMethodType {
49
- name: string;
50
- execute(specification: {}): Promise<number>;
51
- serializeArguments(args: {}, _rpcDriver: string): Promise<{}>;
52
- }
53
- export interface RenderArgs extends ServerSideRenderArgs {
54
- adapterConfig: {};
55
- rendererType: string;
56
- }
57
- export interface RenderArgsSerialized extends ServerSideRenderArgsSerialized {
58
- assemblyName: string;
59
- regions: Region[];
60
- adapterConfig: {};
61
- rendererType: string;
62
- }
63
- export declare class CoreEstimateRegionStats extends RpcMethodType {
64
- name: string;
65
- serializeArguments(args: RenderArgs & {
66
- signal?: AbortSignal;
67
- statusCallback?: (arg: string) => void;
68
- }, rpcDriver: string): Promise<{}>;
69
- execute(args: {
70
- adapterConfig: {};
71
- regions: Region[];
72
- signal?: RemoteAbortSignal;
73
- headers?: Record<string, string>;
74
- sessionId: string;
75
- }, rpcDriver: string): Promise<import("../data_adapters/BaseAdapter").Stats>;
76
- }
77
- /**
78
- * fetches features from an adapter and call a renderer with them
79
- */
80
- export declare class CoreRender extends RpcMethodType {
81
- name: string;
82
- serializeArguments(args: RenderArgs, rpcDriver: string): Promise<ServerSideRenderArgsSerialized | RenderArgs>;
83
- execute(args: RenderArgsSerialized & {
84
- signal?: RemoteAbortSignal;
85
- }, rpcDriver: string): Promise<ResultsSerialized | RenderResults>;
86
- deserializeReturn(serializedReturn: RenderResults | ResultsSerialized, args: RenderArgs, rpcDriver: string): Promise<unknown>;
87
- }
88
- /**
89
- * fetches features from an adapter and call a renderer with them
90
- */
91
- export declare class CoreGetFeatureDetails extends RpcMethodType {
92
- name: string;
93
- serializeArguments(args: RenderArgs, rpcDriver: string): Promise<ServerSideRenderArgsSerialized | RenderArgs>;
94
- execute(args: RenderArgsSerialized & {
95
- signal?: RemoteAbortSignal;
96
- }, rpcDriver: string): Promise<{
97
- feature: any;
98
- }>;
99
- }
1
+ import CoreGetRefNames from './methods/CoreGetRefNames';
2
+ import CoreGetMetadata from './methods/CoreGetMetadata';
3
+ import CoreGetFeatureDetails from './methods/CoreGetFeatureDetails';
4
+ import CoreGetFeatures from './methods/CoreGetFeatures';
5
+ import CoreGetFileInfo from './methods/CoreGetFileInfo';
6
+ import CoreFreeResources from './methods/CoreFreeResources';
7
+ import CoreRender from './methods/CoreRender';
8
+ import CoreEstimateRegionStats from './methods/CoreEstimateRegionStats';
9
+ import { RenderArgs } from './methods/util';
10
+ export type { RenderArgs };
11
+ export { CoreGetRefNames, CoreGetFileInfo, CoreGetMetadata, CoreGetFeatures, CoreRender, CoreGetFeatureDetails, CoreFreeResources, CoreEstimateRegionStats, };