parseCronExpression function

CronFields? parseCronExpression(
  1. String expr
)

Parse a 5-field cron expression into expanded number arrays. Returns null if invalid or unsupported syntax.

Implementation

CronFields? parseCronExpression(String expr) {
  final parts = expr.trim().split(RegExp(r'\s+'));
  if (parts.length != 5) return null;

  final expanded = <List<int>>[];
  for (int i = 0; i < 5; i++) {
    final result = _expandField(parts[i], _fieldRanges[i]);
    if (result == null) return null;
    expanded.add(result);
  }

  return CronFields(
    minute: expanded[0],
    hour: expanded[1],
    dayOfMonth: expanded[2],
    month: expanded[3],
    dayOfWeek: expanded[4],
  );
}