Alexandre Bodin d0af0a5b8e wip
2021-06-24 09:09:28 +02:00

30 lines
530 B
JavaScript

'use strict';
const { UnknownConnector, InvalidConnector } = require('./errors');
/**
* Loads the required connector
* @param {Configuration} config
*/
function resolveConnector(config) {
const connector = config.get('connector');
try {
require.resolve(connector);
} catch (error) {
throw new UnknownConnector();
}
try {
const constructor = require(connector);
return new constructor(config);
} catch (error) {
throw new InvalidConnector();
}
}
module.exports = {
resolveConnector,
};