summaryrefslogtreecommitdiff
path: root/node_modules/mz/fs.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mz/fs.js')
-rw-r--r--node_modules/mz/fs.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/mz/fs.js b/node_modules/mz/fs.js
new file mode 100644
index 0000000..1cfd2d7
--- /dev/null
+++ b/node_modules/mz/fs.js
@@ -0,0 +1,62 @@
+
+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)
+ })
+ })
+}