mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 17:35:16 +00:00
19 lines
701 B
JavaScript
19 lines
701 B
JavaScript
|
'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;
|