summaryrefslogtreecommitdiff
path: root/tests/registry/jsr/@std/path/0.220.1/posix/join.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/registry/jsr/@std/path/0.220.1/posix/join.ts')
-rw-r--r--tests/registry/jsr/@std/path/0.220.1/posix/join.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/registry/jsr/@std/path/0.220.1/posix/join.ts b/tests/registry/jsr/@std/path/0.220.1/posix/join.ts
new file mode 100644
index 000000000..625762ab9
--- /dev/null
+++ b/tests/registry/jsr/@std/path/0.220.1/posix/join.ts
@@ -0,0 +1,25 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+// This module is browser compatible.
+
+import { assertPath } from "../_common/assert_path.ts";
+import { normalize } from "./normalize.ts";
+
+/**
+ * Join all given a sequence of `paths`,then normalizes the resulting path.
+ * @param paths to be joined and normalized
+ */
+export function join(...paths: string[]): string {
+ if (paths.length === 0) return ".";
+
+ let joined: string | undefined;
+ for (let i = 0; i < paths.length; ++i) {
+ const path = paths[i]!;
+ assertPath(path);
+ if (path.length > 0) {
+ if (!joined) joined = path;
+ else joined += `/${path}`;
+ }
+ }
+ if (!joined) return ".";
+ return normalize(joined);
+}