beam-cli
Version:
A beautifully simple CLI for running Lighthouse audits on a statically generated (SSG) website
32 lines (31 loc) • 1 kB
JavaScript
export const sortResults = (results, category, ascending) => {
const runResults = Object.values(results.data);
if (category === 'path') {
if (ascending)
runResults.reverse();
}
else if (category === 'size') {
runResults.sort((a, b) => {
const direction = a.size - b.size;
return ascending ? direction : direction * -1;
});
}
else {
const sortCategory = category;
runResults.sort((a, b) => {
const direction = (a.scores[sortCategory] ?? 0) - (b.scores[sortCategory] ?? 0);
return ascending ? direction : direction * -1;
});
}
return runResults;
};
export const getSortCategories = (results) => {
const cats = new Set(['path']);
const runResults = Object.values(results.data);
for (const run of runResults) {
const runCats = Object.keys(run.scores);
for (const cat of runCats)
cats.add(cat);
}
return [...cats];
};