lib/leche.js
function isES5DataProperty(object, key) {

	var result = false;

	// make sure this works in older browsers without error
	if (Object.getOwnPropertyDescriptor && object.hasOwnProperty(key)) {

		var descriptor = Object.getOwnPropertyDescriptor(object, key);
		result = ('value' in descriptor) && (typeof descriptor.value !== 'function');
	}

	return result;
}
function isES5DataProperty(object, key) {

	var result = false;

	// make sure this works in older browsers without error
	if (Object.getOwnPropertyDescriptor && object.hasOwnProperty(key)) {

		var descriptor = Object.getOwnPropertyDescriptor(object, key);
		result = ('value' in descriptor) && (typeof descriptor.value !== 'function');
	}

	return result;
}
function isES5DataProperty ( object , key ) { var result = false ; // make sure this works in older browsers without error if ( Object . getOwnPropertyDescriptor && object . hasOwnProperty ( key ) ) { var descriptor = Object . getOwnPropertyDescriptor ( object , key ) ; result = ( 'value' in descriptor ) && ( typeof descriptor . value !== 'function' ) ; } return result ; }
Determines if a given property is a data property in ES5. This is
important because we can overwrite data properties with getters in ES5,
but not in ES3.
@param {Object} object The object to check.
@param {string} key The property name to check.
@returns {boolean} True if it's an ES5 data property, false if not.
@private
Determines if a given property is a data property in ES5 . This is important because we can overwrite data properties with getters in ES5 but not in ES3 .