node_modules/eslint/lib/rules/utils/regular-expressions.js in immosquare-cleaner-0.1.46 vs node_modules/eslint/lib/rules/utils/regular-expressions.js in immosquare-cleaner-0.1.47

- old
+ new

@@ -12,24 +12,32 @@ /** * Checks if the given regular expression pattern would be valid with the `u` flag. * @param {number} ecmaVersion ECMAScript version to parse in. * @param {string} pattern The regular expression pattern to verify. + * @param {"u"|"v"} flag The type of Unicode flag * @returns {boolean} `true` if the pattern would be valid with the `u` flag. * `false` if the pattern would be invalid with the `u` flag or the configured * ecmaVersion doesn't support the `u` flag. */ -function isValidWithUnicodeFlag(ecmaVersion, pattern) { - if (ecmaVersion <= 5) { // ecmaVersion <= 5 doesn't support the 'u' flag +function isValidWithUnicodeFlag(ecmaVersion, pattern, flag = "u") { + if (flag === "u" && ecmaVersion <= 5) { // ecmaVersion <= 5 doesn't support the 'u' flag return false; } + if (flag === "v" && ecmaVersion <= 2023) { + return false; + } const validator = new RegExpValidator({ ecmaVersion: Math.min(ecmaVersion, REGEXPP_LATEST_ECMA_VERSION) }); try { - validator.validatePattern(pattern, void 0, void 0, { unicode: /* uFlag = */ true }); + validator.validatePattern(pattern, void 0, void 0, flag === "u" ? { + unicode: /* uFlag = */ true + } : { + unicodeSets: true + }); } catch { return false; } return true;