util-ex
Version:
Browser-friendly enhanced util fully compatible with standard node.js
30 lines (29 loc) • 860 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
exports.toRegExp = toRegExp;
var _regexp = require("./is/type/regexp.js");
/**
* create or clone RegExp
* @param {string|RegExp} value - create a new RegExp from.
* @returns {RegExp} - new RegExp instance.
* @example
* toRegExp('/[a-z]/g') // new RegExp(/[a-z]/g)
* toRegExp(/[a-z]/g) // new RegExp(/[a-z]/g)
*/
function toRegExp(value) {
let result;
if (typeof value === 'string' && value.length > 2 && value[0] === '/') {
const i = value.lastIndexOf('/');
const source = value.slice(1, i);
const flags = value.slice(i + 1);
result = new RegExp(source, flags);
} else if ((0, _regexp.isRegExp)(value)) {
result = new RegExp(value.source, value.flags);
}
return result;
}
;
var _default = exports.default = toRegExp;