Skip to content

Commit 807c310

Browse files
committed
[Tests] add npm run lint
1 parent 3efbba4 commit 807c310

File tree

5 files changed

+36
-16
lines changed

5 files changed

+36
-16
lines changed

.eslintrc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"root": true,
3+
4+
"extends": "@ljharb",
5+
6+
"rules": {
7+
"complexity": [2, 18],
8+
"consistent-return": [1],
9+
"max-params": [2, 8],
10+
"max-statements": [2, 32],
11+
"no-extra-parens": [1],
12+
"no-continue": [1],
13+
"no-magic-numbers": 0,
14+
"no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
15+
"operator-linebreak": 1
16+
}
17+
}

lib/parse.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ internals.parseValues = function (str, options) {
3131
var key = Utils.decode(part.slice(0, pos));
3232
var val = Utils.decode(part.slice(pos + 1));
3333

34-
if (!Object.prototype.hasOwnProperty.call(obj, key)) {
35-
obj[key] = val;
36-
}
37-
else {
34+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
3835
obj[key] = [].concat(obj[key]).concat(val);
36+
} else {
37+
obj[key] = val;
3938
}
4039
}
4140
}
@@ -111,7 +110,7 @@ internals.parseKeys = function (givenKey, val, options) {
111110

112111
var i = 0;
113112
while ((segment = child.exec(key)) !== null && i < options.depth) {
114-
++i;
113+
i += 1;
115114
if (!options.plainObjects && Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) {
116115
if (!options.allowPrototypes) {
117116
continue;

lib/stringify.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ var Utils = require('./utils');
55
var internals = {
66
delimiter: '&',
77
arrayPrefixGenerators: {
8-
brackets: function (prefix, key) {
8+
brackets: function (prefix) {
99
return prefix + '[]';
1010
},
1111
indices: function (prefix, key) {
1212
return prefix + '[' + key + ']';
1313
},
14-
repeat: function (prefix, key) {
14+
repeat: function (prefix) {
1515
return prefix;
1616
}
1717
},
@@ -25,7 +25,7 @@ internals.stringify = function (object, prefix, generateArrayPrefix, strictNullH
2525
if (typeof filter === 'function') {
2626
obj = filter(prefix, obj);
2727
} else if (Utils.isBuffer(obj)) {
28-
obj = obj.toString();
28+
obj = String(obj);
2929
} else if (obj instanceof Date) {
3030
obj = obj.toISOString();
3131
} else if (obj === null) {

lib/utils.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ exports.merge = function (target, source, options) {
4949
return Object.keys(source).reduce(function (acc, key) {
5050
var value = source[key];
5151

52-
if (!Object.prototype.hasOwnProperty.call(acc, key)) {
53-
acc[key] = value;
54-
} else {
52+
if (Object.prototype.hasOwnProperty.call(acc, key)) {
5553
acc[key] = exports.merge(acc[key], value, options);
54+
} else {
55+
acc[key] = value;
5656
}
5757
return acc;
5858
}, mergeTarget);
@@ -107,7 +107,7 @@ exports.encode = function (str) {
107107
continue;
108108
}
109109

110-
++i;
110+
i += 1;
111111
c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
112112
out += (hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
113113
}
@@ -141,8 +141,8 @@ exports.compact = function (obj, references) {
141141
}
142142

143143
var keys = Object.keys(obj);
144-
for (var i = 0; i < keys.length; ++i) {
145-
var key = keys[i];
144+
for (var j = 0; j < keys.length; ++j) {
145+
var key = keys[j];
146146
obj[key] = exports.compact(obj[key], refs);
147147
}
148148

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@
2727
"browserify": "^12.0.1",
2828
"tape": "^4.3.0",
2929
"covert": "^1.1.0",
30-
"mkdirp": "^0.5.1"
30+
"mkdirp": "^0.5.1",
31+
"eslint": "^1.10.3",
32+
"@ljharb/eslint-config": "^1.6.1",
33+
"parallelshell": "^2.0.0"
3134
},
3235
"scripts": {
33-
"test": "npm run coverage",
36+
"test": "parallelshell 'npm run lint' 'npm run coverage'",
3437
"tests-only": "node test",
38+
"lint": "eslint lib/*.js text/*.js",
3539
"coverage": "covert test",
3640
"dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
3741
"prepublish": "npm run dist"

0 commit comments

Comments
 (0)