https://github.com/steveswork/route-params-resolver
Resolves route path params to convert route into a valid URI
https://github.com/steveswork/route-params-resolver
Last synced: about 2 months ago
JSON representation
Resolves route path params to convert route into a valid URI
- Host: GitHub
- URL: https://github.com/steveswork/route-params-resolver
- Owner: steveswork
- Created: 2022-02-01T17:59:13.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-02T22:21:31.000Z (12 months ago)
- Last Synced: 2025-09-12T23:14:47.459Z (10 months ago)
- Language: HTML
- Size: 366 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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 install --save @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-Za-z]{3,})/:third([a-f0-9])?/: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