🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚
This commit is contained in:
72
network-visualization/node_modules/regex-not/index.js
generated
vendored
Normal file
72
network-visualization/node_modules/regex-not/index.js
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
'use strict';
|
||||
|
||||
var extend = require('extend-shallow');
|
||||
var safe = require('safe-regex');
|
||||
|
||||
/**
|
||||
* The main export is a function that takes a `pattern` string and an `options` object.
|
||||
*
|
||||
* ```js
|
||||
& var not = require('regex-not');
|
||||
& console.log(not('foo'));
|
||||
& //=> /^(?:(?!^(?:foo)$).)*$/
|
||||
* ```
|
||||
*
|
||||
* @param {String} `pattern`
|
||||
* @param {Object} `options`
|
||||
* @return {RegExp} Converts the given `pattern` to a regex using the specified `options`.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function toRegex(pattern, options) {
|
||||
return new RegExp(toRegex.create(pattern, options));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a regex-compatible string from the given `pattern` and `options`.
|
||||
*
|
||||
* ```js
|
||||
& var not = require('regex-not');
|
||||
& console.log(not.create('foo'));
|
||||
& //=> '^(?:(?!^(?:foo)$).)*$'
|
||||
* ```
|
||||
* @param {String} `pattern`
|
||||
* @param {Object} `options`
|
||||
* @return {String}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
toRegex.create = function(pattern, options) {
|
||||
if (typeof pattern !== 'string') {
|
||||
throw new TypeError('expected a string');
|
||||
}
|
||||
|
||||
var opts = extend({}, options);
|
||||
if (opts.contains === true) {
|
||||
opts.strictNegate = false;
|
||||
}
|
||||
|
||||
var open = opts.strictOpen !== false ? '^' : '';
|
||||
var close = opts.strictClose !== false ? '$' : '';
|
||||
var endChar = opts.endChar ? opts.endChar : '+';
|
||||
var str = pattern;
|
||||
|
||||
if (opts.strictNegate === false) {
|
||||
str = '(?:(?!(?:' + pattern + ')).)' + endChar;
|
||||
} else {
|
||||
str = '(?:(?!^(?:' + pattern + ')$).)' + endChar;
|
||||
}
|
||||
|
||||
var res = open + str + close;
|
||||
if (opts.safe === true && safe(res) === false) {
|
||||
throw new Error('potentially unsafe regular expression: ' + res);
|
||||
}
|
||||
|
||||
return res;
|
||||
};
|
||||
|
||||
/**
|
||||
* Expose `toRegex`
|
||||
*/
|
||||
|
||||
module.exports = toRegex;
|
Reference in New Issue
Block a user