30 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| '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)) : {}
 |