Skip to content

🔗 Mini data-uri parser for nodejs and browser. No dependencies!

License

Notifications You must be signed in to change notification settings

hustcc/uri-parse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uri-parse

Mini data-uri parser for nodejs and browser. No dependencies! 一个简单的无依赖 uri 解析库。

Ver Build Status Coverage Status npm download

/*
 * parse url like this
 *
 * schema://username:password@host:port/path?key=value#fragment;key=value
 * \____/   \______/ \______/ \__/ \__/ \__/ \_______/ \______/ \______/
 *   |         |        |       |    |    |      |         |       |
 * schema      |     password   |   port  |    query    fragment   |
 *          username          host      path                     extension
 *
 * note:
 *   - username, password, port, path, query, fragment, extension is optional.
 *   - scheme, host must be setting.
 *   - username and password must be paired.
 */

1. Install

npm i --save uri-parse

Then import it.

import URI from 'uri-parse'; // ES6
var URI = require('uri-parse'); // ES5 with npm

2. Usage

  • uri.all(): parse uri information.
import URI from 'uri-parse';

const u = 'scheme://username:password@host:port/path?name=hustcc#fragment;ext=hello';

const uri = new URI(u);

const { schema, username, password, host, port, path, query, fragment, extension } = uri.all();

/*
{
  schema: 'scheme',
  username: 'username',
  password: 'password',
  host: 'host',
  port: 'port',
  path: 'path',
  query: {
    name: 'hustcc'
  },
  fragment: 'fragment',
  extension: {
    ext: 'hello'
  }
}
*/

// or get the properties of the instance.
const schema = url.schema;
  • uri.toURI(): modify and generate uri string.
import URI from 'uri-parse';

const u = 'https://atool.vip/path?name=hustcc#fragment;ext=hello';

const uri = new URI(u);

// also you can update the uri.
uri.query = {
  ...uri.query,
  p: 'testQuery', // add a query parameter.
};

// get the new url
const uriString = uri.toURI();
// got 'https://atool.vip/path?name=hustcc&p=testQuery#fragment;ext=hello';

3. Test & Perf

npm i

npm run test

License

MIT@hustcc.

About

🔗 Mini data-uri parser for nodejs and browser. No dependencies!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published