mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
parent
296bbeb2fc
commit
f69ce6ad8a
11 changed files with 135 additions and 159 deletions
20
web/src/lib/utils/tree-utils.ts
Normal file
20
web/src/lib/utils/tree-utils.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
export interface RecursiveObject {
|
||||
[key: string]: RecursiveObject;
|
||||
}
|
||||
|
||||
export const normalizeTreePath = (path: string) => path.replace(/^\//, '').replace(/\/$/, '');
|
||||
|
||||
export function buildTree(paths: string[]) {
|
||||
const root: RecursiveObject = {};
|
||||
for (const path of paths) {
|
||||
const parts = path.split('/');
|
||||
let current = root;
|
||||
for (const part of parts) {
|
||||
if (!current[part]) {
|
||||
current[part] = {};
|
||||
}
|
||||
current = current[part];
|
||||
}
|
||||
}
|
||||
return root;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue