diff options
Diffstat (limited to 'lib/utils')
-rw-r--r-- | lib/utils/fs.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/utils/fs.js b/lib/utils/fs.js index 42fd3c6..96a0e49 100644 --- a/lib/utils/fs.js +++ b/lib/utils/fs.js @@ -97,12 +97,29 @@ function rmDir(base) { }); } +/** + Assert a file, if it doesn't exist, call "generator" + + @param {String} filePath + @param {Function} generator + @return {Promise} +*/ +function assertFile(filePath, generator) { + return fileExists(filePath) + .then(function(exists) { + if (exists) return; + + generator(); + }); +} + module.exports = { exists: fileExists, existsSync: fs.existsSync, mkdirp: Promise.nfbind(mkdirp), readFile: Promise.nfbind(fs.readFile), writeFile: Promise.nfbind(fs.writeFile), + assertFile: assertFile, stat: Promise.nfbind(fs.stat), statSync: fs.statSync, readdir: Promise.nfbind(fs.readdir), |