parseDuration function
- String? duration
Parses duration
in seconds.
Implementation
int? parseDuration(String? duration) {
if (duration == null || duration.trim().isEmpty) return null;
final durationSplit = duration.trim().split(':');
if (durationSplit.any((d) => int.tryParse(d.replaceAll(',', '')) == null)) {
return null;
}
final multipliers = [1, 60, 3600];
final seconds = <int>[];
for (var i = 0; i < durationSplit.length; i++) {
final value = int.parse(durationSplit[durationSplit.length - 1 - i]);
seconds.add(value * multipliers[i]);
}
return seconds.reduce((a, b) => a + b);
}