DX: Rolling date: allow to receive a null parameter (RollingDate)

When receiving a null parameter (a null rolling date), it will return
null
This commit is contained in:
Julien Fastré 2023-06-29 16:00:50 +02:00
parent 4a5ac170ba
commit 393e59e22b
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
3 changed files with 15 additions and 2 deletions

View File

@ -0,0 +1,5 @@
kind: DX
body: 'Rolling Date: can receive a null parameter'
time: 2023-06-29T16:00:29.664814895+02:00
custom:
Issue: ""

View File

@ -18,8 +18,12 @@ use UnexpectedValueException;
class RollingDateConverter implements RollingDateConverterInterface
{
public function convert(RollingDate $rollingDate): DateTimeImmutable
public function convert(?RollingDate $rollingDate): ?DateTimeImmutable
{
if (null === $rollingDate) {
return null;
}
switch ($rollingDate->getRoll()) {
case RollingDate::T_MONTH_CURRENT_START:
return $this->toBeginOfMonth($rollingDate->getPivotDate());

View File

@ -15,5 +15,9 @@ use DateTimeImmutable;
interface RollingDateConverterInterface
{
public function convert(RollingDate $rollingDate): DateTimeImmutable;
/**
* @param RollingDate|null $rollingDate
* @return ($rollingDate is null ? null : DateTimeImmutable)
*/
public function convert(?RollingDate $rollingDate): ?DateTimeImmutable;
}