Skip to content

jorgegorka/url-params-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Parser

version license Code climate

UrlParsers provides you with methods to parse named params and query params easily.

This package relies heavily in the native URL object (no need to reinvent the wheel). It just adds some extra methods to handle params (both query and named params).

import { UrlParser } from 'url-params-parser'

// UrlParser(url, placeholder)

const urlParser = UrlParser(
  "https://address.com/employees/show/1234/developer/reports/asc",
  "/employees/show/:id/:title/reports/:order"
)

urlParser.namedParams
// returns { id: "1234", title: "developer", order: "asc" }
)

Install

To install Url Parser:

with npm

npm i url-params-parser

with Yarn

yarn add url-params-parser

Usage

Initialize the object with a route and a placeholder. Example:

import { UrlParser } from 'url-params-parser'

// UrlParser(url, placeholder)

const urlParser = UrlParser(
  "https://address.com:99/employees/show/1234/developer/reports/asc/?climate=change&sea-level=rising#danger",
  "/employees/show/:id/:title/reports/:order"
)

namedParams

Returns an object with all the named params and their values

urlParser.namedParams
// returns { id: "1234", title: "developer", order: "asc" }

namedParamsKeys

Returns an array with all the named param keys

urlParser.namedParamsKeys
// returns ["id", "title", "order"]

namedParamsValues

Returns an array with all the named param values

urlParser.namedParamsValues
// returns ["1234", "developer", "asc"]

queryParams

Returns an object with all query params and their values

urlParser.queryParams
// returns { climate: "change", "sea-level": "rising" }

queryParamsKeys

Returns an array with all the query param values

urlParser.queryParamsKeys
// returns [ climate, "sea-level" ]

queryParamsValues

Returns an array with all the query param values

urlParser.queryParamsValues
// returns [ "change", "rising" ]

pathNames

Returns an array with all the elements of a pathname

urlParser.pathNames
// returns [ "employees", "show", "1234", "developer", "reports", "asc" ]

hash

Wrapper for URL().hash

urlParser.hash
// returns "#danger"

host

Wrapper for URL().host

urlParser.host
// returns "address.com:99"

hostname

Wrapper for URL().hostname

urlParser.hostname
// returns "address.com"

port

Wrapper for URL().port

urlParser.port
// returns "99"

pathname

Wrapper for URL().pathname

urlParser.pathname
// returns "/employees/show/1234/developer/reports/asc/"

protocol

Wrapper for URL().protocol

urlParser.protocol
// returns "https:"

search

Wrapper for URL().search

urlParser.search
// returns "?climate=change&sea-level=rising"

Credits

URL Parser has been developed by Jorge Alvarez.

Contributors

David Kiss

License

Released under MIT license

About

A Url parser with some nice features to handle params

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published