URL Parser
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.