Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 148 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
declare(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
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
 
14
namespace League\CommonMark\Extension\FrontMatter\Data;
15
 
991 lars 16
use League\CommonMark\Exception\MissingDependencyException;
148 lars 17
use League\CommonMark\Extension\FrontMatter\Exception\InvalidFrontMatterException;
18
use Symfony\Component\Yaml\Exception\ParseException;
19
use Symfony\Component\Yaml\Yaml;
20
 
21
final class SymfonyYamlFrontMatterParser implements FrontMatterDataParserInterface
22
{
23
    /**
24
     * {@inheritDoc}
25
     */
26
    public function parse(string $frontMatter)
27
    {
28
        if (! \class_exists(Yaml::class)) {
991 lars 29
            throw new MissingDependencyException('Failed to parse yaml: "symfony/yaml" library is missing');
148 lars 30
        }
31
 
32
        try {
33
            return Yaml::parse($frontMatter);
34
        } catch (ParseException $ex) {
35
            throw InvalidFrontMatterException::wrap($ex);
36
        }
37
    }
38
}