import * as ts from "@alloy-js/typescript"; import type { ModelProperty } from "@typespec/compiler"; import { useTransformNamePolicy } from "@typespec/emitter-framework"; import { uriTemplateLib } from "../external-packages/uri-template.js"; export interface UrlTemplateProps { template: string; parameters: ModelProperty[]; } export function UrlTemplate(props: UrlTemplateProps) { const namer = useTransformNamePolicy(); const params = props.parameters.map((p) => { return ( "{namer.getTransportName(p)}": {namer.getApplicationName(p)} ); }); return ( {uriTemplateLib.parse}({JSON.stringify(props.template)}).expand({params}) ); }