uuid7 static method
Generates a UUID v7 (time-ordered, RFC 9562).
Implementation
static String uuid7() {
final ms = DateTime.now().millisecondsSinceEpoch;
final bytes = List<int>.filled(16, 0);
bytes[0] = (ms >> 40) & 0xff;
bytes[1] = (ms >> 32) & 0xff;
bytes[2] = (ms >> 24) & 0xff;
bytes[3] = (ms >> 16) & 0xff;
bytes[4] = (ms >> 8) & 0xff;
bytes[5] = ms & 0xff;
for (var i = 6; i < 16; i++) {
bytes[i] = _random.nextInt(256);
}
bytes[6] = (bytes[6] & 0x0f) | 0x70; // version 7
bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
final hex = bytes.map((b) => b.toRadixString(16).padLeft(2, '0')).join();
return '${hex.substring(0, 8)}-${hex.substring(8, 12)}-'
'${hex.substring(12, 16)}-${hex.substring(16, 20)}-${hex.substring(20)}';
}