init
This commit is contained in:
55
node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
generated
vendored
Normal file
55
node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.generateRegexpuOptions = generateRegexpuOptions;
|
||||
|
||||
var _features = require("./features");
|
||||
|
||||
function generateRegexpuOptions(node, features) {
|
||||
let useUnicodeFlag = false,
|
||||
dotAllFlag = false,
|
||||
unicodePropertyEscape = false,
|
||||
namedGroup = false;
|
||||
const {
|
||||
flags,
|
||||
pattern
|
||||
} = node;
|
||||
const flagsIncludesU = flags.includes("u");
|
||||
|
||||
if (flagsIncludesU) {
|
||||
if (!(0, _features.hasFeature)(features, _features.FEATURES.unicodeFlag)) {
|
||||
useUnicodeFlag = true;
|
||||
}
|
||||
|
||||
if ((0, _features.hasFeature)(features, _features.FEATURES.unicodePropertyEscape) && /\\[pP]{/.test(pattern)) {
|
||||
unicodePropertyEscape = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((0, _features.hasFeature)(features, _features.FEATURES.dotAllFlag) && flags.indexOf("s") >= 0) {
|
||||
dotAllFlag = true;
|
||||
}
|
||||
|
||||
if ((0, _features.hasFeature)(features, _features.FEATURES.namedCaptureGroups) && /\(\?<(?![=!])/.test(pattern)) {
|
||||
namedGroup = true;
|
||||
}
|
||||
|
||||
if (!namedGroup && !unicodePropertyEscape && !dotAllFlag && (!flagsIncludesU || useUnicodeFlag)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (flagsIncludesU && flags.indexOf("s") >= 0) {
|
||||
dotAllFlag = true;
|
||||
}
|
||||
|
||||
return {
|
||||
useUnicodeFlag,
|
||||
onNamedGroup: () => {},
|
||||
namedGroup,
|
||||
unicodePropertyEscape,
|
||||
dotAllFlag,
|
||||
lookbehind: true
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user