@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
26 lines (25 loc) • 1.56 kB
JavaScript
;
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;