UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

18 lines (17 loc) 940 B
import { getAdapter } from "../../data_adapters/dataAdapterCache.js"; import RpcMethodType from "../../pluggableElementTypes/RpcMethodType.js"; import { renameRegionsIfNeeded } from "../../util/index.js"; export default class CoreGetSequence extends RpcMethodType { name = 'CoreGetSequence'; 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 { stopToken, sessionId, adapterConfig, region } = await this.deserializeArguments(args, rpcDriver); const dataAdapter = (await getAdapter(this.pluginManager, sessionId, adapterConfig)).dataAdapter; return dataAdapter.getSequence(region, { stopToken }); } }