|
|
<?php namespace Wpstudio\AssetsManifest\Classes;
use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Collection;
class ManifestReader implements Arrayable { private Collection $manifest;
/** * @param string $manifestPath * @throws AssetsManifestException */ public function __construct(string $manifestPath) { if (!file_exists($manifestPath)) { throw new AssetsManifestException('Not found: ' . $manifestPath); }
if (!is_readable($manifestPath)) { throw new AssetsManifestException('Not readable: ' . $manifestPath); }
$this->manifest = collect(json_decode(file_get_contents($manifestPath), true)); }
public function get(string $assetName) { return $this->manifest->offsetGet($assetName); }
public function toArray() { return $this->manifest; } }
|