Permalink
Browse files

doc: improve path.posix.normalize docs

Add section to path docs that explains that path.posix.normalize
does not replace Windows slashes with POSIX slashes because POSIX
does not recognize / as a valid path separator.

Fixes: #12298
PR-URL: #12700
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Cai <davidcai1993@yahoo.com>
  • Loading branch information...
sjlehn authored and addaleax committed Apr 27, 2017
1 parent 152966d commit cbd6fde9a38687491452e01927da0c69d2c37564
Showing with 11 additions and 2 deletions.
  1. +11 −2 doc/api/path.md
View
@@ -318,8 +318,9 @@ The `path.normalize()` method normalizes the given `path`, resolving `'..'` and
`'.'` segments.
When multiple, sequential path segment separation characters are found (e.g.
`/` on POSIX and `\` on Windows), they are replaced by a single instance of the
platform specific path segment separator. Trailing separators are preserved.
`/` on POSIX and either `\` or `/` on Windows), they are replaced by a single
instance of the platform specific path segment separator (`/` on POSIX and
`\` on Windows). Trailing separators are preserved.
If the `path` is a zero-length string, `'.'` is returned, representing the
current working directory.
@@ -338,6 +339,14 @@ path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// Returns: 'C:\\temp\\foo\\'
```
Since Windows recognizes multiple path separators, both separators will be
replaced by instances of the Windows preferred separator (`\`):
```js
path.win32.normalize('C:////temp\\\\/\\/\\/foo/bar');
// Returns: 'C:\\temp\\foo\\bar'
```
A [`TypeError`][] is thrown if `path` is not a string.
## path.parse(path)

0 comments on commit cbd6fde

Please sign in to comment.