<?php

declare(strict_types=1);

namespace Acms\Services\Markdown;

use Acms\Services\Markdown\Contracts\Converter;
use cebe\markdown\MarkdownExtra;

/**
 * 標準の Markdown 変換器。cebe/markdown の MarkdownExtra をそのまま薄くラップする。
 *
 * 旧 Common::parseMarkdown（Services/Common/Helper.php）の実装をそのまま移設したもので、
 * 出力 HTML は移設前と完全に一致する（tests/phpunit/Unit/Services/Common/HelperTest.php の
 * 特徴付けテストで保証する）。
 */
class MarkdownConverter implements Converter
{
    public function __construct(
        private readonly MarkdownExtra $parser
    ) {
    }

    public function convert(string $markdown): string
    {
        return $this->parser->parse($markdown);
    }
}
