urlapi
v1.0.4
Published
Url api for serialize from object to string and parse string to object
Downloads
273
Readme
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
andhost
is good idea. - If
host
existhostname
andport
will not touch. - If
path
existpathname
,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
andhost
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.