1 /**
  2  * Copies all enumerable properties of one object to another
  3  * @memberOf fabric.util.object
  4  * @method extend
  5  * @param {Object} destination Where to copy to
  6  * @param {Object} source Where to copy from
  7  */
  8 function extend(destination, source) {  
  9   // JScript DontEnum bug is not taken care of
 10   for (var property in source) {
 11     destination[property] = source[property];
 12   }
 13   return destination;
 14 }
 15 
 16 /**
 17  * Creates an empty object and copies all enumerable properties of another object to it
 18  * @method clone
 19  * @memberOf fabric.util.object
 20  * @param {Object} object Object to clone
 21  */
 22 function clone(object) {
 23   return extend({ }, object);
 24 }
 25 
 26 /** @namespace fabric.util.object */
 27 fabric.util.object = {
 28   extend: extend,
 29   clone: clone
 30 };