import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache' import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions' import type { AnyConfigurationModel } from '@jbrowse/core/configuration' import type { Region } from '@jbrowse/core/util' export default class MafGetSamples extends RpcMethodTypeWithFiltersAndRenameRegions { name = 'MafGetSamples' async execute( args: { adapterConfig: AnyConfigurationModel stopToken?: string sessionId: string headers?: Record regions: Region[] bpPerPx: number }, rpcDriverClassName: string, ) { const pm = this.pluginManager const deserializedArgs = await this.deserializeArguments( args, rpcDriverClassName, ) const { regions, adapterConfig, sessionId } = deserializedArgs const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig) // @ts-expect-error return dataAdapter.getSamples(regions, deserializedArgs) } }