Your IP : 216.73.216.97


Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-search/Model/Search/
Upload File :
Current File : /var/www/clients/client3/web2/web/vendor/magento/module-search/Model/Search/PageSizeProvider.php

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Search\Model\Search;

/**
 * Returns max  page size by search engine name
 * @api
 * @since 101.0.0
 */
class PageSizeProvider
{
    /**
     * @var \Magento\Search\Model\EngineResolver
     */
    private $engineResolver;

    /**
     * @var array
     */
    private $pageSizeBySearchEngine;

    /**
     * @param \Magento\Search\Model\EngineResolver $engineResolver
     * @param array $pageSizeBySearchEngine
     */
    public function __construct(
        \Magento\Search\Model\EngineResolver $engineResolver,
        array $pageSizeBySearchEngine = []
    ) {
        $this->engineResolver = $engineResolver;
        $this->pageSizeBySearchEngine = $pageSizeBySearchEngine;
    }

    /**
     * Returns max_page_size depends on engine
     *
     * @return integer
     * @since 101.0.0
     */
    public function getMaxPageSize() : int
    {
        $searchEngine = $this->engineResolver->getCurrentSearchEngine();

        $pageSize = PHP_INT_MAX;
        if (isset($this->pageSizeBySearchEngine[$searchEngine])) {
            $pageSize = $this->pageSizeBySearchEngine[$searchEngine];
        }

        return (int)$pageSize;
    }
}