Skip to content

Commit

Permalink
refactor: create parent link before children
Browse files Browse the repository at this point in the history
  • Loading branch information
niquenen committed Sep 24, 2024
1 parent 525d753 commit 3897718
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/toc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,17 @@ function slugify(heading: string): string
* @param map - The map containing the elements.
* @returns An array of numbers representing the children elements.
*/
function getChildrens(parent: number, map: TMap): Array<number>
function getChildren(parent: number, map: TMap): Array<number>
{
const childrens: Array<number> = [];
const children: Array<number> = [];

for (const element of map) {
if (element[1].parent != parent) {
continue;
}
childrens.push(element[0]);
children.push(element[0]);
}
return childrens;
return children;
}

/**
Expand Down Expand Up @@ -110,21 +110,20 @@ function getItem(
elementsIgnored: Array<number>
): string
{
const childrensItems: Array<string> = [];
const childrens: Array<number> = getChildrens(element, map);
const elementLink: string = link(map.get(element)!, slugs);
const childrenItems: Array<string> = [];
const children: Array<number> = getChildren(element, map);

for (let index: number = 0; index < childrens.length; ++index) {
childrensItems.push(
getItem(childrens[index]!, map, slugs, elementsIgnored)
for (let index: number = 0; index < children.length; ++index) {
childrenItems.push(
getItem(children[index]!, map, slugs, elementsIgnored)
);
}
elementsIgnored.push(...childrens);
if (childrensItems.length) {
return `<li>${link(map.get(element)!, slugs)}<ul>${
childrensItems.join('')
}</ul></li>`;
elementsIgnored.push(...children);
if (childrenItems.length) {
return `<li>${elementLink}<ul>${childrenItems.join('')}</ul></li>`;
}
return `<li>${link(map.get(element)!, slugs)}</li>`;
return `<li>${elementLink}</li>`;
}

/**
Expand Down

0 comments on commit 3897718

Please sign in to comment.