mediawiki-skins-Citizen/resources/skins.citizen.search/searchClient.js
alistair3149 eec5c6fd64
feat(search): reimplement multi search command experiment
Search commands start withs slash and includes: action, rest, ask
2023-08-02 22:07:41 -04:00

23 lines
607 B
JavaScript

const searchClientsData = require( './searchClients/searchClients.json' );
function searchClient( config ) {
return {
active: null,
getData: function ( key, value ) {
const data = Object.values( searchClientsData ).find( ( item ) => item[ key ] === value );
return data;
},
setActive: function ( id ) {
const data = this.getData( 'id', id );
if ( data && data !== this.active ) {
const client = require( `./searchClients/${data.id}.js` );
this.active = data;
this.active.client = client( config );
}
}
};
}
/** @module searchClient */
module.exports = searchClient;