Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

uri-template-lite

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uri-template-lite

URI Template [RFC 6570] expansion and extraction

  • 22.9.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

URI Template Lite – Coverage size Buy Me A Tea

URI Template RFC 6570 expansion and extraction.

Usage

// Call `expand` directly
var data = {"domain":"example.com", "user":"fred", "query":"mycelium"}
URI.expand("http://{domain}/~{user}/foo{?query,number}", data)
// Returns http://example.com/~fred/foo?query=mycelium

// ..or use `Template` constructor
var data = {"domain":"example.com", "user":"fred", "query":"mycelium", "number": 3}
var template = new URI.Template("http://{domain}/~{user}/foo{?query,number}")
template.expand(data)
// Returns http://example.com/~fred/foo?query=mycelium&number=3

// Extract variables
template.match("http://example.com/~fred/foo?query=mycelium&number=3")
// Returns {"domain":"example.com", "user":"fred", "query":"mycelium", "number": "3"}

template.match("http://other.com/?query=mycelium")
// Returns null

Installation

To use it in the browser, include uri-template.js in your site

<script src=uri-template.js></script>

In node.js: npm install uri-template-lite

var URI = require("uri-template-lite").URI

About error handling

This implementation 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.

Browser Support

It should work IE6 and up but automated testing is currently broken.

  • For older browsers it requires browser-upgrade-lite package or other ES5 polyfill.
  • FF3-4 escape should be patched to remove non-standard 2nd param, browser-upgrade-lite does that.

GitHub repo | npm package | URI Template RFC 6570 and Tests | Travis CI | Coveralls coverage | [Buy Me A Tea][8]

Licence

Copyright (c) 2014-2019 Lauri Rooden <lauri@rooden.ee>
The MIT License

Keywords

FAQs

Package last updated on 09 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc