diff --git a/composer.json b/composer.json index f8ac4cc..b7808db 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,7 @@ "ext-mbstring": "*", "cycle/database": "^2.11", "cycle/orm": "^2.9", - "yiisoft/data": "dev-master" + "yiisoft/data": "^2.0" }, "require-dev": { "maglnet/composer-require-checker": "^4.7", diff --git a/src/Reader/EntityReader.php b/src/Reader/EntityReader.php index 8324a53..5c6973b 100644 --- a/src/Reader/EntityReader.php +++ b/src/Reader/EntityReader.php @@ -14,7 +14,6 @@ use Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\LikeHandlerFactory; use Yiisoft\Data\Reader\DataReaderInterface; use Yiisoft\Data\Reader\Filter\All; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; use Yiisoft\Data\Reader\Sort; use Yiisoft\Data\Cycle\Reader\Cache\CachedCollection; @@ -40,7 +39,7 @@ final class EntityReader implements DataReaderInterface private CachedCollection $itemsCache; private CachedCollection $oneItemCache; /** - * @psalm-var array $handlers + * @psalm-var array $handlers */ private array $filterHandlers = []; @@ -148,8 +147,7 @@ public function withFilter(FilterInterface $filter): static /** * @psalm-mutation-free */ - #[\Override] - public function withAddedFilterHandlers(FilterHandlerInterface ...$filterHandlers): static + public function withAddedFilterHandlers(QueryBuilderFilterHandler ...$filterHandlers): static { $new = clone $this; /** @psalm-suppress ImpureMethodCall */ @@ -207,13 +205,11 @@ public function getSql(): string return (string)($query instanceof Select ? $query->buildQuery() : $query); } - private function setFilterHandlers(FilterHandlerInterface ...$filterHandlers): void + private function setFilterHandlers(QueryBuilderFilterHandler ...$filterHandlers): void { $handlers = []; foreach ($filterHandlers as $filterHandler) { - if ($filterHandler instanceof QueryBuilderFilterHandler) { - $handlers[$filterHandler->getFilterClass()] = $filterHandler; - } + $handlers[$filterHandler->getFilterClass()] = $filterHandler; } $this->filterHandlers = array_merge($this->filterHandlers, $handlers); } diff --git a/src/Reader/FilterHandler/AllHandler.php b/src/Reader/FilterHandler/AllHandler.php index c6375fe..1c28320 100644 --- a/src/Reader/FilterHandler/AllHandler.php +++ b/src/Reader/FilterHandler/AllHandler.php @@ -8,10 +8,9 @@ use Cycle\ORM\Select\QueryBuilder; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\All; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class AllHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class AllHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/AndXHandler.php b/src/Reader/FilterHandler/AndXHandler.php index 85566b9..ecf75ba 100644 --- a/src/Reader/FilterHandler/AndXHandler.php +++ b/src/Reader/FilterHandler/AndXHandler.php @@ -8,10 +8,9 @@ use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\AndX; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class AndXHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class AndXHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/BetweenHandler.php b/src/Reader/FilterHandler/BetweenHandler.php index 3b739e5..07124dd 100644 --- a/src/Reader/FilterHandler/BetweenHandler.php +++ b/src/Reader/FilterHandler/BetweenHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\Between; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class BetweenHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class BetweenHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/EqualsHandler.php b/src/Reader/FilterHandler/EqualsHandler.php index 933be1a..501b492 100644 --- a/src/Reader/FilterHandler/EqualsHandler.php +++ b/src/Reader/FilterHandler/EqualsHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\Equals; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class EqualsHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class EqualsHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/EqualsNullHandler.php b/src/Reader/FilterHandler/EqualsNullHandler.php index 7c8f469..1769616 100644 --- a/src/Reader/FilterHandler/EqualsNullHandler.php +++ b/src/Reader/FilterHandler/EqualsNullHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\EqualsNull; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class EqualsNullHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class EqualsNullHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/GreaterThanHandler.php b/src/Reader/FilterHandler/GreaterThanHandler.php index f152e3f..ce240ad 100644 --- a/src/Reader/FilterHandler/GreaterThanHandler.php +++ b/src/Reader/FilterHandler/GreaterThanHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\GreaterThan; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class GreaterThanHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class GreaterThanHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php index ee3c6ce..1c5cf17 100644 --- a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\GreaterThanOrEqual; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class GreaterThanOrEqualHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class GreaterThanOrEqualHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/InHandler.php b/src/Reader/FilterHandler/InHandler.php index 3ed693d..e198d71 100644 --- a/src/Reader/FilterHandler/InHandler.php +++ b/src/Reader/FilterHandler/InHandler.php @@ -7,10 +7,9 @@ use Cycle\Database\Injection\Parameter; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\In; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class InHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class InHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/LessThanHandler.php b/src/Reader/FilterHandler/LessThanHandler.php index 3ee5997..b428744 100644 --- a/src/Reader/FilterHandler/LessThanHandler.php +++ b/src/Reader/FilterHandler/LessThanHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\LessThan; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class LessThanHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class LessThanHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/LessThanOrEqualHandler.php b/src/Reader/FilterHandler/LessThanOrEqualHandler.php index a5948ad..4041af9 100644 --- a/src/Reader/FilterHandler/LessThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/LessThanOrEqualHandler.php @@ -6,10 +6,9 @@ use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\LessThanOrEqual; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class LessThanOrEqualHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class LessThanOrEqualHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php index ac99db4..9007e7e 100644 --- a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php @@ -7,9 +7,8 @@ use Stringable; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\Filter\LikeMode; -use Yiisoft\Data\Reader\FilterHandlerInterface; -abstract class BaseLikeHandler implements FilterHandlerInterface +abstract class BaseLikeHandler { protected array $escapingReplacements = [ '%' => '\%', diff --git a/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php b/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php index 25f1a7b..d986b5d 100644 --- a/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php +++ b/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php @@ -5,14 +5,13 @@ namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; use RuntimeException; -use Yiisoft\Data\Reader\FilterHandlerInterface; /** * @internal */ final class LikeHandlerFactory { - public static function getLikeHandler(string $driverType): FilterHandlerInterface + public static function getLikeHandler(string $driverType): BaseLikeHandler { // default - ignored due to the complexity of testing and preventing splitting of databaseDriver argument. // @codeCoverageIgnoreStart diff --git a/src/Reader/FilterHandler/NoneHandler.php b/src/Reader/FilterHandler/NoneHandler.php index d48c64d..3e14563 100644 --- a/src/Reader/FilterHandler/NoneHandler.php +++ b/src/Reader/FilterHandler/NoneHandler.php @@ -8,10 +8,9 @@ use Cycle\ORM\Select\QueryBuilder; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\None; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class NoneHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class NoneHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/NotHandler.php b/src/Reader/FilterHandler/NotHandler.php index 75942ec..65cb483 100644 --- a/src/Reader/FilterHandler/NotHandler.php +++ b/src/Reader/FilterHandler/NotHandler.php @@ -18,10 +18,9 @@ use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\Filter\Not; use Yiisoft\Data\Reader\Filter\OrX; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class NotHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class NotHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/FilterHandler/OrXHandler.php b/src/Reader/FilterHandler/OrXHandler.php index f6f8925..c62bb36 100644 --- a/src/Reader/FilterHandler/OrXHandler.php +++ b/src/Reader/FilterHandler/OrXHandler.php @@ -8,10 +8,9 @@ use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\OrX; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; -final class OrXHandler implements QueryBuilderFilterHandler, FilterHandlerInterface +final class OrXHandler implements QueryBuilderFilterHandler { #[\Override] public function getFilterClass(): string diff --git a/src/Reader/QueryBuilderFilterHandler.php b/src/Reader/QueryBuilderFilterHandler.php index c8f067b..e4aad49 100644 --- a/src/Reader/QueryBuilderFilterHandler.php +++ b/src/Reader/QueryBuilderFilterHandler.php @@ -4,13 +4,12 @@ namespace Yiisoft\Data\Cycle\Reader; -use Yiisoft\Data\Reader\FilterHandlerInterface; use Yiisoft\Data\Reader\FilterInterface; interface QueryBuilderFilterHandler { /** - * @psalm-param array $handlers + * @psalm-param array $handlers */ public function getAsWhereArguments(FilterInterface $filter, array $handlers): array; }