chat-ui / src /lib /utils /randomUuid.ts
coyotte508's picture
coyotte508 HF staff
✨ Retry messages (#121)
4a6603b unverified
raw
history blame contribute delete
387 Bytes
type UUID = ReturnType<typeof crypto.randomUUID>;
export function randomUUID(): UUID {
// Only on old safari / ios
if (!("randomUUID" in crypto)) {
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) =>
(
Number(c) ^
(crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (Number(c) / 4)))
).toString(16)
) as UUID;
}
return crypto.randomUUID();
}