jsend

Utilities to assist with sending and handling jsend responses.

jsend

Utilities to assist with sending and handling jsend responses.

@TODO: document forward and fromArguments methods

@TODO: middleware

By default jsend.isValid validates that all required properties exist.

var jsend = require('jsend');
 
// Returns true 
jsend.isValid({
    status: 'success',
    data: { foo:'bar' }
});
 
// Returns false 
jsend.isValid({
    status: 'success'
});
 
// Returns true 
jsend.isValid({
    status: 'success',
    data: { foo:'bar' },
    junk: 'is ok'
});

Using the strict flag causes jsend.isValid to also validate that extraneous properties do not exist.

var jsend = require('jsend');
 
// Returns true 
jsend.isValid({
    status: 'success',
    data: { foo:'bar' }
});
 
// Returns false 
jsend.isValid({
    status: 'success'
});
 
// Returns false 
jsend.isValid({
    status: 'success',
    data: { foo:'bar' },
    junk: 'is ok'
});
getData(id, function(errdata) {
    res.json(jsend.fromArguments(err, data));
});
jsend.forward(json, function(errdata) {
 
});
expressApp.use(jsend.middleware);
 
expressApp.get('/', function(reqres) {
    loadData(req.params.someParam, function(errdata) {
        res.jsend(err, data);
    });
});

same as:

expressApp.use(jsend.middleware);
 
expressApp.get('/', function(reqres) {
    loadData(req.params.someParam, res.jsend);
});

same but adds param validation:

expressApp.use(jsend.middleware);
 
expressApp.get('/', function(reqres) {
    if(!req.params.someParam)
        return res.fail({ validation:['someParam is required'] });
 
    loadData(req.params.someParam, res.jsend);
});

same:

expressApp.use(jsend.middleware);
 
expressApp.get('/', function(reqres) {
    if(!req.params.someParam)
        return res.fail({ validation:['someParam is required'] });
 
    loadData(req.params.someParam, function(errdata) {
        if(err) return res.error(err);
        res.success(data);
    });
});