source: trip-planner-front/node_modules/@babel/core/lib/config/pattern-to-regex.js@ 188ee53

Last change on this file since 188ee53 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 1.1 KB
Line 
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = pathToPattern;
7
8function _path() {
9 const data = require("path");
10
11 _path = function () {
12 return data;
13 };
14
15 return data;
16}
17
18const sep = `\\${_path().sep}`;
19const endSep = `(?:${sep}|$)`;
20const substitution = `[^${sep}]+`;
21const starPat = `(?:${substitution}${sep})`;
22const starPatLast = `(?:${substitution}${endSep})`;
23const starStarPat = `${starPat}*?`;
24const starStarPatLast = `${starPat}*?${starPatLast}?`;
25
26function escapeRegExp(string) {
27 return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
28}
29
30function pathToPattern(pattern, dirname) {
31 const parts = _path().resolve(dirname, pattern).split(_path().sep);
32
33 return new RegExp(["^", ...parts.map((part, i) => {
34 const last = i === parts.length - 1;
35 if (part === "**") return last ? starStarPatLast : starStarPat;
36 if (part === "*") return last ? starPatLast : starPat;
37
38 if (part.indexOf("*.") === 0) {
39 return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep);
40 }
41
42 return escapeRegExp(part) + (last ? endSep : sep);
43 })].join(""));
44}
Note: See TracBrowser for help on using the repository browser.