kasperware-klog
v1.1.3
Published
A very simple script for error handling in NodeJS using promises.
Downloads
2
Readme
Klog
A very simple script for error handling in NodeJS using promises.
Structure of return
- status (int) 0 is success (default = 0)
- warnings (int) number of warnings (default = 0)
- notices (int) number of notices (default = 0)
- fin (bool) true if 'done()' is sent (default = false)
- logs (array) all logs (default = [])
- data (object) data send in 'done({data})' (default = {})
- httpcode (int) generated by functions (default = 0)
Basic functions
|Command |HTTP code |Status |Fin | Notes | --- | --- | --- | --- | --- | |done(data) |200 | - |true |Sends data as data| |err(msg) |500 |1 |- |Logs "ERROR 500"+msg| |bad(msg) |400 |1 |- |Logs "ERROR 400"+msg| |forbid(msg) |403 |1 |- |Logs "ERROR 403"+msg| |toomany(msg) |429 |1 |- |Logs "ERROR 429"+msg|
Other functions
log(msg) adds "msg" to logs
warn(msg) adds "WARNING: msg" to logs and warnings++
note(msg) adds "NOTICE: msg" to logs and notices++
Example of use
const Klog = require("kasperware-klog")
async function handleit(id){
return new Promise(async (resolve, reject) => {
var k = new Klog();
k.log("Running on ID: "+id);
const search = await knex("posts").where("id", "=", id)
.then(function(rows){
if(rows.length==0)
k.warn("No result on ID"+id);
}else if(rows.length==1){
const row = rows[0];
k.log("Found "+row);
resolve(k.done())
}else{
reject(k.err("Too many found!"))
}
})
.catch(function(err){
reject(k.err("Error in db: "+err));
})
})
}
router.get(["/endpoint/:id"], async function(req, res){
if(req.params.id && isNumber(req.params.id)){
const id = req.params.id;
await handleit(id)
.then(function(data){
res.status(data.httpcode).send(data);
})
.catch(function(data){
res.status(data.httpcode).send(data);
});
}else{
var out = new Klog().bad("ID is not a number!")
res.status(out.httpcode).send(out);
}
})