function getPassFailCriteriaFromString()

in lib/Utils/PassFailCriteriaUtil.js [9:55]


function getPassFailCriteriaFromString(passFailCriteria) {
    let failureCriteriaValue = {};
    passFailCriteria.forEach(criteria => {
        let criteriaString = criteria;
        let data = {
            aggregate: "",
            clientMetric: "",
            condition: "",
            value: "",
            requestName: "",
            action: "",
        };
        if (typeof criteria !== "string") {
            let request = Object.keys(criteria)[0];
            data.requestName = request;
            criteriaString = criteria[request];
        }
        let tempStr = "";
        for (let i = 0; i < criteriaString.length; i++) {
            if (criteriaString[i] == '(') {
                data.aggregate = tempStr.trim();
                tempStr = "";
            }
            else if (criteriaString[i] == ')') {
                data.clientMetric = tempStr;
                tempStr = "";
            }
            else if (criteriaString[i] == ',') {
                data.condition = tempStr.substring(0, (0, CommonUtils_1.indexOfFirstDigit)(tempStr)).trim();
                data.value = tempStr.substr((0, CommonUtils_1.indexOfFirstDigit)(tempStr)).trim();
                tempStr = "";
            }
            else {
                tempStr += criteriaString[i];
            }
        }
        if (criteriaString.indexOf(',') != -1) {
            data.action = tempStr.trim();
        }
        else {
            data.condition = tempStr.substring(0, (0, CommonUtils_1.indexOfFirstDigit)(tempStr)).trim();
            data.value = tempStr.substr((0, CommonUtils_1.indexOfFirstDigit)(tempStr)).trim();
        }
        validateCriteriaAndConvertToWorkingStringModel(data, failureCriteriaValue);
    });
    return failureCriteriaValue;
}