urlapi

1.0.4 • Public • Published

Urlapi

This module contains methods for working with url:

  • serialize from object to string (serialize({ }));
  • parse string to object (parse(' ')).

Good abilities for working with queries and authentication in object types.

Installation

In your cmd/terminal

npm install urlapi

then add module to your project

var urlapi = require('urlapi');

or for ES2015 use

import * as urlapi from 'urlapi';

urlapi.serialize({ })

Takes object with next attributes and return string

  • protocol: protocol with or without colon-slash-slash, colon (example: http, http://, mailto:) - string;
  • auth: authentication data (example: user:password, { login: 'user', password: 'password'}) - string or object;
  • host: hostname and port if exist (example: site_name.com:3333, site_name.com, localhost) - string;
  • hostname: hostname (example: site_name.com) - string;
  • port: port (example: 3333) - string or number;
  • path: full path with search and queries (with or without leading slash) (example: path/inner/page?ref=1&close=false) - string;
  • pathname: path without search and queries (with or without leading slash) (example: path/inner/page) - string;
  • search: part of path with leading question mark (with or without question mark) (example: ?ref=1&close=false) - string;
  • query: part of path with parameters (example: ref=1&close=false, {ref: '1', close: 'false'}) - string or object;
  • hash: part of url with pound-sign (with or without pound-sign) (example: #g=where&a=find, {g: 'where', a: 'find'}) - string or object;

Additionaly:

  • None attribute is required but add to object protocol and host is good idea.
  • If host exist hostname and port will not touch.
  • If path exist pathname, search, query will not touch.

Example

import * as urlapi from 'urlapi';

let preparedObject = {
    protocol: 'http',
    auth: {
        login : 'user',
        password: 'password'
    },
    host: 'site_name.com:3333',
    hostname: 'site_name.com',
    port: 3333,
    path: 'path/inner/page?ref=1&close=false',
    pathname: 'path/inner/page',
    search: '?ref=1&close=false',
    query: {
        ref: '1',
        close: 'false'
    },
    hash: {
        g: 'where',
        a: 'find'
    }
};

console.log(urlapi.serialize(preparedObject)); 

return --> 

http://user:password@site_name.com:3333/path/inner/page?ref=1&close=false#g=where&a=find

urlapi.parse(' ')

Takes string and return object

Additionaly:

  • None attribute is required but add to object protocol and host is good idea.

Example

import * as urlapi from 'urlapi';

let stringParse = 'http://user:password@site_name.com:3333/path/inner/page?ref=1&close=false#g=where&a=find';

console.log(urlapi.parse(stringParse));

return -->

{
    protocol: 'http',
    auth: {
        login : 'user',
        password: 'password'
    },
    host: 'site_name.com:3333',
    hostname: 'site_name.com',
    port: 3333,
    path: 'path/inner/page?ref=1&close=false',
    pathname: 'path/inner/page',
    search: '?ref=1&close=false',
    query: {
        ref: '1',
        close: 'false'
    },
    hash: {
        g: 'where',
        a: 'find'
    }
}

Finally

You can find this documentation and a little bit more (example project with es2015 original code, tests and etc.) on GitHub.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i urlapi

      Weekly Downloads

      82

      Version

      1.0.4

      License

      MIT

      Last publish

      Collaborators

      • maksugr