Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 26
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3use MediaWiki\Config\ConfigException;
4use MediaWiki\Extension\Phonos\Engine\EngineInterface;
5use MediaWiki\Extension\Phonos\Wikibase\WikibaseEntityAndLexemeFetcher;
6use MediaWiki\MediaWikiServices;
7
8/** @phpcs-require-sorted-array */
9return [
10    'Phonos.Engine' => static function ( MediaWikiServices $services ): EngineInterface {
11        $config = $services->getMainConfig();
12        $engineName = ucfirst( $config->get( 'PhonosEngine' ) );
13        $className = '\\MediaWiki\\Extension\\Phonos\\Engine\\' . $engineName . 'Engine';
14        if ( !class_exists( $className ) ) {
15            throw new ConfigException( "$engineName is not a valid engine" );
16        }
17        return new $className(
18            $services->getHttpRequestFactory(),
19            $services->getShellCommandFactory(),
20            $services->getFileBackendGroup(),
21            $services->getMainObjectStash(),
22            $services->getMainWANObjectCache(),
23            $services->getContentLanguage(),
24            $config
25        );
26    },
27    'Phonos.Wikibase' => static function ( MediaWikiServices $services ): WikibaseEntityAndLexemeFetcher {
28        return new WikibaseEntityAndLexemeFetcher(
29            $services->getHttpRequestFactory(),
30            $services->getRepoGroup(),
31            $services->getMainWANObjectCache(),
32            $services->getMainConfig()
33        );
34    },
35];