nixjs
Version:
shell like command -such as rm,mv,touch,mkdir- set for nodejs.
52 lines (50 loc) • 1.07 kB
JavaScript
;
module.exports = (function () {
const fs = require("fs");
class nix {
ls(dirName) {
const dir = dirName || "./";
let stats = {};
let toReturn = [];
try {
stats = fs.statSync(dir);
if (stats.isDirectory()) toReturn = fs.readdirSync(dir);
else toReturn = stats;
return toReturn;
} catch (e) {
console.error(e);
return false;
}
}
touch(fname,cb) {
const file = fname || false;
if (file === false) return false;
try {
fs.accessSync(file, fs, F_OK);
return false;
} catch (e) {
fs.writeFile(file, " ",cb);
return true;
}
}
rm(fname,cb) {
const file = fname || false;
if (file === false) return false;
let stats = fs.statSync(file);
if (stats.isDirectory()) fs.rmdir(file,cb);
else fs.unlink(file,cb);
return true;
}
mkdir(fname, perm,cb) {
const folder = fname || false;
if (folder === false) return false;
fs.mkdir(folder, perm,cb);
return true;
}
mv(old,nw,cb){
fs.rename(old,nw,cb);
return true;
}
}
return new nix();
})();