UNPKG

@rcsb/rcsb-saguaro-app

Version:
26 lines (25 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupMemberCollector = void 0; const tslib_1 = require("tslib"); const RcsbClient_1 = require("../../RcsbGraphQL/RcsbClient"); const MultipleEntityInstancesCollector_1 = require("./MultipleEntityInstancesCollector"); class GroupMemberCollector { constructor() { this.rcsbFvQuery = RcsbClient_1.rcsbClient; } collect(requestConfig) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const result = yield this.rcsbFvQuery.requestGroupInfo(requestConfig); if (result.rcsb_group_info.group_members_granularity === "polymer_entity") { const multipleEntityInstancesCollector = new MultipleEntityInstancesCollector_1.MultipleEntityInstancesCollector(); return yield multipleEntityInstancesCollector.collect({ entity_ids: result.rcsb_group_container_identifiers.group_member_ids.filter((x) => x != null) }); } else { console.error(`Group granularity ${result.rcsb_group_info.group_members_granularity} not supported`); throw new Error(`Group granularity ${result.rcsb_group_info.group_members_granularity} not supported`); } }); } } exports.GroupMemberCollector = GroupMemberCollector;