1.1.3 • Published 2 years ago
kasperware-klog v1.1.3
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);
}
})