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