@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
22 lines • 1.34 kB
JavaScript
import { RcsbDistributionConfig } from "../../../../../RcsbAnnotationConfig/RcsbDistributionConfig";
import { MultipleTrackDistributionFactory } from "./MultipleTrackDistributionFactory";
import { NumericalTrackDistributionFactory } from "./NumericalTrackDistributionFactory";
export class TrackDistributionFactory {
constructor(distributionConfig) {
this.distributionConfig = distributionConfig !== null && distributionConfig !== void 0 ? distributionConfig : new RcsbDistributionConfig();
this.multipleTrackDistributionFactory = new MultipleTrackDistributionFactory(distributionConfig);
this.numericalTrackDistributionFactory = new 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;
}
}
}
//# sourceMappingURL=TrackDistributionFactory.js.map