in gulpfile.js [65:121]
const getDatasets = function (ignoreRank=false) {
if (allDatasets && !ignoreRank) {
return allDatasets;
}
var datasets = requireDir('./tmp/data/datasets');
var arr = [];
for (var k in datasets) {
// Handle deprecated datasets
if (datasets[k].Deprecated) {
continue;
}
// If we have no items in a category, remove it
for (var category in datasets[k].DataAtWork) {
if (!datasets[k].DataAtWork[category] || (datasets[k].DataAtWork[category] && datasets[k].DataAtWork[category] === 0)) {
delete datasets[k].DataAtWork[category];
}
}
// If we have no items at all, delete DataAtWork
if (_.flatMap(datasets[k].DataAtWork).length === 0) {
delete datasets[k].DataAtWork;
}
var dataset = datasets[k];
dataset.Slug = generateSlug(k);
arr.push(datasets[k]);
}
// Rank the datasets
arr = rankDatasets(arr, ignoreRank);
// Sort DataAtWork section by alpha
arr = arr.map((d) => {
if (d.DataAtWork) {
d.DataAtWork = sortDataAtWork(d.DataAtWork);
}
return d;
});
// Sort the Tags
arr = arr.map((d) => {
if (d.Tags) {
d.Tags = d.Tags.sort((a, b) => a.localeCompare(b));
}
return d;
});
if (ignoreRank) {
return arr.slice();
}
allDatasets = arr.slice();
return allDatasets;
};