Hlc<T>.parse constructor
Hlc<T>.parse(
- String timestamp, [
- T idDecoder(
- String value
)?
])
Implementation
factory Hlc.parse(String timestamp, [T Function(String value)? idDecoder]) {
final counterDash = timestamp.indexOf('-', timestamp.lastIndexOf(':'));
final nodeIdDash = timestamp.indexOf('-', counterDash + 1);
final millis = DateTime.parse(timestamp.substring(0, counterDash))
.millisecondsSinceEpoch;
final counter =
int.parse(timestamp.substring(counterDash + 1, nodeIdDash), radix: 16);
final nodeId = timestamp.substring(nodeIdDash + 1);
return Hlc(
millis, counter, idDecoder != null ? idDecoder(nodeId) : nodeId as T);
}