From 49399276f4cb9c8aaf98d82d06eecb31430e906d Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:18:45 +0800 Subject: [PATCH 1/2] fic collectionFormat for csv --- .../typespec-client-generator-core/src/http.ts | 6 +----- .../test/package.test.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/typespec-client-generator-core/src/http.ts b/packages/typespec-client-generator-core/src/http.ts index 476118455e..81b3cb6d3a 100644 --- a/packages/typespec-client-generator-core/src/http.ts +++ b/packages/typespec-client-generator-core/src/http.ts @@ -596,11 +596,7 @@ function getCollectionFormat( ? getHeaderFieldOptions(program, type) : undefined )?.format; - if ( - tspCollectionFormat === "form" || - tspCollectionFormat === "simple" || - tspCollectionFormat === "csv" - ) { + if (tspCollectionFormat === "form" || tspCollectionFormat === "simple") { return undefined; } return tspCollectionFormat; diff --git a/packages/typespec-client-generator-core/test/package.test.ts b/packages/typespec-client-generator-core/test/package.test.ts index a42f827856..132e612b85 100644 --- a/packages/typespec-client-generator-core/test/package.test.ts +++ b/packages/typespec-client-generator-core/test/package.test.ts @@ -1251,6 +1251,24 @@ describe("typespec-client-generator-core: package", () => { strictEqual(queryParm.collectionFormat, "multi"); }); + it("query collection format for csv", async () => { + await runner.compile(`@server("http://localhost:3000", "endpoint") + @service({}) + namespace My.Service; + + #suppress "deprecated" "Legacy test" + op myOp(@query({format: "csv"}) query: string): void; + `); + const sdkPackage = runner.context.sdkPackage; + const method = getServiceMethodOfClient(sdkPackage); + strictEqual(method.kind, "basic"); + + strictEqual(method.operation.parameters.length, 1); + const queryParm = method.operation.parameters[0]; + strictEqual(queryParm.kind, "query"); + strictEqual(queryParm.collectionFormat, "csv"); + }); + it("body basic", async () => { await runner.compile(`@server("http://localhost:3000", "endpoint") @service({}) From 87b67a6d2d73f0b51fd3cc05ed9a76a88cb4d007 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:19:34 +0800 Subject: [PATCH 2/2] changelog --- .../changes/tcgc-fix-uri-template-2024-7-8-15-19-24.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .chronus/changes/tcgc-fix-uri-template-2024-7-8-15-19-24.md diff --git a/.chronus/changes/tcgc-fix-uri-template-2024-7-8-15-19-24.md b/.chronus/changes/tcgc-fix-uri-template-2024-7-8-15-19-24.md new file mode 100644 index 0000000000..7578436da7 --- /dev/null +++ b/.chronus/changes/tcgc-fix-uri-template-2024-7-8-15-19-24.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@azure-tools/typespec-client-generator-core" +--- + +Fix collectionFormat for "csv" \ No newline at end of file