PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.19
Admin Columns v7.0.19
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Expression / CollectionSpecification.php
codepress-admin-columns / classes / Expression Last commit date
Exception 1 month ago SpecificationFactory 1 month ago AggregateSpecification.php 1 month ago AndSpecification.php 1 month ago CollectionOperators.php 1 month ago CollectionSpecification.php 1 month ago ComparisonOperators.php 1 month ago ComparisonSpecification.php 1 month ago CompositeSpecification.php 1 month ago ContainsSpecification.php 1 month ago Context.php 1 month ago ContextAwareSpecification.php 1 month ago DateComparisonSpecification.php 1 month ago DateOperators.php 1 month ago DateRangeSpecification.php 1 month ago DateRelativeDaysSpecification.php 1 month ago DateRelativeDeductedSpecification.php 1 month ago DateSpecification.php 1 month ago DateTimeFactory.php 1 month ago DateTrait.php 1 month ago EndsWithSpecification.php 1 month ago FactSpecification.php 1 month ago FactTrait.php 1 month ago FloatComparisonSpecification.php 1 month ago FloatRangeSpecification.php 1 month ago IntegerComparisonSpecification.php 1 month ago IntegerRangeSpecification.php 1 month ago NotSpecification.php 1 month ago NullSpecification.php 1 month ago OperatorExpression.php 1 month ago OrSpecification.php 1 month ago RangeOperators.php 1 month ago RangeSpecification.php 1 month ago Specification.php 1 month ago SpecificationFactory.php 1 month ago StartsWithSpecification.php 1 month ago StringComparisonSpecification.php 1 month ago StringMatchSpecification.php 1 month ago StringOperators.php 1 month ago TypeSpecification.php 1 month ago TypeTrait.php 1 month ago Types.php 1 month ago
CollectionSpecification.php
49 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Expression;
6
7 use AC\Expression\Exception\OperatorNotFoundException;
8 use Traversable;
9
10 class CollectionSpecification extends OperatorExpression implements FactSpecification
11 {
12
13 use FactTrait;
14
15 public function __construct(
16 string $operator,
17 Traversable $fact
18 ) {
19 parent::__construct($operator);
20
21 $this->fact = $fact;
22 }
23
24 public function is_satisfied_by($value): bool
25 {
26 switch ($this->operator) {
27 case CollectionOperators::CONTAINS:
28 case CollectionOperators::NOT_CONTAINS:
29 foreach ($this->fact as $item) {
30 if ($item === $value) {
31 return $this->operator === CollectionOperators::CONTAINS;
32 }
33 }
34
35 return $this->operator === CollectionOperators::NOT_CONTAINS;
36 }
37
38 throw new OperatorNotFoundException($this->operator);
39 }
40
41 public function export(): array
42 {
43 return array_merge(
44 parent::export(),
45 $this->export_fact()
46 );
47 }
48
49 }