35 lines
1.1 KiB
JavaScript
35 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.
|
|
*/
|
|
|
|
export default 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;
|
|
}
|