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;