Files
bodyshop/server/utils/instanceMgr.js
2024-02-12 12:56:03 -08:00

37 lines
1.1 KiB
JavaScript

/**
* Returns the corresponding component/function/object based on the type of instance.
* Based on the node env params, return the correct prop.
* Default is to return the ImEX Prop
* @typedef {Object} InstanceManagerObject
* @property { string | object | function } rome Return this prop if Rome.
* @property { string | object | function } promanager Return this prop if Rome.
* @property { string | object | function } imex Return this prop if Rome.
*/
function InstanceManager({ rome, promanager, imex }) {
let propToReturn = null;
switch (process.env.INSTANCE) {
case "IMEX":
propToReturn = imex;
break;
case "ROME":
propToReturn = rome;
break;
case "PROMANAGER":
propToReturn = promanager;
break;
default:
propToReturn = imex;
break;
}
// if (!propToReturn) {
// throw new Error(
// `Prop to return is not valid for this instance (${process.env.INSTANCE}).`
// );
// }
return propToReturn;
}
exports.default = InstanceManager