AvoidNegatedCollectionFilterOrRejectRector

Avoid negated conditionals in filter() by using reject(), or vice versa.

 use Illuminate\Support\Collection;

 $collection = new Collection([0, 1, null, -1]);
-$collection->filter(fn (?int $number): bool => ! is_null($number));
-$collection->filter(fn (?int $number): bool => ! $number);
-$collection->reject(fn (?int $number) => ! $number > 0);
+$collection->reject(fn (?int $number): bool => is_null($number)); // Avoid negation
+$collection->reject(fn (?int $number): bool => (bool) $number); // Explicitly cast
+$collection->filter(fn (?int $number): bool => $number > 0); // Adds return type

Configure your rector.php:

<?php

use RectorLaravel\Rector\MethodCall\AvoidNegatedCollectionFilterOrRejectRector;
use Rector\Config\RectorConfig;

return RectorConfig::configure()
    ->withRules([
        AvoidNegatedCollectionFilterOrRejectRector::class,
    ]);