history.js
function prepareDescriptorsForObject(object, prop, descriptor) {
    descriptor = descriptor || {};
    // the default for the object 'location' is the standard object 'window.location'
    object = object === locationDescriptors ? windowLocation : object;
    // setter for object properties
    descriptor.set = (descriptor.set || function(value) {
      object[prop] = value;
    });
    // getter for object properties
    descriptor.get = (descriptor.get || function() {
      return object[prop];
    });
    return descriptor;
  }
function prepareDescriptorsForObject(object, prop, descriptor) {
    descriptor = descriptor || {};
    // the default for the object 'location' is the standard object 'window.location'
    object = object === locationDescriptors ? windowLocation : object;
    // setter for object properties
    descriptor.set = (descriptor.set || function(value) {
      object[prop] = value;
    });
    // getter for object properties
    descriptor.get = (descriptor.get || function() {
      return object[prop];
    });
    return descriptor;
  }
function prepareDescriptorsForObject ( object , prop , descriptor ) { descriptor = descriptor || { } ; // the default for the object 'location' is the standard object 'window.location' object = object === locationDescriptors ? windowLocation : object ; // setter for object properties descriptor . set = ( descriptor . set || function ( value ) { object [ prop ] = value ; } ) ; // getter for object properties descriptor . get = ( descriptor . get || function ( ) { return object [ prop ] ; } ) ; return descriptor ; }
Adds the missing property in descriptor

@param {Object} object An object that stores values
@param {String} prop Name of the property in the object
@param {Object|null} descriptor Descriptor
@return {Object} Returns the generated descriptor
Adds the missing property in descriptor