@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
19 lines (18 loc) • 1 kB
JavaScript
import { getAdapter } from "../../data_adapters/dataAdapterCache.js";
import RpcMethodType from "../../pluggableElementTypes/RpcMethodType.js";
import { renameRegionsIfNeeded } from "../../util/index.js";
export default class CoreGetExportData extends RpcMethodType {
name = 'CoreGetExportData';
async serializeArguments(args, rpcDriver) {
const { rootModel } = this.pluginManager;
const assemblyManager = rootModel.session.assemblyManager;
const renamedArgs = await renameRegionsIfNeeded(assemblyManager, args);
return super.serializeArguments(renamedArgs, rpcDriver);
}
async execute(args, rpcDriver) {
const { sessionId, adapterConfig, regions, formatType, opts } = await this.deserializeArguments(args, rpcDriver);
const dataAdapter = (await getAdapter(this.pluginManager, sessionId, adapterConfig)).dataAdapter;
const result = await dataAdapter.getExportData(regions, formatType, opts);
return result || '';
}
}