-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrector.php
More file actions
29 lines (24 loc) · 921 Bytes
/
rector.php
File metadata and controls
29 lines (24 loc) · 921 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
declare(strict_types=1);
use EncoreDigitalGroup\StdLib\Support\Internal\Rector\Rector;
use Rector\Config\RectorConfig;
use Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ParamTypeByMethodCallTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ParamTypeByParentCallTypeRector;
function skipTypeHintsForMagicMethods(): array
{
$paramTypeRules = array_filter([
AddMethodCallBasedStrictParamTypeRector::class,
ParamTypeByMethodCallTypeRector::class,
ParamTypeByParentCallTypeRector::class,
], "class_exists");
return array_fill_keys($paramTypeRules, [
__DIR__ . "/src/Objects/Support/Traits/Macroable.php",
]);
}
return RectorConfig::configure()
->withPaths([
__DIR__ . "/src",
])
->withRules(Rector::rules())
->withSkip(skipTypeHintsForMagicMethods());