You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					24 lines
				
				784 B
			
		
		
			
		
	
	
					24 lines
				
				784 B
			| 
								 
											3 years ago
										 
									 | 
							
								const { promisify } = require('util')
							 | 
						||
| 
								 | 
							
								const fs = require('fs')
							 | 
						||
| 
								 | 
							
								const optsArg = opts => {
							 | 
						||
| 
								 | 
							
								  if (!opts)
							 | 
						||
| 
								 | 
							
								    opts = { mode: 0o777, fs }
							 | 
						||
| 
								 | 
							
								  else if (typeof opts === 'object')
							 | 
						||
| 
								 | 
							
								    opts = { mode: 0o777, fs, ...opts }
							 | 
						||
| 
								 | 
							
								  else if (typeof opts === 'number')
							 | 
						||
| 
								 | 
							
								    opts = { mode: opts, fs }
							 | 
						||
| 
								 | 
							
								  else if (typeof opts === 'string')
							 | 
						||
| 
								 | 
							
								    opts = { mode: parseInt(opts, 8), fs }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    throw new TypeError('invalid options argument')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  opts.mkdir = opts.mkdir || opts.fs.mkdir || fs.mkdir
							 | 
						||
| 
								 | 
							
								  opts.mkdirAsync = promisify(opts.mkdir)
							 | 
						||
| 
								 | 
							
								  opts.stat = opts.stat || opts.fs.stat || fs.stat
							 | 
						||
| 
								 | 
							
								  opts.statAsync = promisify(opts.stat)
							 | 
						||
| 
								 | 
							
								  opts.statSync = opts.statSync || opts.fs.statSync || fs.statSync
							 | 
						||
| 
								 | 
							
								  opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs.mkdirSync
							 | 
						||
| 
								 | 
							
								  return opts
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								module.exports = optsArg
							 |