UNPKG

@rcsb/rcsb-saguaro-app

Version:
26 lines (25 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TrackDistributionFactory = void 0; const RcsbDistributionConfig_1 = require("../../../../../RcsbAnnotationConfig/RcsbDistributionConfig"); const MultipleTrackDistributionFactory_1 = require("./MultipleTrackDistributionFactory"); const NumericalTrackDistributionFactory_1 = require("./NumericalTrackDistributionFactory"); class TrackDistributionFactory { constructor(distributionConfig) { this.distributionConfig = distributionConfig !== null && distributionConfig !== void 0 ? distributionConfig : new RcsbDistributionConfig_1.RcsbDistributionConfig(); this.multipleTrackDistributionFactory = new MultipleTrackDistributionFactory_1.MultipleTrackDistributionFactory(distributionConfig); this.numericalTrackDistributionFactory = new NumericalTrackDistributionFactory_1.NumericalTrackDistributionFactory(distributionConfig); } getDistribution(tracks, blockType, numberResidues) { var _a; switch ((_a = this.distributionConfig.getBlockConfig(blockType)) === null || _a === void 0 ? void 0 : _a.contentType) { case "binary": return this.multipleTrackDistributionFactory.getDistribution(tracks, blockType, numberResidues); case "numerical": return this.numericalTrackDistributionFactory.getDistribution([tracks[0]], blockType, numberResidues); default: return undefined; } } } exports.TrackDistributionFactory = TrackDistributionFactory;