| 1234567891011121314151617181920212223242526272829 | 
							- import native from './native.js';
 
- import rng from './rng.js';
 
- import { unsafeStringify } from './stringify.js';
 
- function v4(options, buf, offset) {
 
-   if (native.randomUUID && !buf && !options) {
 
-     return native.randomUUID();
 
-   }
 
-   options = options || {};
 
-   const 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 (let i = 0; i < 16; ++i) {
 
-       buf[offset + i] = rnds[i];
 
-     }
 
-     return buf;
 
-   }
 
-   return unsafeStringify(rnds);
 
- }
 
- export default v4;
 
 
  |