url-params-parser

Url parser to extract named and query params

Usage no npm install needed!

<script type="module">
  import urlParamsParser from 'https://cdn.skypack.dev/url-params-parser';
</script>

README

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