summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/mkdirp/lib/opts-arg.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/mkdirp/lib/opts-arg.js')
-rw-r--r--deps/npm/node_modules/mkdirp/lib/opts-arg.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/deps/npm/node_modules/mkdirp/lib/opts-arg.js b/deps/npm/node_modules/mkdirp/lib/opts-arg.js
new file mode 100644
index 0000000000..2fa4833faa
--- /dev/null
+++ b/deps/npm/node_modules/mkdirp/lib/opts-arg.js
@@ -0,0 +1,23 @@
+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