Initial import from aternosorg/codex-minecraft
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 32s
Tests / Run tests on PHP v8.5 (push) Failing after 2s

This commit is contained in:
2026-04-30 09:56:57 -05:00
commit 7c7fe5ca80
94 changed files with 7003 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace Aternos\Codex\Detective;
/**
* MultiPatternDetector can detect multiple patterns in a log and return true if all patterns are found
*/
class MultiPatternDetector extends Detector
{
protected array $patterns = [];
/**
* Add a pattern to the list of patterns to detect
*
* @param string $pattern
* @return $this
*/
public function addPattern(string $pattern): static
{
$this->patterns[] = $pattern;
return $this;
}
/**
* Detects if the log matches all patterns
*
* Returns true if all patterns are found, false otherwise
*
* @return bool|float
*/
public function detect(): bool|float
{
foreach ($this->patterns as $pattern) {
if (preg_match($pattern, $this->getLogContent()) !== 1) {
return false;
}
}
return true;
}
}