carpenterParseTime function
Implementation
CarpenterTime? carpenterParseTime(String value) {
final parts = value.split(':');
if (parts.length != 2) return null;
final hour = int.tryParse(parts[0]);
final minute = int.tryParse(parts[1]);
if (hour == null || minute == null) return null;
if (hour < 0 || hour > 23 || minute < 0 || minute > 59) return null;
return CarpenterTime(hour: hour, minute: minute);
}