parse static method
- String uuid
Parses the given uuid
string and returns a UUID object.
Implementation
static UUID parse(String uuid) {
if (validate(uuid)) {
final segments = uuid.split('-');
if (segments.length != 5) {
throw const FormatException('Invalid UUID format');
}
final msbString = segments.sublist(0, 3).join('');
final lsbString = segments.sublist(3, 5).join('');
int i = 0;
ByteLayer layer = ByteLayer();
for (i = 0; i < msbString.length; i += 2) {
String hex = msbString.substring(i, i + 2);
int byte = int.parse(hex, radix: 16);
layer.writeByte(byte);
}
for (i = 0; i < lsbString.length; i += 2) {
String hex = lsbString.substring(i, i + 2);
int byte = int.parse(hex, radix: 16);
layer.writeByte(byte);
}
layer.resetPosition();
return UUID(layer.readBytes(16));
} else {
return UUID.ZERO;
}
}