HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/vendor/league/fractal/src/Pagination/PaginatorCountTrait.php
<?php

namespace League\Fractal\Pagination;

trait PaginatorCountTrait
{
    /**
     * Safely get the count from an iterable
     */
    private function getIterableCount(iterable $iterable): int
    {
        if ($iterable instanceof \Traversable) {
            return $this->getTraversableCount($iterable);
        }

        return count($iterable);
    }

    /**
     * Safely get the count from a traversable
     */
    private function getTraversableCount(\Traversable $traversable): int
    {
        if ($traversable instanceof \Countable) {
            return count($traversable);
        }

        // Call the "count" method if it exists
        if (method_exists($traversable, 'count')) {
            return $traversable->count();
        }

        // If not, fall back to iterator_count and rewind if possible
        $count = iterator_count($traversable);
        if ($traversable instanceof \Iterator || $traversable instanceof \IteratorAggregate) {
            $traversable->rewind();
        }

        return $count;
    }

}