ui
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
|
||||
var regexParser = require('regex-parser');
|
||||
|
||||
var REGEXP = /(\/?)(.+)\1([a-z]*)/i;
|
||||
|
||||
/**
|
||||
* Parse the give value as a regular expression or give a pass-none expression where it is invalid
|
||||
* @param {RegExp|string|*} value An existing expression, or its string representation, or degenerate value
|
||||
* @returns {RegExp} The given expression or one matching the RegExp string else a pass-none expression
|
||||
*/
|
||||
function toRegExp(value) {
|
||||
return ((typeof value === 'object') && (typeof value.test === 'function') && value) ||
|
||||
((typeof value === 'string') && REGEXP.test(value) && regexParser(value)) ||
|
||||
(/^true$|^$/.test(value) && /.*/) ||
|
||||
/matchnone^/;
|
||||
}
|
||||
|
||||
module.exports = toRegExp;
|
||||
Reference in New Issue
Block a user