formatUuid function
Adapted from: https://github.com/daegalus/dart-uuid/blob/main/lib/parsing.dart
Unparses a buffer of bytes and outputs a proper UUID string.
Throws a RangeError exception if the buffer is not large enough to
hold the bytes.
Implementation
String formatUuid(Uint8List buffer) {
if (buffer.length < 16) {
throw RangeError('buffer too small: need 16: length=${buffer.length}');
}
var i = 0;
return '${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'-'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'-'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'-'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'-'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}'
'${byteToHex(buffer[i++])}${byteToHex(buffer[i++])}';
}