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.
28 lines
545 B
28 lines
545 B
2 years ago
|
'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
|
||
|
})
|
||
|
}
|