var reverse = jdp.reverse = function()

in pytheas-core/src/main/resources/js/jsondiffpatch.js [394:440]


    var reverse = jdp.reverse = function(d){

        var prop, rd;

        if (typeof d == 'undefined')
        {
            return;
        } else if (d === null){
            return null;
        } else if (typeof d == 'object' && !isDate(d)) {
            if (isArray(d)){
                if (d.length < 3) {
                    if (d.length == 1) {
                        // add => delete
                        return [d[0], 0, 0];
                    } else {
                        // modify => reverse modify
                        return [d[1], d[0]];
                    }
                }
                else {
                    if (d[2] == 0) {
                        // undefined, delete value => add value
                        return [d[0]];
                    }
                    else
                        if (d[2] == 2) {
                            return [textDiffReverse(d[0]), 0, 2];
                        }
                        else {
                            throw new Error("invalid diff type");
                        }
                }
            }else {
                rd = {};
                for (prop in d) {
                    if (d.hasOwnProperty(prop)) {
                        rd[prop] = reverse(d[prop]);
                    }
                }
                return rd;
            }
        } else if (typeof d === 'string' && d.slice(0,2) === '@@'){
            return textDiffReverse(d);
        }
        return d;
    }