diff options
Diffstat (limited to 'node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js')
| -rw-r--r-- | node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js b/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js new file mode 100644 index 00000000..e48298ed --- /dev/null +++ b/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js @@ -0,0 +1,30 @@ +import { declare } from "@babel/helper-plugin-utils"; +import rewritePattern from "regexpu-core"; +import * as regex from "@babel/helper-regex"; + +export default declare((api, options) => { + api.assertVersion(7); + + const { useUnicodeFlag = true } = options; + if (typeof useUnicodeFlag !== "boolean") { + throw new Error(".useUnicodeFlag must be a boolean, or undefined"); + } + + return { + visitor: { + RegExpLiteral(path) { + const node = path.node; + if (!regex.is(node, "u")) { + return; + } + node.pattern = rewritePattern(node.pattern, node.flags, { + unicodePropertyEscape: true, + useUnicodeFlag, + }); + if (!useUnicodeFlag) { + regex.pullFlag(node, "u"); + } + }, + }, + }; +}); |
