@enonic/js-utils
Version:
Enonic XP JavaScript Utils
20 lines (19 loc) • 544 B
JavaScript
// storage/indexing/path/join.ts
function join(paths, separator = "/") {
let parts = [];
for (let i = 0; i < paths.length; i += 1) {
parts = parts.concat(paths[i].split(separator));
}
const newParts = [];
for (let i = 0; i < parts.length; i += 1) {
const part = parts[i];
if (!part || part === ".") continue;
if (part === "..") newParts.pop();
else newParts.push(part);
}
if (parts[0] === "") newParts.unshift("");
return newParts.join(separator) || (newParts.length ? separator : ".");
}
export {
join
};