UNPKG

@rcsb/rcsb-saguaro-app

Version:
27 lines 1.26 kB
import { __awaiter } from "tslib"; import { MultipleEntityInstancesCollector } from "./MultipleEntityInstancesCollector"; import { TagDelimiter } from "@rcsb/rcsb-api-tools/lib/RcsbUtils/TagDelimiter"; export class MultiplePolymerEntityCollector { constructor() { this.multipleEntityInstanceCollector = new MultipleEntityInstancesCollector(); } collect(requestConfig) { return __awaiter(this, void 0, void 0, function* () { const results = yield this.multipleEntityInstanceCollector.collect(requestConfig); const map = new Map(); results.forEach(r => { var _a; if (!map.has(`${r.entryId}${TagDelimiter.entity}${r.entityId}`)) map.set(`${r.entryId}${TagDelimiter.entity}${r.entityId}`, []); (_a = map.get(`${r.entryId}${TagDelimiter.entity}${r.entityId}`)) === null || _a === void 0 ? void 0 : _a.push(r); }); return Array.from(map.entries()).map(([k, v]) => ({ rcsbId: v[0].rcsbId, entityId: v[0].entityId, entryId: v[0].entryId, instances: v })); }); } } //# sourceMappingURL=MultiplePolymerEntityCollector.js.map