| 66 | }; |
| 67 | |
| 68 | const sortNodesIfNeeded = (nodes: TreeNode[], factor: Factor) => { |
| 69 | if (factor === "environment") { |
| 70 | return orderBy( |
| 71 | nodes as TreeNode<"environment">[], |
| 72 | [(node) => node.meta.target.order], |
| 73 | ["desc"] |
| 74 | ); |
| 75 | } |
| 76 | if (factor.startsWith("label:")) { |
| 77 | return orderBy( |
| 78 | nodes as TreeNode<"label">[], |
| 79 | [ |
| 80 | (node) => (node.meta.target.value ? -1 : 1), |
| 81 | (node) => node.meta.target.value, |
| 82 | ], |
| 83 | ["asc", "asc"] |
| 84 | ); |
| 85 | } |
| 86 | return nodes; |
| 87 | }; |
| 88 | |
| 89 | export const buildTreeImpl = ( |
| 90 | databaseList: Database[], |