angular-gravatar
Advanced tools
Comparing version 0.2.4 to 0.3.0
{ | ||
"name": "angular-gravatar", | ||
"version": "0.2.4", | ||
"version": "0.3.0", | ||
"author": { | ||
@@ -5,0 +5,0 @@ "name": "Sebastian Wallin" |
@@ -0,1 +1,385 @@ | ||
/* | ||
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message | ||
* Digest Algorithm, as defined in RFC 1321. | ||
* Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 | ||
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet | ||
* Distributed under the BSD License | ||
* See http://pajhome.org.uk/crypt/md5 for more info. | ||
*/ | ||
angular.module('md5', []).factory('md5', function() { | ||
/* | ||
* Configurable variables. You may need to tweak these to be compatible with | ||
* the server-side, but the defaults work in most cases. | ||
*/ | ||
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ | ||
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ | ||
/* | ||
* These are the functions you'll usually want to call | ||
* They take string arguments and return either hex or base-64 encoded strings | ||
*/ | ||
function hex_md5(s) { return rstr2hex(rstr_md5(str2rstr_utf8(s))); } | ||
function b64_md5(s) { return rstr2b64(rstr_md5(str2rstr_utf8(s))); } | ||
function any_md5(s, e) { return rstr2any(rstr_md5(str2rstr_utf8(s)), e); } | ||
function hex_hmac_md5(k, d) | ||
{ return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); } | ||
function b64_hmac_md5(k, d) | ||
{ return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); } | ||
function any_hmac_md5(k, d, e) | ||
{ return rstr2any(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)), e); } | ||
/* | ||
* Perform a simple self-test to see if the VM is working | ||
*/ | ||
function md5_vm_test() | ||
{ | ||
return hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72"; | ||
} | ||
/* | ||
* Calculate the MD5 of a raw string | ||
*/ | ||
function rstr_md5(s) | ||
{ | ||
return binl2rstr(binl_md5(rstr2binl(s), s.length * 8)); | ||
} | ||
/* | ||
* Calculate the HMAC-MD5, of a key and some data (raw strings) | ||
*/ | ||
function rstr_hmac_md5(key, data) | ||
{ | ||
var bkey = rstr2binl(key); | ||
if(bkey.length > 16) bkey = binl_md5(bkey, key.length * 8); | ||
var ipad = Array(16), opad = Array(16); | ||
for(var i = 0; i < 16; i++) | ||
{ | ||
ipad[i] = bkey[i] ^ 0x36363636; | ||
opad[i] = bkey[i] ^ 0x5C5C5C5C; | ||
} | ||
var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); | ||
return binl2rstr(binl_md5(opad.concat(hash), 512 + 128)); | ||
} | ||
/* | ||
* Convert a raw string to a hex string | ||
*/ | ||
function rstr2hex(input) | ||
{ | ||
try { hexcase } catch(e) { hexcase=0; } | ||
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; | ||
var output = ""; | ||
var x; | ||
for(var i = 0; i < input.length; i++) | ||
{ | ||
x = input.charCodeAt(i); | ||
output += hex_tab.charAt((x >>> 4) & 0x0F) | ||
+ hex_tab.charAt( x & 0x0F); | ||
} | ||
return output; | ||
} | ||
/* | ||
* Convert a raw string to a base-64 string | ||
*/ | ||
function rstr2b64(input) | ||
{ | ||
try { b64pad } catch(e) { b64pad=''; } | ||
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; | ||
var output = ""; | ||
var len = input.length; | ||
for(var i = 0; i < len; i += 3) | ||
{ | ||
var triplet = (input.charCodeAt(i) << 16) | ||
| (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0) | ||
| (i + 2 < len ? input.charCodeAt(i+2) : 0); | ||
for(var j = 0; j < 4; j++) | ||
{ | ||
if(i * 8 + j * 6 > input.length * 8) output += b64pad; | ||
else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); | ||
} | ||
} | ||
return output; | ||
} | ||
/* | ||
* Convert a raw string to an arbitrary string encoding | ||
*/ | ||
function rstr2any(input, encoding) | ||
{ | ||
var divisor = encoding.length; | ||
var i, j, q, x, quotient; | ||
/* Convert to an array of 16-bit big-endian values, forming the dividend */ | ||
var dividend = Array(Math.ceil(input.length / 2)); | ||
for(i = 0; i < dividend.length; i++) | ||
{ | ||
dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1); | ||
} | ||
/* | ||
* Repeatedly perform a long division. The binary array forms the dividend, | ||
* the length of the encoding is the divisor. Once computed, the quotient | ||
* forms the dividend for the next step. All remainders are stored for later | ||
* use. | ||
*/ | ||
var full_length = Math.ceil(input.length * 8 / | ||
(Math.log(encoding.length) / Math.log(2))); | ||
var remainders = Array(full_length); | ||
for(j = 0; j < full_length; j++) | ||
{ | ||
quotient = Array(); | ||
x = 0; | ||
for(i = 0; i < dividend.length; i++) | ||
{ | ||
x = (x << 16) + dividend[i]; | ||
q = Math.floor(x / divisor); | ||
x -= q * divisor; | ||
if(quotient.length > 0 || q > 0) | ||
quotient[quotient.length] = q; | ||
} | ||
remainders[j] = x; | ||
dividend = quotient; | ||
} | ||
/* Convert the remainders to the output string */ | ||
var output = ""; | ||
for(i = remainders.length - 1; i >= 0; i--) | ||
output += encoding.charAt(remainders[i]); | ||
return output; | ||
} | ||
/* | ||
* Encode a string as utf-8. | ||
* For efficiency, this assumes the input is valid utf-16. | ||
*/ | ||
function str2rstr_utf8(input) | ||
{ | ||
var output = ""; | ||
var i = -1; | ||
var x, y; | ||
while(++i < input.length) | ||
{ | ||
/* Decode utf-16 surrogate pairs */ | ||
x = input.charCodeAt(i); | ||
y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0; | ||
if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) | ||
{ | ||
x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); | ||
i++; | ||
} | ||
/* Encode output as utf-8 */ | ||
if(x <= 0x7F) | ||
output += String.fromCharCode(x); | ||
else if(x <= 0x7FF) | ||
output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F), | ||
0x80 | ( x & 0x3F)); | ||
else if(x <= 0xFFFF) | ||
output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), | ||
0x80 | ((x >>> 6 ) & 0x3F), | ||
0x80 | ( x & 0x3F)); | ||
else if(x <= 0x1FFFFF) | ||
output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), | ||
0x80 | ((x >>> 12) & 0x3F), | ||
0x80 | ((x >>> 6 ) & 0x3F), | ||
0x80 | ( x & 0x3F)); | ||
} | ||
return output; | ||
} | ||
/* | ||
* Encode a string as utf-16 | ||
*/ | ||
function str2rstr_utf16le(input) | ||
{ | ||
var output = ""; | ||
for(var i = 0; i < input.length; i++) | ||
output += String.fromCharCode( input.charCodeAt(i) & 0xFF, | ||
(input.charCodeAt(i) >>> 8) & 0xFF); | ||
return output; | ||
} | ||
function str2rstr_utf16be(input) | ||
{ | ||
var output = ""; | ||
for(var i = 0; i < input.length; i++) | ||
output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, | ||
input.charCodeAt(i) & 0xFF); | ||
return output; | ||
} | ||
/* | ||
* Convert a raw string to an array of little-endian words | ||
* Characters >255 have their high-byte silently ignored. | ||
*/ | ||
function rstr2binl(input) | ||
{ | ||
var output = Array(input.length >> 2); | ||
for(var i = 0; i < output.length; i++) | ||
output[i] = 0; | ||
for(var i = 0; i < input.length * 8; i += 8) | ||
output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32); | ||
return output; | ||
} | ||
/* | ||
* Convert an array of little-endian words to a string | ||
*/ | ||
function binl2rstr(input) | ||
{ | ||
var output = ""; | ||
for(var i = 0; i < input.length * 32; i += 8) | ||
output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF); | ||
return output; | ||
} | ||
/* | ||
* Calculate the MD5 of an array of little-endian words, and a bit length. | ||
*/ | ||
function binl_md5(x, len) | ||
{ | ||
/* append padding */ | ||
x[len >> 5] |= 0x80 << ((len) % 32); | ||
x[(((len + 64) >>> 9) << 4) + 14] = len; | ||
var a = 1732584193; | ||
var b = -271733879; | ||
var c = -1732584194; | ||
var d = 271733878; | ||
for(var i = 0; i < x.length; i += 16) | ||
{ | ||
var olda = a; | ||
var oldb = b; | ||
var oldc = c; | ||
var oldd = d; | ||
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); | ||
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); | ||
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); | ||
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); | ||
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); | ||
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); | ||
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); | ||
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); | ||
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); | ||
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); | ||
c = md5_ff(c, d, a, b, x[i+10], 17, -42063); | ||
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); | ||
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); | ||
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); | ||
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); | ||
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); | ||
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); | ||
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); | ||
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); | ||
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); | ||
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); | ||
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); | ||
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); | ||
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); | ||
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); | ||
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); | ||
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); | ||
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); | ||
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); | ||
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); | ||
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); | ||
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); | ||
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); | ||
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); | ||
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); | ||
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); | ||
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); | ||
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); | ||
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); | ||
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); | ||
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); | ||
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); | ||
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); | ||
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); | ||
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); | ||
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); | ||
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); | ||
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); | ||
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); | ||
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); | ||
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); | ||
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); | ||
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); | ||
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); | ||
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); | ||
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); | ||
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); | ||
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); | ||
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); | ||
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); | ||
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); | ||
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); | ||
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); | ||
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); | ||
a = safe_add(a, olda); | ||
b = safe_add(b, oldb); | ||
c = safe_add(c, oldc); | ||
d = safe_add(d, oldd); | ||
} | ||
return Array(a, b, c, d); | ||
} | ||
/* | ||
* These functions implement the four basic operations the algorithm uses. | ||
*/ | ||
function md5_cmn(q, a, b, x, s, t) | ||
{ | ||
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); | ||
} | ||
function md5_ff(a, b, c, d, x, s, t) | ||
{ | ||
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); | ||
} | ||
function md5_gg(a, b, c, d, x, s, t) | ||
{ | ||
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); | ||
} | ||
function md5_hh(a, b, c, d, x, s, t) | ||
{ | ||
return md5_cmn(b ^ c ^ d, a, b, x, s, t); | ||
} | ||
function md5_ii(a, b, c, d, x, s, t) | ||
{ | ||
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); | ||
} | ||
/* | ||
* Add integers, wrapping at 2^32. This uses 16-bit operations internally | ||
* to work around bugs in some JS interpreters. | ||
*/ | ||
function safe_add(x, y) | ||
{ | ||
var lsw = (x & 0xFFFF) + (y & 0xFFFF); | ||
var msw = (x >> 16) + (y >> 16) + (lsw >> 16); | ||
return (msw << 16) | (lsw & 0xFFFF); | ||
} | ||
/* | ||
* Bitwise rotate a 32-bit number to the left. | ||
*/ | ||
function bit_rol(num, cnt) | ||
{ | ||
return (num << cnt) | (num >>> (32 - cnt)); | ||
} | ||
return hex_md5; | ||
}); | ||
(function() { | ||
@@ -2,0 +386,0 @@ var gravatarDirectiveFactory; |
@@ -1,1 +0,1 @@ | ||
(function(){var a;a=function(a){return["gravatarService",function(b){var c;return c=function(a,b){var c,d,e;d={};for(c in b)e=b[c],0===c.indexOf(a)&&(c=c.substr(a.length).toLowerCase(),c.length>0&&(d[c]=e));return d},{restrict:"A",link:function(d,e,f){var g,h,i,j;g=a?"gravatarSrcOnce":"gravatarSrc",h=f[g],delete f[g],i=c("gravatar",f),j=d.$watch(h,function(c){if(a){if(null==c)return;j()}e.attr("src",b.url(c,i))})}}}]},angular.module("ui.gravatar",["md5"]).provider("gravatarService",function(){var a,b,c;return b=this,a=/^[0-9a-f]{32}$/i,c=function(a){var b,c,d;c=[];for(b in a)d=a[b],c.push(""+b+"="+encodeURIComponent(d));return c.join("&")},this.defaults={},this.secure=!1,this.protocol=null,this.$get=["md5",function(d){return{url:function(e,f){var g,h,i,j;return null==e&&(e=""),null==f&&(f={}),f=angular.extend(angular.copy(b.defaults),f),i=b.protocol?b.protocol+":":"",j=b.secure?"https://secure":i+"//www",e=a.test(e)?e:d(e),h=[j,".gravatar.com/avatar/",e],g=c(f),g.length>0&&h.push("?"+g),h.join("")}}}],this}).directive("gravatarSrc",a()).directive("gravatarSrcOnce",a(!0))}).call(this); | ||
angular.module("md5",[]).factory("md5",function(){function a(a){return c(b(d(a)))}function b(a){return f(g(e(a),8*a.length))}function c(a){try{}catch(b){o=0}for(var c,d=o?"0123456789ABCDEF":"0123456789abcdef",e="",f=0;f<a.length;f++)c=a.charCodeAt(f),e+=d.charAt(c>>>4&15)+d.charAt(15&c);return e}function d(a){for(var b,c,d="",e=-1;++e<a.length;)b=a.charCodeAt(e),c=e+1<a.length?a.charCodeAt(e+1):0,b>=55296&&56319>=b&&c>=56320&&57343>=c&&(b=65536+((1023&b)<<10)+(1023&c),e++),127>=b?d+=String.fromCharCode(b):2047>=b?d+=String.fromCharCode(192|b>>>6&31,128|63&b):65535>=b?d+=String.fromCharCode(224|b>>>12&15,128|b>>>6&63,128|63&b):2097151>=b&&(d+=String.fromCharCode(240|b>>>18&7,128|b>>>12&63,128|b>>>6&63,128|63&b));return d}function e(a){for(var b=Array(a.length>>2),c=0;c<b.length;c++)b[c]=0;for(var c=0;c<8*a.length;c+=8)b[c>>5]|=(255&a.charCodeAt(c/8))<<c%32;return b}function f(a){for(var b="",c=0;c<32*a.length;c+=8)b+=String.fromCharCode(a[c>>5]>>>c%32&255);return b}function g(a,b){a[b>>5]|=128<<b%32,a[(b+64>>>9<<4)+14]=b;for(var c=1732584193,d=-271733879,e=-1732584194,f=271733878,g=0;g<a.length;g+=16){var h=c,n=d,o=e,p=f;c=i(c,d,e,f,a[g+0],7,-680876936),f=i(f,c,d,e,a[g+1],12,-389564586),e=i(e,f,c,d,a[g+2],17,606105819),d=i(d,e,f,c,a[g+3],22,-1044525330),c=i(c,d,e,f,a[g+4],7,-176418897),f=i(f,c,d,e,a[g+5],12,1200080426),e=i(e,f,c,d,a[g+6],17,-1473231341),d=i(d,e,f,c,a[g+7],22,-45705983),c=i(c,d,e,f,a[g+8],7,1770035416),f=i(f,c,d,e,a[g+9],12,-1958414417),e=i(e,f,c,d,a[g+10],17,-42063),d=i(d,e,f,c,a[g+11],22,-1990404162),c=i(c,d,e,f,a[g+12],7,1804603682),f=i(f,c,d,e,a[g+13],12,-40341101),e=i(e,f,c,d,a[g+14],17,-1502002290),d=i(d,e,f,c,a[g+15],22,1236535329),c=j(c,d,e,f,a[g+1],5,-165796510),f=j(f,c,d,e,a[g+6],9,-1069501632),e=j(e,f,c,d,a[g+11],14,643717713),d=j(d,e,f,c,a[g+0],20,-373897302),c=j(c,d,e,f,a[g+5],5,-701558691),f=j(f,c,d,e,a[g+10],9,38016083),e=j(e,f,c,d,a[g+15],14,-660478335),d=j(d,e,f,c,a[g+4],20,-405537848),c=j(c,d,e,f,a[g+9],5,568446438),f=j(f,c,d,e,a[g+14],9,-1019803690),e=j(e,f,c,d,a[g+3],14,-187363961),d=j(d,e,f,c,a[g+8],20,1163531501),c=j(c,d,e,f,a[g+13],5,-1444681467),f=j(f,c,d,e,a[g+2],9,-51403784),e=j(e,f,c,d,a[g+7],14,1735328473),d=j(d,e,f,c,a[g+12],20,-1926607734),c=k(c,d,e,f,a[g+5],4,-378558),f=k(f,c,d,e,a[g+8],11,-2022574463),e=k(e,f,c,d,a[g+11],16,1839030562),d=k(d,e,f,c,a[g+14],23,-35309556),c=k(c,d,e,f,a[g+1],4,-1530992060),f=k(f,c,d,e,a[g+4],11,1272893353),e=k(e,f,c,d,a[g+7],16,-155497632),d=k(d,e,f,c,a[g+10],23,-1094730640),c=k(c,d,e,f,a[g+13],4,681279174),f=k(f,c,d,e,a[g+0],11,-358537222),e=k(e,f,c,d,a[g+3],16,-722521979),d=k(d,e,f,c,a[g+6],23,76029189),c=k(c,d,e,f,a[g+9],4,-640364487),f=k(f,c,d,e,a[g+12],11,-421815835),e=k(e,f,c,d,a[g+15],16,530742520),d=k(d,e,f,c,a[g+2],23,-995338651),c=l(c,d,e,f,a[g+0],6,-198630844),f=l(f,c,d,e,a[g+7],10,1126891415),e=l(e,f,c,d,a[g+14],15,-1416354905),d=l(d,e,f,c,a[g+5],21,-57434055),c=l(c,d,e,f,a[g+12],6,1700485571),f=l(f,c,d,e,a[g+3],10,-1894986606),e=l(e,f,c,d,a[g+10],15,-1051523),d=l(d,e,f,c,a[g+1],21,-2054922799),c=l(c,d,e,f,a[g+8],6,1873313359),f=l(f,c,d,e,a[g+15],10,-30611744),e=l(e,f,c,d,a[g+6],15,-1560198380),d=l(d,e,f,c,a[g+13],21,1309151649),c=l(c,d,e,f,a[g+4],6,-145523070),f=l(f,c,d,e,a[g+11],10,-1120210379),e=l(e,f,c,d,a[g+2],15,718787259),d=l(d,e,f,c,a[g+9],21,-343485551),c=m(c,h),d=m(d,n),e=m(e,o),f=m(f,p)}return Array(c,d,e,f)}function h(a,b,c,d,e,f){return m(n(m(m(b,a),m(d,f)),e),c)}function i(a,b,c,d,e,f,g){return h(b&c|~b&d,a,b,e,f,g)}function j(a,b,c,d,e,f,g){return h(b&d|c&~d,a,b,e,f,g)}function k(a,b,c,d,e,f,g){return h(b^c^d,a,b,e,f,g)}function l(a,b,c,d,e,f,g){return h(c^(b|~d),a,b,e,f,g)}function m(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function n(a,b){return a<<b|a>>>32-b}var o=0;return a}),function(){var a;a=function(a){return["gravatarService",function(b){var c;return c=function(a,b){var c,d,e;d={};for(c in b)e=b[c],0===c.indexOf(a)&&(c=c.substr(a.length).toLowerCase(),c.length>0&&(d[c]=e));return d},{restrict:"A",link:function(d,e,f){var g,h,i,j;g=a?"gravatarSrcOnce":"gravatarSrc",h=f[g],delete f[g],i=c("gravatar",f),j=d.$watch(h,function(c){if(a){if(null==c)return;j()}e.attr("src",b.url(c,i))})}}}]},angular.module("ui.gravatar",["md5"]).provider("gravatarService",function(){var a,b,c;return b=this,a=/^[0-9a-f]{32}$/i,c=function(a){var b,c,d;c=[];for(b in a)d=a[b],c.push(""+b+"="+encodeURIComponent(d));return c.join("&")},this.defaults={},this.secure=!1,this.protocol=null,this.$get=["md5",function(d){return{url:function(e,f){var g,h,i,j;return null==e&&(e=""),null==f&&(f={}),f=angular.extend(angular.copy(b.defaults),f),i=b.protocol?b.protocol+":":"",j=b.secure?"https://secure":i+"//www",e=a.test(e)?e:d(e),h=[j,".gravatar.com/avatar/",e],g=c(f),g.length>0&&h.push("?"+g),h.join("")}}}],this}).directive("gravatarSrc",a()).directive("gravatarSrcOnce",a(!0))}.call(this); |
@@ -44,11 +44,10 @@ 'use strict'; | ||
}, | ||
copy: { | ||
dist: { | ||
files: [ | ||
{ | ||
src: 'src/md5.js', | ||
dest: 'build/md5.js' | ||
} | ||
] | ||
} | ||
concat: { | ||
dist: { | ||
src: [ | ||
'src/md5.js', | ||
'build/angular-gravatar.js' | ||
], | ||
dest: 'build/angular-gravatar.js' | ||
} | ||
}, | ||
@@ -65,4 +64,3 @@ jshint: { | ||
files: { | ||
'build/angular-gravatar.min.js': 'build/angular-gravatar.js', | ||
'build/md5.min.js': 'build/md5.js' | ||
'build/angular-gravatar.min.js': 'build/angular-gravatar.js' | ||
} | ||
@@ -82,3 +80,3 @@ } | ||
'test', | ||
'copy', | ||
'concat', | ||
'uglify' | ||
@@ -85,0 +83,0 @@ ]); |
{ | ||
"name": "angular-gravatar", | ||
"version": "0.2.4", | ||
"version": "0.3.0", | ||
"author": { | ||
@@ -14,8 +14,8 @@ "name": "Sebastian Wallin" | ||
"license": "MIT", | ||
"main": ["./build/md5.js", "./build/angular-gravatar.js"], | ||
"main": "./build/angular-gravatar.js", | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"grunt": "0.4.5", | ||
"grunt-contrib-copy": "0.5.0", | ||
"grunt-contrib-coffee": "0.10.1", | ||
"grunt-contrib-concat": "0.5.1", | ||
"grunt-contrib-jshint": "0.10.0", | ||
@@ -22,0 +22,0 @@ "grunt-contrib-uglify": "0.5.0", |
@@ -11,3 +11,3 @@ [![Bower version](https://badge.fury.io/bo/angular-gravatar.png)](http://badge.fury.io/bo/angular-gravatar) | ||
Copyright (C) 2014, Sebastian Wallin <sebastian.wallin@gmail.com> | ||
Copyright (C) 2015, Sebastian Wallin <sebastian.wallin@gmail.com> | ||
@@ -35,6 +35,5 @@ Requirements | ||
----- | ||
Include both md5.js and angular-gravatar.js in your application. | ||
Include angular-gravatar.js in your application. | ||
```html | ||
<script src="components/angular-gravatar/build/md5.js"></script> | ||
<script src="components/angular-gravatar/build/angular-gravatar.js"></script> | ||
@@ -111,1 +110,2 @@ ``` | ||
* Gonzalo Aguirre (https://github.com/gaguirre) | ||
* Gabe Hayes (https://github.com/gabehayes) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
47839
15
920