toDuration method

Duration? toDuration()

Format: HH:MM:SS

Implementation

Duration? toDuration() {
  if (this == 'SHORTS' || trim().isEmpty) {
    return null;
  }

  final parts = split(':');
  assert(parts.length <= 3);

  if (parts.length == 1) {
    return Duration(seconds: int.parse(parts.first));
  }
  if (parts.length == 2) {
    return Duration(
      minutes: int.parse(parts[0]),
      seconds: int.parse(parts[1]),
    );
  }
  if (parts.length == 3) {
    return Duration(
      hours: int.parse(parts[0]),
      minutes: int.parse(parts[1]),
      seconds: int.parse(parts[2]),
    );
  }
  // Shouldn't reach here.
  throw Error();
}