1 /** 2 * @namespace 3 * @name lib 4 */ 5 6 /** @lends lib */ 7 8 /** 9 * Clones an object. 10 * @param {Object} obj The object you want to clone. 11 * @returns {Object} A copy of obj. 12 */ 13 var clone = function (obj) { 14 if(obj == null || typeof(obj) != 'object') { 15 return obj; 16 } 17 var temp = new obj.constructor(); 18 for(var key in obj) { 19 temp[key] = clone(obj[key]); 20 } 21 return temp; 22 } 23 exports.clone = clone; 24 25 /** 26 * SHA1 a string. 27 * @param {String} data A string or buffer object. 28 * @returns {String} Hexedecimal SHA1 value of data. 29 */ 30 var sha1 = function (data) { 31 var crypto = require('crypto'); 32 var sha = crypto.createHash('sha1'); 33 sha.update(data); 34 return sha.digest('hex'); 35 } 36 exports.sha1 = sha1;