Miss any of our Open RFC calls?Watch the recordings here! »

jsender

0.0.6 • Public • Published

JSender

Build Status

Simple and structured application level JSON responses for Express. Based on JSend specification (http://labs.omniti.com/labs/jsend).

Installation

npm install jsender

Setup the middleware in your Express app. Before any routes.

var express = require('express')
  , jsender = require('jsender')
  ;
 
var app = express();
 
// ... (other middlewares)
app.use(jsender());
 
app.get('/', function (req, res){
  res.success({
    notice: 'Hello, World!'
  });
});
 
// JSON Response
// {
//   "status": "success",
//   "data": {
//     "notice": "Hello, World!"
//   }
// }

API

JSender augments the node res object with the following methods.

success(data)

  • data: Optional response data object.
function (req, res){
  res.success({
    notice: 'Hello, World!'
  });
};
 
// JSON Response
// {
//   "status": "success",
//   "data": {
//     "notice": "Hello, World!"
//   }
// }

fail(data)

  • data: Required failure data.
function (req, res){
  res.fail({
    name: 'Name is required.'
  });
};
 
// JSON Response
// {
//   "status": "fail",
//   "data": {
//     "name": "Name is required."
//   }
// }

error(message, data, code)

  • message: Required error message.
  • data: Optional error data.
  • code: Optional error code.
function (req, res){
  res.error('Server error.');
};
 
// JSON Response
// {
//   "status": "error",
//   "message": "Server error."
// }

jsend(err, data)

  • err: An error object or null.
  • data: Optional response data object.
function (req, res){
  books.find()
    .exec(res.jsend);
};
 
// same as
 
function (req, res){
  books.find()
    .exec(function (err, data){
      if (err)
        return res.jsend(err);
 
      res.jsend(null, data);
    });
};

Install

npm i jsender

DownloadsWeekly Downloads

4

Version

0.0.6

License

MIT

Last publish

Collaborators

  • avatar