
| Current Path : /var/www/html/rocksensor1/vendor/chi-teck/drupal-code-generator/src/Validator/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor1/vendor/chi-teck/drupal-code-generator/src/Validator/RegExp.php |
<?php
declare(strict_types=1);
namespace DrupalCodeGenerator\Validator;
/**
* Validates whether a value match or not given regexp pattern.
*/
final class RegExp {
/**
* @psalm-param non-empty-string $pattern
*/
public function __construct(
private readonly string $pattern,
private readonly ?string $message = NULL,
) {}
/**
* @throws \UnexpectedValueException
*/
public function __invoke(mixed $value): string {
if (!\is_string($value) || !\preg_match($this->pattern, $value)) {
$message = $this->message ?? \sprintf('The value does not match pattern "%s".', $this->pattern);
throw new \UnexpectedValueException($message);
}
return $value;
}
}