export function resolvePathToFile(filePath, files) { if (filePath === undefined) { return false; } const filePathArray = filePath.split('/'); let resolvedFile; let currentFile = files.find(file => file.name === 'root'); filePathArray.some((filePathSegment, index) => { if (filePathSegment === '' || filePathSegment === '.') { return false; } else if (filePathSegment === '..') { return true; } let foundChild = false; const childFiles = currentFile.children.map(childFileId => files.find(file => file._id.valueOf().toString() === childFileId.valueOf())); childFiles.some((childFile) => { if (childFile.name === filePathSegment) { currentFile = childFile; foundChild = true; if (index === filePathArray.length - 1) { resolvedFile = childFile; } return true; } return false; }); return !foundChild; }); return resolvedFile; } export default resolvePathToFile;