Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
CRAP | |
46.15% |
6 / 13 |
| LibraryDiscovery | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
14.65 | |
46.15% |
6 / 13 |
| __construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| getLibrariesByExtension | |
100.00% |
1 / 1 |
3 | |
100.00% |
6 / 6 |
|||
| getLibraryByName | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 2 |
|||
| clearCachedDefinitions | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Asset\LibraryDiscovery. | |
| */ | |
| namespace Drupal\Core\Asset; | |
| use Drupal\Core\Cache\CacheCollectorInterface; | |
| /** | |
| * Discovers available asset libraries in Drupal. | |
| */ | |
| class LibraryDiscovery implements LibraryDiscoveryInterface { | |
| /** | |
| * The library discovery cache collector. | |
| * | |
| * @var \Drupal\Core\Cache\CacheCollectorInterface | |
| */ | |
| protected $collector; | |
| /** | |
| * The final library definitions, statically cached. | |
| * | |
| * hook_library_info_alter() and hook_js_settings_alter() allows modules | |
| * and themes to dynamically alter a library definition (once per request). | |
| * | |
| * @var array | |
| */ | |
| protected $libraryDefinitions = []; | |
| /** | |
| * Constructs a new LibraryDiscovery instance. | |
| * | |
| * @param \Drupal\Core\Cache\CacheCollectorInterface $library_discovery_collector | |
| * The library discovery cache collector. | |
| */ | |
| public function __construct(CacheCollectorInterface $library_discovery_collector) { | |
| $this->collector = $library_discovery_collector; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getLibrariesByExtension($extension) { | |
| if (!isset($this->libraryDefinitions[$extension])) { | |
| $libraries = $this->collector->get($extension); | |
| $this->libraryDefinitions[$extension] = []; | |
| foreach ($libraries as $name => $definition) { | |
| $this->libraryDefinitions[$extension][$name] = $definition; | |
| } | |
| } | |
| return $this->libraryDefinitions[$extension]; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getLibraryByName($extension, $name) { | |
| $extension = $this->getLibrariesByExtension($extension); | |
| return isset($extension[$name]) ? $extension[$name] : FALSE; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function clearCachedDefinitions() { | |
| $this->libraryDefinitions = []; | |
| $this->collector->clear(); | |
| } | |
| } |