mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim-mockapi.git
synced 2026-08-21 05:24:26 +00:00
23 lines
615 B
JavaScript
23 lines
615 B
JavaScript
if (process.env.NODE_ENV !== 'production') {
|
||
if (typeof self === 'undefined' || (!self.crypto && !self.msCrypto)) {
|
||
throw new Error(
|
||
'Your browser does not have secure random generator. ' +
|
||
'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'
|
||
)
|
||
}
|
||
}
|
||
|
||
var crypto = self.crypto || self.msCrypto
|
||
|
||
var url = '_~getRandomVcryp0123456789bfhijklqsuvwxzABCDEFGHIJKLMNOPQSTUWXYZ'
|
||
|
||
module.exports = function (size) {
|
||
size = size || 21
|
||
var id = ''
|
||
var bytes = crypto.getRandomValues(new Uint8Array(size))
|
||
while (0 < size--) {
|
||
id += url[bytes[size] & 63]
|
||
}
|
||
return id
|
||
}
|