UNPKG

@rcsb/rcsb-saguaro-app

Version:
37 lines (36 loc) 1.64 kB
"use strict"; 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;