UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

36 lines (35 loc) 2.42 kB
import MainThreadRpcDriver from './MainThreadRpcDriver.ts'; import WebWorkerRpcDriver from './WebWorkerRpcDriver.ts'; import type BaseRpcDriver from './BaseRpcDriver.ts'; import type PluginManager from '../PluginManager.ts'; import type { AnyConfigurationModel } from '../configuration/index.ts'; type DriverClass = BaseRpcDriver; interface BackendConfigurations { WebWorkerRpcDriver?: Omit<ConstructorParameters<typeof WebWorkerRpcDriver>[0], 'config'>; MainThreadRpcDriver?: Omit<ConstructorParameters<typeof MainThreadRpcDriver>[0], 'config'>; [key: string]: unknown; } export type RpcDriverFactory = (config: AnyConfigurationModel, backendConfig: unknown, pluginManager: PluginManager) => BaseRpcDriver; export default class RpcManager { pluginManager: PluginManager; mainConfiguration: AnyConfigurationModel; backendConfigurations: BackendConfigurations; static configSchema: import("../configuration/configurationSchema.ts").ConfigurationSchemaType<{ defaultDriver: { type: string; description: string; defaultValue: string; }; drivers: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ITypeUnion<import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> | undefined, import("@jbrowse/mobx-state-tree").ModelSnapshotType<Record<string, any>>, ({} & Partial<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject) | undefined>>, [undefined]>; }, import("../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>; driverObjects: Map<string, DriverClass>; driverFactories: Map<string, RpcDriverFactory>; constructor(pluginManager: PluginManager, mainConfiguration: AnyConfigurationModel, backendConfigurations: BackendConfigurations); registerDriverFactory(name: string, factory: RpcDriverFactory): void; getDriver(backendName: string): BaseRpcDriver; getDriverForCall(_sessionId: string, _functionName: string, args: { rpcDriverName?: string; }): Promise<BaseRpcDriver>; call(sessionId: string, functionName: string, args: Record<string, unknown>, opts?: {}): Promise<unknown>; } export {};