UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

37 lines (36 loc) 1.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const BaseAdapter_1 = require("../../data_adapters/BaseAdapter"); const dataAdapterCache_1 = require("../../data_adapters/dataAdapterCache"); const RpcMethodType_1 = __importDefault(require("../../pluggableElementTypes/RpcMethodType")); const util_1 = require("../../util"); class CoreGetFeatureDensityStats extends RpcMethodType_1.default { constructor() { super(...arguments); this.name = 'CoreGetFeatureDensityStats'; } async serializeArguments(args, rpcDriver) { var _a; const { rootModel } = this.pluginManager; const assemblyManager = rootModel.session.assemblyManager; const renamedArgs = await (0, util_1.renameRegionsIfNeeded)(assemblyManager, { ...args, filters: (_a = args.filters) === null || _a === void 0 ? void 0 : _a.toJSON().filters, }); return super.serializeArguments(renamedArgs, rpcDriver); } async execute(args, rpcDriver) { const pm = this.pluginManager; const deserializedArgs = await this.deserializeArguments(args, rpcDriver); const { adapterConfig, sessionId, regions } = deserializedArgs; const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig); if (!(0, BaseAdapter_1.isFeatureAdapter)(dataAdapter)) { throw new Error('Adapter does not support retrieving features'); } return dataAdapter.getMultiRegionFeatureDensityStats(regions, deserializedArgs); } } exports.default = CoreGetFeatureDensityStats;