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:
authorRich Trott <rtrott@gmail.com>2016-03-12 07:28:39 +0300
committerRich Trott <rtrott@gmail.com>2016-03-16 20:19:41 +0300
commit9de9a08587e0350b8f8cb07ac6f3635dd5365e8e (patch)
tree55c328ca92c490991aa4d8f7c588a021bad3b63b /lib/path.js
parent85ab4a5f1281c4e1dd06450ac7bd3250326267fa (diff)
path: refactor path.format() repeated code
PR-URL: https://github.com/nodejs/node/pull/5673 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James Snell <jasnell@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
Diffstat (limited to 'lib/path.js')
-rw-r--r--lib/path.js40
1 files changed, 16 insertions, 24 deletions
diff --git a/lib/path.js b/lib/path.js
index 64e34ecde66..b42889ebfc7 100644
--- a/lib/path.js
+++ b/lib/path.js
@@ -140,6 +140,18 @@ function normalizeStringPosix(path, allowAboveRoot) {
return res;
}
+function _format(sep, pathObject) {
+ const dir = pathObject.dir || pathObject.root;
+ const base = pathObject.base ||
+ ((pathObject.name || '') + (pathObject.ext || ''));
+ if (!dir) {
+ return base;
+ }
+ if (dir === pathObject.root) {
+ return dir + base;
+ }
+ return dir + sep + base;
+}
const win32 = {
// path.resolve([from ...], to)
@@ -970,20 +982,10 @@ const win32 = {
format: function format(pathObject) {
if (pathObject === null || typeof pathObject !== 'object') {
throw new TypeError(
- 'Parameter "pathObject" must be an object, not ' + typeof pathObject
+ `Parameter "pathObject" must be an object, not ${typeof pathObject}`
);
}
-
- var dir = pathObject.dir || pathObject.root;
- var base = pathObject.base ||
- ((pathObject.name || '') + (pathObject.ext || ''));
- if (!dir) {
- return base;
- }
- if (dir === pathObject.root) {
- return dir + base;
- }
- return dir + win32.sep + base;
+ return _format('\\', pathObject);
},
@@ -1525,20 +1527,10 @@ const posix = {
format: function format(pathObject) {
if (pathObject === null || typeof pathObject !== 'object') {
throw new TypeError(
- 'Parameter "pathObject" must be an object, not ' + typeof pathObject
+ `Parameter "pathObject" must be an object, not ${typeof pathObject}`
);
}
-
- var dir = pathObject.dir || pathObject.root;
- var base = pathObject.base ||
- ((pathObject.name || '') + (pathObject.ext || ''));
- if (!dir) {
- return base;
- }
- if (dir === pathObject.root) {
- return dir + base;
- }
- return dir + posix.sep + base;
+ return _format('/', pathObject);
},