OverviewFilesCommitsIssuesDocsReleasesPeers

ollama_semantic_function_calling / ollamatools-new / keet / node_modules / random-bytes-seed / index.js

27 lines · javascript ref:
var crypto = require('crypto')
var randomBytesClassic = crypto.randomBytes

module.exports = function (seed) {
  randomBytes.seed = seed = seed || randomBytesClassic(32)
  randomBytes.currentSeed = seed

  return randomBytes

  function randomBytes (n) {
    var result = Buffer.allocUnsafe(n)
    var used = 0

    while (used < result.length) {
      randomBytes.currentSeed = seed = next(seed)
      seed.copy(result, used)
      used += seed.length
    }

    return result
  }
}

function next (seed) {
  return crypto.createHash('sha256').update(seed).digest()
}