diff --git a/src/Umbraco.Web.UI.Client/libs/router/generate-route-path-builder.function.ts b/src/Umbraco.Web.UI.Client/libs/router/generate-route-path-builder.function.ts new file mode 100644 index 0000000000..5b2e92b10d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/router/generate-route-path-builder.function.ts @@ -0,0 +1,12 @@ +import { stripSlash } from 'router-slot/util'; + +const PARAM_IDENTIFIER = /:([^\\/]+)/g; + +export function generateRoutePathBuilder(path: string) { + return (params: { [key: string]: string | number }) => + stripSlash( + path.replace(PARAM_IDENTIFIER, (substring: string, ...args: string[]) => { + return params[args[0]].toString(); + }) + ); +}