throw new LogicException(sprintf('You cannot use "%s" as the "cron expression" package is not installed. Try running "composer require dragonmantank/cron-expression".', __CLASS__
));
} if (!
str_contains($expression, '#'
)) { return new self(new CronExpression($expression),
$timezone);
} if (null ===
$context) { throw new LogicException('A context must be provided to use "hashed" cron expressions.'
);
} return new self(new CronExpression(self::
parseHashed($expression,
$context)),
$timezone);
} public function getNextRunDate(\DateTimeImmutable
$run): ?\DateTimeImmutable
{ return \DateTimeImmutable::
createFromInterface($this->expression->
getNextRunDate($run, timeZone:
$this->timezone
));
} private static function parseHashed(string
$expression, string
$context): string
{ $expression = self::HASH_ALIAS_MAP
[$expression] ??
$expression;
$parts =
explode(' ',
$expression);