Add components
This commit is contained in:
58
slider/node_modules/eslint/lib/rules/utils/regular-expressions.js
generated
vendored
Normal file
58
slider/node_modules/eslint/lib/rules/utils/regular-expressions.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* @fileoverview Common utils for regular expressions.
|
||||
* @author Josh Goldberg
|
||||
* @author Toru Nagashima
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const { RegExpValidator } = require("@eslint-community/regexpp");
|
||||
|
||||
const REGEXPP_LATEST_ECMA_VERSION = 2025;
|
||||
|
||||
/**
|
||||
* 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, 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,
|
||||
flag === "u"
|
||||
? {
|
||||
unicode: /* uFlag = */ true,
|
||||
}
|
||||
: {
|
||||
unicodeSets: true,
|
||||
},
|
||||
);
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isValidWithUnicodeFlag,
|
||||
REGEXPP_LATEST_ECMA_VERSION,
|
||||
};
|
Reference in New Issue
Block a user