30 lines
530 B
JavaScript
Raw Normal View History

2021-05-10 15:36:09 +02:00
'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 {
2021-05-17 16:34:19 +02:00
const constructor = require(connector);
return new constructor(config);
2021-05-10 15:36:09 +02:00
} catch (error) {
throw new InvalidConnector();
}
}
module.exports = {
resolveConnector,
};