js/utils.js
function deepClone(inputDict){

    if (!inputDict)
        return null;

    const clonedDict = {};

    for (let key in inputDict){

        if (typeof(inputDict[key]) == 'object'){

            clonedDict[key] = deepClone(inputDict[key]);
        
        }
        else{

            clonedDict[key] = inputDict[key];

        }

    }

    return clonedDict;

}
function deepClone(inputDict){

    if (!inputDict)
        return null;

    const clonedDict = {};

    for (let key in inputDict){

        if (typeof(inputDict[key]) == 'object'){

            clonedDict[key] = deepClone(inputDict[key]);
        
        }
        else{

            clonedDict[key] = inputDict[key];

        }

    }

    return clonedDict;

}
function deepClone ( inputDict ) { if ( ! inputDict ) return null ; const clonedDict = { } ; for ( let key in inputDict ) { if ( typeof ( inputDict [ key ] ) == 'object' ) { clonedDict [ key ] = deepClone ( inputDict [ key ] ) ; } else { clonedDict [ key ] = inputDict [ key ] ; } } return clonedDict ; }
Deep clones dictionary
@memberof Utils
@param {object} inputDict Dictionary to clone
@returns {object} cloned dictionary
Deep clones dictionary