( node: TreeNode, showNotes: boolean, sortComparator: ((a: NoteMeta, b: NoteMeta) => number) | null, groupByKind: boolean, )
| 3882 | } |
| 3883 | |
| 3884 | function getTreeRenderEntries( |
| 3885 | node: TreeNode, |
| 3886 | showNotes: boolean, |
| 3887 | sortComparator: ((a: NoteMeta, b: NoteMeta) => number) | null, |
| 3888 | groupByKind: boolean, |
| 3889 | ): TreeRenderEntry[] { |
| 3890 | const sortedChildren = node.children.slice().sort(compareFolderNodes); |
| 3891 | |
| 3892 | if (!showNotes) { |
| 3893 | return sortedChildren.map((child) => ({ type: "folder", node: child })); |
| 3894 | } |
| 3895 | |
| 3896 | if (sortComparator || groupByKind) { |
| 3897 | return [ |
| 3898 | ...sortedChildren.map( |
| 3899 | (child) => ({ type: "folder", node: child }) as const, |
| 3900 | ), |
| 3901 | ...node.notes |
| 3902 | .slice() |
| 3903 | .sort(sortComparator ?? ((a, b) => a.siblingOrder - b.siblingOrder)) |
| 3904 | .map((note) => ({ type: "note", note }) as const), |
| 3905 | ...node.assets |
| 3906 | .slice() |
| 3907 | .sort((a, b) => a.siblingOrder - b.siblingOrder) |
| 3908 | .map((asset) => ({ type: "asset", asset }) as const), |
| 3909 | ]; |
| 3910 | } |
| 3911 | |
| 3912 | return [ |
| 3913 | ...node.children.map((child) => ({ |
| 3914 | type: "folder" as const, |
| 3915 | node: child, |
| 3916 | siblingOrder: child.siblingOrder, |
| 3917 | })), |
| 3918 | ...node.notes.map((note) => ({ |
| 3919 | type: "note" as const, |
| 3920 | note, |
| 3921 | siblingOrder: note.siblingOrder, |
| 3922 | })), |
| 3923 | ...node.assets.map((asset) => ({ |
| 3924 | type: "asset" as const, |
| 3925 | asset, |
| 3926 | siblingOrder: asset.siblingOrder, |
| 3927 | })), |
| 3928 | ] |
| 3929 | .sort((a, b) => a.siblingOrder - b.siblingOrder) |
| 3930 | .map(({ siblingOrder: _siblingOrder, ...entry }) => entry); |
| 3931 | } |
| 3932 | |
| 3933 | function countNotesInTree(node: TreeNode): number { |
| 3934 | return ( |
no outgoing calls
no test coverage detected