mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-03 22:37:35 +02:00
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
function dirname(path) {
|
|
if (!path) throw new Error("Path is empty");
|
|
let s = path.split(/\/|\\/);
|
|
s.pop();
|
|
return s.join("/");
|
|
}
|
|
|
|
function basename(path) {
|
|
if (!path) throw new Error("Path is empty");
|
|
let s = path.split(/\/|\\/);
|
|
return s[s.length - 1];
|
|
}
|
|
|
|
function filename(path) {
|
|
if (!path) throw new Error("Path is empty");
|
|
let output = basename(path);
|
|
if (output.indexOf(".") < 0) return output;
|
|
|
|
output = output.split(".");
|
|
output.pop();
|
|
return output.join(".");
|
|
}
|
|
|
|
function fileExtension(path) {
|
|
if (!path) throw new Error("Path is empty");
|
|
|
|
let output = path.split(".");
|
|
if (output.length <= 1) return "";
|
|
return output[output.length - 1];
|
|
}
|
|
|
|
function isHidden(path) {
|
|
let b = basename(path);
|
|
if (!b.length) throw new Error("Path empty or not a valid path: " + path);
|
|
return b[0] === ".";
|
|
}
|
|
|
|
function safeFileExtension(e) {
|
|
if (!e || !e.replace) return "";
|
|
return e.replace(/[^a-zA-Z0-9]/g, "");
|
|
}
|
|
|
|
function toSystemSlashes(path, os) {
|
|
if (os === "win32") return path.replace(/\//g, "\\");
|
|
return path.replace(/\\/g, "/");
|
|
}
|
|
|
|
function rtrimSlashes(path) {
|
|
return path.replace(/\/+$/, "");
|
|
}
|
|
|
|
function ltrimSlashes(path) {
|
|
return path.replace(/^\/+/, "");
|
|
}
|
|
|
|
module.exports = { basename, dirname, filename, isHidden, fileExtension, safeFileExtension, toSystemSlashes, rtrimSlashes, ltrimSlashes };
|