Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
OptionalLoader
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 1
 addOptionalDependencies
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace Cite\ResourceLoader;
4
5use ExtensionRegistry;
6use MediaWiki\ResourceLoader\FileModule;
7use MediaWiki\ResourceLoader\Module;
8
9/**
10 * @license MIT
11 */
12class OptionalLoader {
13    public static function addOptionalDependencies( array $info ): Module {
14        // Copied from DiscussionTools
15        $extensionRegistry = ExtensionRegistry::getInstance();
16        foreach ( $info['optionalDependencies'] as $ext => $deps ) {
17            if ( $extensionRegistry->isLoaded( $ext ) ) {
18                $info['dependencies'] = array_merge( $info['dependencies'], (array)$deps );
19            }
20        }
21        $class = $info['class'] ?? FileModule::class;
22        return new $class( $info );
23    }
24}