summaryrefslogtreecommitdiff
path: root/node_modules/babel-plugin-transform-regexp-constructors/lib
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-plugin-transform-regexp-constructors/lib
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/babel-plugin-transform-regexp-constructors/lib')
-rw-r--r--node_modules/babel-plugin-transform-regexp-constructors/lib/index.js53
1 files changed, 0 insertions, 53 deletions
diff --git a/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js b/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js
deleted file mode 100644
index be79d8df..00000000
--- a/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js
+++ /dev/null
@@ -1,53 +0,0 @@
-"use strict";
-
-function createRegExpLiteral(args, prettify, t) {
- const evaluatedArgs = args.map(a => a.evaluate());
-
- if (!evaluatedArgs.every(a => a.confident && typeof a.value === "string")) {
- return;
- }
-
- let pattern = evaluatedArgs.length >= 1 && evaluatedArgs[0].value !== "" ? evaluatedArgs[0].value : "(?:)";
- const flags = evaluatedArgs.length >= 2 ? evaluatedArgs[1].value : "";
- pattern = new RegExp(pattern).source;
-
- if (prettify) {
- pattern = pattern.replace(/\n/g, "\\n").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/[\b]/g, "[\\b]").replace(/\v/g, "\\v").replace(/\f/g, "\\f").replace(/\r/g, "\\r");
- }
-
- pattern = pattern.replace(/\0/g, "\\0");
- return t.regExpLiteral(pattern, flags);
-}
-
-function maybeReplaceWithRegExpLiteral(path, t) {
- if (!t.isIdentifier(path.node.callee, {
- name: "RegExp"
- })) {
- return;
- }
-
- const regExpLiteral = createRegExpLiteral(path.get("arguments"), true, t);
-
- if (regExpLiteral) {
- path.replaceWith(regExpLiteral);
- }
-}
-
-module.exports = function ({
- types: t
-}) {
- return {
- name: "transform-regexp-constructors",
- visitor: {
- NewExpression(path) {
- maybeReplaceWithRegExpLiteral(path, t);
- },
-
- CallExpression(path) {
- // equivalent to `new RegExp()` according to ยง21.2.3
- maybeReplaceWithRegExpLiteral(path, t);
- }
-
- }
- };
-}; \ No newline at end of file