Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

folktale/net.uri

Repository files navigation

Net.URI

Build Status NPM version Dependencies Status experimental

Simple library for safely building URIs.

Example

With Sweet.js macros:

var URI = require('net.uri').URI

var url1 = $uri(URI => "http://www.example.com" ~ "foo/bar" ~ "baz" ? { qux: 'x' }
url1.toString() // => "http://www.example.com/foo%2fbar/baz?qux=x"

With vanilla JS:

var URI = require('net.uri').URI

var url1 = URI.fromString("http://www.example.com").to("foo/bar")
                                                   .to("baz")
                                                   .set({ qux: 'x' })
url1.toStrign() // => "http://www.example.com/foo%2fbar/baz?qux=x"

Installing

The easiest way is to grab it from NPM. If you're running in a Browser environment, you can use Browserify

$ npm install net.uri

Using with CommonJS

If you're not using NPM, Download the latest release, and require the net.uri.umd.js file:

var uri = require('net.uri')

Using with AMD

Download the latest release, and require the net.uri.umd.js file:

require(['net.uri'], function(uri) {
  ( ... )
})

Using without modules

Download the latest release, and load the net.uri.umd.js file. The properties are exposed in the global folktale.net.uri object:

<script src="/path/to/net.uri.umd.js"></script>

Compiling from source

If you want to compile this library from the source, you'll need Git, Make, Node.js, and run the following commands:

$ git clone git://github.com/folktale/net.uri.git
$ cd net.uri
$ npm install
$ make bundle

This will generate the dist/net.uri.umd.js file, which you can load in any JavaScript environment.

Documentation

You can read the documentation online or build it yourself:

$ git clone git://github.com/folktale/net.uri.git
$ cd net.uri
$ npm install
$ make documentation

Then open the file docs/index.html in your browser.

Platform support

This library assumes an ES5 environment, but can be easily supported in ES3 platforms by the use of shims. Just include es5-shim :)

Licence

Copyright (c) 2014 Quildreen Motta.

Released under the MIT licence.