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);
|
|