summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js b/bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js
new file mode 100644
index 00000000..367263f6
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/cross-spawn/lib/util/escapeArgument.js
@@ -0,0 +1,30 @@
+'use strict';
+
+function escapeArgument(arg, quote) {
+ // Convert to string
+ arg = '' + arg;
+
+ // If we are not going to quote the argument,
+ // escape shell metacharacters, including double and single quotes:
+ if (!quote) {
+ arg = arg.replace(/([()%!^<>&|;,"'\s])/g, '^$1');
+ } else {
+ // Sequence of backslashes followed by a double quote:
+ // double up all the backslashes and escape the double quote
+ arg = arg.replace(/(\\*)"/g, '$1$1\\"');
+
+ // Sequence of backslashes followed by the end of the string
+ // (which will become a double quote later):
+ // double up all the backslashes
+ arg = arg.replace(/(\\*)$/, '$1$1');
+
+ // All other backslashes occur literally
+
+ // Quote the whole thing:
+ arg = '"' + arg + '"';
+ }
+
+ return arg;
+}
+
+module.exports = escapeArgument;