1 |
|
2 |
|
3 |
|
4 |
|
5 | "use strict";
|
6 |
|
7 | module.exports = function getPaths(path) {
|
8 | const parts = path.split(/(.*?[\\\/]+)/);
|
9 | const paths = [path];
|
10 | const seqments = [parts[parts.length - 1]];
|
11 | let part = parts[parts.length - 1];
|
12 | path = path.substr(0, path.length - part.length - 1);
|
13 | paths.push(path);
|
14 | for(let i = parts.length - 2; i > 2; i -= 2) {
|
15 | part = parts[i];
|
16 | path = path.substr(0, path.length - part.length) || "/";
|
17 | paths.push(path);
|
18 | seqments.push(part.substr(0, part.length - 1));
|
19 | }
|
20 | part = parts[1];
|
21 | seqments.push(part.length > 1 ? part.substr(0, part.length - 1) : part);
|
22 | return {
|
23 | paths: paths,
|
24 | seqments: seqments
|
25 | };
|
26 | };
|
27 |
|
28 | module.exports.basename = function basename(path) {
|
29 | const i = path.lastIndexOf("/"),
|
30 | j = path.lastIndexOf("\\");
|
31 | const p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
|
32 | if(p < 0) return null;
|
33 | const s = path.substr(p + 1);
|
34 | return s;
|
35 | };
|