Skip to content

Commit 7ee5818

Browse files
brettz9josephfrazier
authored andcommitted
ESLint refactoring (#236)
* - Refactoring: Fix ESLint issue with preferring `const`; bring `let` closer to utilizing scope, destructure * Use for-of loops in src/ instead of incrementing index
1 parent 614aba3 commit 7ee5818

File tree

2 files changed

+12
-26
lines changed

2 files changed

+12
-26
lines changed

src/addons/unicode-base.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,8 @@ export default (XRegExp) => {
209209
XRegExp.addUnicodeData = (data) => {
210210
const ERR_NO_NAME = 'Unicode token requires name';
211211
const ERR_NO_DATA = 'Unicode token has no character data ';
212-
let item;
213212

214-
for (let i = 0; i < data.length; ++i) {
215-
item = data[i];
213+
for (const item of data) {
216214
if (!item.name) {
217215
throw new Error(ERR_NO_NAME);
218216
}

src/xregexp.js

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ const registeredFlags = {
9999
* @returns {RegExp} Augmented regex.
100100
*/
101101
function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {
102-
let p;
103-
104102
regex[REGEX_DATA] = {
105103
captureNames
106104
};
@@ -113,7 +111,7 @@ function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {
113111
if (regex.__proto__) {
114112
regex.__proto__ = XRegExp.prototype;
115113
} else {
116-
for (p in XRegExp.prototype) {
114+
for (const p in XRegExp.prototype) {
117115
// An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this
118116
// is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype`
119117
// extensions exist on `regex.prototype` anyway
@@ -362,8 +360,6 @@ function pad4(str) {
362360
* @returns {Object} Object with properties `pattern` and `flags`.
363361
*/
364362
function prepareFlags(pattern, flags) {
365-
let i;
366-
367363
// Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags
368364
if (clipDuplicates(flags) !== flags) {
369365
throw new SyntaxError(`Invalid duplicate regex flag ${flags}`);
@@ -380,9 +376,9 @@ function prepareFlags(pattern, flags) {
380376
});
381377

382378
// Throw on unknown native or nonnative flags
383-
for (i = 0; i < flags.length; ++i) {
384-
if (!registeredFlags[flags[i]]) {
385-
throw new SyntaxError(`Unknown regex flag ${flags[i]}`);
379+
for (const flag of flags) {
380+
if (!registeredFlags[flag]) {
381+
throw new SyntaxError(`Unknown regex flag ${flag}`);
386382
}
387383
}
388384

@@ -717,17 +713,16 @@ XRegExp._pad4 = pad4;
717713
*/
718714
XRegExp.addToken = (regex, handler, options) => {
719715
options = options || {};
720-
let optionalFlags = options.optionalFlags;
721-
let i;
716+
let {optionalFlags} = options;
722717

723718
if (options.flag) {
724719
registerFlag(options.flag);
725720
}
726721

727722
if (optionalFlags) {
728723
optionalFlags = nativ.split.call(optionalFlags, '');
729-
for (i = 0; i < optionalFlags.length; ++i) {
730-
registerFlag(optionalFlags[i]);
724+
for (const flag of optionalFlags) {
725+
registerFlag(flag);
731726
}
732727
}
733728

@@ -1106,8 +1101,8 @@ XRegExp.matchChain = (str, chain) => (function recurseChain(values, level) {
11061101
}
11071102
}
11081103

1109-
for (let i = 0; i < values.length; ++i) {
1110-
XRegExp.forEach(values[i], item.regex, addMatch);
1104+
for (const value of values) {
1105+
XRegExp.forEach(value, item.regex, addMatch);
11111106
}
11121107

11131108
return ((level === chain.length - 1) || !matches.length) ?
@@ -1217,11 +1212,7 @@ XRegExp.replace = (str, search, replacement, scope) => {
12171212
* ]);
12181213
*/
12191214
XRegExp.replaceEach = (str, replacements) => {
1220-
let i;
1221-
let r;
1222-
1223-
for (i = 0; i < replacements.length; ++i) {
1224-
r = replacements[i];
1215+
for (const r of replacements) {
12251216
str = XRegExp.replace(str, r[0], r[1], r[2]);
12261217
}
12271218

@@ -1367,10 +1358,7 @@ XRegExp.union = (patterns, flags, options) => {
13671358

13681359
const parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;
13691360
const output = [];
1370-
let pattern;
1371-
for (let i = 0; i < patterns.length; ++i) {
1372-
pattern = patterns[i];
1373-
1361+
for (const pattern of patterns) {
13741362
if (XRegExp.isRegExp(pattern)) {
13751363
numPriorCaptures = numCaptures;
13761364
captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || [];

0 commit comments

Comments
 (0)