From 6ec0fab26845ac249474a5e683b0066e70c164bf Mon Sep 17 00:00:00 2001 From: Walmir Silva Date: Sat, 26 Oct 2024 14:19:04 -0300 Subject: [PATCH] refactor(SanitizationException): Replace instance-based exception with static method invalidInput() - Added static method `invalidInput()` to handle invalid input exceptions without requiring instantiation - Utilizes `CODE_INVALID_INPUT` for consistent error code management - Streamlines exception handling by enabling direct static calls This refactor simplifies exception creation and enforces consistent error handling. --- src/Exception/SanitizationException.php | 19 ++++++++++++++++++- src/Processor/AbstractSanitizerProcessor.php | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Exception/SanitizationException.php b/src/Exception/SanitizationException.php index aeaeaf8..c385e58 100644 --- a/src/Exception/SanitizationException.php +++ b/src/Exception/SanitizationException.php @@ -4,6 +4,23 @@ namespace KaririCode\Sanitizer\Exception; -final class SanitizationException extends \RuntimeException +use KaririCode\Exception\AbstractException; + +final class SanitizationException extends AbstractException { + private const CODE_INVALID_INPUT = 4001; + + public static function invalidInput(string $expectedType): self + { + $message = sprintf( + 'Input must be a %s', + $expectedType + ); + + return self::createException( + self::CODE_INVALID_INPUT, + 'INVALID_INPUT', + $message + ); + } } diff --git a/src/Processor/AbstractSanitizerProcessor.php b/src/Processor/AbstractSanitizerProcessor.php index eee92ba..a361e1e 100644 --- a/src/Processor/AbstractSanitizerProcessor.php +++ b/src/Processor/AbstractSanitizerProcessor.php @@ -12,7 +12,7 @@ abstract class AbstractSanitizerProcessor implements Processor protected function guardAgainstNonString(mixed $input): string { if (!is_string($input)) { - throw new SanitizationException('Input must be a string'); + throw SanitizationException::invalidInput('string'); } return $input;