This repository has been archived on 2025-07-07. You can view files and clone it, but cannot push or open issues or pull requests.
Files
eternos/frontend/node_modules/regex-parser/lib/index.js
2025-01-13 09:33:52 +03:00

34 lines
894 B
JavaScript

"use strict";
/**
* RegexParser
* Parses a string input.
*
* @name RegexParser
* @function
* @param {String} input The string input that should be parsed as regular
* expression.
* @return {RegExp} The parsed regular expression.
*/
var RegexParser = module.exports = function (input) {
// Validate input
if (typeof input !== "string") {
throw new Error("Invalid input. Input must be a string");
}
// Parse input
var m = input.match(/(\/?)(.+)\1([a-z]*)/i);
// If there's no match, throw an error
if (!m) {
throw new Error("Invalid regular expression format.");
}
// Filter valid flags: 'g', 'i', 'm', 's', 'u', and 'y'
var validFlags = Array.from(new Set(m[3])).filter(function (flag) {
return "gimsuy".includes(flag);
}).join("");
// Create the regular expression
return new RegExp(m[2], validFlags);
};