blob: ce0a0bb365e740de76c0798c57189aa664f9ded2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
exports = module.exports = function() {
var ret = '', value;
for (var i = 0; i < 32; i++) {
value = exports.random() * 16 | 0;
// Insert the hypens
if (i > 4 && i < 21 && ! (i % 4)) {
ret += '-';
}
// Add the next random character
ret += (
(i === 12) ? 4 : (
(i === 16) ? (value & 3 | 8) : value
)
).toString(16);
}
return ret;
};
var uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
exports.isUUID = function(uuid) {
return uuidRegex.test(uuid);
};
exports.random = function() {
return Math.random();
};
|