Files
io-promise/lib/io-promise.js
2015-08-02 19:37:15 +02:00

396 lines
6.9 KiB
JavaScript

'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 ();
}
});
});
};
};