hono
Version:
Web framework built on Web Standards
19 lines (18 loc) • 512 B
JavaScript
// src/middleware/serve-static/path.ts
var defaultJoin = (...paths) => {
let result = paths.filter((p) => p !== "").join("/");
result = result.replace(/(?<=\/)\/+/g, "");
const segments = result.split("/");
const resolved = [];
for (const segment of segments) {
if (segment === ".." && resolved.length > 0 && resolved.at(-1) !== "..") {
resolved.pop();
} else if (segment !== ".") {
resolved.push(segment);
}
}
return resolved.join("/") || ".";
};
export {
defaultJoin
};