00001 var eq = require('./eq'); 00002 00004 var objectProto = Object.prototype; 00005 00007 var hasOwnProperty = objectProto.hasOwnProperty; 00008 00021 function customDefaultsAssignIn(objValue, srcValue, key, object) { 00022 if (objValue === undefined || 00023 (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { 00024 return srcValue; 00025 } 00026 return objValue; 00027 } 00028 00029 module.exports = customDefaultsAssignIn;