strong-params
Rails-style implementation of strong parameters. It supports Express, Koa and also can be used as standalone. The middleware adds the parameters
object to the Express request (or ctx.parameters
for Koa context) which returns an object, built from query string
, request body
and route params
data. The returned object has some useful methods allows for data requiring
and filtering
.
Notice
The implementation of strong parameters was previously forked from koa-strong-params but now has it's own implementation. Along with this change only
, except
and merge
methods have been dropped from the API as they do not exist in Rails Strong Parameters API.
Installation
Install the npm package.
npm install strong-params --save
Attach the middleware.
Express
var express = var params = app
Koa
var koa = var params = var app = app
Usage
Get strong parameters
Express
app
Koa
app
Standalone
var Parameters = Parametersvar params =
Methods
// All available paramsparamsall// -> { id: '13', name: 'Bob', age: '13', hobbies: ['skydiving', 'football', 'photographing'], address: { country: 'US', street: '261 West' }, contacts: [{ type: 'e-mail', value: 'bob@random.rnd' }, { type: 'mobile', value: '+123987456' }] } // Only selected paramsparamsvalue// -> { name: 'Bob', age: '13' } paramsvalue// -> { id: '13', name: 'Bob', hobbies: ['skydiving', 'football', 'photographing'] } paramsvalue// -> { id: '13', name: 'Bob', contacts: [] } paramsvalue// -> { id: '13', name: 'Bob', contacts: [{ type: 'e-mail', value: 'bob@random.rnd' }, { type: 'mobile', value: '+123987456' }] } // All params of a sub-objectparamsall// -> { country: 'US', street: '261 West' } // All params of a sub-objectparamsvalue// -> [{ type: 'e-mail', value: 'bob@random.rnd' }, { type: 'mobile', value: '+123987456' }]
Errors
// ParameterMissingErrortry params catcherr err instanceof ParameterMissingError // -> true err instanceof Error // -> true
Look Rails Strong Parameters specification for more information.
Contributing
Please follow Contributing