Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@webkrafters/route-params-resolver

steveswork53ISC1.1.2TypeScript support: included

Hassle free args-to-params mapper: resolves route path params to convert a route into a valid URI

api request, angular, angular routing, api request, express, expressjs, get request, http get, http request, params, params mapping, path params, pathVariable, nodejs, page request, page routing, page uri, page url, react, react.js, react js, reactjs, react routing, request mapping, request uri, request url, restful, rest, route, routing, route mapping, route map, routes, server request, spa routing, uri, url, vue, vue js, vue.js, vuejs, vue routing

readme

Route-Params-Resolver

Hassle free args-to-params mapper: resolves route path params to convert a route into a valid URI.

  • Hassle-free
  • Clunk-free

Install

npm i -S @webkrafters/route-params-resolver

Usage:

import resolve from '@webkrafters/route-params-resolver';

Signature: resolve(routePath: string, ...routeArgs: *[]): string

All non-string route args are converted to its default native string representation.
Such is a default native Javascript behavior.
The utility applies `JSON.stringify` to route args of object types.

resolve('/test/demo'); // '/test/demo'

resolve('/test/demo/'); // '/test/demo'

resolve('/test/demo', 1, 2, 3); // '/test/demo'

resolve('/test/demo/', 1, 2, 3); // '/test/demo'

resolve('/test/demo/:first/:second/:third', 1, 2, 3); // '/test/demo/1/2/3'

resolve('/test/demo/:first/:second.:third/:fourth', 1, 2, 3, 4); // '/test/demo/1/2.3/4'

resolve('/test/demo/:first/:second/:third/:fourth', 1, null, null, null); // '/test/demo/1/null/null/null'

resolve('/test/demo/:first/:second/:third/:fourth', 1); // '/test/demo/1'

resolve('/test/demo/:first/:second/:third/:fourth', 1, undefined, undefined, undefined); // '/test/demo/1'

resolve('/test/demo/:first/:second/:third/:fourth', 1, null, null, null); // '/test/demo/1/null/null/null'

resolve('/test/demo/:first/:second/:third/:fourth', undefined, null, undefined, undefined, undefined); // '/test/demo/undefined/null'

resolve('/test/demo/:first/:second([a-f0-9])/:third([A-Za-z]{24})?/:fourth', 1, null, 3, {a: 'b'}, undefined); // '/test/demo/1/null/3/{"a":"b"}'

resolve('/test/demo/:first/:second/:third', [ 1, 2, 3 ], new Date( 1643935827014 ), true); // '/test/demo/[1,2,3]/"2022-02-04T00:50:27.014Z"/true'

resolve('/test/demo/:first/:second/*', 1, 2, 3, 4, 5 ); // '/test/demo/1/2/3/4/5'

resolve('/test/demo/:first/*/test/*', 1, 2, 3, 4, 5 ); // '/test/demo/1/*/test/2/3/4/5'

resolve('/test/demo/:first/*/test/*', 1 ); // '/test/demo/1/*/test'

resolve('/test/demo/:first/*/test/*'); // '/test/demo/undefined/*/test'

resolve('/test/demo/*', undefined, 4, undefined, true, undefined, null, undefined, undefined ); // '/test/demo/undefined/4/undefined/true/undefined/null'

License

ISC