@@ -99,8 +99,6 @@ const registeredFlags = {
9999 * @returns {RegExp } Augmented regex.
100100 */
101101function 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 */
364362function 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 */
718714XRegExp . 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 */
12191214XRegExp . 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