@webkrafters/route-params-resolver
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

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

Package Sidebar

Install

npm i @webkrafters/route-params-resolver

Weekly Downloads

2

Version

1.1.2

License

ISC

Unpacked Size

12 kB

Total Files

9

Last publish

Collaborators

  • webkrafters
  • steveswork