Files
pancake/vendor/league/csv/src/Query/PredicateCombinator.php
2025-11-26 11:50:55 -05:00

72 lines
2.2 KiB
PHP

<?php
/**
* League.Csv (https://csv.thephpleague.com)
*
* (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace League\Csv\Query;
use Closure;
/**
* @phpstan-type Condition Predicate|Closure(mixed, array-key): bool
* @phpstan-type ConditionExtended Predicate|Closure(mixed, array-key): bool|callable(mixed, array-key): bool
*/
interface PredicateCombinator extends Predicate
{
/**
* Return an instance with the specified predicates
* joined together and with the current predicate
* using the AND Logical operator.
*
* This method MUST retain the state of the current instance, and return
* an instance that contains the specified changes.
*
* @param Condition ...$predicates
*/
public function and(Predicate|Closure ...$predicates): self;
/**
* Return an instance with the specified predicates
* joined together and with the current predicate
* using the OR Logical operator.
*
* This method MUST retain the state of the current instance, and return
* an instance that contains the specified changes.
*
* @param Condition ...$predicates
*/
public function or(Predicate|Closure ...$predicates): self;
/**
* Return an instance with the specified predicates
* joined together and with the current predicate
* using the NOT Logical operator.
*
* This method MUST retain the state of the current instance, and return
* an instance that contains the specified changes.
*
* @param Condition ...$predicates
*/
public function not(Predicate|Closure ...$predicates): self;
/**
* Return an instance with the specified predicates
* joined together and with the current predicate
* using the XOR Logical operator.
*
* This method MUST retain the state of the current instance, and return
* an instance that contains the specified changes.
*
* @param Condition ...$predicates
*/
public function xor(Predicate|Closure ...$predicates): self;
}