diff --git a/rector.php b/rector.php index 54537c2e5c3ba0def7cc27664582810f83b9bec1..c49ca30cd95b54961c150f0e180b4a2cdfb5b9df 100644 --- a/rector.php +++ b/rector.php @@ -5,13 +5,13 @@ declare(strict_types=1); use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector; use Rector\Config\RectorConfig; use Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector; -use Rector\Php81\Rector\Property\ReadOnlyPropertyRector; use Rector\Php81\Rector\FuncCall\NullToStrictStringFuncCallArgRector; +use Rector\Php81\Rector\Property\ReadOnlyPropertyRector; return RectorConfig::configure() ->withPaths([ - __DIR__ . '/src', - __DIR__ . '/tests', + __DIR__.'/src', + __DIR__.'/tests', ]) ->withPhpSets(php81: true) ->withRules([ diff --git a/src/Reader/Cache/CachedCount.php b/src/Reader/Cache/CachedCount.php index 6aec74b57de5e5d7fcffef7af1bb34faaca4d597..429561e474430e1020e2434e84da62fd0b19bbfc 100644 --- a/src/Reader/Cache/CachedCount.php +++ b/src/Reader/Cache/CachedCount.php @@ -13,10 +13,13 @@ final class CachedCount */ private ?int $count = null; - public function __construct(private ?Countable $collection) {} + public function __construct(private ?Countable $collection) + { + } /** * @psalm-internal Yiisoft\Data\Cycle\Reader + * * @psalm-return non-negative-int */ public function getCount(): int @@ -31,10 +34,12 @@ final class CachedCount { /** * @psalm-suppress PossiblyNullReference + * * @psalm-var non-negative-int */ $this->count = $this->collection->count(); $this->collection = null; + return $this->count; } } diff --git a/src/Reader/EntityReader.php b/src/Reader/EntityReader.php index 8d3d34e49b2e32ced134403de8966c413742966a..8271a03f6e41da82a15f4b72add37c288de27d7e 100644 --- a/src/Reader/EntityReader.php +++ b/src/Reader/EntityReader.php @@ -10,15 +10,15 @@ use Cycle\ORM\Select; use Cycle\ORM\Select\QueryBuilder; use Generator; use InvalidArgumentException; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; +use Yiisoft\Data\Cycle\Reader\Cache\CachedCollection; +use Yiisoft\Data\Cycle\Reader\Cache\CachedCount; use Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\LikeHandlerFactory; use Yiisoft\Data\Reader\DataReaderInterface; use Yiisoft\Data\Reader\Filter\All; use Yiisoft\Data\Reader\FilterInterface; use Yiisoft\Data\Reader\Sort; -use Yiisoft\Data\Cycle\Reader\Cache\CachedCollection; -use Yiisoft\Data\Cycle\Reader\Cache\CachedCount; -use Override; use function array_key_exists; use function is_int; @@ -105,6 +105,7 @@ final class EntityReader implements DataReaderInterface $new->limit = $limit; $new->itemsCache = new CachedCollection(); } + return $new; } @@ -119,6 +120,7 @@ final class EntityReader implements DataReaderInterface $new->offset = $offset; $new->itemsCache = new CachedCollection(); } + return $new; } @@ -134,6 +136,7 @@ final class EntityReader implements DataReaderInterface $new->itemsCache = new CachedCollection(); $new->oneItemCache = new CachedCollection(); } + return $new; } @@ -151,6 +154,7 @@ final class EntityReader implements DataReaderInterface /** @psalm-suppress ImpureMethodCall */ $new->resetCountCache(); } + return $new; } @@ -167,6 +171,7 @@ final class EntityReader implements DataReaderInterface $query = $this->buildSelectQuery(); $this->itemsCache->setCollection($query->fetchAll()); } + return $this->itemsCache->getCollection(); } @@ -186,7 +191,7 @@ final class EntityReader implements DataReaderInterface } /** - * Get Iterator without caching + * Get Iterator without caching. */ #[Override] public function getIterator(): Generator @@ -197,6 +202,7 @@ final class EntityReader implements DataReaderInterface public function getSql(): string { $query = $this->buildSelectQuery(); + return (string) ($query instanceof Select ? $query->buildQuery() : $query); } @@ -270,7 +276,7 @@ final class EntityReader implements DataReaderInterface if (is_int($direction)) { $direction = match ($direction) { SORT_DESC => 'DESC', - default => 'ASC', + default => 'ASC', }; } $criteria[$field] = $direction; diff --git a/src/Reader/FilterHandler/AllHandler.php b/src/Reader/FilterHandler/AllHandler.php index e7b24c4cf855fc0044425bce500d6898d3cce861..e7e51edc845dfb30edb11cab7dd54645c6f47223 100644 --- a/src/Reader/FilterHandler/AllHandler.php +++ b/src/Reader/FilterHandler/AllHandler.php @@ -7,10 +7,10 @@ namespace Yiisoft\Data\Cycle\Reader\FilterHandler; use Cycle\Database\Injection\Expression; use Cycle\Database\Query\SelectQuery; use Cycle\ORM\Select\QueryBuilder; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\All; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class AllHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/AndXHandler.php b/src/Reader/FilterHandler/AndXHandler.php index 6dfcbfef40470b003b233e06ab0022fc2728ecea..a4337b7a7e6a2ce546719ff33a985d771e589df9 100644 --- a/src/Reader/FilterHandler/AndXHandler.php +++ b/src/Reader/FilterHandler/AndXHandler.php @@ -6,11 +6,11 @@ namespace Yiisoft\Data\Cycle\Reader\FilterHandler; use Cycle\Database\Query\SelectQuery; use Cycle\ORM\Select\QueryBuilder; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\AndX; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class AndXHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/BetweenHandler.php b/src/Reader/FilterHandler/BetweenHandler.php index a2361e5b396705a89a063cf0a11d2c732bf24d32..a02305d22c3d822a1c36b2c556cf3d1de04faf8c 100644 --- a/src/Reader/FilterHandler/BetweenHandler.php +++ b/src/Reader/FilterHandler/BetweenHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\Between; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class BetweenHandler implements QueryBuilderFilterHandler { @@ -20,7 +20,7 @@ final class BetweenHandler implements QueryBuilderFilterHandler #[Override] public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { - /** @var Between $filter */ + /** @var Between $filter */ return [$filter->field, 'between', $filter->minValue, $filter->maxValue]; } diff --git a/src/Reader/FilterHandler/EqualsHandler.php b/src/Reader/FilterHandler/EqualsHandler.php index 1cc12290dde1bb4a125294fa3ac66ebd84bf0933..65e66c93543dc2bc55d3d2b628d7331154cf2dd4 100644 --- a/src/Reader/FilterHandler/EqualsHandler.php +++ b/src/Reader/FilterHandler/EqualsHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\Equals; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class EqualsHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/EqualsNullHandler.php b/src/Reader/FilterHandler/EqualsNullHandler.php index fd9059dd8f96ad55e5ba45508615ec919455dc4f..215d7ba71bc806a6ee561a2dca2bca11ce31e75a 100644 --- a/src/Reader/FilterHandler/EqualsNullHandler.php +++ b/src/Reader/FilterHandler/EqualsNullHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\EqualsNull; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class EqualsNullHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/GreaterThanHandler.php b/src/Reader/FilterHandler/GreaterThanHandler.php index 0fc85e401cea68d1126f552fa54b00aac6dc7938..cefdf13e15c1e7b6a88143cf92f7ef03034773a8 100644 --- a/src/Reader/FilterHandler/GreaterThanHandler.php +++ b/src/Reader/FilterHandler/GreaterThanHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\GreaterThan; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class GreaterThanHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php index 22abdb61f099ca1723cb483a2e6d95c13c2ab60d..b64855e4237d95700c1079882c450f6b7472473f 100644 --- a/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/GreaterThanOrEqualHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\GreaterThanOrEqual; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class GreaterThanOrEqualHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/InHandler.php b/src/Reader/FilterHandler/InHandler.php index fd521d8333e6ba4a2ea4add50582814cc8d1b1a1..18b7b70047c62b1fb6fc8200980afb761189a321 100644 --- a/src/Reader/FilterHandler/InHandler.php +++ b/src/Reader/FilterHandler/InHandler.php @@ -5,10 +5,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; use Cycle\Database\Injection\Parameter; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\In; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class InHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/LessThanHandler.php b/src/Reader/FilterHandler/LessThanHandler.php index 43d8d3cf3db33138c0630d2b7e7edcd04e11349a..851c8ff4285c0db46b7e81de146261a1e776c759 100644 --- a/src/Reader/FilterHandler/LessThanHandler.php +++ b/src/Reader/FilterHandler/LessThanHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\LessThan; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class LessThanHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/LessThanOrEqualHandler.php b/src/Reader/FilterHandler/LessThanOrEqualHandler.php index 83ddc85de43d593a3a33e67da3f182a41f771874..702e07c7d8da6609503220cacc42b3311262ae7c 100644 --- a/src/Reader/FilterHandler/LessThanOrEqualHandler.php +++ b/src/Reader/FilterHandler/LessThanOrEqualHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\LessThanOrEqual; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class LessThanOrEqualHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php index 027d41613311a2b0614be0b8e5a2e1a105a2ebbb..8109ca85c13751b185267e9b51ad108c13715277 100644 --- a/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php @@ -4,17 +4,17 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; +use Override; use Stringable; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\Filter\LikeMode; -use Override; abstract class BaseLikeHandler implements QueryBuilderFilterHandler { protected array $escapingReplacements = [ - '%' => '\%', - '_' => '\_', + '%' => '\%', + '_' => '\_', '\\' => '\\\\', ]; @@ -27,10 +27,11 @@ abstract class BaseLikeHandler implements QueryBuilderFilterHandler protected function prepareValue(string|Stringable $value, LikeMode $mode): string { $value = strtr((string) $value, $this->escapingReplacements); + return match ($mode) { - LikeMode::Contains => '%' . $value . '%', - LikeMode::StartsWith => $value . '%', - LikeMode::EndsWith => '%' . $value, + LikeMode::Contains => '%'.$value.'%', + LikeMode::StartsWith => $value.'%', + LikeMode::EndsWith => '%'.$value, }; } } diff --git a/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php b/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php index c6bcf859e12f9b8c43d8eebb3a636034c8eba93d..8c9b3c87c792be06efc7272ac3fd785231a1846b 100644 --- a/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php +++ b/src/Reader/FilterHandler/LikeHandler/LikeHandlerFactory.php @@ -17,11 +17,11 @@ final class LikeHandlerFactory // default - ignored due to the complexity of testing and preventing splitting of databaseDriver argument. // @codeCoverageIgnoreStart return match ($driverType) { - 'SQLite' => new SqliteLikeHandler(), - 'MySQL' => new MysqlLikeHandler(), - 'Postgres' => new PostgresLikeHandler(), + 'SQLite' => new SqliteLikeHandler(), + 'MySQL' => new MysqlLikeHandler(), + 'Postgres' => new PostgresLikeHandler(), 'SQLServer' => new SqlServerLikeHandler(), - default => throw new RuntimeException("$driverType database driver is not supported."), + default => throw new RuntimeException("$driverType database driver is not supported."), }; // @codeCoverageIgnoreEnd } diff --git a/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php index 5e5fa2af36190cd3bc703474f4ae6408067a626c..78f66df2d966096a6d082cfc5ebd8bca33dcb3fe 100644 --- a/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/MysqlLikeHandler.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; +use Override; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class MysqlLikeHandler extends BaseLikeHandler { @@ -14,7 +14,6 @@ final class MysqlLikeHandler extends BaseLikeHandler public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { /** @var Like $filter */ - if ($filter->caseSensitive !== true) { return [$filter->field, 'like', $this->prepareValue($filter->value, $filter->mode)]; } diff --git a/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php index a5a06e6da17015eb69096c87c4bbb77a98028870..d885e3e67ee2c707e0c9872ffc2a9720e3d80a7c 100644 --- a/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/PostgresLikeHandler.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; +use Override; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class PostgresLikeHandler extends BaseLikeHandler { @@ -14,7 +14,6 @@ final class PostgresLikeHandler extends BaseLikeHandler public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { /** @var Like $filter */ - if ($filter->caseSensitive !== true) { return [$filter->field, 'ilike', $this->prepareValue($filter->value, $filter->mode)]; } diff --git a/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php index ff875c78079e64b8887d1faceb0afe02bf29af76..49aacbffc6ca78a5f50e1d1ff28f9ec1e96e0316 100644 --- a/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/SqlServerLikeHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterOptionException; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class SqlServerLikeHandler extends BaseLikeHandler { @@ -20,7 +20,6 @@ final class SqlServerLikeHandler extends BaseLikeHandler public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { /** @var Like $filter */ - if ($filter->caseSensitive === true) { throw new NotSupportedFilterOptionException(optionName: 'caseSensitive', driverType: 'SQLServer'); } diff --git a/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php b/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php index 3786d960efa7c464190094e3fd691041f18b860f..2a851a5202eb9f501f267d70c383cc949dab3354 100644 --- a/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php +++ b/src/Reader/FilterHandler/LikeHandler/SqliteLikeHandler.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterOptionException; use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class SqliteLikeHandler extends BaseLikeHandler { @@ -20,7 +20,6 @@ final class SqliteLikeHandler extends BaseLikeHandler public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { /** @var Like $filter */ - if ($filter->caseSensitive === true) { throw new NotSupportedFilterOptionException(optionName: 'caseSensitive', driverType: 'SQLite'); } diff --git a/src/Reader/FilterHandler/NoneHandler.php b/src/Reader/FilterHandler/NoneHandler.php index d6f0bfe36d342257bc18f8f866656ac74035c838..deaf342695ae23502b7c1c84e93a1b702886f751 100644 --- a/src/Reader/FilterHandler/NoneHandler.php +++ b/src/Reader/FilterHandler/NoneHandler.php @@ -7,10 +7,10 @@ namespace Yiisoft\Data\Cycle\Reader\FilterHandler; use Cycle\Database\Injection\Expression; use Cycle\Database\Query\SelectQuery; use Cycle\ORM\Select\QueryBuilder; +use Override; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\None; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class NoneHandler implements QueryBuilderFilterHandler { diff --git a/src/Reader/FilterHandler/NotHandler.php b/src/Reader/FilterHandler/NotHandler.php index 37ce2eee623b3c23206e43f8507731a2c80c57fa..457b198e0e78ef18409030729e1c78a5fc85f238 100644 --- a/src/Reader/FilterHandler/NotHandler.php +++ b/src/Reader/FilterHandler/NotHandler.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Reader\FilterHandler; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\AndX; @@ -19,7 +20,6 @@ use Yiisoft\Data\Reader\Filter\Like; use Yiisoft\Data\Reader\Filter\Not; use Yiisoft\Data\Reader\Filter\OrX; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class NotHandler implements QueryBuilderFilterHandler { @@ -33,7 +33,6 @@ final class NotHandler implements QueryBuilderFilterHandler public function getAsWhereArguments(FilterInterface $filter, array $handlers): array { /** @var Not $filter */ - $convertedFilter = $this->convertFilter($filter->filter); $handledFilter = $convertedFilter instanceof Not ? $convertedFilter->filter : $convertedFilter; $handler = $handlers[$handledFilter::class] ?? null; @@ -49,7 +48,7 @@ final class NotHandler implements QueryBuilderFilterHandler $operator = $where[1]; $where[1] = match ($operator) { 'between', 'in', 'like' => "not $operator", - '=' => '!=', + '=' => '!=', default => $operator, }; @@ -63,23 +62,23 @@ final class NotHandler implements QueryBuilderFilterHandler return match ($filter::class) { AndX::class => new OrX( ...array_map( - static fn(FilterInterface $subFilter): FilterInterface => $handler->convertFilter($subFilter), + static fn (FilterInterface $subFilter): FilterInterface => $handler->convertFilter($subFilter), $filter->filters, ), ), OrX::class => new AndX( ...array_map( - static fn(FilterInterface $subFilter): FilterInterface => $handler->convertFilter($subFilter), + static fn (FilterInterface $subFilter): FilterInterface => $handler->convertFilter($subFilter), $filter->filters, ), ), - GreaterThan::class => new LessThanOrEqual($filter->field, $filter->value), + GreaterThan::class => new LessThanOrEqual($filter->field, $filter->value), GreaterThanOrEqual::class => new LessThan($filter->field, $filter->value), - LessThan::class => new GreaterThanOrEqual($filter->field, $filter->value), - LessThanOrEqual::class => new GreaterThan($filter->field, $filter->value), + LessThan::class => new GreaterThanOrEqual($filter->field, $filter->value), + LessThanOrEqual::class => new GreaterThan($filter->field, $filter->value), Between::class, Equals::class, EqualsNull::class, In::class, Like::class => new Not($filter), Not::class => $this->convertNot($filter, $notCount), - default => $filter, + default => $filter, }; } diff --git a/src/Reader/FilterHandler/OrXHandler.php b/src/Reader/FilterHandler/OrXHandler.php index e79da009dda870c2e4a50fcd35d265010b4d8013..44d57925f6f9de00f353fe91e3b3dac2ffbd1d91 100644 --- a/src/Reader/FilterHandler/OrXHandler.php +++ b/src/Reader/FilterHandler/OrXHandler.php @@ -6,11 +6,11 @@ namespace Yiisoft\Data\Cycle\Reader\FilterHandler; use Cycle\Database\Query\SelectQuery; use Cycle\ORM\Select\QueryBuilder; +use Override; use Yiisoft\Data\Cycle\Exception\NotSupportedFilterException; use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler; use Yiisoft\Data\Reader\Filter\OrX; use Yiisoft\Data\Reader\FilterInterface; -use Override; final class OrXHandler implements QueryBuilderFilterHandler { diff --git a/src/Writer/EntityWriter.php b/src/Writer/EntityWriter.php index d6bc72edc7b7b46e03bfe409ed37ac5a1982bc2a..deb562c7090d92887c5f4db8f37181941166ffc9 100644 --- a/src/Writer/EntityWriter.php +++ b/src/Writer/EntityWriter.php @@ -5,13 +5,15 @@ declare(strict_types=1); namespace Yiisoft\Data\Cycle\Writer; use Cycle\ORM\EntityManagerInterface; +use Override; use Throwable; use Yiisoft\Data\Writer\DataWriterInterface; -use Override; final class EntityWriter implements DataWriterInterface { - public function __construct(private EntityManagerInterface $entityManager) {} + public function __construct(private EntityManagerInterface $entityManager) + { + } /** * @throws Throwable diff --git a/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php b/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php index a03c679d30654e51ec914f3188392a129b814266..4b42b1ff696ef11328e319abfdef2245c1df4b0e 100644 --- a/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php +++ b/tests/Feature/Base/Reader/BaseEntityReaderTestCase.php @@ -20,9 +20,9 @@ use Yiisoft\Data\Reader\Filter\Equals; use Yiisoft\Data\Reader\Sort; use Yiisoft\Data\Tests\Common\FixtureTrait; +use function count; use function iterator_to_array; use function preg_replace; -use function count; use function sprintf; abstract class BaseEntityReaderTestCase extends TestCase @@ -189,7 +189,7 @@ abstract class BaseEntityReaderTestCase extends TestCase { return [ 'base' => [ - << ['connection' => static::$DRIVER ?? 'sqlite'], - 'sqlite' => ['connection' => 'sqlite'], + 'sqlite' => ['connection' => 'sqlite'], ]; $connections = [ 'sqlite' => new SQLiteDriverConfig( @@ -220,27 +220,27 @@ trait DataTrait } /** - * Cycle ORM Schema + * Cycle ORM Schema. */ private function createSchema(): SchemaInterface { return new Schema([ 'user' => [ - SchemaInterface::MAPPER => StdMapper::class, - SchemaInterface::DATABASE => 'default', - SchemaInterface::TABLE => 'user', + SchemaInterface::MAPPER => StdMapper::class, + SchemaInterface::DATABASE => 'default', + SchemaInterface::TABLE => 'user', SchemaInterface::PRIMARY_KEY => 'id', - SchemaInterface::COLUMNS => [ + SchemaInterface::COLUMNS => [ // property => column - 'id' => 'id', - 'number' => 'number', - 'email' => 'email', + 'id' => 'id', + 'number' => 'number', + 'email' => 'email', 'balance' => 'balance', 'born_at' => 'born_at', ], SchemaInterface::TYPECAST => [ - 'id' => 'int', - 'number' => 'int', + 'id' => 'int', + 'number' => 'int', 'balance' => 'float', 'born_at' => 'datetime', ], diff --git a/tests/Feature/Mssql/Reader/EntityReaderTest.php b/tests/Feature/Mssql/Reader/EntityReaderTest.php index b525cee924791dde4d80b428e38f27674433cc27..ac047f64cc31c61626c3ce87b843098f1b17ea80 100644 --- a/tests/Feature/Mssql/Reader/EntityReaderTest.php +++ b/tests/Feature/Mssql/Reader/EntityReaderTest.php @@ -14,7 +14,7 @@ final class EntityReaderTest extends BaseEntityReaderTestCase { return [ 'base' => [ - << [ - <<