comparison core/lib/Drupal/Core/Asset/LibraryDependencyResolverInterface.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\Core\Asset;
4
5 /**
6 * Resolves the dependencies of asset (CSS/JavaScript) libraries.
7 */
8 interface LibraryDependencyResolverInterface {
9
10 /**
11 * Gets the given libraries with their dependencies.
12 *
13 * Given ['core/a', 'core/b', 'core/c'], with core/a depending on core/c and
14 * core/b on core/d, returns ['core/a', 'core/b', 'core/c', 'core/d'].
15 *
16 * @param string[] $libraries
17 * A list of libraries, in the order they should be loaded.
18 *
19 * @return string[]
20 * A list of libraries, in the order they should be loaded, including their
21 * dependencies.
22 */
23 public function getLibrariesWithDependencies(array $libraries);
24
25 /**
26 * Gets the minimal representative subset of the given libraries.
27 *
28 * A minimal representative subset means that any library in the given set of
29 * libraries that is a dependency of another library in the set, is removed.
30 *
31 * Hence a minimal representative subset is the most compact representation
32 * possible of a set of libraries.
33 *
34 * (Each asset library has dependencies and can therefore be seen as a tree.
35 * Hence the given list of libraries represent a forest. This function returns
36 * all roots of trees that are not a subtree of another tree in the forest.)
37 *
38 * @param string[] $libraries
39 * A set of libraries.
40 *
41 * @return string[]
42 * A representative subset of the given set of libraries.
43 */
44 public function getMinimalRepresentativeSubset(array $libraries);
45
46 }