<?php namespace Wpstudio\AssetsManifest\Classes;

use Wpstudio\Assetsmanifest\Components\Manifest;

class TwigFilters
{
    public static function manifest($assetName): string
    {
        $manifest = app()->get(Manifest::class);

        assert($manifest instanceof Manifest);

        return $manifest->getManifestReader()->get($assetName);
    }

    public static function hmrAssets()
    {
        if (\Config::get('app.debug')) {
            $manifest = app()->get(Manifest::class);

            assert($manifest instanceof Manifest);

            $startsWithSubstring = 'vendors-node_modules';

            foreach ($manifest->getManifestReader()->toArray() as $assetName => $assetsFullPath) {
                if (starts_with($assetName, $startsWithSubstring)) {
                    if (ends_with($assetName, '.css')) {
                        echo '<link rel="stylesheet" href="' . $assetsFullPath . '">' . PHP_EOL;
                    } else {
                        echo '<script src="' . $assetsFullPath . '"></script>' . PHP_EOL;
                    }
                }
            }
        }
    }
}