CoffeeScript/Javascript implementation of RFC 6570 for URI-templates
JavaScript CoffeeScript
Clone or download
Pull request Compare This branch is 2 commits ahead, 51 commits behind grncdr:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
.travis.yml
Makefile
README.md
package.json
parser.pegjs
test.js

README.md

URI Template

Build Status

This is a node.js implementation of the URI template draft standard defined at http://tools.ietf.org/html/rfc6570

Example

parser = require('uri-template')

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

tpl = parser.parse('/search{?q,*otherParams}')
tpl.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.