Skip to content

Instantly share code, notes, and snippets.

@aire-con-gas
Created June 19, 2019 05:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aire-con-gas/8325b5a6bc5e6bedec3e233fd18c9c7d to your computer and use it in GitHub Desktop.
Save aire-con-gas/8325b5a6bc5e6bedec3e233fd18c9c7d to your computer and use it in GitHub Desktop.
function someMethod(setting, items, response) {
var emptyMessage = {
message: "You have not selected anything"
};
if (
aService.isThisFooSetting(setting.type) &&
!aService.isEditModeClear(setting.editMode) &&
items.length === 0
) {
response.errors.push(emptyMessage);
}
if (
aService.isThisBarSetting(setting.type) &&
!aService.isEditModeClear(setting.editMode) &&
items.length === 0
) {
response.errors.push(emptyMessage);
}
for (var j = 0; j < items.length; j++) {
if (aService.isBlahSetting(setting.type)) {
if (areItemsEmpty(items[j], setting.sections[j])) {
response.errors.push(emptyMessage);
break;
}
} else {
var isEmpty;
if (typeof items[j] === "undefined") {
isEmpty = true;
} else {
switch (true) {
case aService.isBSetting(setting.type):
isEmpty =
!aService.isOverwrite(setting.editMode) &&
isEmptyInventory(items[j]);
break;
case aService.isCSetting(setting.type):
isEmpty = items[j].devices === null;
break;
case aService.isDSetting(setting.type):
isEmpty = items[j].package_id === null;
break;
case aService.isESetting(setting.type):
if (!items[j].hasOwnProperty("partitions")) {
isEmpty = true;
} else {
isEmpty = Object.keys(items[j].partitions).every(function(key) {
return items[j].partitions[key].length === 0;
});
}
break;
case aService.isFSetting(setting.type):
isEmpty =
items[j].cap === null ||
(items[j].cap !== 0 && !items[j].cap_interval);
break;
case aService.isGSetting(setting.type):
isEmpty = items[j].status === "";
break;
case aService.isHSetting(setting.type):
isEmpty =
typeof items[j] !== "object" ||
!(setting.type in items[j]) ||
(items[j][setting.type] === null || items[j][setting.type] <= 0);
break;
case aService.isYSetting(setting.type):
isEmpty = !("include" in items[j]) && !("exclude" in items[j]);
break;
case aService.isZSetting(setting.type):
isEmpty = items[j].pacing_strategy === "";
break;
case aService.iXYSetting(setting.type):
isEmpty =
!items[j].amount ||
parseFloat(items[j].amount) < 0 ||
!items[j].interval;
break;
default:
isEmpty =
items[j].includedTotal === 0 && items[j].excludedTotal === 0;
break;
}
}
if (
(aService.isOverwrite(setting.mode) ||
aService.isPause(setting.mode)) &&
isEmpty
) {
response.errors.push(emptyMessage);
break;
}
}
}
return response;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment