Retrieves all the dependencies for the given script module identifiers, filtered by import types.
Description
It will consolidate an array containing a set of unique dependencies based on the requested import types: ‘static’, ‘dynamic’, or both. This method is recursive and also retrieves dependencies of the dependencies.
Parameters
$ids
string[]required- The identifiers of the script modules for which to gather dependencies.
$import_types
string[]optional- Import types of dependencies to retrieve:
'static'
,'dynamic'
, or both.
Default is both.Default:
array('static', 'dynamic')
Source
private function get_dependencies( array $ids, array $import_types = array( 'static', 'dynamic' ) ) {
return array_reduce(
$ids,
function ( $dependency_script_modules, $id ) use ( $import_types ) {
$dependencies = array();
foreach ( $this->registered[ $id ]['dependencies'] as $dependency ) {
if (
in_array( $dependency['import'], $import_types, true ) &&
isset( $this->registered[ $dependency['id'] ] ) &&
! isset( $dependency_script_modules[ $dependency['id'] ] )
) {
$dependencies[ $dependency['id'] ] = $this->registered[ $dependency['id'] ];
}
}
return array_merge( $dependency_script_modules, $dependencies, $this->get_dependencies( array_keys( $dependencies ), $import_types ) );
},
array()
);
}
Changelog
Version | Description |
---|---|
6.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.