formatUuid function

String formatUuid(
  1. Uint8List buffer
)

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++])}';
}