parseDuration function

Duration parseDuration(
  1. String? s
)

Parses a string representation of a duration in the format "HH:mm" to a Duration object.

Returns Duration.zero if the input string is null, does not contain a colon, or if the minute part does not have exactly two digits.

  • Parameters:

    • s: A string representing the duration in "HH:mm" format.
  • Returns: A Duration object representing the parsed duration, or Duration.zero if the input is invalid.

Implementation

Duration parseDuration(String? s) {
  if (s == null) return Duration.zero;
  if (s.contains(':') == false) return Duration.zero;

  List<String> parts = s.split(':');

  if (parts[1].length != 2) return Duration.zero;

  int hours = 0;
  int minutes = 0;

  hours = int.parse(parts[0]);
  minutes = int.parse(parts[1]);
  return Duration(hours: hours, minutes: minutes);
}