UNPKG

util-ex

Version:

Browser-friendly enhanced util fully compatible with standard node.js

30 lines (29 loc) 860 B
"use strict"; 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;