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})
);
}