| @@ 234-253 (lines=20) @@ | ||
| 231 | ; |
|
| 232 | } |
|
| 233 | ||
| 234 | private function buildResultForZeroLimit(AnalysedQuery $analysedQuery, Pager $zeroLimitPager): Result |
|
| 235 | { |
|
| 236 | $pager = (clone $zeroLimitPager)->setLimit(1); |
|
| 237 | $items = $this->findItems($analysedQuery, $pager); |
|
| 238 | ||
| 239 | if (count($items) === 0) { |
|
| 240 | return $this->buildResultForEmptyItems($analysedQuery, $pager); |
|
| 241 | } |
|
| 242 | ||
| 243 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 244 | $previousCursor = $this->cursorBuilder->getCursorFromItem($items[0], $orderingConfigurations); |
|
| 245 | $nextCursor = $this->cursorBuilder->buildCursorWithIncludedItem($previousCursor); |
|
| 246 | ||
| 247 | return (new Result()) |
|
| 248 | ->setPreviousCursor($previousCursor) |
|
| 249 | ->setNextCursor($nextCursor) |
|
| 250 | ->setHasPrevious($this->existsBeforeCursor($previousCursor, $analysedQuery)) |
|
| 251 | ->setHasNext(true) |
|
| 252 | ; |
|
| 253 | } |
|
| 254 | ||
| 255 | private function buildResultForTooLargeOffset(AnalysedQuery $analysedQuery): Result |
|
| 256 | { |
|
| @@ 235-254 (lines=20) @@ | ||
| 232 | ; |
|
| 233 | } |
|
| 234 | ||
| 235 | private function buildResultForZeroLimit(AnalysedQuery $analysedQuery, Pager $zeroLimitPager): Result |
|
| 236 | { |
|
| 237 | $pager = (clone $zeroLimitPager)->setLimit(1); |
|
| 238 | $items = $this->findItems($analysedQuery, $pager); |
|
| 239 | ||
| 240 | if (count($items) === 0) { |
|
| 241 | return $this->buildResultForEmptyItems($analysedQuery, $pager); |
|
| 242 | } |
|
| 243 | ||
| 244 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 245 | $previousCursor = $this->cursorBuilder->getCursorFromItem($items[0], $orderingConfigurations); |
|
| 246 | $nextCursor = $this->cursorBuilder->buildCursorWithIncludedItem($previousCursor); |
|
| 247 | ||
| 248 | return (new Result()) |
|
| 249 | ->setPreviousCursor($previousCursor) |
|
| 250 | ->setNextCursor($nextCursor) |
|
| 251 | ->setHasPrevious($this->existsBeforeCursor($previousCursor, $analysedQuery)) |
|
| 252 | ->setHasNext(true) |
|
| 253 | ; |
|
| 254 | } |
|
| 255 | ||
| 256 | private function buildResultForTooLargeOffset(AnalysedQuery $analysedQuery): Result |
|
| 257 | { |
|