1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| import rng from './rng.js';
| import stringify from './stringify.js';
|
| function v4(options, buf, offset) {
| options = options || {};
| var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
| rnds[6] = rnds[6] & 0x0f | 0x40;
| rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
| if (buf) {
| offset = offset || 0;
|
| for (var i = 0; i < 16; ++i) {
| buf[offset + i] = rnds[i];
| }
|
| return buf;
| }
|
| return stringify(rnds);
| }
|
| export default v4;
|
|