Last change
on this file since 188ee53 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago |
initial commit
|
-
Property mode
set to
100644
|
File size:
546 bytes
|
Rev | Line | |
---|
[6a3a178] | 1 | import rng from './rng.js';
|
---|
| 2 | import stringify from './stringify.js';
|
---|
| 3 |
|
---|
| 4 | function v4(options, buf, offset) {
|
---|
| 5 | options = options || {};
|
---|
| 6 | const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
---|
| 7 |
|
---|
| 8 | rnds[6] = rnds[6] & 0x0f | 0x40;
|
---|
| 9 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
---|
| 10 |
|
---|
| 11 | if (buf) {
|
---|
| 12 | offset = offset || 0;
|
---|
| 13 |
|
---|
| 14 | for (let i = 0; i < 16; ++i) {
|
---|
| 15 | buf[offset + i] = rnds[i];
|
---|
| 16 | }
|
---|
| 17 |
|
---|
| 18 | return buf;
|
---|
| 19 | }
|
---|
| 20 |
|
---|
| 21 | return stringify(rnds);
|
---|
| 22 | }
|
---|
| 23 |
|
---|
| 24 | export default v4; |
---|
Note:
See
TracBrowser
for help on using the repository browser.