generateUUID function
Implementation
String generateUUID() {
final bytes = Uint8List(16);
window.crypto.getRandomValues(bytes.jsify() as JSObject);
// RFC 4122 version 4 UUID bits
bytes[6] = (bytes[6] & 0x0f) | 0x40;
bytes[8] = (bytes[8] & 0x3f) | 0x80;
final parts = [
bytes.sublist(0, 4),
bytes.sublist(4, 6),
bytes.sublist(6, 8),
bytes.sublist(8, 10),
bytes.sublist(10, 16),
].map((part) => part.map((b) => b.toRadixString(16).padLeft(2, '0')).join());
return parts.join('-');
}