00001 var baseAssignValue = require('./_baseAssignValue'), 00002 eq = require('./eq'); 00003 00005 var objectProto = Object.prototype; 00006 00008 var hasOwnProperty = objectProto.hasOwnProperty; 00009 00020 function assignValue(object, key, value) { 00021 var objValue = object[key]; 00022 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || 00023 (value === undefined && !(key in object))) { 00024 baseAssignValue(object, key, value); 00025 } 00026 } 00027 00028 module.exports = assignValue;