Rename dfs to collectLeaves and change concat to push

This commit is contained in:
Amy 2021-08-29 23:23:11 -04:00
parent bf7a07ca7f
commit 81cb3d60e4
1 changed files with 5 additions and 4 deletions

View File

@ -295,22 +295,23 @@ type Leaves = {
ancestors: { name: string; route: string }[];
}[];
function dfs(
function collectLeaves(
entry: { name: string; route: string; exact?: boolean; submenu?: Menu },
ancestors: { name: string; route: string }[]
): Leaves {
if (entry.submenu == null) {
return [{ ...entry, ancestors }];
}
let ret = [] as Leaves;
const ret = [] as Leaves;
for (const subEntry of entry.submenu) {
ret = ret.concat(dfs(subEntry, [...ancestors, entry]));
ret.push(...collectLeaves(subEntry, [...ancestors, entry]));
}
return ret;
}
const leaves: Leaves = menu.reduce((prev, cur) => {
return prev.concat(dfs(cur, []));
prev.push(...collectLeaves(cur, []));
return prev;
}, [] as Leaves);
function shouldHighlight(