hash-to-array
Turns an arg hash into an array of arguments. Useful when running command line apps with child_process.
Like minimist in reverse.
examples
Please note that these examples are not good real-world use-cases. There are much better ways of accomplishing what is shown in these examples!
rm -rf dir:
var hashToArray = require('hash-to-array')
var spawn = require('child_process').spawn
var args = hashToArray({
r: true,
f: true,
'/lolz/moar/lol': false
}) //=> [ '-r', '-f', '/lolz/moar/lol' ]
spawn('rm', args)
mkdir -p dir:
var hashToArray = require('hash-to-array')
var spawn = require('child_process').spawn
spawn('mkdir', hashToArray({p: true})) //=> [ '-p' ]
browserify:
var hashToArray = require('hash-to-array')
var spawn = require('child_process').spawn
var args = hashToArray({
'myModule.js': false,
d: true,
outfile: './bundle.js'
}) //=> [ 'myModule.js', '-d', '--outfile', './bundle.js' ]
spawn('browserify', args)
usage
var arr = hashToArray(hash)
hash
is a map of the input arguments and their corresponding values.
- If it is already an array, it returns it.
- If it is not an object, it stuffs it into an array. E.g.
7
-> [7]
- Returns
arr
.
hashToArray({ your: 'name' })
hashToArray({ hello: true })
hashToArray({ hello: false })
hashToArray({ 0: 8, 1: false, length: 2 })
hashToArray([ '-o', 'two.txt' ])
hashToArray('hi there')
hashToArray(17)
hashToArray({
username: 'joseph',
password: 'lolwut',
'debug-level': 12
})
Note that boolean values do not get pushed to the array. They signify the presence of prepended dashes. (See examples.)
install
With npm do:
npm install hash-to-array
license
MIT