From 7b1ad75b0e7f9adfb397dda1ad28941cf319bef8 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 15 Apr 2021 12:32:17 -0300 Subject: new parser progress so far (cur: 15k/sec) not implemented into the site (so just process.exit()), includes a couple examples and speedtest (not optimized at all yet) --- upd8-util.js | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'upd8-util.js') diff --git a/upd8-util.js b/upd8-util.js index abeed6c1..30260f8d 100644 --- a/upd8-util.js +++ b/upd8-util.js @@ -416,3 +416,14 @@ module.exports.promisifyProcess = function(proc, showLogging = true) { // Stolen from jq! Which pro8a8ly stole the concept from other places. Nice. module.exports.withEntries = (obj, fn) => Object.fromEntries(fn(Object.entries(obj))); + +// Stolen from here: https://stackoverflow.com/a/53925033 +// We changed the # to // though. +module.exports.makeExtendedRegExp = (inputPatternStr, flags) => { + // Remove everything between the first unescaped `//` and the end of a line + // and then remove all unescaped whitespace + const cleanedPatternStr = inputPatternStr + .replace(/(^|[^\\])\/\/.*/g, '$1') + .replace(/(^|[^\\])\s+/g, '$1'); + return new RegExp(cleanedPatternStr, flags); +}; -- cgit 1.3.0-6-gf8a5