diff --git a/composer.lock b/composer.lock index dba8718..37f757f 100644 --- a/composer.lock +++ b/composer.lock @@ -845,16 +845,16 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", "shasum": "" }, "require": { @@ -908,7 +908,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.0.4" }, "funding": [ { @@ -924,7 +924,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", @@ -3352,16 +3352,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", "shasum": "" }, "require": { @@ -3372,7 +3372,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -3417,7 +3417,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" }, "funding": [ { @@ -3425,7 +3425,7 @@ "type": "github" } ], - "time": "2024-08-12T06:03:08+00:00" + "time": "2024-10-18T14:56:07+00:00" }, { "name": "sebastian/complexity", diff --git a/src/Processor/Attribute/BaseProcessorAttribute.php b/src/Processor/Attribute/BaseProcessorAttribute.php index d98e682..542b8b3 100644 --- a/src/Processor/Attribute/BaseProcessorAttribute.php +++ b/src/Processor/Attribute/BaseProcessorAttribute.php @@ -6,12 +6,12 @@ abstract class BaseProcessorAttribute implements ProcessableAttribute, CustomizableMessageAttribute { - protected array $processors; - protected array $messages; + private readonly array $processors; + private readonly array $messages; public function __construct(array $processors, ?array $messages = null) { - $this->processors = $this->normalizeProcessors($processors); + $this->processors = self::filterValidProcessors($processors); $this->messages = $messages ?? []; } @@ -25,19 +25,8 @@ public function getMessage(string $processorName): ?string return $this->messages[$processorName] ?? null; } - protected function normalizeProcessors(array $processors): array + private static function filterValidProcessors(array $processors): array { - $normalized = []; - foreach ($processors as $key => $value) { - if (is_int($key)) { - $normalized[$value] = []; - } elseif (is_string($value)) { - $normalized[$key] = []; - } else { - $normalized[$key] = $value; - } - } - - return $normalized; + return array_filter($processors, static fn ($v) => null !== $v && false !== $v); } }