'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var util = require('util');
 
function escapeGlobStringOrArray(escapeFn) {
  return function(glob) {
    if (typeof glob === 'string') {
      return escapeFn(glob);
    }
    if (Array.isArray(glob)) {
      return glob.map(escapeFn);
    }
    throw new Error('glob pattern needs to be a string or array');
  };
}
 
function escapeGlob(glob) {
  return glob
    .replace(/\\/g, '\\\\')
    .replace(/\*/g, '\\*')
    .replace(/\?/g, '\\?')
    .replace(/\[/g, '\\[')
    .replace(/\]/g, '\\]')
    .replace(/\{/g, '\\{')
    .replace(/\}/g, '\\}')
    .replace(/\)/g, '\\)')
    .replace(/\(/g, '\\(')
    .replace(/\!/g, '\\!');
}
 
module.exports = escapeGlobStringOrArray(escapeGlob);