in process_api/cartridges/app_storefront_custom/cartridge/models/categories.js [38:72]
function categoryToObject(category) {
if (!category.custom || !category.custom.showInMenu) {
return null;
}
var result = {
name: category.getDisplayName(),
url: getCategoryUrl(category),
id: category.ID,
isPLP: category.custom && category.custom.isPLP
};
var subCategories = category.hasOnlineSubCategories() ?
category.getOnlineSubCategories() : null;
if (subCategories) {
collections.forEach(subCategories, function (subcategory) {
var converted = null;
if (subcategory.hasOnlineProducts() || subcategory.hasOnlineSubCategories()) {
converted = categoryToObject(subcategory);
}
if (converted) {
if (!result.subCategories) {
result.subCategories = [];
}
result.subCategories.push(converted);
}
});
if (result.subCategories) {
result.complexSubCategories = result.subCategories.some(function (item) {
return !!item.subCategories;
});
}
}
return result;
}