diff --git a/src/Reader/EntityReader.php b/src/Reader/EntityReader.php index afcc0d5169b6ce134962681225916d1be947584a..b4770839363c5121c4951c0d1619122066d67062 100644 --- a/src/Reader/EntityReader.php +++ b/src/Reader/EntityReader.php @@ -12,7 +12,6 @@ use Generator; use InvalidArgumentException; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\LikeHandlerFactory; -use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\DataReaderInterface; use Yiisoft\Data\Reader\Filter\All; use Yiisoft\Data\Reader\Iterable\Context; @@ -57,9 +56,9 @@ final class EntityReader implements DataReaderInterface private CachedCount $countCache; private CachedCollection $itemsCache; private CachedCollection $oneItemCache; - + private array $filterHandlers; - + /** * @param Select|SelectQuery $query * @param ValueReaderInterface $valueReader @@ -69,8 +68,7 @@ final class EntityReader implements DataReaderInterface Select|SelectQuery $query, ValueReaderInterface $valueReader = new FlatValueReader(), array $extraFilterHandlers = [], - ) - { + ) { $this->query = clone $query; $this->countCache = new CachedCount($this->query); $this->itemsCache = new CachedCollection(); diff --git a/src/Reader/FilterHandler/AllHandler.php b/src/Reader/FilterHandler/AllHandler.php index 7b3004bbbbe59e2f9699ea083f56f8e47ba789a2..7eb0aab22c93192391eeb4b80339218719468d18 100644 --- a/src/Reader/FilterHandler/AllHandler.php +++ b/src/Reader/FilterHandler/AllHandler.php @@ -23,7 +23,7 @@ final class AllHandler implements QueryBuilderFilterHandler, IterableFilterHandl { return []; } - + #[\Override] public function match(object|array $item, FilterInterface $filter, Context $context): bool { diff --git a/src/Reader/FilterHandler/AndXHandler.php b/src/Reader/FilterHandler/AndXHandler.php index 572827291928c83d21f53f686d67bae9304581c8..2a6ca6f8ca7e1b4e34b3aa4c15973468d9b3993b 100644 --- a/src/Reader/FilterHandler/AndXHandler.php +++ b/src/Reader/FilterHandler/AndXHandler.php @@ -40,7 +40,7 @@ final class AndXHandler implements QueryBuilderFilterHandler, IterableFilterHand }, ]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/src/Reader/FilterHandler/BetweenHandler.php b/src/Reader/FilterHandler/BetweenHandler.php index e071102de23d3921d5720831c6d4cdd5e8259346..8c78420fcdcc8a7e907228b711f91502ae4355f4 100644 --- a/src/Reader/FilterHandler/BetweenHandler.php +++ b/src/Reader/FilterHandler/BetweenHandler.php @@ -25,13 +25,13 @@ final class BetweenHandler implements QueryBuilderFilterHandler, IterableFilterH return [$filter->field, 'between', $filter->minValue, $filter->maxValue]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { /** * @var Between $filter - * @var int|string|float|null $value + * @var float|int|string|null $value */ $value = $context->readValue($item, $filter->field); $min = $filter->minValue; diff --git a/src/Reader/FilterHandler/EqualsHandler.php b/src/Reader/FilterHandler/EqualsHandler.php index 92b722c97846a7979f4702375e74efb0cff8ab6b..7cdc2eaa71a0b275d09c6955bf06af958357156d 100644 --- a/src/Reader/FilterHandler/EqualsHandler.php +++ b/src/Reader/FilterHandler/EqualsHandler.php @@ -25,13 +25,13 @@ final class EqualsHandler implements QueryBuilderFilterHandler, IterableFilterHa return [$filter->field, '=', $filter->value]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { /** * @var Equals $filter - * @var int|string|float|null $itemValue + * @var float|int|string|null $itemValue */ $itemValue = $context->readValue($item, $filter->field); diff --git a/src/Reader/FilterHandler/EqualsNullHandler.php b/src/Reader/FilterHandler/EqualsNullHandler.php index bcbcf5f7da06539fb8ffdd94806e2272fec51985..1a6b26cd29bb4226fa51c9b159cd355d16e2a703 100644 --- a/src/Reader/FilterHandler/EqualsNullHandler.php +++ b/src/Reader/FilterHandler/EqualsNullHandler.php @@ -25,13 +25,13 @@ final class EqualsNullHandler implements QueryBuilderFilterHandler, IterableFilt return [$filter->field, '=', null]; } - + #[\Override] public function match(object|array $item, FilterInterface $filter, Context $context): bool { - /** + /** * @var EqualsNull $filter - * @var int|string|float|null $context->readValue($item, $filter->field) + * @var float|int|string|null $context->readValue($item, $filter->field) */ return $context->readValue($item, $filter->field) === null; diff --git a/src/Reader/FilterHandler/GreaterThanHandler.php b/src/Reader/FilterHandler/GreaterThanHandler.php index 6479f16d07ea8bacdde9a2b75b72f8bad775cd33..3b832040fe66c455a41622d9561a51b28be0acc2 100644 --- a/src/Reader/FilterHandler/GreaterThanHandler.php +++ b/src/Reader/FilterHandler/GreaterThanHandler.php @@ -25,13 +25,13 @@ final class GreaterThanHandler implements QueryBuilderFilterHandler, IterableFil return [$filter->field, '>', $filter->value]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { /** * @var GreaterThan $filter - * @var int|string|float|null $itemValue + * @var float|int|string|null $itemValue */ $itemValue = $context->readValue($item, $filter->field); diff --git a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php index 473563ae9c7eff8fa8afc516042bb19c9a426232..1507e8a45e660af73a252cf43d15560e557c6d8b 100644 --- a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php @@ -25,13 +25,13 @@ final class GreaterThanOrEqualHandler implements QueryBuilderFilterHandler, Iter return [$filter->field, '>=', $filter->value]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { /** * @var GreaterThanOrEqual $filter - * @var int|string|float|null $itemValue + * @var float|int|string|null $itemValue */ $itemValue = $context->readValue($item, $filter->field); $argumentValue = $filter->value; diff --git a/src/Reader/FilterHandler/InHandler.php b/src/Reader/FilterHandler/InHandler.php index c403f4fb83bd22e4f75bcde29b6c32798bf8c815..a93d7f7c590242645d7d46708533ea18d11713f9 100644 --- a/src/Reader/FilterHandler/InHandler.php +++ b/src/Reader/FilterHandler/InHandler.php @@ -26,7 +26,7 @@ final class InHandler implements QueryBuilderFilterHandler, IterableFilterHandle return [$filter->field, 'in', new Parameter($filter->values)]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/src/Reader/FilterHandler/LessThanHandler.php b/src/Reader/FilterHandler/LessThanHandler.php index 61b6f698a523d49137b5e13d76e198d9fb48d4ad..2fc9bbe6c90ecb9738143f7535ac84df1c195284 100644 --- a/src/Reader/FilterHandler/LessThanHandler.php +++ b/src/Reader/FilterHandler/LessThanHandler.php @@ -25,15 +25,15 @@ final class LessThanHandler implements QueryBuilderFilterHandler, IterableFilter return [$filter->field, '<', $filter->value]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool - { + { /** * @var LessThan $filter - * @var int|string|float|null $itemValue + * @var float|int|string|null $itemValue */ - + $itemValue = $context->readValue($item, $filter->field); $argumentValue = $filter->value; @@ -44,4 +44,3 @@ final class LessThanHandler implements QueryBuilderFilterHandler, IterableFilter return $itemValue < $argumentValue; } } - diff --git a/src/Reader/FilterHandler/LessThanOrEqualHandler.php b/src/Reader/FilterHandler/LessThanOrEqualHandler.php index 7e046c1fec0b641ec1afbbc8012a799398246970..f46a758c6ef12f4ab0463e7b4bedf1b2bfb4e157 100644 --- a/src/Reader/FilterHandler/LessThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/LessThanOrEqualHandler.php @@ -25,14 +25,14 @@ final class LessThanOrEqualHandler implements QueryBuilderFilterHandler, Iterabl return [$filter->field, '<=', $filter->value]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { - /** - * @var LessThanOrEqual $filter - * @var int|string|float|null $itemValue - */ + /** + * @var LessThanOrEqual $filter + * @var float|int|string|null $itemValue + */ $itemValue = $context->readValue($item, $filter->field); $argumentValue = $filter->value; @@ -41,6 +41,6 @@ final class LessThanOrEqualHandler implements QueryBuilderFilterHandler, Iterabl return false; } - return $itemValue <= $argumentValue; + return $itemValue <= $argumentValue; } } diff --git a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php index 2f7b229185f4a12ef07f432247da9e1f5e89d7b6..fab73657bca036fbcef6242a910af91f29c9b51a 100644 --- a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php @@ -39,7 +39,7 @@ abstract class BaseLikeHandler implements IterableFilterHandlerInterface LikeMode::EndsWith => '%' . $escapedValue, }; } - + #[\Override] public function match(object|array $item, FilterInterface $filter, Context $context): bool { @@ -54,7 +54,7 @@ abstract class BaseLikeHandler implements IterableFilterHandlerInterface if ($searchValue === '') { return true; } - + /** * @var string $searchValue */ @@ -87,4 +87,4 @@ abstract class BaseLikeHandler implements IterableFilterHandlerInterface return mb_strtolower(mb_substr($value, -mb_strlen($search))) === mb_strtolower($search); } -} \ No newline at end of file +} diff --git a/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php index b0c0628ee04a71af7c48eb895588129fbfdf86fb..5d793d2b5003778bf58b7a29b203d7db0180e782 100644 --- a/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php @@ -15,7 +15,7 @@ final class MysqlLikeHandler extends BaseLikeHandler implements QueryBuilderFilt { /** * @var Like $filter - * @var string $filter->value + * @var string $filter->value */ $pattern = $this->prepareValue($filter->value, $filter->mode); diff --git a/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php index b12fbf6f0c8f00041fa2d94b41361783008e07e8..6904369c722c6d796e009d500feeee6821b737d7 100644 --- a/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php @@ -15,7 +15,7 @@ final class PostgresLikeHandler extends BaseLikeHandler implements QueryBuilderF { /** * @var Like $filter - * @var string $filter->value + * @var string $filter->value */ $pattern = $this->prepareValue($filter->value, $filter->mode); diff --git a/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php index fcd73c6479b2c7b661b85e6f951c101563bf76d3..8991557454d77195654156c067f51dbdb7f504d7 100644 --- a/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php @@ -19,9 +19,9 @@ final class SqlServerLikeHandler extends BaseLikeHandler implements QueryBuilder #[\Override] public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { - /** - * @var Like $filter - * @var string $filter->value + /** + * @var Like $filter + * @var string $filter->value */ $pattern = $this->prepareValue($filter->value, $filter->mode); diff --git a/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php index 01530e640588652f96a40ae264a3f2b0f890f659..825adf8e5539b3717d857cdd92bdde34bb742af3 100644 --- a/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php @@ -39,7 +39,7 @@ final class SqliteLikeHandler extends BaseLikeHandler implements QueryBuilderFil // The above escaping replacements will be used to build the pattern // in the event of escape characters (% or _) being found in the $filter->value // Sqlite does not have the ESCAPE command available - + /** @var string $filter->value */ $pattern = $this->prepareValue($filter->value, $filter->mode); diff --git a/src/Reader/FilterHandler/NoneHandler.php b/src/Reader/FilterHandler/NoneHandler.php index 2ad5aec311775659f0ef83516b0d99d136603697..a1afaaa251b0f909a96f69cc517e82bb9977110a 100644 --- a/src/Reader/FilterHandler/NoneHandler.php +++ b/src/Reader/FilterHandler/NoneHandler.php @@ -24,7 +24,7 @@ final class NoneHandler implements QueryBuilderFilterHandler, IterableFilterHand { return [new Expression('1 = 0')]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/src/Reader/FilterHandler/NotHandler.php b/src/Reader/FilterHandler/NotHandler.php index d4a695c7198c135ac104b0de7030a571a8590e13..a7321610849cfd5c0498ad788e0844f2dd23c41f 100644 --- a/src/Reader/FilterHandler/NotHandler.php +++ b/src/Reader/FilterHandler/NotHandler.php @@ -37,7 +37,7 @@ final class NotHandler implements QueryBuilderFilterHandler, IterableFilterHandl $convertedFilter = $this->convertFilter($filter->filter); $handledFilter = $convertedFilter instanceof Not ? $convertedFilter->filter : $convertedFilter; - + /** @var QueryBuilderFilterHandler|null $handler */ $handler = $handlers[$handledFilter::class] ?? null; if ($handler === null) { @@ -105,7 +105,7 @@ final class NotHandler implements QueryBuilderFilterHandler, IterableFilterHandl return $notCount % 2 === 1 ? new Not($filter->filter) : $filter->filter; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/src/Reader/FilterHandler/OrXHandler.php b/src/Reader/FilterHandler/OrXHandler.php index 164c0f57f6b6e8d2078f43b201293340426f182e..be812a0a5f8d0a0c1bb3aff2f9587209e0f22d4f 100644 --- a/src/Reader/FilterHandler/OrXHandler.php +++ b/src/Reader/FilterHandler/OrXHandler.php @@ -38,7 +38,7 @@ final class OrXHandler implements QueryBuilderFilterHandler, IterableFilterHandl }, ]; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php b/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php index 21b188b564ca7208f2f5f706b54a076d39199d1d..9e0fe830c06b2535c23ca1d36e51414b8db40319 100644 --- a/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php +++ b/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php @@ -6,7 +6,6 @@ namespace Yiisoft\Data\Cycle\Tests\Feature\Base\Reader; use Cycle\Database\Query\SelectQuery; use Cycle\ORM\Select; -use Cycle\Database\Exception\StatementException; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; @@ -16,10 +15,8 @@ use Yiisoft\Data\Cycle\Reader\EntityReader; use Yiisoft\Data\Cycle\Tests\Feature\DataTrait; use Yiisoft\Data\Cycle\Tests\Support\NotSupportedFilter; use Yiisoft\Data\Cycle\Tests\Support\StubFilter; -use Yiisoft\Data\Cycle\Tests\Support\StubFilterHandler; use Yiisoft\Data\Reader\Filter\Equals; use Yiisoft\Data\Reader\Iterable\ValueReader\FlatValueReader; -use Yiisoft\Data\Reader\Iterable\ValueReader\ValueReaderInterface; use Yiisoft\Data\Reader\Sort; use Yiisoft\Data\Tests\Common\FixtureTrait; diff --git a/tests/Support/StubFilterHandler.php b/tests/Support/StubFilterHandler.php index b85586ee1fa3960f0946ce997ce3208b89139d08..30152b40edef9cc998a13ac94751fd371a407df4 100644 --- a/tests/Support/StubFilterHandler.php +++ b/tests/Support/StubFilterHandler.php @@ -23,7 +23,7 @@ final class StubFilterHandler implements QueryBuilderFilterHandler, IterableFilt /** @var StubFilter $filter */ return ['field', 'symbol', 'value']; } - + #[\Override] public function match(array|object $item, FilterInterface $filter, Context $context): bool { diff --git a/tests/Unit/Reader/EntityReaderTest.php b/tests/Unit/Reader/EntityReaderTest.php index 7dfdba6d1fbb4096f1e1b7c942ca0a9500e7ad4a..8767249ee9ed5c13656d2e77137a02cde92d5f96 100644 --- a/tests/Unit/Reader/EntityReaderTest.php +++ b/tests/Unit/Reader/EntityReaderTest.php @@ -16,7 +16,7 @@ final class EntityReaderTest extends TestCase // Test the functionality through a public method that uses normalizeSortingCriteria internally $select = $this->createMock(SelectQuery::class); $select->expects($this->once())->method('orderBy')->with(['email' => 'ASC'])->willReturnSelf(); - + $reader = new EntityReader($select); $reader->withSort(Sort::only(['email'])->withOrderString('+email'))->getSql(); }