diff options
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.ts | 25 |
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); +} |