1: if-else refactor
var instance;
function getFmService() {
if (instance !== undefined) {
return instance;
} else {
instance = createFmService();
return instance;
}
}
function getFmService(instance) {
return instance !== undefined ? instance : createFmService();
}
var faults;
var EFaultIds = {};
function init() {
if (_.isEmpty(faults)) {
var product = determineProduct();
if (product === "unknown") {
logger.info("could not determine product for faults yet..");
if (secondInitTriggerDefault !== true) {
secondInitTriggerDefault = true;
return Promise.resolve();
} else {
logger.info("still couldn't determine, defaulting to 5G");
product = "5G";
}
}
logger.info("initialized faults from %s", product + "_faults.json");
faults = require("./" + product + "_faults.json");
}
if (!_.isEmpty(EFaultIds)) {
return Promise.resolve();
} else {
return Promise.try(function() {
_.each(faults, function(fault, id) {
EFaultIds[fault.shortName] = id;
});
});
}
}
function init() {
var faults = {};
var EFaultIds = {};
var product = determineProduct();
if (product === "unknown") {
logger.info("could not determine product for faults yet..");
if (secondInitTriggerDefault !== true) {
secondInitTriggerDefault = true;
return Promise.resolve({faults, EFaultIds});
} else {
logger.info("still couldn't determine, defaulting to 5G");
product = "5G";
}
}
logger.info("initialized faults from %s", product + "_faults.json");
faults = require("./" + product + "_faults.json");
if (_.isEmpty(EFaultIds)) {
return Promise.try(function() {
_.each(faults, function(fault, id) {
EFaultIds[fault.shortName] = id;
});
});
}
return Promise.resolve({faults, EFaultIds});
}
function getEFaultIds() {
return init()
.then(function({fault, EFaultIds}) {
return Promise.resolve(EFaultIds);
});
}