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.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							62 lines
						
					
					
						
							1.0 KiB
						
					
					
				
 | 
						|
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) | 
						|
    }) | 
						|
  }) | 
						|
}
 | 
						|
 |