Spaces:
Paused
Paused
| var Promise = require('any-promise') | |
| var fs | |
| try { | |
| fs = require('graceful-fs') | |
| } catch(err) { | |
| fs = require('fs') | |
| } | |
| var api = [ | |
| 'appendFile', | |
| 'chmod', | |
| 'chown', | |
| 'close', | |
| 'fchmod', | |
| 'fchown', | |
| 'fdatasync', | |
| 'fstat', | |
| 'fsync', | |
| 'ftruncate', | |
| 'futimes', | |
| 'lchown', | |
| 'link', | |
| 'lstat', | |
| 'mkdir', | |
| 'open', | |
| 'read', | |
| 'readFile', | |
| 'readdir', | |
| 'readlink', | |
| 'realpath', | |
| 'rename', | |
| 'rmdir', | |
| 'stat', | |
| 'symlink', | |
| 'truncate', | |
| 'unlink', | |
| 'utimes', | |
| 'write', | |
| 'writeFile' | |
| ] | |
| typeof fs.access === 'function' && api.push('access') | |
| typeof fs.copyFile === 'function' && api.push('copyFile') | |
| typeof fs.mkdtemp === 'function' && api.push('mkdtemp') | |
| require('thenify-all').withCallback(fs, exports, api) | |
| exports.exists = function (filename, callback) { | |
| // callback | |
| if (typeof callback === 'function') { | |
| return fs.stat(filename, function (err) { | |
| callback(null, !err); | |
| }) | |
| } | |
| // or promise | |
| return new Promise(function (resolve) { | |
| fs.stat(filename, function (err) { | |
| resolve(!err) | |
| }) | |
| }) | |
| } | |