@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
20 lines (19 loc) • 922 B
JavaScript
import { isFeatureAdapter } from "../../data_adapters/BaseAdapter/index.js";
import { getAdapter } from "../../data_adapters/dataAdapterCache.js";
import RpcMethodType from "../../pluggableElementTypes/RpcMethodType.js";
export default class CoreGetRefNames extends RpcMethodType {
name = 'CoreGetRefNames';
async execute(args, rpcDriver) {
const pm = this.pluginManager;
const deserializedArgs = await this.deserializeArguments(args, rpcDriver);
const { sessionId, adapterConfig, sequenceAdapter } = deserializedArgs;
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig);
if (!isFeatureAdapter(dataAdapter)) {
return [];
}
if (sequenceAdapter && !dataAdapter.sequenceAdapterConfig) {
dataAdapter.setSequenceAdapterConfig(sequenceAdapter);
}
return dataAdapter.getRefNames(deserializedArgs);
}
}