@@ -98,24 +98,19 @@ public function isEmpty(): bool
9898
9999 public function getParams (): array
100100 {
101- $ params = [
102- 'format ' => "yyyy-MM-dd'T'HH:mm:ssz " ,
103- ];
101+ $ params = ['format ' => "yyyy-MM-dd'T'HH:mm:ssz " ];
102+
104103 if ($ this ->onDate ) {
105104 $ params ['gte ' ] = $ this ->getStartOfDay ($ this ->onDate )->format (DateTimeInterface::ATOM );
106105 $ params ['lte ' ] = $ this ->getEndOfDay ($ this ->onDate )->format (DateTimeInterface::ATOM );
107- } else {
108- if ($ this ->startDate ) {
109- $ params ['gte ' ] = $ this ->getStartOfDay ($ this ->startDate )->format (DateTimeInterface::ATOM );
110- }
111- if ($ this ->endDate ) {
112- $ params ['lte ' ] = $ this ->getEndOfDay ($ this ->endDate )->format (DateTimeInterface::ATOM );
113- }
106+
107+ return [$ this ->field => $ params ];
114108 }
115109
116- return [
117- $ this ->field => $ params ,
118- ];
110+ $ params = $ this ->addStartParams ($ params );
111+ $ params = $ this ->addEndParams ($ params );
112+
113+ return [$ this ->field => $ params ];
119114 }
120115
121116 public function toArray (bool $ withType = false ): array
@@ -162,6 +157,40 @@ public function getOnDate(): Carbon
162157 return $ this ->onDate ;
163158 }
164159
160+ private function addStartParams (array $ params ): array
161+ {
162+ if (!$ this ->startDate ) {
163+ return $ params ;
164+ }
165+
166+ if ($ this ->endDate ) {
167+ $ params ['gte ' ] = $ this ->getStartOfDay ($ this ->startDate )->format (DateTimeInterface::ATOM );
168+
169+ return $ params ;
170+ }
171+
172+ $ params ['gte ' ] = $ this ->getEndOfDay ($ this ->startDate )->format (DateTimeInterface::ATOM );
173+
174+ return $ params ;
175+ }
176+
177+ private function addEndParams (array $ params ): array
178+ {
179+ if (!$ this ->endDate ) {
180+ return $ params ;
181+ }
182+
183+ if ($ this ->startDate ) {
184+ $ params ['lte ' ] = $ this ->getEndOfDay ($ this ->endDate )->format (DateTimeInterface::ATOM );
185+
186+ return $ params ;
187+ }
188+
189+ $ params ['lte ' ] = $ this ->getStartOfDay ($ this ->endDate )->format (DateTimeInterface::ATOM );
190+
191+ return $ params ;
192+ }
193+
165194 private function getStartOfDay (Carbon $ date ): Carbon
166195 {
167196 if (!$ this ->roundToDay ) {
0 commit comments