UNPKG

url-params-parser

Version:
194 lines (127 loc) 3.53 kB
# URL Parser ![version](https://img.shields.io/npm/v/url-params-parser.svg) ![license](https://img.shields.io/github/license/jorgegorka/url-params-parser.svg) ![Code climate](https://img.shields.io/codeclimate/maintainability/jorgegorka/url-params-parser.svg) UrlParsers provides you with methods to parse named params and query params easily. This package relies heavily in the native [URL object](https://developer.mozilla.org/en-US/docs/Web/API/URL) (no need to reinvent the wheel). It just adds some extra methods to handle params (both query and named params). ```:javascript 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 ```bash npm i url-params-parser ``` with Yarn ```bash yarn add url-params-parser ``` ## Usage Initialize the object with a route and a placeholder. Example: ```:javascript 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 ```:javascript urlParser.namedParams // returns { id: "1234", title: "developer", order: "asc" } ``` ### namedParamsKeys Returns an array with all the named param keys ```:javascript urlParser.namedParamsKeys // returns ["id", "title", "order"] ``` ### namedParamsValues Returns an array with all the named param values ```:javascript urlParser.namedParamsValues // returns ["1234", "developer", "asc"] ``` ### queryParams Returns an object with all query params and their values ```:javascript urlParser.queryParams // returns { climate: "change", "sea-level": "rising" } ``` ### queryParamsKeys Returns an array with all the query param values ```:javascript urlParser.queryParamsKeys // returns [ climate, "sea-level" ] ``` ### queryParamsValues Returns an array with all the query param values ```:javascript urlParser.queryParamsValues // returns [ "change", "rising" ] ``` ### pathNames Returns an array with all the elements of a pathname ```:javascript urlParser.pathNames // returns [ "employees", "show", "1234", "developer", "reports", "asc" ] ``` ### hash Wrapper for URL().hash ```:javascript urlParser.hash // returns "#danger" ``` ### host Wrapper for URL().host ```:javascript urlParser.host // returns "address.com:99" ``` ### hostname Wrapper for URL().hostname ```:javascript urlParser.hostname // returns "address.com" ``` ### port Wrapper for URL().port ```:javascript urlParser.port // returns "99" ``` ### pathname Wrapper for URL().pathname ```:javascript urlParser.pathname // returns "/employees/show/1234/developer/reports/asc/" ``` ### protocol Wrapper for URL().protocol ```:javascript urlParser.protocol // returns "https:" ``` ### search Wrapper for URL().search ```:javascript urlParser.search // returns "?climate=change&sea-level=rising" ``` ## Credits URL Parser has been developed by [Jorge Alvarez](https://www.alvareznavarro.es). ### Contributors [David Kiss](https://github.com/xdavidkissx) ## License [Released under MIT license](http://www.opensource.org/licenses/MIT)