@@ -62,6 +62,8 @@ class Item implements SerializableInterface, JsonSerializable
6262
6363 private ?DateTimeInterface $ optionalDate = null ;
6464
65+ private ?DateTimeInterface $ optionalNullableDate = null ;
66+
6567 private ?float $ optionalFloat = null ;
6668
6769 private ?bool $ optionalBoolean = null ;
@@ -92,7 +94,7 @@ class Item implements SerializableInterface, JsonSerializable
9294
9395 private ?string $ optionalNullableStringWithMinMaxLength = null ;
9496
95- private array $ optionalPropertyChanged = ['optionalInteger ' => false , 'optionalString ' => false , 'optionalEnum ' => false , 'optionalIntEnum ' => false , 'optionalDate ' => false , 'optionalFloat ' => false , 'optionalBoolean ' => false , 'optionalNullableBoolean ' => false , 'optionalArray ' => false , 'optionalNullableArray ' => false , 'optionalMixedArray ' => false , 'optionalArrayWithMinMaxItems ' => false , 'optionalStringWithMinMaxLength ' => false , 'optionalStringWithPattern ' => false , 'optionalIntegerBetweenIncluded ' => false , 'optionalIntegerBetweenExcluded ' => false , 'optionalNumberBetweenIncluded ' => false , 'optionalNumberBetweenExcluded ' => false , 'optionalObject ' => false , 'optionalNullableStringWithMinMaxLength ' => false ];
97+ private array $ optionalPropertyChanged = ['optionalInteger ' => false , 'optionalString ' => false , 'optionalEnum ' => false , 'optionalIntEnum ' => false , 'optionalDate ' => false , 'optionalNullableDate ' => false , ' optionalFloat ' => false , 'optionalBoolean ' => false , 'optionalNullableBoolean ' => false , 'optionalArray ' => false , 'optionalNullableArray ' => false , 'optionalMixedArray ' => false , 'optionalArrayWithMinMaxItems ' => false , 'optionalStringWithMinMaxLength ' => false , 'optionalStringWithPattern ' => false , 'optionalIntegerBetweenIncluded ' => false , 'optionalIntegerBetweenExcluded ' => false , 'optionalNumberBetweenIncluded ' => false , 'optionalNumberBetweenExcluded ' => false , 'optionalObject ' => false , 'optionalNullableStringWithMinMaxLength ' => false ];
9698
9799 /**
98100 * @param string[] $mandatoryArray
@@ -167,6 +169,14 @@ public function setOptionalDate(DateTimeInterface $optionalDate): self
167169 return $ this ;
168170 }
169171
172+ public function setOptionalNullableDate (?DateTimeInterface $ optionalNullableDate ): self
173+ {
174+ $ this ->optionalNullableDate = $ optionalNullableDate ;
175+ $ this ->optionalPropertyChanged ['optionalNullableDate ' ] = true ;
176+
177+ return $ this ;
178+ }
179+
170180 public function setOptionalFloat (float $ optionalFloat ): self
171181 {
172182 $ this ->optionalFloat = $ optionalFloat ;
@@ -392,6 +402,11 @@ public function hasOptionalDate(): bool
392402 return $ this ->optionalPropertyChanged ['optionalDate ' ];
393403 }
394404
405+ public function hasOptionalNullableDate (): bool
406+ {
407+ return $ this ->optionalPropertyChanged ['optionalNullableDate ' ];
408+ }
409+
395410 public function hasOptionalFloat (): bool
396411 {
397412 return $ this ->optionalPropertyChanged ['optionalFloat ' ];
@@ -568,6 +583,11 @@ public function getOptionalDate(): ?DateTimeInterface
568583 return $ this ->optionalDate ;
569584 }
570585
586+ public function getOptionalNullableDate (): ?DateTimeInterface
587+ {
588+ return $ this ->optionalNullableDate ;
589+ }
590+
571591 public function getOptionalFloat (): ?float
572592 {
573593 return $ this ->optionalFloat ;
@@ -687,6 +707,9 @@ public function toArray(): array
687707 if ($ this ->hasOptionalDate ()) {
688708 $ fields ['optionalDate ' ] = $ this ->optionalDate ->format (DATE_RFC3339 );
689709 }
710+ if ($ this ->hasOptionalNullableDate ()) {
711+ $ fields ['optionalNullableDate ' ] = $ this ->optionalNullableDate !== null ? $ this ->optionalNullableDate ->format (DATE_RFC3339 ) : null ;
712+ }
690713 if ($ this ->hasOptionalFloat ()) {
691714 $ fields ['optionalFloat ' ] = $ this ->optionalFloat ;
692715 }
0 commit comments