INNER CODE UNIT · TypeScript
generateRandomBytes
backbone-hq/minibone · src/core.ts:25
export const generateRandomBytes = (length: number): Uint8Array => {
if (isNode) {
return crypto.randomBytes(length)
} else {
const buffer = new Uint8Array(length)
crypto.getRandomValues(buffer)
return buffer
}
}
export const generateUUID = async () => {
const bytes = generateRandomBytes(16)
return [...bytes]
.map((b) => b.toString(16).padStart(2, '0'))
.join('')
.replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-4$3-$4-$5')
}