This repository has been archived on 2018-10-12. You can view files and clone it, but cannot push or open issues or pull requests.
node-task/node_modules/csurf/node_modules/csrf/node_modules/uid-safe/index.js

28 lines
642 B
JavaScript

var pseudoRandomBytes = require('crypto').pseudoRandomBytes
var escape = require('base64-url').escape
var pseudoRandomBytesProm
module.exports = uid
function uid(length, cb) {
if (cb) {
return pseudoRandomBytes(length, function (err, buf) {
if (err) return cb(err)
cb(null, escapeBuffer(buf))
})
}
pseudoRandomBytesProm || (pseudoRandomBytesProm = require('mz/crypto').pseudoRandomBytes)
return pseudoRandomBytesProm(length).then(escapeBuffer)
}
uid.sync = function uid_sync(length) {
return escapeBuffer(pseudoRandomBytes(length))
}
function escapeBuffer(buf) {
return escape(buf.toString('base64'))
}