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.
22 lines
599 B
22 lines
599 B
// |
|
'use strict'; |
|
|
|
const path = require('path'); |
|
const isDirectory = require('is-directory'); |
|
|
|
function getDirectory(filepath ) { |
|
return new Promise((resolve, reject) => { |
|
return isDirectory(filepath, (err, filepathIsDirectory) => { |
|
if (err) { |
|
return reject(err); |
|
} |
|
return resolve(filepathIsDirectory ? filepath : path.dirname(filepath)); |
|
}); |
|
}); |
|
} |
|
|
|
getDirectory.sync = function getDirectorySync(filepath ) { |
|
return isDirectory.sync(filepath) ? filepath : path.dirname(filepath); |
|
}; |
|
|
|
module.exports = getDirectory;
|
|
|