Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
18 lines
753 B
Plaintext
18 lines
753 B
Plaintext
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
//#region src/middleware/serve-static/path.ts
|
|
/**
|
|
* `defaultJoin` does not support Windows paths and always uses `/` separators.
|
|
* If you need Windows path support, please use `join` exported from `node:path` etc. instead.
|
|
*/
|
|
const 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("/") || ".";
|
|
};
|
|
//#endregion
|
|
exports.defaultJoin = defaultJoin;
|