lib/util.js
function forOwnDeep(object, callback, prefix) {
    prefix = prefix ? prefix + '.' : '';

    _.forOwn(object, function(value, key) {
        if (_.isString(value)) {
            callback(value, prefix + key);
        } else {
            forOwnDeep(value, callback, prefix + key);
        }
    });
}
function forOwnDeep(object, callback, prefix) {
    prefix = prefix ? prefix + '.' : '';

    _.forOwn(object, function(value, key) {
        if (_.isString(value)) {
            callback(value, prefix + key);
        } else {
            forOwnDeep(value, callback, prefix + key);
        }
    });
}
function forOwnDeep ( object , callback , prefix ) { prefix = prefix ? prefix + '.' : '' ; _ . forOwn ( object , function ( value , key ) { if ( _ . isString ( value ) ) { callback ( value , prefix + key ) ; } else { forOwnDeep ( value , callback , prefix + key ) ; } } ) ; }
Utility function for looping deeply over an object's properties

@param object - object to loop over
@param callback - callback to call for every key-value pair found
@param prefix - prefix to use for the keys that are returned in the callback
Utility function for looping deeply over an object s properties