diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-05-06 21:06:01 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-07 01:06:01 +0000 |
commit | 1587387bccb6dbecd85f5141dd7543f013d47cd8 (patch) | |
tree | b9829c3e50442deff360cf664555935a0d16a4db /tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts | |
parent | 87d1ead7d09638172b0e397c8209c759666514da (diff) |
chore(test): move npm registries to separate servers and to the `tests/registry` folder (#23717)
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`.
Diffstat (limited to 'tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts')
-rw-r--r-- | tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts b/tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts new file mode 100644 index 000000000..8e88ad254 --- /dev/null +++ b/tests/registry/jsr/@std/path/0.220.1/posix/normalize.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/normalize.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + assertArg(path); + + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + const trailingSeparator = isPosixPathSeparator( + path.charCodeAt(path.length - 1), + ); + + // Normalize the path + path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); + + if (path.length === 0 && !isAbsolute) path = "."; + if (path.length > 0 && trailingSeparator) path += "/"; + + if (isAbsolute) return `/${path}`; + return path; +} |