JSPM

uri-parse

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 383
  • Score
    100M100P100Q96467F
  • License MIT

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

Package Exports

  • uri-parse

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (uri-parse) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.