/
var
/
www
/
cobraambalaj
/
node_modules
/
safe-regex
/
/var/www/cobraambalaj/node_modules/safe-regex
mkdir
upload
Name
Size
Mode
Actions
example/
-
0755
rm
test/
-
0755
rm
.travis.yml
48
0644
edit
dl
rm
index.js
1235
0644
edit
dl
rm
LICENSE
1073
0644
edit
dl
rm
package.json
1694
0644
edit
dl
rm
readme.markdown
1570
0644
edit
dl
rm
Edit:
/var/www/cobraambalaj/node_modules/safe-regex/index.js
(1235B)
var parse = require('ret'); var types = parse.types; module.exports = function (re, opts) { if (!opts) opts = {}; var replimit = opts.limit === undefined ? 25 : opts.limit; if (isRegExp(re)) re = re.source; else if (typeof re !== 'string') re = String(re); try { re = parse(re) } catch (err) { return false } var reps = 0; return (function walk (node, starHeight) { if (node.type === types.REPETITION) { starHeight ++; reps ++; if (starHeight > 1) return false; if (reps > replimit) return false; } if (node.options) { for (var i = 0, len = node.options.length; i < len; i++) { var ok = walk({ stack: node.options[i] }, starHeight); if (!ok) return false; } } var stack = node.stack || (node.value && node.value.stack); if (!stack) return true; for (var i = 0; i < stack.length; i++) { var ok = walk(stack[i], starHeight); if (!ok) return false; } return true; })(re, 0); }; function isRegExp (x) { return {}.toString.call(x) === '[object RegExp]'; }
Save
cmd:
run