mirror of
https://github.com/denoland/deno.git
synced 2024-12-30 02:59:11 -05:00
1587387bcc
1. Moves the npm registries to their own dedicated ports. 2. Moves the data files out of `tests/testdata/npm/registry` to `tests/registry/npm`.
25 lines
721 B
TypeScript
25 lines
721 B
TypeScript
// 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);
|
|
}
|