| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							
- 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)
 
-     })
 
-   })
 
- }
 
 
  |