Sha256: acf39b414ca282d9b0bc624046ce288a82f0f231868c389d65570c8472291b22

Contents?: true

Size: 597 Bytes

Versions: 5

Compression:

Stored size: 597 Bytes

Contents

const rng = require('./rng.js')
const stringify = require('./stringify.js')

function v4(options, buf, offset) {
    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 stringify(rnds)
}

module.exports = v4

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.13 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js