| const optsArg = require('./lib/opts-arg.js') | 
| const pathArg = require('./lib/path-arg.js') | 
|   | 
| const {mkdirpNative, mkdirpNativeSync} = require('./lib/mkdirp-native.js') | 
| const {mkdirpManual, mkdirpManualSync} = require('./lib/mkdirp-manual.js') | 
| const {useNative, useNativeSync} = require('./lib/use-native.js') | 
|   | 
|   | 
| const mkdirp = (path, opts) => { | 
|   path = pathArg(path) | 
|   opts = optsArg(opts) | 
|   return useNative(opts) | 
|     ? mkdirpNative(path, opts) | 
|     : mkdirpManual(path, opts) | 
| } | 
|   | 
| const mkdirpSync = (path, opts) => { | 
|   path = pathArg(path) | 
|   opts = optsArg(opts) | 
|   return useNativeSync(opts) | 
|     ? mkdirpNativeSync(path, opts) | 
|     : mkdirpManualSync(path, opts) | 
| } | 
|   | 
| mkdirp.sync = mkdirpSync | 
| mkdirp.native = (path, opts) => mkdirpNative(pathArg(path), optsArg(opts)) | 
| mkdirp.manual = (path, opts) => mkdirpManual(pathArg(path), optsArg(opts)) | 
| mkdirp.nativeSync = (path, opts) => mkdirpNativeSync(pathArg(path), optsArg(opts)) | 
| mkdirp.manualSync = (path, opts) => mkdirpManualSync(pathArg(path), optsArg(opts)) | 
|   | 
| module.exports = mkdirp |