@benev/construct
Version:
game map editing suite for babylon
22 lines (15 loc) • 434 B
text/typescript
import {Item} from "../../../domains/outline/types.js"
export function produce_item_reports(root: Item.Folder) {
const reports: Item.Report[] = []
function recurse(
item: Item.Whatever,
parents: Item.Folder[],
) {
reports.push({item, parents, parent: parents.at(-1)!})
if (item.kind === "folder")
for (const child of item.children)
recurse(child, [...parents, item])
}
recurse(root, [])
return reports
}