mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-11-01 19:32:27 +08:00
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
import Path from "path";
|
|
|
|
export function pathBuilder(path = "", filename = "", type = "file") {
|
|
const tmp = Path.resolve(path, filename);
|
|
if (type === "file") {
|
|
return tmp;
|
|
} else {
|
|
return tmp + "/";
|
|
}
|
|
}
|
|
|
|
export function basename(path = "") {
|
|
return Path.basename(path);
|
|
}
|
|
|
|
export function dirname(path = "") {
|
|
const dir = Path.dirname(path);
|
|
if (dir === "/") return dir;
|
|
return dir + "/";
|
|
}
|
|
|
|
export function filetype(path = "") {
|
|
return path.slice(-1) === "/" ? "directory" : "file";
|
|
}
|
|
|
|
export function absoluteToRelative(from = "", to = "") {
|
|
// remove any trace of file that would be interpreted by the path lib as a folder
|
|
from = from.replace(/\/[^\/]+$/, "/");
|
|
let r = Path.relative(from, to);
|
|
if (r.substring(0, 3) !== "../") {
|
|
r = "./" + r;
|
|
}
|
|
if (/\/$/.test(to) === true && r !== "./") {
|
|
r += "/";
|
|
}
|
|
return r;
|
|
}
|
|
|
|
export function appendShareToUrl(link = "") {
|
|
let url = new window.URL(location.href);
|
|
const share = url.searchParams.get("share");
|
|
|
|
if (share) {
|
|
url = new window.URL(location.origin + link);
|
|
url.searchParams.set("share", share);
|
|
return url.pathname + url.search;
|
|
}
|
|
return link;
|
|
}
|