uribuilder
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

uriBuilder

npm version Build Status Downloads license

URI parser and builder

Install

npm install uribuilder

Getting Started

// import module
import { UriBuilder } from 'uribuilder';
 
const testURI = 'https://www.google.com/search?q=wiki';
 
// Create Builder from current URI
const builder = UriBuilder.parse(testURI);
 
// Set Query Param
builder.query.q = 'newKeyword';
 
// Log builder result, result: 'https://www.google.com/search?q=newKeyword'
console.log(builder.toString());
 
// Set Fragment
builder.fragment = 'hash';
 
// Log builder result, result: 'https://www.google.com/search?q=newKeyword#hash'
console.log(builder.toString());
 
// Delete Query Param
delete builder.query.q;
 
// Log builder result, result: 'https://www.google.com/search#hash'
console.log(builder.toString());
 
// Update input URI Query
const updatedURI = UriBuilder.updateQuery(testURI, {
  q: 'test',
  hw: ['a', 'b'] //Query Param: Array
});
 
// Log updated URI, result: 'https://www.google.com/search?q=test&hw=a&hw=b'
console.log(updatedURI);
 
// Create UriBuilder
const emptyBuilder = new UriBuilder();
emptyBuilder.schema = 'http';
emptyBuilder.host = 'example';
emptyBuilder.setPath('/home/index');
emptyBuilder.fragment = 'top';
emptyBuilder.setAuthority('guest');
emptyBuilder.query.action = 'back';
emptyBuilder.query.chinese = '中文';
 
// Log builder result, result: http://guest@example/home/index?action=back&chinese=%E4%B8%AD%E6%96%87#top
console.log(emptyBuilder.toString());
 
// Relative path
const relativeBuilder = UriBuilder.parse('./home/exam?id=0');
relativeBuilder.query.id = 1;
// Log builder result, result: ./home/exam?id=1
console.assert(relativeBuilder.toString());

Readme

Keywords

Package Sidebar

Install

npm i uribuilder

Weekly Downloads

361

Version

1.0.5

License

MIT

Unpacked Size

38.1 kB

Total Files

30

Last publish

Collaborators

  • xupeiyao