lib/util.js
function() {
        var obj = arguments[0], args = Array.prototype.slice.call(arguments, 1);

        function copy(destination, source) {
            for (var property in source) {
                if (source[property] && source[property].constructor &&
                    source[property].constructor === Object) {
                    destination[property] = destination[property] || {};
                    copy(destination[property], source[property]);
                } else {
                    destination[property] = source[property];
                }
            }
            return destination;
        }

        for(var i in args) {
            copy(obj, args[i]);
        }

        return obj;
    }
function() {
        var obj = arguments[0], args = Array.prototype.slice.call(arguments, 1);

        function copy(destination, source) {
            for (var property in source) {
                if (source[property] && source[property].constructor &&
                    source[property].constructor === Object) {
                    destination[property] = destination[property] || {};
                    copy(destination[property], source[property]);
                } else {
                    destination[property] = source[property];
                }
            }
            return destination;
        }

        for(var i in args) {
            copy(obj, args[i]);
        }

        return obj;
    }
function ( ) { var obj = arguments [ 0 ] , args = Array . prototype . slice . call ( arguments , 1 ) ; function copy ( destination , source ) { for ( var property in source ) { if ( source [ property ] && source [ property ] . constructor && source [ property ] . constructor === Object ) { destination [ property ] = destination [ property ] || { } ; copy ( destination [ property ] , source [ property ] ) ; } else { destination [ property ] = source [ property ] ; } } return destination ; } for ( var i in args ) { copy ( obj , args [ i ] ) ; } return obj ; }
Recursively merge objects together
Recursively merge objects together