Spaces:
Paused
Paused
| 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(); | |
| } | |