express-dual

0.0.4 • Public • Published

express-dual

Split your express logic into separate data-fetching/view-rendering functions

Installation

npm install --save express-dual

Use

...
const dual = require('express-dual')
const app = express()
app.get('/', dual()
    .data(function (req) {
        return { my: 'data' }
    })
    .view(function (req, res, data, next) {
        res.render('index', data)
    }))

When a request is made with the header Accept set to application/json, the middleware will respond with the data encoded as JSON, otherwise the middleware will call your view function.

API

dual([ dataCallback, [ viewCallback ] ]) : DualMiddleware

Create dual middleware

DualMiddleware.data(dataCallback) : DualMiddleware

Attach a data-fetching function to middleware

The dataCallback function may return data immediately, or return a promise. The signature of dataCallback is function (request) => Object|Promise

DualMiddleware.view(viewCallback) : DualMiddleware

Attach a view-rendering function to middleware

The signature of viewCallback is function (request, response, data, next)

Readme

Keywords

none

Package Sidebar

Install

npm i express-dual

Weekly Downloads

1

Version

0.0.4

License

ISC

Last publish

Collaborators

  • jrop