UNPKG

vwo-fme-node-sdk

Version:

VWO Node/JavaScript SDK for Feature Management and Experimentation

92 lines 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VariationModel = void 0; var VariableModel_1 = require("./VariableModel"); var VariationModel = /** @class */ (function () { function VariationModel() { this.variables = []; this.variations = []; } VariationModel.prototype.modelFromDictionary = function (variation) { var _this = this; this.id = variation.i || variation.id; this.key = variation.n || variation.key || variation.name; this.weight = variation.w || variation.weight; this.ruleKey = variation.ruleKey; this.salt = variation.salt; this.type = variation.type; this.setStartRange(variation.startRangeVariation); this.setEndRange(variation.endRangeVariation); if (variation.seg || variation.segments) { this.segments = variation.seg || variation.segments; } if (variation.variables) { if (variation.variables.constructor === {}.constructor) { this.variables = []; } else { var variableList = variation.variables; variableList.forEach(function (variable) { _this.variables.push(VariableModel_1.VariableModel.modelFromDictionary(variable)); }); } } if (variation.variations) { if (variation.variations.constructor === {}.constructor) { this.variations = []; } else { var variationList = variation.variations; variationList.forEach(function (variation) { _this.variations.push(new VariationModel().modelFromDictionary(variation)); }); } } return this; }; VariationModel.prototype.setStartRange = function (startRange) { this.startRangeVariation = startRange; }; VariationModel.prototype.setEndRange = function (endRange) { this.endRangeVariation = endRange; }; VariationModel.prototype.setWeight = function (weight) { this.weight = weight; }; VariationModel.prototype.getId = function () { return this.id; }; VariationModel.prototype.getKey = function () { return this.key; }; VariationModel.prototype.getRuleKey = function () { return this.ruleKey; }; VariationModel.prototype.getWeight = function () { return this.weight; }; VariationModel.prototype.getSegments = function () { return this.segments; }; VariationModel.prototype.getStartRangeVariation = function () { return this.startRangeVariation; }; VariationModel.prototype.getEndRangeVariation = function () { return this.endRangeVariation; }; VariationModel.prototype.getVariables = function () { return this.variables; }; VariationModel.prototype.getVariations = function () { return this.variations; }; VariationModel.prototype.getType = function () { return this.type; }; VariationModel.prototype.getSalt = function () { return this.salt; }; return VariationModel; }()); exports.VariationModel = VariationModel; //# sourceMappingURL=VariationModel.js.map