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 %>