aboutsummaryrefslogtreecommitdiff
path: root/lib/path.js
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2010-12-01 18:07:20 -0800
committerRyan Dahl <ry@tinyclouds.org>2010-12-01 20:28:28 -0800
commite232f6e7356531bb6ab50cdf9c82386538ae2c79 (patch)
tree47b85cd89ab2b14dd577d37a42e0954c10dd0427 /lib/path.js
parentddbaeef1b36fc97c7bbd721e52b8b2df0cb61dfe (diff)
downloadandroid-node-v8-e232f6e7356531bb6ab50cdf9c82386538ae2c79.tar.gz
android-node-v8-e232f6e7356531bb6ab50cdf9c82386538ae2c79.tar.bz2
android-node-v8-e232f6e7356531bb6ab50cdf9c82386538ae2c79.zip
more lint
Diffstat (limited to 'lib/path.js')
-rw-r--r--lib/path.js82
1 files changed, 38 insertions, 44 deletions
diff --git a/lib/path.js b/lib/path.js
index 9e530084c7..fc7f4c3ba6 100644
--- a/lib/path.js
+++ b/lib/path.js
@@ -1,28 +1,28 @@
-function validPathPart (p, keepBlanks) {
- return typeof p === "string" && (p || keepBlanks);
+function validPathPart(p, keepBlanks) {
+ return typeof p === 'string' && (p || keepBlanks);
}
-exports.join = function () {
+exports.join = function() {
var args = Array.prototype.slice.call(arguments);
// edge case flag to switch into url-resolve-mode
var keepBlanks = false;
- if (args[ args.length - 1 ] === true) {
+ if (args[args.length - 1] === true) {
keepBlanks = args.pop();
}
// return exports.split(args.join("/"), keepBlanks).join("/");
- var joined = exports.normalizeArray(args, keepBlanks).join("/");
+ var joined = exports.normalizeArray(args, keepBlanks).join('/');
return joined;
};
-exports.split = function (path, keepBlanks) {
+exports.split = function(path, keepBlanks) {
// split based on /, but only if that / is not at the start or end.
return exports.normalizeArray(path.split(/^|\/(?!$)/), keepBlanks);
};
-function cleanArray (parts, keepBlanks) {
+function cleanArray(parts, keepBlanks) {
var i = 0;
var l = parts.length - 1;
var stripped = false;
@@ -30,13 +30,13 @@ function cleanArray (parts, keepBlanks) {
// strip leading empty args
while (i < l && !validPathPart(parts[i], keepBlanks)) {
stripped = true;
- i ++;
+ i++;
}
// strip tailing empty args
while (l >= i && !validPathPart(parts[l], keepBlanks)) {
stripped = true;
- l --;
+ l--;
}
if (stripped) {
@@ -44,52 +44,46 @@ function cleanArray (parts, keepBlanks) {
parts = Array.prototype.slice.call(parts, i, l + 1);
}
- return parts.filter(function (p) { return validPathPart(p, keepBlanks) })
+ return parts.filter(function(p) { return validPathPart(p, keepBlanks) })
.join('/')
.split(/^|\/(?!$)/);
}
-exports.normalizeArray = function (original, keepBlanks) {
+exports.normalizeArray = function(original, keepBlanks) {
var parts = cleanArray(original, keepBlanks);
- if (!parts.length || (parts.length === 1 && !parts[0])) return ["."];
+ if (!parts.length || (parts.length === 1 && !parts[0])) return ['.'];
// now we're fully ready to rock.
// leading/trailing invalids have been stripped off.
// if it comes in starting with a slash, or ending with a slash,
- var leadingSlash = (parts[0].charAt(0) === "/");
+ var leadingSlash = (parts[0].charAt(0) === '/');
if (leadingSlash) parts[0] = parts[0].substr(1);
var last = parts.slice(-1)[0];
- var tailingSlash = (last.substr(-1) === "/");
+ var tailingSlash = (last.substr(-1) === '/');
if (tailingSlash) parts[parts.length - 1] = last.slice(0, -1);
var directories = [];
var prev;
- for (var i = 0, l = parts.length - 1 ; i <= l ; i ++) {
+ for (var i = 0, l = parts.length - 1; i <= l; i++) {
var directory = parts[i];
// if it's blank, and we're not keeping blanks, then skip it.
- if (directory === "" && !keepBlanks) continue;
+ if (directory === '' && !keepBlanks) continue;
// if it's a dot, then skip it
- if (directory === "." && (
- directories.length
- || (i === 0 && !(tailingSlash && i === l))
- || (i === 0 && leadingSlash)
- )) continue;
+ if (directory === '.' && (directories.length ||
+ (i === 0 && !(tailingSlash && i === l)) ||
+ (i === 0 && leadingSlash))) continue;
// if we're dealing with an absolute path, then discard ..s that go
// above that the base.
- if (leadingSlash && directories.length === 0 && directory === "..") {
+ if (leadingSlash && directories.length === 0 && directory === '..') {
continue;
}
// trying to go up a dir
- if (
- directory === ".."
- && directories.length
- && prev !== ".."
- && prev !== undefined
- ) {
+ if (directory === '..' && directories.length && prev !== '..' &&
+ prev !== undefined) {
directories.pop();
prev = directories.slice(-1)[0];
} else {
@@ -98,27 +92,27 @@ exports.normalizeArray = function (original, keepBlanks) {
}
}
if (!directories.length) {
- directories = [ leadingSlash || tailingSlash ? "" : "." ];
+ directories = [leadingSlash || tailingSlash ? '' : '.'];
}
var last = directories.slice(-1)[0];
- if (tailingSlash && last.substr(-1) !== "/") {
- directories[directories.length-1] += "/";
+ if (tailingSlash && last.substr(-1) !== '/') {
+ directories[directories.length - 1] += '/';
}
- if (leadingSlash && directories[0].charAt(0) !== "/") {
- if (directories[0] === ".") directories[0] = "";
- directories[0] = "/" + directories[0];
+ if (leadingSlash && directories[0].charAt(0) !== '/') {
+ if (directories[0] === '.') directories[0] = '';
+ directories[0] = '/' + directories[0];
}
return directories;
};
-exports.normalize = function (path, keepBlanks) {
+exports.normalize = function(path, keepBlanks) {
return exports.join(path, keepBlanks || false);
};
-exports.dirname = function (path) {
- if (path.length > 1 && '/' === path[path.length-1]) {
+exports.dirname = function(path) {
+ if (path.length > 1 && '/' === path[path.length - 1]) {
path = path.replace(/\/+$/, '');
}
var lastSlash = path.lastIndexOf('/');
@@ -133,8 +127,8 @@ exports.dirname = function (path) {
};
-exports.basename = function (path, ext) {
- var f = path.substr(path.lastIndexOf("/") + 1);
+exports.basename = function(path, ext) {
+ var f = path.substr(path.lastIndexOf('/') + 1);
if (ext && f.substr(-1 * ext.length) === ext) {
f = f.substr(0, f.length - ext.length);
}
@@ -142,7 +136,7 @@ exports.basename = function (path, ext) {
};
-exports.extname = function (path) {
+exports.extname = function(path) {
var dot = path.lastIndexOf('.'),
slash = path.lastIndexOf('/');
// The last dot must be in the last path component, and it (the last dot) must
@@ -152,18 +146,18 @@ exports.extname = function (path) {
};
-exports.exists = function (path, callback) {
- process.binding('fs').stat(path, function (err, stats) {
+exports.exists = function(path, callback) {
+ process.binding('fs').stat(path, function(err, stats) {
if (callback) callback(err ? false : true);
});
};
-exports.existsSync = function (path) {
+exports.existsSync = function(path) {
try {
process.binding('fs').stat(path);
return true;
- } catch(e){
+ } catch (e) {
return false;
}
};