| 'use strict' |
| |
| // turn tar(1) style args like `C` into the more verbose things like `cwd` |
| |
| const argmap = new Map([ |
| ['C', 'cwd'], |
| ['f', 'file'], |
| ['z', 'gzip'], |
| ['P', 'preservePaths'], |
| ['U', 'unlink'], |
| ['strip-components', 'strip'], |
| ['stripComponents', 'strip'], |
| ['keep-newer', 'newer'], |
| ['keepNewer', 'newer'], |
| ['keep-newer-files', 'newer'], |
| ['keepNewerFiles', 'newer'], |
| ['k', 'keep'], |
| ['keep-existing', 'keep'], |
| ['keepExisting', 'keep'], |
| ['m', 'noMtime'], |
| ['no-mtime', 'noMtime'], |
| ['p', 'preserveOwner'], |
| ['L', 'follow'], |
| ['h', 'follow'], |
| ]) |
| |
| module.exports = opt => opt ? Object.keys(opt).map(k => [ |
| argmap.has(k) ? argmap.get(k) : k, opt[k], |
| ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), Object.create(null)) : {} |