ert

1.0.1 • Public • Published

ert

Express routing templates provides a simple micro-templating syntax for building strings from a template and a request object.

Build Status Dependency Status

Installation

$ npm install ert

Usage

var ert = require('ert');
var express = require('express');
var app = express();
 
app.get('/:package', function (req, res) {
  res.redirect(ert(req, '/package/:package'));
});
 
app.listen(3000);

Syntax

Code Blocks

e.g.

ert(req, '/foo/bar/[req.parms.x || "default-x"]')

Code in squre brackets ([ and ]) is evalutated as a JavaScript expression. It has req available as an object. It also supports shortcuts, so you could write the above as:

ert(req, '/foo/bar/[:x || "default-x"]')

Shortucts

There are characters that are shortucts, the defaults of these are:

exports.shortcutMap = {
  ':': 'req.params',
  '$': 'req.query',
  '@': 'req.body'
};

These can be used directly like:

ert(req, '/foo/bar/:x')

which is equivallent to:

ert(req, '/foo/bar/[req.params && req.params["x"]]')

API

ert(req, src) or ert.translate(req, src)

Transforms the string with req and returns the resulting string. It caches the compiled function so should be pretty good for performance.

ert.compile(src)

Compiles src and returns a JavaScript expression as a string. This can be used to generate client side code with something like:

function client(name) {
  return 'function name(req){return ' + ert.compile(src) + '}';
}

ert.compileFn(src)

Compiles src and returns a function which expects a single argument, request.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i ert

Weekly Downloads

77,183

Version

1.0.1

License

MIT

Last publish

Collaborators

  • forbeslindesay