33namespace Zap \Enums ;
44
55use Carbon \CarbonInterface ;
6+ use Zap \Data \DailyFrequencyConfig ;
67use Zap \Data \FrequencyConfig ;
8+ use Zap \Data \MonthlyFrequencyConfig \AnnuallyFrequencyConfig ;
9+ use Zap \Data \MonthlyFrequencyConfig \BiMonthlyFrequencyConfig ;
10+ use Zap \Data \MonthlyFrequencyConfig \MonthlyFrequencyConfig ;
11+ use Zap \Data \MonthlyFrequencyConfig \QuarterlyFrequencyConfig ;
12+ use Zap \Data \MonthlyFrequencyConfig \SemiAnnuallyFrequencyConfig ;
13+ use Zap \Data \WeeklyEvenOddFrequencyConfig \WeeklyEvenFrequencyConfig ;
14+ use Zap \Data \WeeklyEvenOddFrequencyConfig \WeeklyOddFrequencyConfig ;
15+ use Zap \Data \WeeklyFrequencyConfig \BiWeeklyFrequencyConfig ;
16+ use Zap \Data \WeeklyFrequencyConfig \WeeklyFrequencyConfig ;
17+ use Zap \Helper \DateHelper ;
718
819enum Frequency: string
920{
@@ -23,8 +34,8 @@ public function getNextRecurrence(CarbonInterface $current): CarbonInterface
2334 return match ($ this ) {
2435 self ::DAILY => $ current ->copy ()->addDay (),
2536 self ::WEEKLY => $ current ->copy ()->addWeek (),
26- self ::WEEKLY_ODD => \ Zap \ Helper \ DateHelper::nextWeekOdd ($ current ),
27- self ::WEEKLY_EVEN => \ Zap \ Helper \ DateHelper::nextWeekEven ($ current ),
37+ self ::WEEKLY_ODD => DateHelper::nextWeekOdd ($ current ),
38+ self ::WEEKLY_EVEN => DateHelper::nextWeekEven ($ current ),
2839 self ::BIWEEKLY => $ current ->copy ()->addWeeks (2 ),
2940 self ::MONTHLY => $ current ->copy ()->addMonth (),
3041 self ::BIMONTHLY => $ current ->copy ()->addMonths (2 ),
@@ -40,16 +51,16 @@ public function getNextRecurrence(CarbonInterface $current): CarbonInterface
4051 public function configClass (): string
4152 {
4253 return match ($ this ) {
43- self ::DAILY => \ Zap \ Data \ DailyFrequencyConfig::class,
44- self ::WEEKLY => \ Zap \ Data \ WeeklyFrequencyConfig \ WeeklyFrequencyConfig::class,
45- self ::WEEKLY_ODD => \ Zap \ Data \ WeeklyEvenOddFrequencyConfig \ WeeklyOddFrequencyConfig::class,
46- self ::WEEKLY_EVEN => \ Zap \ Data \ WeeklyEvenOddFrequencyConfig \ WeeklyEvenFrequencyConfig::class,
47- self ::BIWEEKLY => \ Zap \ Data \ WeeklyFrequencyConfig \ BiWeeklyFrequencyConfig::class,
48- self ::MONTHLY => \ Zap \ Data \ MonthlyFrequencyConfig \ MonthlyFrequencyConfig::class,
49- self ::BIMONTHLY => \ Zap \ Data \ MonthlyFrequencyConfig \ BiMonthlyFrequencyConfig::class,
50- self ::QUARTERLY => \ Zap \ Data \ MonthlyFrequencyConfig \ QuarterlyFrequencyConfig::class,
51- self ::SEMIANNUALLY => \ Zap \ Data \ MonthlyFrequencyConfig \ SemiAnnuallyFrequencyConfig::class,
52- self ::ANNUALLY => \ Zap \ Data \ MonthlyFrequencyConfig \ AnnuallyFrequencyConfig::class,
54+ self ::DAILY => DailyFrequencyConfig::class,
55+ self ::WEEKLY => WeeklyFrequencyConfig::class,
56+ self ::WEEKLY_ODD => WeeklyOddFrequencyConfig::class,
57+ self ::WEEKLY_EVEN => WeeklyEvenFrequencyConfig::class,
58+ self ::BIWEEKLY => BiWeeklyFrequencyConfig::class,
59+ self ::MONTHLY => MonthlyFrequencyConfig::class,
60+ self ::BIMONTHLY => BiMonthlyFrequencyConfig::class,
61+ self ::QUARTERLY => QuarterlyFrequencyConfig::class,
62+ self ::SEMIANNUALLY => SemiAnnuallyFrequencyConfig::class,
63+ self ::ANNUALLY => AnnuallyFrequencyConfig::class,
5364 };
5465 }
5566
0 commit comments