@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
22 lines • 1.17 kB
JavaScript
import { __awaiter } from "tslib";
import { rcsbClient } from "../../RcsbGraphQL/RcsbClient";
import { MultipleEntityInstancesCollector } from "./MultipleEntityInstancesCollector";
export class GroupMemberCollector {
constructor() {
this.rcsbFvQuery = rcsbClient;
}
collect(requestConfig) {
return __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();
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`);
}
});
}
}
//# sourceMappingURL=GroupMemberCollector.js.map