<?php
declare(strict_types=1);
namespace League\CommonMark\Normalizer;
final class UniqueSlugNormalizer implements UniqueSlugNormalizerInterface
{
private TextNormalizerInterface $innerNormalizer;
private array $alreadyUsed = [];
public function __construct(TextNormalizerInterface $innerNormalizer)
{
$this->innerNormalizer = $innerNormalizer;
}
public function clearHistory(): void
{
$this->alreadyUsed = [];
}
public function normalize(string $text, array $context = []): string
{
$normalized = $this->innerNormalizer->normalize($text, $context);
if (\array_key_exists($normalized, $this->alreadyUsed)) {
$suffix = 0;
do {