Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-01-27 17:23:21 +0300
committerRuben Bridgewater <ruben@bridgewater.de>2019-03-01 16:55:19 +0300
commitf59fdd9d658e6b15ccc57452d374a7fbbb845751 (patch)
tree558c4acd28b35ac0dc212f05ef8ce92a88feced8 /lib/path.js
parenta019d7bd0b9c78ba0ea4e36292ce43e77824f20d (diff)
path: minor refactoring
1) Consolidate nested if statements if possible `if (foo) { if bar () { /* do stuff */ } }`) to reduce indentation depth. 2) Remove obsolete else cases to reduce indentation. PR-URL: https://github.com/nodejs/node/pull/25278 Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'lib/path.js')
-rw-r--r--lib/path.js125
1 files changed, 57 insertions, 68 deletions
diff --git a/lib/path.js b/lib/path.js
index b43a1ec0eb3..ec27f280a59 100644
--- a/lib/path.js
+++ b/lib/path.js
@@ -206,20 +206,16 @@ const win32 = {
} else {
rootEnd = 1;
}
- } else if (isWindowsDeviceRoot(code)) {
+ } else if (isWindowsDeviceRoot(code) &&
+ path.charCodeAt(1) === CHAR_COLON) {
// Possible device root
-
- if (path.charCodeAt(1) === CHAR_COLON) {
- device = path.slice(0, 2);
- rootEnd = 2;
- if (len > 2) {
- if (isPathSeparator(path.charCodeAt(2))) {
- // Treat separator following drive name as an absolute path
- // indicator
- isAbsolute = true;
- rootEnd = 3;
- }
- }
+ device = path.slice(0, 2);
+ rootEnd = 2;
+ if (len > 2 && isPathSeparator(path.charCodeAt(2))) {
+ // Treat separator following drive name as an absolute path
+ // indicator
+ isAbsolute = true;
+ rootEnd = 3;
}
}
} else if (isPathSeparator(code)) {
@@ -567,26 +563,23 @@ const win32 = {
const resolvedPath = win32.resolve(path);
- if (resolvedPath.length >= 3) {
- if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {
- // Possible UNC root
-
- if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {
- const code = resolvedPath.charCodeAt(2);
- if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {
- // Matched non-long UNC root, convert the path to a long UNC path
- return '\\\\?\\UNC\\' + resolvedPath.slice(2);
- }
- }
- } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) {
- // Possible device root
+ if (resolvedPath.length <= 2)
+ return path;
- if (resolvedPath.charCodeAt(1) === CHAR_COLON &&
- resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
- // Matched device root, convert the path to a long UNC path
- return '\\\\?\\' + resolvedPath;
+ if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {
+ // Possible UNC root
+ if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {
+ const code = resolvedPath.charCodeAt(2);
+ if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {
+ // Matched non-long UNC root, convert the path to a long UNC path
+ return `\\\\?\\UNC\\${resolvedPath.slice(2)}`;
}
}
+ } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0)) &&
+ resolvedPath.charCodeAt(1) === CHAR_COLON &&
+ resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
+ // Matched device root, convert the path to a long UNC path
+ return `\\\\?\\${resolvedPath}`;
}
return path;
@@ -749,29 +742,27 @@ const win32 = {
else if (end === -1)
end = path.length;
return path.slice(start, end);
- } else {
- for (i = path.length - 1; i >= start; --i) {
- if (isPathSeparator(path.charCodeAt(i))) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else if (end === -1) {
- // We saw the first non-path separator, mark this as the end of our
- // path component
- matchedSlash = false;
- end = i + 1;
+ }
+ for (i = path.length - 1; i >= start; --i) {
+ if (isPathSeparator(path.charCodeAt(i))) {
+ // If we reached a path separator that was not part of a set of path
+ // separators at the end of the string, stop now
+ if (!matchedSlash) {
+ start = i + 1;
+ break;
}
+ } else if (end === -1) {
+ // We saw the first non-path separator, mark this as the end of our
+ // path component
+ matchedSlash = false;
+ end = i + 1;
}
-
- if (end === -1)
- return '';
- return path.slice(start, end);
}
- },
+ if (end === -1)
+ return '';
+ return path.slice(start, end);
+ },
extname(path) {
validateString(path, 'path');
@@ -1256,29 +1247,27 @@ const posix = {
else if (end === -1)
end = path.length;
return path.slice(start, end);
- } else {
- for (i = path.length - 1; i >= 0; --i) {
- if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else if (end === -1) {
- // We saw the first non-path separator, mark this as the end of our
- // path component
- matchedSlash = false;
- end = i + 1;
+ }
+ for (i = path.length - 1; i >= 0; --i) {
+ if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
+ // If we reached a path separator that was not part of a set of path
+ // separators at the end of the string, stop now
+ if (!matchedSlash) {
+ start = i + 1;
+ break;
}
+ } else if (end === -1) {
+ // We saw the first non-path separator, mark this as the end of our
+ // path component
+ matchedSlash = false;
+ end = i + 1;
}
-
- if (end === -1)
- return '';
- return path.slice(start, end);
}
- },
+ if (end === -1)
+ return '';
+ return path.slice(start, end);
+ },
extname(path) {
validateString(path, 'path');