diff options
Diffstat (limited to 'node_modules/unique-slug/index.js')
-rw-r--r-- | node_modules/unique-slug/index.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/unique-slug/index.js b/node_modules/unique-slug/index.js new file mode 100644 index 000000000..7c5d6c751 --- /dev/null +++ b/node_modules/unique-slug/index.js @@ -0,0 +1,19 @@ +'use strict' +var crypto = require('crypto') +var MurmurHash3 = require('imurmurhash') + +module.exports = function (uniq) { + if (uniq) { + var hash = new MurmurHash3(uniq) + return ('00000000' + hash.result().toString(16)).substr(-8) + } else { + // Called without a callback, because this interface should neither block + // nor error (by contrast with randomBytes which will throw an exception + // without enough entropy). + // + // However, due to a change in Node 0.10.27+, pseudoRandomBytes is now the + // same as randomBytes, and may in fact block in situations where + // insufficent entropy is available. + return crypto.pseudoRandomBytes(4).toString('hex') + } +} |