--- name: cron_match kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func CronMatch(sched CronSchedule, t time.Time) bool" description: "Verifica si un instante de tiempo coincide con un cron schedule. Compara los 5 campos (minuto, hora, dia del mes, mes, dia de la semana) y retorna true si todos coinciden." tags: [cron, scheduling, matching, time, pure, pendiente-usar, scheduler] uses_functions: [] uses_types: [cron_schedule_go_core] returns: [] returns_optional: false error_type: "" imports: [time] params: - name: sched desc: "CronSchedule con listas de valores validos por campo (resultado de ParseCronExpr)" - name: t desc: "instante de tiempo a verificar contra el schedule" output: "true si t coincide con todos los campos del cron schedule" tested: true tests: - "9:00 AM coincide con 0 9 * * *" - "9:15 AM NO coincide con 0 9 * * *" - "lunes a las 9 coincide con 0 9 * * 1" - "domingo a las 9 NO coincide con 0 9 * * 1" - "wildcard * coincide con cualquier valor" - "specific month" test_file_path: "functions/core/cron_match_test.go" file_path: "functions/core/cron_match.go" --- ## Ejemplo ```go sched, _ := ParseCronExpr("0 9 * * *") t := time.Date(2026, 4, 11, 9, 0, 0, 0, time.UTC) CronMatch(sched, t) // true t2 := time.Date(2026, 4, 11, 10, 0, 0, 0, time.UTC) CronMatch(sched, t2) // false ``` ## Notas Funcion pura. Usa AND semantics para day_of_month y day_of_week (ambos deben coincidir), igual que NextCronTime en el mismo paquete. Reutiliza el helper intIn definido en next_cron_time.go (mismo paquete core).