Skip to content

Commit 98994ff

Browse files
committed
review eslint core rules: enforce the use of variables within the scope they are defined
1 parent acaadf7 commit 98994ff

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

packages/core-js/internals/array-slice-simple.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ module.exports = function (O, start, end) {
1111
var k = toAbsoluteIndex(start, length);
1212
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1313
var result = $Array(max(fin - k, 0));
14-
for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
14+
var n = 0;
15+
for (; k < fin; k++, n++) createProperty(result, n, O[k]);
1516
result.length = n;
1617
return result;
1718
};

packages/core-js/internals/function-bind.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ var factories = {};
1313

1414
var construct = function (C, argsLength, args) {
1515
if (!hasOwn(factories, argsLength)) {
16-
for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
16+
var list = [];
17+
var i = 0;
18+
for (; i < argsLength; i++) list[i] = 'a[' + i + ']';
1719
factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');
1820
} return factories[argsLength](C, args);
1921
};

packages/core-js/modules/es.string.replace.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,16 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
8888
if (!functionalReplace) replaceValue = toString(replaceValue);
8989

9090
var global = rx.global;
91+
var fullUnicode;
9192
if (global) {
92-
var fullUnicode = rx.unicode;
93+
fullUnicode = rx.unicode;
9394
rx.lastIndex = 0;
9495
}
96+
9597
var results = [];
98+
var result;
9699
while (true) {
97-
var result = regExpExec(rx, S);
100+
result = regExpExec(rx, S);
98101
if (result === null) break;
99102

100103
push(results, result);
@@ -112,6 +115,7 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
112115
var matched = toString(result[0]);
113116
var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
114117
var captures = [];
118+
var replacement;
115119
// NOTE: This is equivalent to
116120
// captures = result.slice(1).map(maybeToString)
117121
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
@@ -122,7 +126,7 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
122126
if (functionalReplace) {
123127
var replacerArgs = concat([matched], captures, position, S);
124128
if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
125-
var replacement = toString(apply(replaceValue, undefined, replacerArgs));
129+
replacement = toString(apply(replaceValue, undefined, replacerArgs));
126130
} else {
127131
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
128132
}
@@ -131,6 +135,7 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
131135
nextSourcePosition = position + matched.length;
132136
}
133137
}
138+
134139
return accumulatedResult + stringSlice(S, nextSourcePosition);
135140
}
136141
];

packages/core-js/modules/esnext.string.dedent.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ var dedentStringsArray = function (template) {
6565
var blocks = $Array(length);
6666
var dedented = $Array(length);
6767
var i = 0;
68-
var lines, common;
68+
var lines, common, quasi, k;
6969

7070
if (!length) throw $TypeError(INVALID_TAG);
7171

@@ -107,7 +107,9 @@ var dedentStringsArray = function (template) {
107107

108108
for (i = 0; i < length; i++) {
109109
lines = blocks[i];
110-
for (var quasi = lines[0], k = 1; k < lines.length; k += 2) {
110+
quasi = lines[0];
111+
k = 1;
112+
for (; k < lines.length; k += 2) {
111113
quasi += lines[k] + stringSlice(lines[k + 1], count);
112114
}
113115
dedented[i] = quasi;
@@ -126,7 +128,10 @@ var commonLeadingIndentation = function (a, b) {
126128
};
127129

128130
var cookStrings = function (raw) {
129-
for (var i = 0, length = raw.length, result = $Array(length); i < length; i++) {
131+
var i = 0;
132+
var length = raw.length;
133+
var result = $Array(length);
134+
for (; i < length; i++) {
130135
result[i] = parse(raw[i]);
131136
} return result;
132137
};

tests/eslint/eslint.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ const base = {
112112
'valid-typeof': ERROR,
113113

114114
// suggestions:
115+
// enforce the use of variables within the scope they are defined
116+
'block-scoped-var': ERROR,
115117
// require camel case names
116118
camelcase: [ERROR, { properties: NEVER }],
117119
// enforce default clauses in switch statements to be last

0 commit comments

Comments
 (0)