import { WeekdaySet } from './WeekdaySet';
import { MonthlyRecurrencePattern } from './MonthlyRecurrencePattern';
import { RecurrenceStrategy } from './RecurrenceStrategy';

export class RecurrenceStrategyFactory {
  static weekly(weekdays: WeekdaySet): RecurrenceStrategy {
    return RecurrenceStrategy.weekly(weekdays);
  }

  static everyNWeeks(intervalWeeks: number, weekdays: WeekdaySet): RecurrenceStrategy {
    return RecurrenceStrategy.everyNWeeks(intervalWeeks, weekdays);
  }

  static monthlyNthWeekday(pattern: MonthlyRecurrencePattern): RecurrenceStrategy {
    return RecurrenceStrategy.monthlyNthWeekday(pattern);
  }
}