dist/yodata-context.js
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.