function assignValue(object, key, value) {
	  var objValue = object[key];
	  if (!(hasOwnProperty$3.call(object, key) && eq$2(objValue, value)) ||
	      (value === undefined && !(key in object))) {
	    object[key] = value;
	  }
	}
function assignValue(object, key, value) {
	  var objValue = object[key];
	  if (!(hasOwnProperty$3.call(object, key) && eq$2(objValue, value)) ||
	      (value === undefined && !(key in object))) {
	    object[key] = value;
	  }
	}
function assignValue ( object , key , value ) { var objValue = object [ key ] ; if ( ! ( hasOwnProperty$3 . call ( object , key ) && eq$2 ( objValue , value ) ) || ( value === undefined && ! ( key in object ) ) ) { object [ key ] = value ; } }
Assigns `value` to `key` of `object` if the existing value is not equivalent
using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
for equality comparisons.

@private
@param {Object} object The object to modify.
@param {string} key The key of the property to assign.
@param {*} value The value to assign.
Assigns value to key of object if the existing value is not equivalent using [ SameValueZero ] ( http : // ecma - international . org / ecma - 262 / 7 . 0 / #sec - samevaluezero ) for equality comparisons .