@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
30 lines (29 loc) • 1.02 kB
TypeScript
import Rpc from 'librpc-web-mod';
import BaseRpcDriver from './BaseRpcDriver';
import type { RpcDriverConstructorArgs } from './BaseRpcDriver';
import type { PluginDefinition } from '../PluginLoader';
interface WebWorkerRpcDriverConstructorArgs extends RpcDriverConstructorArgs {
makeWorkerInstance: () => Worker;
}
interface Options {
statusCallback?: (arg0: unknown) => void;
rpcDriverClassName: string;
}
declare class WebWorkerHandle extends Rpc.Client {
destroy(): void;
call(funcName: string, args: Record<string, unknown>, opts: Options): Promise<unknown>;
}
export default class WebWorkerRpcDriver extends BaseRpcDriver {
workerBootConfiguration: {
plugins: PluginDefinition[];
windowHref: string;
};
name: string;
makeWorkerInstance: () => Worker;
constructor(args: WebWorkerRpcDriverConstructorArgs, workerBootConfiguration: {
plugins: PluginDefinition[];
windowHref: string;
});
makeWorker(): Promise<WebWorkerHandle>;
}
export {};