mirror of
https://github.com/strapi/strapi.git
synced 2025-07-21 07:57:45 +00:00
38 lines
829 B
JavaScript
38 lines
829 B
JavaScript
![]() |
'use strict';
|
||
|
|
||
|
const VError = require('verror');
|
||
|
|
||
|
/**
|
||
|
* Requires a database connector
|
||
|
* @param {string} connector connector name
|
||
|
* @param {DatabaseManager} databaseManager reference to the database manager
|
||
|
*/
|
||
|
module.exports = function requireConnector(connector) {
|
||
|
if (!connector) {
|
||
|
throw new VError(
|
||
|
{ name: 'ConnectorError' },
|
||
|
'initialize connector without name'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
require.resolve(`strapi-connector-${connector}`);
|
||
|
} catch (error) {
|
||
|
throw new VError(
|
||
|
{ name: 'ConnectorError', cause: error },
|
||
|
'connector "%s" not found',
|
||
|
connector
|
||
|
);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
return require(`strapi-connector-${connector}`);
|
||
|
} catch (error) {
|
||
|
throw new VError(
|
||
|
{ name: 'ConnectorError', cause: error },
|
||
|
'initialize connector "%s"',
|
||
|
connector
|
||
|
);
|
||
|
}
|
||
|
};
|