Spaces:
Sleeping
Sleeping
; | |
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; |