lib/enroute/template.ts.erb in enroute-0.0.5 vs lib/enroute/template.ts.erb in enroute-0.0.6
- old
+ new
@@ -1,10 +1,16 @@
/* eslint-disable */
// This file has been automatically generated.
// Don't edit it manually. Use `enroute export` instead.
-import { zipObject } from "lodash";
+function zipObject(keys: string[], values: unknown[]): Record<string, unknown> {
+ return keys.reduce((buffer, key, index) =>
+ Object.assign(
+ buffer,
+ {[key]: values[index]}
+ ), {} as Record<string, unknown>)
+}
function camelize(text: string): string {
return text.replace(
/_(.)/g,
(_match, group) =>
@@ -107,9 +113,27 @@
pattern: string;
incomingPattern: string;
outgoingPattern: string;
underscore: RouteHelper;
};
+
+const baseUrl = location.protocol + "//" + location.host;
+
+const buildUrl = (
+ path: string,
+ params: Record<string, unknown>
+): {path: string; url: string} => {
+ const url = new URL(baseUrl + path);
+
+ Object.keys(params).forEach((key) => {
+ url.searchParams.set(key, String(params[key]));
+ });
+
+ return {
+ path: url.pathname + url.search,
+ url: url.toString(),
+ };
+}
<%= handler_functions %>
<%= route_functions %>