You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
576 B
49 lines
576 B
"use strict"; |
|
|
|
function joinPath(pathArray) |
|
{ |
|
if (pathArray.length > 0) |
|
{ |
|
return pathArray.join("/") + "/"; |
|
} |
|
else |
|
{ |
|
return ""; |
|
} |
|
} |
|
|
|
|
|
|
|
function resolveDotSegments(pathArray) |
|
{ |
|
var pathAbsolute = []; |
|
|
|
pathArray.forEach( function(dir) |
|
{ |
|
if (dir !== "..") |
|
{ |
|
if (dir !== ".") |
|
{ |
|
pathAbsolute.push(dir); |
|
} |
|
} |
|
else |
|
{ |
|
// Remove parent |
|
if (pathAbsolute.length > 0) |
|
{ |
|
pathAbsolute.splice(pathAbsolute.length-1, 1); |
|
} |
|
} |
|
}); |
|
|
|
return pathAbsolute; |
|
} |
|
|
|
|
|
|
|
module.exports = |
|
{ |
|
join: joinPath, |
|
resolveDotSegments: resolveDotSegments |
|
};
|
|
|