mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
21 lines
493 B
TypeScript
21 lines
493 B
TypeScript
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;
|
|
}
|