Вход Регистрация
Файл: src/javascript/-merge.js
Строк: 32
<?php
/**
 * Update [old] object with [newer] values
 * @return {obj}
 */
function deepMerge(targetsource) {
    if (
typeof target !== 'object') {
        return 
false;
    }

    if (!
source) {
        return 
target;
    }

    var 
srcval;
    
Object.keys(source).forEach(function (k) {
        
src target[k]; // old val
        
val source[k]; // new val

        // prevent recursion
        
if (val === target) {
            return;
        }

        
// if new value isn't object then just overwrite by new value instead of extending.
        
if (typeof val !== 'object' || val === null) {
            
target[k] = val;
            return;
        }

        
// overwrite by new value if source isn't object or array
        
if (typeof src !== 'object' || src === null || Array.isArray(src)) {
            
target[k] = deepMerge({}, val);
            return;
        }

        
// source value and new value is objects both, extending...
        
target[k] = deepMerge(srcval);
        return;
    });

    return 
target;
}

module.exports deepMerge;
?>
Онлайн: 0
Реклама