@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
33 lines • 1.42 kB
JavaScript
import { __awaiter } from "tslib";
import { rcsbClient } from "../../RcsbGraphQL/RcsbClient";
import { PolymerEntityInstancesCollector } from "./PolymerEntityInstancesCollector";
import { Assertions } from "../../RcsbUtils/Helpers/Assertions";
var assertElementListDefined = Assertions.assertElementListDefined;
export class MultipleEntityInstancesCollector {
constructor() {
this.rcsbFvQuery = rcsbClient;
}
collect(requestConfig) {
return __awaiter(this, void 0, void 0, function* () {
try {
const result = yield this.rcsbFvQuery.requestMultipleEntityInstances(requestConfig);
return MultipleEntityInstancesCollector.getEntityInstances(result);
}
catch (error) {
console.log(error);
throw error;
}
});
}
static getEntityInstances(polymer_entities) {
const out = new Array();
polymer_entities === null || polymer_entities === void 0 ? void 0 : polymer_entities.forEach(entity => {
if (Array.isArray(entity.polymer_entity_instances)) {
assertElementListDefined(entity.polymer_entity_instances);
PolymerEntityInstancesCollector.parsePolymerEntityInstances(entity.polymer_entity_instances, out);
}
});
return out;
}
}
//# sourceMappingURL=MultipleEntityInstancesCollector.js.map