@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
37 lines (36 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultipleEntityInstancesCollector = void 0;
const tslib_1 = require("tslib");
const RcsbClient_1 = require("../../RcsbGraphQL/RcsbClient");
const PolymerEntityInstancesCollector_1 = require("./PolymerEntityInstancesCollector");
const Assertions_1 = require("../../RcsbUtils/Helpers/Assertions");
var assertElementListDefined = Assertions_1.Assertions.assertElementListDefined;
class MultipleEntityInstancesCollector {
constructor() {
this.rcsbFvQuery = RcsbClient_1.rcsbClient;
}
collect(requestConfig) {
return tslib_1.__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_1.PolymerEntityInstancesCollector.parsePolymerEntityInstances(entity.polymer_entity_instances, out);
}
});
return out;
}
}
exports.MultipleEntityInstancesCollector = MultipleEntityInstancesCollector;