( tree: ConfigTree<T>, id: string )
| 103 | } |
| 104 | |
| 105 | export function clearTreeFolder<T extends ConfigItemBase>( |
| 106 | tree: ConfigTree<T>, |
| 107 | id: string |
| 108 | ): ConfigTree<T> { |
| 109 | const allSubFolderIds = getAllSubFolderIds(tree.folders, id) |
| 110 | const allFolderIds = [id, ...allSubFolderIds] |
| 111 | |
| 112 | return { |
| 113 | items: tree.items.filter( |
| 114 | (item) => !item.parentFolderId || !allFolderIds.includes(item.parentFolderId) |
| 115 | ), |
| 116 | folders: tree.folders.filter((f) => !allSubFolderIds.includes(f.id)) |
| 117 | } |
| 118 | } |
| 119 | |
| 120 | export function addTreeItem<T extends ConfigItemBase>(tree: ConfigTree<T>, item: T): ConfigTree<T> { |
| 121 | return { |
no test coverage detected