From bfab50e6ba99d4e8cc097eb20324a48f8fc7a482 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Thu, 31 Oct 2024 18:26:45 +0800 Subject: [PATCH] format --- .../src/http.ts | 20 +++++++++++++++---- .../test/package.test.ts | 2 +- .../test/packages/parameters.test.ts | 14 +++++++++---- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/packages/typespec-client-generator-core/src/http.ts b/packages/typespec-client-generator-core/src/http.ts index a49bae7992..1eff281ae5 100644 --- a/packages/typespec-client-generator-core/src/http.ts +++ b/packages/typespec-client-generator-core/src/http.ts @@ -629,13 +629,25 @@ function findMapping( return undefined; } -function filterOutUselessPathParameters(context: TCGCContext, httpOperation: HttpOperation, methodParameters: SdkMethodParameter[]) { - // for autoroute with constant or singleton arm resource operation, - // some path parameters will be added to route directly with the constant value, +function filterOutUselessPathParameters( + context: TCGCContext, + httpOperation: HttpOperation, + methodParameters: SdkMethodParameter[], +) { + // there are some cases that method path parameter is not in operation: + // 1. autoroute with constant parameter + // 2. singleton arm resource name + // 3. visibility mis-match // so we will remove the method parameter for consistent for (let i = 0; i < methodParameters.length; i++) { const param = methodParameters[i]; - if (param.__raw && isPathParam(context.program, param.__raw) && httpOperation.parameters.parameters.filter(p => p.type === "path" && p.name === getWireName(context, param.__raw!)).length === 0) { + if ( + param.__raw && + isPathParam(context.program, param.__raw) && + httpOperation.parameters.parameters.filter( + (p) => p.type === "path" && p.name === getWireName(context, param.__raw!), + ).length === 0 + ) { methodParameters.splice(i, 1); i--; } diff --git a/packages/typespec-client-generator-core/test/package.test.ts b/packages/typespec-client-generator-core/test/package.test.ts index 7d36eb30b7..92f63a6d71 100644 --- a/packages/typespec-client-generator-core/test/package.test.ts +++ b/packages/typespec-client-generator-core/test/package.test.ts @@ -349,7 +349,7 @@ describe("typespec-client-generator-core: package", () => { const method = getServiceMethodOfClient(sdkPackage); strictEqual(method.name, "create"); strictEqual(method.kind, "basic"); - strictEqual(method.parameters.length, 5); + strictEqual(method.parameters.length, 4); deepStrictEqual( method.parameters.map((x) => x.name), ["id", "weight", "color", "contentType", "accept"], diff --git a/packages/typespec-client-generator-core/test/packages/parameters.test.ts b/packages/typespec-client-generator-core/test/packages/parameters.test.ts index c7881bbdad..7ce538e6b0 100644 --- a/packages/typespec-client-generator-core/test/packages/parameters.test.ts +++ b/packages/typespec-client-generator-core/test/packages/parameters.test.ts @@ -1,4 +1,6 @@ import { AzureCoreTestLibrary } from "@azure-tools/typespec-azure-core/testing"; +import { AzureResourceManagerTestLibrary } from "@azure-tools/typespec-azure-resource-manager/testing"; +import { OpenAPITestLibrary } from "@typespec/openapi/testing"; import { deepStrictEqual, ok, strictEqual } from "assert"; import { beforeEach, describe, it } from "vitest"; import { @@ -10,8 +12,6 @@ import { } from "../../src/interfaces.js"; import { SdkTestRunner, createSdkTestRunner } from "../test-host.js"; import { getServiceMethodOfClient, getServiceWithDefaultApiVersion } from "./utils.js"; -import { AzureResourceManagerTestLibrary } from "@azure-tools/typespec-azure-resource-manager/testing"; -import { OpenAPITestLibrary } from "@typespec/openapi/testing"; describe("typespec-client-generator-core: parameters", () => { let runner: SdkTestRunner; @@ -1127,8 +1127,14 @@ describe("typespec-client-generator-core: parameters", () => { const sdkPackage = runnerWithArm.context.sdkPackage; const method = getServiceMethodOfClient(sdkPackage); - deepStrictEqual(method.parameters.map(p => p.name), ["resourceGroupName", "resource", "contentType", "accept"]); - deepStrictEqual(method.operation.parameters.map(p => p.name), ["apiVersion", "subscriptionId", "resourceGroupName", "contentType", "accept"]); + deepStrictEqual( + method.parameters.map((p) => p.name), + ["resourceGroupName", "resource", "contentType", "accept"], + ); + deepStrictEqual( + method.operation.parameters.map((p) => p.name), + ["apiVersion", "subscriptionId", "resourceGroupName", "contentType", "accept"], + ); }); }); });