getNextEvents($scheduler, 1); } /** * @param int $count * * @return \Recurr\RecurrenceCollection * * @throws InvalidSchedulerException * @throws NotSupportedScheduleTypeException */ public function getNextEvents(SchedulerInterface $scheduler, $count) { if (!$scheduler->isScheduled()) { throw new InvalidSchedulerException(); } $builder = $this->schedulerTemplateFactory->getBuilder($scheduler); $startDate = new \DateTime(); $rule = new Rule(); if (!$scheduler->isScheduledNow()) { $startDate->setTime(0, 0)->modify('+1 day'); } $rule->setStartDate($startDate)->setCount($count); try { $finalScheduler = $builder->build($rule, $scheduler); $transformer = new ArrayTransformer(); return $transformer->transform($finalScheduler); } catch (InvalidWeekday) { throw new InvalidSchedulerException(); } } }