diff options
Diffstat (limited to 'lib/utils')
-rw-r--r-- | lib/utils/string.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/utils/string.js b/lib/utils/string.js new file mode 100644 index 0000000..52cbd3d --- /dev/null +++ b/lib/utils/string.js @@ -0,0 +1,25 @@ +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) return null; + return key+"="+escapeShellArg(value); + }) + .compact() + .value() + .join(" "); +} + +module.exports = { + escapeShellArg: escapeShellArg, + optionsToShellArgs: optionsToShellArgs +}; |