Skip to content

Commit ca2f54f

Browse files
authored
Refactor: replace isSameNode with hasSameRange (#1036)
1 parent cda72bd commit ca2f54f

File tree

5 files changed

+22
-18
lines changed

5 files changed

+22
-18
lines changed

rules/utils/has-same-range.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
module.exports = (node1, node2) =>
4+
node1 &&
5+
node2 &&
6+
node1.range[0] === node2.range[0] &&
7+
node1.range[1] === node2.range[1];
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
'use strict';
22

3-
const isSameNode = require('./is-same-node');
3+
const hasSameRange = require('./has-same-range');
44

55
module.exports = identifier =>
66
identifier.parent.type === 'AssignmentPattern' &&
77
identifier.parent.left === identifier &&
88
identifier.parent.parent.type === 'Property' &&
9-
isSameNode(identifier, identifier.parent.parent.key) &&
9+
(
10+
identifier === identifier.parent.parent.key ||
11+
// In `babel-eslint` parent.key is not reference of identifier, #444
12+
// issue https://github.com/babel/babel-eslint/issues/809
13+
hasSameRange(identifier, identifier.parent.parent.key)
14+
) &&
1015
identifier.parent.parent.value === identifier.parent &&
1116
identifier.parent.parent.shorthand;

rules/utils/is-same-node.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

rules/utils/is-shadowed.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
'use strict';
22

3-
const isSameNode = require('./is-same-node');
4-
53
/**
64
* Finds the eslint-scope reference in the given scope.
75
* @param {Object} scope The scope to search.
@@ -10,7 +8,7 @@ const isSameNode = require('./is-same-node');
108
*/
119
function findReference(scope, node) {
1210
const references = scope.references
13-
.filter(reference => isSameNode(reference.identifier, node));
11+
.filter(reference => reference.identifier === node);
1412

1513
if (references.length === 1) {
1614
return references[0];
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
'use strict';
22

3-
const isSameNode = require('./is-same-node');
3+
const hasSameRange = require('./has-same-range');
44

55
module.exports = identifier =>
66
identifier.parent.type === 'Property' &&
77
identifier.parent.shorthand &&
8-
isSameNode(identifier, identifier.parent.key);
8+
(
9+
identifier === identifier.parent.key ||
10+
// In `babel-eslint` parent.key is not reference of identifier, #444
11+
// issue https://github.com/babel/babel-eslint/issues/809
12+
hasSameRange(identifier, identifier.parent.key)
13+
);

0 commit comments

Comments
 (0)