Files
Hermes Agent 6bc05a76b0 fix: Resolve TypeScript errors
Signed-off-by: Hermes Agent <hermes@nosuchhost>
2026-06-16 09:01:21 -04:00

29 lines
709 B
JavaScript

/* eslint-env browser */
const perf = typeof performance === 'undefined' ? null : performance
const isoCrypto = typeof crypto === 'undefined' ? null : crypto
/**
* @type {function(number):ArrayBuffer}
*/
const cryptoRandomBuffer = isoCrypto !== null
? len => {
// browser
const buf = new ArrayBuffer(len)
const arr = new Uint8Array(buf)
isoCrypto.getRandomValues(arr)
return buf
}
: len => {
// polyfill
const buf = new ArrayBuffer(len)
const arr = new Uint8Array(buf)
for (let i = 0; i < len; i++) {
arr[i] = Math.ceil((Math.random() * 0xFFFFFFFF) >>> 0)
}
return buf
}
exports.performance = perf
exports.cryptoRandomBuffer = cryptoRandomBuffer