@venuecms/sdk-next
Version:
This is a work in progress and is heavily in flux until we launch 1.0 in February.
1 lines • 835 B
Source Map (JSON)
{"version":3,"sources":["../../../src/lib/utils/tree.ts"],"sourcesContent":["import { Page } from \"@venuecms/sdk\";\n\nexport type PageWithParent = Page & { parentId?: string };\nexport type PageWithParentAndChildren = PageWithParent & {\n children: PageWithParentAndChildren[];\n};\n\nexport const buildTree = (\n nodes: Array<PageWithParent>,\n parentId?: string,\n): Array<PageWithParentAndChildren> => {\n return nodes\n .filter((node) => node.parentId === parentId)\n .map((parent) => ({\n ...parent,\n children: buildTree(nodes, parent.id),\n metadata: parent,\n }));\n};\n"],"mappings":";iCAOO,IAAMA,EAAY,CACvBC,EACAC,IAEOD,EACJ,OAAQE,GAASA,EAAK,WAAaD,CAAQ,EAC3C,IAAKE,IAAY,CAChB,GAAGA,EACH,SAAUJ,EAAUC,EAAOG,EAAO,EAAE,EACpC,SAAUA,CACZ,EAAE","names":["buildTree","nodes","parentId","node","parent"]}