UNPKG

@rcsb/rcsb-saguaro-app

Version:
24 lines 1.64 kB
import { __awaiter } from "tslib"; export class AlignmentBlockFactory { constructor(alignmentTrackFactory, trackModifier) { this.trackFactory = alignmentTrackFactory; this.trackConfigModifier = trackModifier; } getBlock(alignmentRequestContext, alignmentData) { return __awaiter(this, void 0, void 0, function* () { var _a; alignmentRequestContext = Object.assign(Object.assign({}, alignmentRequestContext), { querySequence: (_a = alignmentData.query_sequence) !== null && _a !== void 0 ? _a : undefined }); if (!alignmentData.target_alignments) return []; return (yield Promise.all(alignmentData.target_alignments.map((alignment, index) => __awaiter(this, void 0, void 0, function* () { var _a, _b; if (alignmentRequestContext.filterByTargetContains != null && !((_a = alignment === null || alignment === void 0 ? void 0 : alignment.target_id) === null || _a === void 0 ? void 0 : _a.includes(alignmentRequestContext.filterByTargetContains))) return; if ((alignment === null || alignment === void 0 ? void 0 : alignment.target_sequence) == null) return; return Object.assign(Object.assign({}, yield this.trackFactory.getTrack(alignmentRequestContext, alignment)), yield ((_b = this.trackConfigModifier) === null || _b === void 0 ? void 0 : _b.call(this, alignmentRequestContext, alignment, alignmentData, index))); })))).filter((x) => x != undefined); }); } } //# sourceMappingURL=AlignmentBlockFactory.js.map