url-template

A JavaScript URI template implementation (RFC 6570 compliant)

  • Owner: bramstein/url-template
  • Platform:
  • License:: BSD 3-Clause "New" or "Revised" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

A JavaScript URI template implementation

This is a simple URI template implementation following the RFC 6570 URI Template specification. The implementation supports all levels defined in the specification and is extensively tested.

Installation

For use with Node.js you can install it through npm:

$ npm install url-template

If you want to use it in a browser, copy lib/url-template.js into your project and use the global urltemplate instance. Alternatively you can use Bower to install this package:

$ bower install url-template

Example

var template = require('url-template');

var emailUrlTemplate = template.parse('/{email}/{folder}/{id}');
var emailUrl = emailUrlTemplate.expand({
  email: 'user@domain',
  folder: 'test',
  id: 42
});

console.log(emailUrl);
// Returns '/user@domain/test/42'

A note on error handling and reporting

The RFC states that errors in the templates could optionally be handled and reported to the user. This implementation takes a slightly different approach in that it tries to do a best effort template expansion and leaves erroneous expressions in the returned URI instead of throwing errors. So for example, the incorrect expression {unclosed will return {unclosed as output. The leaves incorrect URLs to be handled by your URL library of choice.

Main metrics

Overview
Name With Ownerbramstein/url-template
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2012-10-23 21:05:13
Pushed At2024-02-01 11:30:30
Last Commit At
Release Count14
Last Release Namev3.1.1 (Posted on 2023-12-13 18:35:49)
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count184
Watchers Count4
Fork Count35
Commits Count115
Has Issues Enabled
Issues Count22
Issue Open Count1
Pull Requests Count49
Pull Requests Open Count0
Pull Requests Close Count8
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private