A simple url compiler for asp.net core routes implemented on Typescript.
npm install asp-net-core-url-compiler




shell
npm install --save asp-net-core-url-compiler
`
$3
`typescript
import { compileUrl } from 'asp-net-core-url-compiler';
const urlTemplateFromAspNetCoreServer = 'products/{category}?page={page:int}&limit={limit:int?}';
let url = compileUrl(urlTemplateFromAspNetCoreServer, {
category: 'computers',
page: 12,
limit: 100
});
console.log(url);
// products/computers?page=12&limit=100
let url = compileUrl(urlTemplateFromAspNetCoreServer, {
category: 'computers',
limit: 100
});
// throws error
// Parameter 'page' missing.
let url = compileUrl(urlTemplateFromAspNetCoreServer, {
category: 'computers',
page: 4
});
console.log(url);
// products/computers?page=4&limit=
let url = compileUrl(urlTemplateFromAspNetCoreServer, {
category: 'computers',
page: "not today"
});
// throws error
// Parameter 'page:int' doesn't match C# Int32. Value of type Int32 must be a number. Provided value: "not today"
`
$3
* Nullable route constaints like {name?}
* Simple type route constraint validation for int, string, boolean and guid
$3
* The rest of route constraints (long, decimal, required and so on)
* Token replacement
in route templates ([controller], [action], [area])
$3
`shell
tsc ts/asp-net-core-url-compiler.ts --outDir ./js/
``