Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

express-uri-template

aslakhellesoy4.4k0.1.0

Expand express.js style URI templates, similar to RFC 6570

express, template, pattern, rfc 6570

readme

express-uri-template

NPM NPM

express-uri-template is the reverse of express' application routing.

express:

/forum/:fid/thread/:tid + /forum/hello/thread/world = {"fid": "hello", "tid": "world"}

express-uri-template:

/forum/:fid/thread/:tid + {"fid": "hello", "tid": "world"} = /forum/hello/thread/world

Why?

So you can generate urls from templates.

When?

You can use it in the browser, e.g. to generate URLs for AJAX requests or links inserted into the DOM. You can also use it in Node.js, to generate URLs for HTTP redirects or links in generated HTML.

Install

Node.js:

npm install express-uri-template

Bower:

bower install express-uri-template

Use

Use object params:

var eut = require('express-uri-template');

var uri = eut('/forum/:fid/thread/:tid', {"fid": "hello", "tid": "world"});
console.log(uri); // -> /forum/hello/thread/world

Use Array params (aka req.params):

var eut = require('express-uri-template');

var uri = eut('/forum/*/thread/*', ["hello", "world"]);
console.log(uri); // -> /forum/hello/thread/world

Why the strange name?

This library is inspired by RFC 6570, except that it uses express' uri template syntax, and is much simpler.

changelog

0.1.0

  • Fail when there are unexpanded params.
  • Test compatibility with express routes.

0.0.2

  • Publish as bower package.
  • Escape params with encodeURIComponent.

0.0.1

  • First release