function LibraryDependencyResolver::doGetDependencies

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::doGetDependencies()
  2. 10 core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::doGetDependencies()
  3. 9 core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::doGetDependencies()
  4. 8.9.x core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::doGetDependencies()

Gets the given libraries with its dependencies.

Helper method for ::getLibrariesWithDependencies().

Parameters

string[] $libraries: A list of libraries in the order they should be loaded.

array $graph: The graph of libraries that is being built recursively.

Return value

string[] A list of libraries, in the order they should be loaded, including their dependencies.

2 calls to LibraryDependencyResolver::doGetDependencies()
LibraryDependencyResolver::getLibrariesWithDependencies in core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php
Gets the given libraries with their dependencies.
LibraryDependencyResolver::getMinimalRepresentativeSubset in core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php
Gets the minimal representative subset of the given libraries.

File

core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php, line 63

Class

LibraryDependencyResolver
Resolves the dependencies of asset (CSS/JavaScript) libraries.

Namespace

Drupal\Core\Asset

Code

protected function doGetDependencies(array $libraries, array $graph = []) {
  foreach ($libraries as $library) {
    if (!isset($graph[$library])) {
      [$extension, $name] = explode('/', $library, 2);
      $definition = $this->libraryDiscovery
        ->getLibraryByName($extension, $name);
      if ($definition) {
        $graph[$library]['edges'] = [];
      }
      if (!empty($definition['dependencies'])) {
        foreach ($definition['dependencies'] as $dependency) {
          $graph[$library]['edges'][$dependency] = $dependency;
        }
        $graph = $this->doGetDependencies($definition['dependencies'], $graph);
      }
    }
  }
  return $graph;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.