28 lines
		
	
	
	
		
			545 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
	
		
			545 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict'
							 | 
						||
| 
								 | 
							
								const fs = require('../fs')
							 | 
						||
| 
								 | 
							
								const { checkPath } = require('./utils')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const getMode = options => {
							 | 
						||
| 
								 | 
							
								  const defaults = { mode: 0o777 }
							 | 
						||
| 
								 | 
							
								  if (typeof options === 'number') return options
							 | 
						||
| 
								 | 
							
								  return ({ ...defaults, ...options }).mode
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.makeDir = async (dir, options) => {
							 | 
						||
| 
								 | 
							
								  checkPath(dir)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return fs.mkdir(dir, {
							 | 
						||
| 
								 | 
							
								    mode: getMode(options),
							 | 
						||
| 
								 | 
							
								    recursive: true
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.makeDirSync = (dir, options) => {
							 | 
						||
| 
								 | 
							
								  checkPath(dir)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return fs.mkdirSync(dir, {
							 | 
						||
| 
								 | 
							
								    mode: getMode(options),
							 | 
						||
| 
								 | 
							
								    recursive: true
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								}
							 |