lib/processor/annotation/Merge.js
function (mine, their, strategy) {
        this._doMerge(mine, their, function(key){
            if (typeof their[key] === 'object') {
                if (their[key] instanceof Array) {
                    mine[key] = [].concat(mine[key], their[key]);
                } else {
                    mine[key] = this[strategy](mine[key], their[key]);
                }
            } else if (mine[key] === undefined ) {
                mine[key] = their[key];
            }
        });

        return mine;
    }
function (mine, their, strategy) {
        this._doMerge(mine, their, function(key){
            if (typeof their[key] === 'object') {
                if (their[key] instanceof Array) {
                    mine[key] = [].concat(mine[key], their[key]);
                } else {
                    mine[key] = this[strategy](mine[key], their[key]);
                }
            } else if (mine[key] === undefined ) {
                mine[key] = their[key];
            }
        });

        return mine;
    }
function ( mine , their , strategy ) { this . _doMerge ( mine , their , function ( key ) { if ( typeof their [ key ] === 'object' ) { if ( their [ key ] instanceof Array ) { mine [ key ] = [ ] . concat ( mine [ key ] , their [ key ] ) ; } else { mine [ key ] = this [ strategy ] ( mine [ key ] , their [ key ] ) ; } } else if ( mine [ key ] === undefined ) { mine [ key ] = their [ key ] ; } } ) ; return mine ; }
runs the deep merge using the given strategy
runs the deep merge using the given strategy