CasperSecurity

Current Path : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Contracts/
Upload File :
Current File : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Contracts/FacetSearchQuery.php

<?php

declare(strict_types=1);

namespace Meilisearch\Contracts;

class FacetSearchQuery
{
    /**
     * @var non-empty-string|null
     */
    private ?string $facetName = null;

    /**
     * @var non-empty-string|null
     */
    private ?string $facetQuery = null;

    private ?string $q = null;

    /**
     * @var list<non-empty-string|list<non-empty-string>>|null
     */
    private ?array $filter = null;

    /**
     * @var 'last'|'all'|'frequency'|null
     */
    private ?string $matchingStrategy = null;

    /**
     * @var non-empty-list<non-empty-string>|null
     */
    private ?array $attributesToSearchOn = null;

    private ?bool $exhaustiveFacetsCount = null;

    /**
     * @return $this
     */
    public function setFacetName(string $facetName): self
    {
        $this->facetName = $facetName;

        return $this;
    }

    /**
     * @return $this
     */
    public function setFacetQuery(string $facetQuery): self
    {
        $this->facetQuery = $facetQuery;

        return $this;
    }

    /**
     * @return $this
     */
    public function setQuery(string $q): self
    {
        $this->q = $q;

        return $this;
    }

    /**
     * @param list<non-empty-string|list<non-empty-string>> $filter
     *
     * @return $this
     */
    public function setFilter(array $filter): self
    {
        $this->filter = $filter;

        return $this;
    }

    /**
     * @param 'last'|'all'|'frequency' $matchingStrategy
     *
     * @return $this
     */
    public function setMatchingStrategy(string $matchingStrategy): self
    {
        $this->matchingStrategy = $matchingStrategy;

        return $this;
    }

    /**
     * @param non-empty-list<non-empty-string> $attributesToSearchOn
     *
     * @return $this
     */
    public function setAttributesToSearchOn(array $attributesToSearchOn): self
    {
        $this->attributesToSearchOn = $attributesToSearchOn;

        return $this;
    }

    /**
     * @return $this
     */
    public function setExhaustiveFacetsCount(bool $exhaustiveFacetsCount): self
    {
        $this->exhaustiveFacetsCount = $exhaustiveFacetsCount;

        return $this;
    }

    /**
     * @return array{
     *     facetName?: non-empty-string,
     *     facetQuery?: non-empty-string,
     *     q?: string,
     *     filter?: list<non-empty-string|list<non-empty-string>>,
     *     matchingStrategy?: 'last'|'all'|'frequency'|null,
     *     attributesToSearchOn?: non-empty-list<non-empty-string>,
     *     exhaustiveFacetsCount?: bool
     * }
     */
    public function toArray(): array
    {
        return array_filter([
            'facetName' => $this->facetName,
            'facetQuery' => $this->facetQuery,
            'q' => $this->q,
            'filter' => $this->filter,
            'matchingStrategy' => $this->matchingStrategy,
            'attributesToSearchOn' => $this->attributesToSearchOn,
            'exhaustiveFacetsCount' => $this->exhaustiveFacetsCount,
        ], static function ($item) { return null !== $item; });
    }
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY