1<?php
2
3declare(strict_types=1);
4
5/*
6 * This file is part of the league/commonmark package.
7 *
8 * (c) Colin O'Dell <colinodell@gmail.com>
9 *
10 * Original code based on the CommonMark JS reference parser (https://bitly.com/commonmark-js)
11 *  - (c) John MacFarlane
12 *
13 * For the full copyright and license information, please view the LICENSE
14 * file that was distributed with this source code.
15 */
16
17namespace League\CommonMark;
18
19use League\CommonMark\Environment\Environment;
20use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
21
22/**
23 * Converts CommonMark-compatible Markdown to HTML.
24 */
25final class CommonMarkConverter extends MarkdownConverter
26{
27    /**
28     * Create a new Markdown converter pre-configured for CommonMark
29     *
30     * @param array<string, mixed> $config
31     */
32    public function __construct(array $config = [])
33    {
34        $environment = new Environment($config);
35        $environment->addExtension(new CommonMarkCoreExtension());
36
37        parent::__construct($environment);
38    }
39
40    public function getEnvironment(): Environment
41    {
42        \assert($this->environment instanceof Environment);
43
44        return $this->environment;
45    }
46}
47