CoffeeScript/Javascript implementation of RFC 6570 for URI-templates
CoffeeScript Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitmodules Revert "Get uritemplate-test submodule from my fork" Jun 25, 2013
.npmignore add an .npmignore file to counteract .gitignore magic Jun 24, 2013
.travis.yml Add node 0.10 to travis, remove redundant comment Mar 19, 2013
AUTHORS Add AUTHORS file Jun 25, 2013
LICENSE Create LICENSE Jan 15, 2015

URI Template

Build Status

This is a node.js implementation of the URI template draft standard defined at


var parser = require('uri-template');

var tpl = parser.parse('/{year}/{month}/{day}{?orderBy,direction}');

tpl.expand({ year: 2006, month: 6, day: 6 });
// /2006/6/6

tpl.expand({ year: 2006, month: 6, day: 6, orderBy: 'size' });
// /2006/6/6?orderBy=size

tpl.expand({ year: 2006, month: 6, day: 6, orderBy: 'time', direction: 'asc' });
// /2006/6/6?orderBy=time&direction=asc

var queryTpl = parser.parse('/search{?q,otherParams*}');
queryTpl.expand({ q: 'Bigger office', otherParams: { prefer: "Sterling's office", accept: "Crane's office" }});
// /search?q=Bigger%20office&prefer=Sterling%27s%20office&accept=Crane%27s%20office

For more thorough coverage of the syntax, see test.js or the RFC.