!function(t,e){if("function"==typeof define&&define.amd)define(["module","exports"],e);else if("undefined"!=typeof exports)e(module,exports);else{var s={exports:{}};e(s,s.exports),t.Hashids=s.exports}}(this,function(t,e){"use strict";function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var h=function(){function t(t,e){for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:"",h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";s(this,t);var a="error: alphabet must contain at least X unique characters",n="",i=void 0,l=void 0;this.escapeRegExp=function(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},this.parseInt=function(t,e){return/^(\-|\+)?([0-9]+|Infinity)$/.test(t)?parseInt(t,e):NaN},this.seps="cfhistuCFHISTU",this.minLength=parseInt(h,10)>0?h:0,this.salt="string"==typeof e?e:"","string"==typeof r&&(this.alphabet=r);for(var u=0;u!==this.alphabet.length;u++)-1===n.indexOf(this.alphabet.charAt(u))&&(n+=this.alphabet.charAt(u));if(this.alphabet=n,this.alphabet.length<16)throw a.replace("X",16);if(-1!==this.alphabet.search(" "))throw"error: alphabet cannot contain spaces";for(var p=0;p!==this.seps.length;p++){var o=this.alphabet.indexOf(this.seps.charAt(p));-1===o?this.seps=this.seps.substr(0,p)+" "+this.seps.substr(p+1):this.alphabet=this.alphabet.substr(0,o)+" "+this.alphabet.substr(o+1)}this.alphabet=this.alphabet.replace(/ /g,""),this.seps=this.seps.replace(/ /g,""),this.seps=this._shuffle(this.seps,this.salt),(!this.seps.length||this.alphabet.length/this.seps.length>3.5)&&(i=Math.ceil(this.alphabet.length/3.5))>this.seps.length&&(l=i-this.seps.length,this.seps+=this.alphabet.substr(0,l),this.alphabet=this.alphabet.substr(l)),this.alphabet=this._shuffle(this.alphabet,this.salt);var f=Math.ceil(this.alphabet.length/12);this.alphabet.length<3?(this.guards=this.seps.substr(0,f),this.seps=this.seps.substr(f)):(this.guards=this.alphabet.substr(0,f),this.alphabet=this.alphabet.substr(f))}return h(t,[{key:"encode",value:function(){for(var t=arguments.length,e=Array(t),s=0;s=0))return"";return this._encode(e)}},{key:"decode",value:function(t){var e=[];return t&&t.length&&"string"==typeof t?this._decode(t,this.alphabet):e}},{key:"encodeHex",value:function(t){if(t=t.toString(),!/^[0-9a-fA-F]+$/.test(t))return"";for(var e=t.match(/[\w\W]{1,12}/g),s=0;s!==e.length;s++)e[s]=parseInt("1"+e[s],16);return this.encode.apply(this,e)}},{key:"decodeHex",value:function(t){for(var e=[],s=this.decode(t),h=0;h!==s.length;h++)e+=s[h].toString(16).substr(1);return e}},{key:"_encode",value:function(t){for(var e=void 0,s=this.alphabet,h=0,r=0;r!==t.length;r++)h+=t[r]%(r+100);e=s.charAt(h%s.length);for(var a=e,n=0;n!==t.length;n++){var i=t[n],l=a+this.salt+s;s=this._shuffle(s,l.substr(0,s.length));var u=this._toAlphabet(i,s);if(e+=u,n+10&&(e=e.substr(c/2,this.minLength))}return e}},{key:"_decode",value:function(t,e){var s=[],h=0,r=new RegExp("["+this.escapeRegExp(this.guards)+"]","g"),a=t.replace(r," "),n=a.split(" ");if(3!==n.length&&2!==n.length||(h=1),a=n[h],void 0!==a[0]){var i=a[0];a=a.substr(1),r=new RegExp("["+this.escapeRegExp(this.seps)+"]","g"),a=a.replace(r," "),n=a.split(" ");for(var l=0;l!==n.length;l++){var u=n[l],p=i+this.salt+e;e=this._shuffle(e,p.substr(0,e.length)),s.push(this._fromAlphabet(u,e))}this.encode(s)!==t&&(s=[])}return s}},{key:"_shuffle",value:function(t,e){var s=void 0;if(!e.length)return t;t=t.split("");for(var h=t.length-1,r=0,a=0,n=0;h>0;h--,r++){r%=e.length,a+=s=e.charCodeAt(r),n=(s+r+a)%h;var i=t[n];t[n]=t[h],t[h]=i}return t=t.join("")}},{key:"_toAlphabet",value:function(t,e){var s="";do{s=e.charAt(t%e.length)+s,t=parseInt(t/e.length,10)}while(t);return s}},{key:"_fromAlphabet",value:function(t,e){return t.split("").map(function(t){return e.indexOf(t)}).reduce(function(t,s){return t*e.length+s},0)}}]),t}();e.default=r,t.exports=e.default}); //# sourceMappingURL=hashids.min.map