node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »


DEPRECATED: Reverend has been deprecated and will no longer see updates. The underlying module used to create regular expressions from routes—path-to-regexp—has added reverse-routing functionality. Please favor it over Reverend. An api-compatible shim can be seen in the shim branch.


Lead Maintainer: Jean-Charles Sisk

Build Status

Merge an express-style path string with data to create a valid path. Version 0.3.x adds support for Custom Match and Unnamed parameters as provided by path-to-regexp ^0.2.0. To ensure compatibility, use the version of reverend compatible with path-to-regexp which most closely matches the version your application uses.


var reverend = require('reverend');

reverend(path, object);

  • path (String|Array) - An express-style path, or an array of paths, of which only the first element will be used.
  • object (Object) - An object with keys matching the tokens to be replaced in the route.
'use strict';
var reverend = require('reverend');
var path;
// Path params 
path = reverend('/user/:id', { id: 5 });
// '/user/5'; 
// Optional path params 
path = reverend('/user/:id/:operation?', { id: 5 });
// '/user/5/'; 
// Multiple path params 
path = reverend('/user/:id/:operation', { id: 5, operation: address });
// '/user/5/address'; 
// Custom match parameters 
path = reverend('/posts/:id(\\d+)', { id: 5 });
// '/post/5' 
path = reverend('/posts/:id(\\d+)', { id: 'foo' }); // throws 
// Unnamed params 
path = reverend('/:foo/(.*)', { foo: 'foo', 0: 'bar' });
// '/foo/bar' 



Tests, Coverage, Linting

$ npm test
$ npm run cover
$ npm run lint