diff options
Diffstat (limited to 'lib/utils/string.js')
-rw-r--r-- | lib/utils/string.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/utils/string.js b/lib/utils/string.js new file mode 100644 index 0000000..417d7af --- /dev/null +++ b/lib/utils/string.js @@ -0,0 +1,26 @@ +var _ = require("lodash"); + +function escapeShellArg(arg) { + var ret = ''; + + ret = arg.replace(/"/g, '\\"'); + + return "\"" + ret + "\""; +} + +function optionsToShellArgs(options) { + return _.chain(options) + .map(function(value, key) { + if (value == null || value == false) return null; + if (value == true) return key; + return key+"="+escapeShellArg(value); + }) + .compact() + .value() + .join(" "); +} + +module.exports = { + escapeShellArg: escapeShellArg, + optionsToShellArgs: optionsToShellArgs +}; |