UNPKG

wett

Version:

wett is a api layer between user api and db. provinding inbuilt user authentication via jwt and a db layer module to easily use multiple db with common functions

148 lines (138 loc) 3.56 kB
const fs = require('fs-extra'); const nfs = require('fs'); //native file system - nfs //used for sub dir loop module.exports = { exists:(location)=>{ return fs.exists(location); }, dir:{ cwd:()=>{ return process.cwd(); }, app:()=>{ let scriptAddressRef = process.argv[1]; let scriptMidPoint = scriptAddressRef.lastIndexOf('\\'); return scriptAddressRef.substring(0,scriptMidPoint); }, ensure:async (location)=>{ return fs.ensureDir(location) .then(()=>{ return true; }) .catch((err)=>{ common.error(err) return common.error('failed-ensure-dir-io'); }); }, create:(location)=>{ return fs.mkdir(location) .then(()=>{ return true; }) .catch((err)=>{ common.error(err) return common.error('failed-create-dir-io'); }); }, subDir:(srcpath)=>{ return new Promise((resolve,reject)=>{ nfs.readdir(srcpath,{withFileTypes:true},(e,files)=>{ if(e){ common.error(e); common.error("failed-read_sub_directories-subDir-dir-io"); reject("failed-read_sub_directories-subDir-dir-io"); } let collect = []; for(let file of files){ if(file.isDirectory()){ collect.push(file.name); } } resolve(collect); }); }); }, files:(srcpath)=>{ nfs.readdir(srcpath,{withFileTypes:true},(e,files)=>{ if(e){ common.error(e); common.error("failed-read_children_files-files-dir-io"); reject("failed-read_children_files-files-dir-io"); } let collect = []; for(let file of files){ if(file.isFile()){ collect.push(file.name); } } resolve(collect); }); }, children:(srcpath)=>{ return new Promise((resolve,reject)=>{ nfs.readdir(srcpath,(e,files)=>{ if(e){ common.error(e); common.error("failed-read_chilren_items-children-dir-io"); reject("failed-read_chilren_items-children-dir-io"); } resolve(files); }); }); } },//dir ends here copy:async (from,to)=>{ return fs.copy(from,to) .then(()=>{ return true; }) .catch((error)=>{ common.error(error); return common.error("failed-copy-io"); }); }, read:(location)=>{ return fs.readFile(location,'utf-8') .then((data)=>{ return data; }) .catch((err)=>{ common.error(err); return common.error("failed-read_file-io"); }); }, readJson:async (location)=>{ let run = await fs.readFile(location,'utf-8') .then((data)=>{ return data; }) .catch((err)=>{ common.error(err); return common.error("failed-readJson-io"); }); if(run){ return JSON.parse(run); } else { return false; } }, write:(location,data)=>{ return fs.writeFile(location,data,'utf-8') .then(()=>{ return true; }) .catch((err)=>{ common.error(err); return common.error("failed-write-io"); }); }, delete:(location)=>{ return fs.remove(location) .then(()=>{ return true; }) .catch((e)=>{ common.error(e); return false; }); } };