From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- node_modules/to-regex/index.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'node_modules/to-regex/index.js') diff --git a/node_modules/to-regex/index.js b/node_modules/to-regex/index.js index 9c93def8c..a87d01591 100644 --- a/node_modules/to-regex/index.js +++ b/node_modules/to-regex/index.js @@ -1,5 +1,6 @@ 'use strict'; +var safe = require('safe-regex'); var define = require('define-property'); var extend = require('extend-shallow'); var not = require('regex-not'); @@ -86,10 +87,16 @@ function makeRe(pattern, options) { if (opts.negate || typeof opts.strictNegate === 'boolean') { pattern = not.create(pattern, opts); } + var str = open + '(?:' + pattern + ')' + close; regex = new RegExp(str, flags); + + if (opts.safe === true && safe(regex) === false) { + throw new Error('potentially unsafe regular expression: ' + regex.source); + } + } catch (err) { - if (opts.strictErrors === true) { + if (opts.strictErrors === true || opts.safe === true) { err.key = key; err.pattern = pattern; err.originalOptions = options; @@ -105,18 +112,18 @@ function makeRe(pattern, options) { } if (opts.cache !== false) { - cacheRegex(regex, key, pattern, opts); + memoize(regex, key, pattern, opts); } return regex; } /** - * Cache generated regex. This can result in dramatic speed improvements + * Memoize generated regex. This can result in dramatic speed improvements * and simplify debugging by adding options and pattern to the regex. It can be * disabled by passing setting `options.cache` to false. */ -function cacheRegex(regex, key, pattern, options) { +function memoize(regex, key, pattern, options) { define(regex, 'cached', true); define(regex, 'pattern', pattern); define(regex, 'options', options); -- cgit v1.2.3