Path to/from params
Convert a path with Express-style placeholders, e.g. places/france/paris/
to/from an array of parameters, e.g. {country:'france',city:'paris'}
A a friendlier/easier wrapper for path-to-regexp. Built regexes are internally cached for performance and everything is fully unit tested with Jest.
Installation
npm install path-to-from-params
Usage
Get parameters from a path string
const { pathToParams } = require('path-to-from-params');
const params = pathToParams('places/:country/:city', 'places/france/paris');
console.log(params);
Build a path string from parameters
const { pathFromParams } = require('path-to-from-params');
const path = pathFromParams('places/:country/:city', {country:'france',city:'paris'});
console.log(path);
Get parameters from a path string (with optional parameters)
const { pathToParams } = require('path-to-from-params');
const params = pathToParams('places/:country/:city?', 'places/brazil');
console.log(params);
Build a path string from parameters (with optional parameters)
const { pathFromParams } = require('path-to-from-params');
const path = pathFromParams('places/:country/:city?', {country:'brazil'});
console.log(path);
API
pathToParams()
pathToParams(pattern, path)
Convert a path to a plain object of parameters. Returns an array any parameters named in the pattern that were found in the path, e.g. {country:'china',city:'shanghai'}
-
pattern
(string)
The pattern for the path, e.g. 'places/:country/:city?'
-
path
(string)
The path itself, e.g. 'places/china/shanghai'
pathFromParams()
pathFromParams(pattern, params)
Build a path from a pattern and an array of parameters. Returns the path string that was built, e.g. 'places/china/shanghai'
-
pattern
(string)
The pattern for the path, e.g. 'places/:country/:city?'
-
params
(object)
The object containing the parameters, e.g. {country:'china',city:'shanghai'}