format method

String format({
  1. bool showAll = false,
})

Formats as a human-readable string.

Implementation

String format({bool showAll = false}) {
  final parts = <String>[];

  if (years > 0 || showAll) parts.add('$years years');
  if (months > 0 || showAll) parts.add('$months months');
  if (days > 0 || showAll) parts.add('$days days');
  if (hours > 0 || showAll) parts.add('$hours hours');
  if (minutes > 0 || showAll) parts.add('$minutes minutes');
  if (seconds > 0 || showAll) parts.add('$seconds seconds');

  if (parts.isEmpty) return '0 seconds';

  final text = parts.join(', ');
  return isFuture ? 'in $text' : '$text ago';
}