function mergePassFailCriteria()

in src/Utils/CreateAndRunUtils.ts [256:285]


function mergePassFailCriteria(loadTestConfig: LoadtestConfig, existingData:ExistingParams) : {
    [key: string]: PassFailMetric | null;
} {
    let existingCriteria = existingData.passFailCriteria;
    let existingCriteriaIds = Object.keys(existingCriteria);
    var numberOfExistingCriteria = existingCriteriaIds.length;
    var index = 0;

    let passFailCriteriaMerged : { [key: string]: PassFailMetric | null } = {};

    if (!isNullOrUndefined(loadTestConfig.failureCriteria)) {
        for(var key in loadTestConfig.failureCriteria) {
            var splitted = key.split(" ");
            var criteriaId = index < numberOfExistingCriteria ? existingCriteriaIds[index++] : Util.getUniqueId();
            passFailCriteriaMerged[criteriaId] = {
                clientMetric: splitted[0],
                aggregate: splitted[1],
                condition: splitted[2],
                action : splitted[3],
                value: loadTestConfig.failureCriteria[key],
                requestName: splitted.length > 4 ? splitted.slice(4).join(' ') : null 
            };
        }
    }

    for (; index < numberOfExistingCriteria; index++) {
        passFailCriteriaMerged[existingCriteriaIds[index]] = null;
    }
    return passFailCriteriaMerged;
}