diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (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.js | 71 |
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 |
