/** * 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