UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

19 lines (18 loc) 1 kB
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 || ''; } }