fey/php-project-lvl2

View on GitHub
src/Parsers.php

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
<?php

namespace GenDiff\Parsers;

use Symfony\Component\Yaml\Yaml;

function parse($data, $type)
{
    $parsers = [
        'yaml' => fn($content) => parseYaml($content),
        'yml'  => fn($content) => parseYaml($content),
        'json' => fn($content) => parseJson($content),
    ];
    return $parsers[$type]($data);
}

function parseYaml($data)
{
    return Yaml::parse($data, Yaml::PARSE_OBJECT_FOR_MAP);
}

function parseJson($data)
{
    return json_decode($data);
}