@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
27 lines • 1.26 kB
JavaScript
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