Initial release
This commit is contained in:
395
lib/io-promise.js
Normal file
395
lib/io-promise.js
Normal file
@@ -0,0 +1,395 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
module.exports.fs = function() {
|
||||
this.rename = function (oldPath, newPath) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.rename (oldPath, newPath, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.ftruncate = function (fd, len) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.ftruncate (fd, len, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.truncate = function (path, len) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.truncate (path, len, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.chown = function (path, uid, gid) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.chown (path, uid, gid, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.fchown = function (fd, uid, gid) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.fchown (fd, uid, gid, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.lchown = function (path, uid, gid) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.lchown (path, uid, gid, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.chmod = function (path, mode) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.chmod (path, mode, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.fchmod = function (fd, mode) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.fchmod (fd, mode, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.stat = function (path) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.stat (path, function(err, stats) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve(stats);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.lstat = function (path) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.lstat (path, function(err, stats) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve(stats);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.fstat = function (fd) {
|
||||
return new Promise (function(resolve, reject) {
|
||||
fs.fstat (fd, function (err, stats) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve(stats);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.link = function (srcpath, dstpath) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.link (srcpath, dstpath, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.symlink = function (destination, path) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.symlink (destination, path, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.readlink = function (path) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.readlink (path, function (err, linkString) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (linkString);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.realpath = function (path, cache) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.readlink (path, cache, function (err, resolvedPath) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (resolvedPath);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.unlink = function (path) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.unlink (path, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.rmdir = function (path) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.rmdir (path, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.mkdir = function (path, mode) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.mkdir (path, mode ? mode : 0o777, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.readdir = function (path) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.readdir (path, function (err, files) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (files);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.close = function (fd) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.close (fd, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.open = function (path, flags, mode) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.open (path, flags, mode, function (err, fd) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (fd);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.utimes = function (path, atime, mtime) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.utimes (path, atime, mtime, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.futimes = function (fd, atime, mtime) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.futimes (fd, atime, mtime, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.fsync = function (fd) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.fsync (fd, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.write = function (fd, buffer, offset, length, position) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.write (fd, buffer, offset, length, position, function (err, written, buffer) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (written, buffer);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.read = function (fd, buffer, offset, length, position) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.read (fd, buffer, offset, length, position, function (err, bytesRead, buffer) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (bytesRead, buffer);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.readFile = function (filename, options) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.readFile (filename, options, function (err, data) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve (data);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.writeFile = function (filename, options) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.writeFile (filename, options, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.appendFile = function (filename, options) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.appendFile (filename, options, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
this.access = function (path, mode) {
|
||||
return new Promise (function (resolve, reject) {
|
||||
fs.access (path, mode, function (err) {
|
||||
if (err) {
|
||||
reject (err);
|
||||
}
|
||||
else {
|
||||
resolve ();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user