parseTraceparent function
Implementation
({String traceId, String spanId, bool sampled})? parseTraceparent(String? value) {
if (value == null) return null;
final parts = value.split('-');
if (parts.length != 4 || parts[1].length != 32 || parts[2].length != 16) {
return null;
}
final hex = RegExp(r'^[0-9a-f]+$');
if (!hex.hasMatch(parts[1]) || !hex.hasMatch(parts[2])) return null;
if (parts[3].length != 2 || !hex.hasMatch(parts[3])) return null;
return (traceId: parts[1], spanId: parts[2],
sampled: (int.parse(parts[3], radix: 16) & 1) == 1);
}