Skip to content

Commit 72a469e

Browse files
committed
[Refactor] avoid for..in loops
1 parent c725625 commit 72a469e

File tree

3 files changed

+13
-26
lines changed

3 files changed

+13
-26
lines changed

index.js

+4-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use strict';
22

3-
const has = require('has');
3+
const fromEntries = require('object.fromentries');
4+
const entries = require('object.entries');
45

56
const allRules = {
67
'boolean-prop-naming': require('./lib/rules/boolean-prop-naming'),
@@ -88,24 +89,11 @@ const allRules = {
8889
};
8990

9091
function filterRules(rules, predicate) {
91-
const result = {};
92-
for (const key in rules) {
93-
if (has(rules, key) && predicate(rules[key])) {
94-
result[key] = rules[key];
95-
}
96-
}
97-
return result;
92+
return fromEntries(entries(rules).filter(entry => predicate(entry[1])));
9893
}
9994

10095
function configureAsError(rules) {
101-
const result = {};
102-
for (const key in rules) {
103-
if (!has(rules, key)) {
104-
continue;
105-
}
106-
result[`react/${key}`] = 2;
107-
}
108-
return result;
96+
return fromEntries(Object.keys(rules).map(key => [`react/${key}`, 2]));
10997
}
11098

11199
const activeRules = filterRules(allRules, rule => !rule.meta.deprecated);

lib/rules/no-deprecated.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
'use strict';
99

10-
const has = require('has');
10+
const values = require('object.values');
1111

1212
const Components = require('../util/Components');
1313
const astUtil = require('../util/ast');
@@ -137,15 +137,12 @@ module.exports = {
137137
if (!node.init) {
138138
return moduleName;
139139
}
140-
for (const module in MODULES) {
141-
if (!has(MODULES, module)) {
142-
continue;
143-
}
144-
moduleName = MODULES[module].find(name => name === node.init.name);
145-
if (moduleName) {
146-
break;
147-
}
148-
}
140+
141+
values(MODULES).some((moduleNames) => {
142+
moduleName = moduleNames.find(name => name === node.init.name);
143+
return moduleName;
144+
});
145+
149146
return moduleName;
150147
}
151148

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@
3030
"doctrine": "^2.1.0",
3131
"has": "^1.0.3",
3232
"jsx-ast-utils": "^2.1.0",
33+
"object.entries": "^1.1.0",
3334
"object.fromentries": "^2.0.0",
35+
"object.values": "^1.1.0",
3436
"prop-types": "^15.7.2",
3537
"resolve": "^1.10.1"
3638
},

0 commit comments

Comments
 (0)