summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js')
-rw-r--r--node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js71
1 files changed, 0 insertions, 71 deletions
diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
deleted file mode 100644
index c9faf080..00000000
--- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
+++ /dev/null
@@ -1,71 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.canSkipRegexpu = canSkipRegexpu;
-exports.generateRegexpuOptions = generateRegexpuOptions;
-exports.transformFlags = transformFlags;
-var _features = require("./features.js");
-function generateRegexpuOptions(pattern, toTransform) {
- const feat = (name, ok = "transform") => {
- return (0, _features.hasFeature)(toTransform, _features.FEATURES[name]) ? ok : false;
- };
- const featDuplicateNamedGroups = () => {
- if (!feat("duplicateNamedCaptureGroups")) return false;
- const regex = /\(\?<([^>]+)>/g;
- const seen = new Set();
- for (let match; match = regex.exec(pattern); seen.add(match[1])) {
- if (seen.has(match[1])) return "transform";
- }
- return false;
- };
- return {
- unicodeFlag: feat("unicodeFlag"),
- unicodeSetsFlag: feat("unicodeSetsFlag") || "parse",
- dotAllFlag: feat("dotAllFlag"),
- unicodePropertyEscapes: feat("unicodePropertyEscape"),
- namedGroups: feat("namedCaptureGroups") || featDuplicateNamedGroups(),
- onNamedGroup: () => {},
- modifiers: feat("modifiers")
- };
-}
-function canSkipRegexpu(node, options) {
- const {
- flags,
- pattern
- } = node;
- if (flags.includes("v")) {
- if (options.unicodeSetsFlag === "transform") return false;
- }
- if (flags.includes("u")) {
- if (options.unicodeFlag === "transform") return false;
- if (options.unicodePropertyEscapes === "transform" && /\\p\{/i.test(pattern)) {
- return false;
- }
- }
- if (flags.includes("s")) {
- if (options.dotAllFlag === "transform") return false;
- }
- if (options.namedGroups === "transform" && /\(\?<(?![=!])/.test(pattern)) {
- return false;
- }
- if (options.modifiers === "transform" && /\(\?[\w-]+:/.test(pattern)) {
- return false;
- }
- return true;
-}
-function transformFlags(regexpuOptions, flags) {
- if (regexpuOptions.unicodeSetsFlag === "transform") {
- flags = flags.replace("v", "u");
- }
- if (regexpuOptions.unicodeFlag === "transform") {
- flags = flags.replace("u", "");
- }
- if (regexpuOptions.dotAllFlag === "transform") {
- flags = flags.replace("s", "");
- }
- return flags;
-}
-
-//# sourceMappingURL=util.js.map