UNPKG

864 BJavaScriptView Raw
1void function(root){
2
3 // return a number between 0 and max-1
4 function r(max){ return Math.floor(Math.random()*max) }
5
6 function generate(salt, size){
7 var key = ''
8 var sl = salt.length
9 while ( size -- ) {
10 var rnd = r(sl)
11 key += salt[rnd]
12 }
13 return key
14 }
15
16 var rndtok = function(salt, size){
17 return isNaN(size) ? undefined :
18 size < 1 ? undefined : generate(salt, size)
19
20 }
21
22 function createGenerator(salt){
23 salt = typeof salt == 'string' && salt.length > 0 ? salt : 'abcdefghijklmnopqrstuvwxzy0123456789'
24 var temp = rndtok.bind(rndtok, salt)
25 temp.salt = function(){ return salt }
26 temp.create = createGenerator
27 return temp
28 }
29
30 rndtok.gen = createGenerator
31
32 module.exports = createGenerator()
33
34}(this)