(function(){ /** * Copies all enumerable properties of one object to another * @memberOf fabric.util.object * @method extend * @param {Object} destination Where to copy to * @param {Object} source Where to copy from */ function extend(destination, source) { // JScript DontEnum bug is not taken care of for (var property in source) { destination[property] = source[property]; } return destination; } /** * Creates an empty object and copies all enumerable properties of another object to it * @method clone * @memberOf fabric.util.object * @param {Object} object Object to clone */ function clone(object) { return extend({ }, object); } /** @namespace Object utilities */ fabric.util.object = { extend: extend, clone: clone }; })();