@@ -288,22 +288,17 @@ const REPLACERS = [
288288const regexCache = Object . create ( null )
289289
290290// @param {pattern }
291- const makeRegex = ( pattern , negative , ignorecase ) => {
292- const r = regexCache [ pattern ]
293- if ( r ) {
294- return r
295- }
296-
297- // const replacers = negative
298- // ? NEGATIVE_REPLACERS
299- // : POSITIVE_REPLACERS
291+ const makeRegex = ( pattern , ignorecase ) => {
292+ let source = regexCache [ pattern ]
300293
301- const source = REPLACERS . reduce (
302- ( prev , current ) => prev . replace ( current [ 0 ] , current [ 1 ] . bind ( pattern ) ) ,
303- pattern
304- )
294+ if ( ! source ) {
295+ regexCache [ pattern ] = source = REPLACERS . reduce (
296+ ( prev , current ) => prev . replace ( current [ 0 ] , current [ 1 ] . bind ( pattern ) ) ,
297+ pattern
298+ )
299+ }
305300
306- return regexCache [ pattern ] = ignorecase
301+ return ignorecase
307302 ? new RegExp ( source , 'i' )
308303 : new RegExp ( source )
309304}
@@ -352,7 +347,7 @@ const createRule = (pattern, ignorecase) => {
352347 // > begin with a hash.
353348 . replace ( REGEX_REPLACE_LEADING_EXCAPED_HASH , '#' )
354349
355- const regex = makeRegex ( pattern , negative , ignorecase )
350+ const regex = makeRegex ( pattern , ignorecase )
356351
357352 return new IgnoreRule (
358353 origin ,
0 commit comments