芝麻web文件管理V1.00
编辑当前文件:/home/qrafawbu/kwesioben.com/paymoney/vendor/league/fractal/src/Serializer/ArraySerializer.php
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Fractal\Serializer; use League\Fractal\Pagination\CursorInterface; use League\Fractal\Pagination\PaginatorInterface; use League\Fractal\Resource\ResourceInterface; class ArraySerializer extends SerializerAbstract { /** * {@inheritDoc} */ public function collection(?string $resourceKey, array $data): array { return [$resourceKey ?: 'data' => $data]; } /** * {@inheritDoc} */ public function item(?string $resourceKey, array $data): array { return $data; } /** * {@inheritDoc} */ public function null(): ?array { return []; } /** * {@inheritDoc} */ public function includedData(ResourceInterface $resource, array $data): array { return $data; } /** * {@inheritDoc} */ public function meta(array $meta): array { if (empty($meta)) { return []; } return ['meta' => $meta]; } /** * {@inheritDoc} */ public function paginator(PaginatorInterface $paginator): array { $currentPage = $paginator->getCurrentPage(); $lastPage = $paginator->getLastPage(); $pagination = [ 'total' => $paginator->getTotal(), 'count' => $paginator->getCount(), 'per_page' => $paginator->getPerPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage, ]; $pagination['links'] = []; if ($currentPage > 1) { $pagination['links']['previous'] = $paginator->getUrl($currentPage - 1); } if ($currentPage < $lastPage) { $pagination['links']['next'] = $paginator->getUrl($currentPage + 1); } if (empty($pagination['links'])) { $pagination['links'] = (object) []; } return ['pagination' => $pagination]; } /** * {@inheritDoc} */ public function cursor(CursorInterface $cursor): array { $cursor = [ 'current' => $cursor->getCurrent(), 'prev' => $cursor->getPrev(), 'next' => $cursor->getNext(), 'count' => $cursor->getCount(), ]; return ['cursor' => $cursor]; } }