Tuesday, February 23, 2016

IF() to Ternary Operator conversion in Javascript

<script>
function myFunction() {
   
    var str = "IF((4+2)==5,true,false)";
    str = str.replace(/\s/g, '');
    var length = str.length;
    while (str.lastIndexOf("(") != -1 ) {
       
        var start = str.lastIndexOf("(");
        var strEnd = str.substring(start,str.length);
        var end = start + strEnd.indexOf(")");
        var tempWithIf = str.substring(start-2, end+1);
        var tempWithBrack = str.substring(start, end+1);
        var temp = str.substring(start+1, end);
        var tempArr = temp.split(',');
        var strReplace;
        if (tempArr.length == 3) {
            strReplace = tempArr[0] + "?" + tempArr[1] + ":" +  tempArr[2];
            str = str.replace(tempWithIf,strReplace);
        } else {
           
             strReplace = tempWithBrack.replace('(','{');
             strReplace = strReplace.replace(')','}');
             str = str.replace(tempWithBrack,strReplace);
        }
     
    }
    str = str.replace(/{/g,'(');
    str = str.replace(/}/g,')');
    console.log(eval(str));
   
}
</script>

Thanks to Ramarajan

Salesforce - Generate dynamic inner query to fetch parent and related child records

Use Case: In many scenarios, we need to clone the records with related child records. Issue / Limitation: We may simply use the "cl...