diff --git a/packages/typespec-test/test/NetworkAnalytics.Management/generated/typespec-ts/src/api/networkAnalyticsContext.ts b/packages/typespec-test/test/NetworkAnalytics.Management/generated/typespec-ts/src/api/networkAnalyticsContext.ts index 62923def32..7b4c961be4 100644 --- a/packages/typespec-test/test/NetworkAnalytics.Management/generated/typespec-ts/src/api/networkAnalyticsContext.ts +++ b/packages/typespec-test/test/NetworkAnalytics.Management/generated/typespec-ts/src/api/networkAnalyticsContext.ts @@ -24,7 +24,7 @@ export function createNetworkAnalytics( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/anomalyDetector/generated/typespec-ts/src/api/anomalyDetectorContext.ts b/packages/typespec-test/test/anomalyDetector/generated/typespec-ts/src/api/anomalyDetectorContext.ts index b52b0fe63c..c3ea88ed11 100644 --- a/packages/typespec-test/test/anomalyDetector/generated/typespec-ts/src/api/anomalyDetectorContext.ts +++ b/packages/typespec-test/test/anomalyDetector/generated/typespec-ts/src/api/anomalyDetectorContext.ts @@ -46,7 +46,7 @@ export function createAnomalyDetector( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/batch_modular/generated/typespec-ts/src/api/batchContext.ts b/packages/typespec-test/test/batch_modular/generated/typespec-ts/src/api/batchContext.ts index 59ee229f68..d71fd06e8b 100644 --- a/packages/typespec-test/test/batch_modular/generated/typespec-ts/src/api/batchContext.ts +++ b/packages/typespec-test/test/batch_modular/generated/typespec-ts/src/api/batchContext.ts @@ -22,7 +22,7 @@ export function createBatch( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/chatApi_modular/generated/typespec-ts/src/api/chatProtocolContext.ts b/packages/typespec-test/test/chatApi_modular/generated/typespec-ts/src/api/chatProtocolContext.ts index 18c2db7416..05422b4077 100644 --- a/packages/typespec-test/test/chatApi_modular/generated/typespec-ts/src/api/chatProtocolContext.ts +++ b/packages/typespec-test/test/chatApi_modular/generated/typespec-ts/src/api/chatProtocolContext.ts @@ -22,7 +22,7 @@ export function createChatProtocol( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/contentsafety_modular/generated/typespec-ts/src/api/contentSafetyContext.ts b/packages/typespec-test/test/contentsafety_modular/generated/typespec-ts/src/api/contentSafetyContext.ts index cbc87973b5..522662203f 100644 --- a/packages/typespec-test/test/contentsafety_modular/generated/typespec-ts/src/api/contentSafetyContext.ts +++ b/packages/typespec-test/test/contentsafety_modular/generated/typespec-ts/src/api/contentSafetyContext.ts @@ -26,7 +26,7 @@ export function createContentSafety( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/eventgrid_modular/generated/typespec-ts/src/api/eventGridContext.ts b/packages/typespec-test/test/eventgrid_modular/generated/typespec-ts/src/api/eventGridContext.ts index f19c07f3d6..ae0045a2c0 100644 --- a/packages/typespec-test/test/eventgrid_modular/generated/typespec-ts/src/api/eventGridContext.ts +++ b/packages/typespec-test/test/eventgrid_modular/generated/typespec-ts/src/api/eventGridContext.ts @@ -25,7 +25,7 @@ export function createEventGrid( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/hierarchy_generic/generated/typespec-ts/src/api/fooContext.ts b/packages/typespec-test/test/hierarchy_generic/generated/typespec-ts/src/api/fooContext.ts index 1908302316..1509b8e8d4 100644 --- a/packages/typespec-test/test/hierarchy_generic/generated/typespec-ts/src/api/fooContext.ts +++ b/packages/typespec-test/test/hierarchy_generic/generated/typespec-ts/src/api/fooContext.ts @@ -17,7 +17,7 @@ export function createFoo( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/administrationOperations/api/administrationOperationsContext.ts b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/administrationOperations/api/administrationOperationsContext.ts index 08f6617e7b..d362a2378f 100644 --- a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/administrationOperations/api/administrationOperationsContext.ts +++ b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/administrationOperations/api/administrationOperationsContext.ts @@ -26,7 +26,7 @@ export function createAdministrationOperations( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileAdministrationOperations/api/testProfileAdministrationOperationsContext.ts b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileAdministrationOperations/api/testProfileAdministrationOperationsContext.ts index 3477dbdb22..6513c2f931 100644 --- a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileAdministrationOperations/api/testProfileAdministrationOperationsContext.ts +++ b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileAdministrationOperations/api/testProfileAdministrationOperationsContext.ts @@ -26,7 +26,7 @@ export function createTestProfileAdministrationOperations( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileRunOperations/api/testProfileRunOperationsContext.ts b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileRunOperations/api/testProfileRunOperationsContext.ts index e37fe8cf7e..316894e80b 100644 --- a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileRunOperations/api/testProfileRunOperationsContext.ts +++ b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testProfileRunOperations/api/testProfileRunOperationsContext.ts @@ -26,7 +26,7 @@ export function createTestProfileRunOperations( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testRunOperations/api/testRunOperationsContext.ts b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testRunOperations/api/testRunOperationsContext.ts index 48bbaab604..83db0b0df5 100644 --- a/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testRunOperations/api/testRunOperationsContext.ts +++ b/packages/typespec-test/test/loadtesting_modular/generated/typespec-ts/src/testRunOperations/api/testRunOperationsContext.ts @@ -25,7 +25,7 @@ export function createTestRunOperations( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/api/openAIContext.ts b/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/api/openAIContext.ts index a4774ca16e..d91b4ae2cd 100644 --- a/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/api/openAIContext.ts +++ b/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/api/openAIContext.ts @@ -23,7 +23,7 @@ export function createOpenAI( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/openai_modular/generated/typespec-ts/src/api/openAIContext.ts b/packages/typespec-test/test/openai_modular/generated/typespec-ts/src/api/openAIContext.ts index eb97a78e9b..0e3fec572e 100644 --- a/packages/typespec-test/test/openai_modular/generated/typespec-ts/src/api/openAIContext.ts +++ b/packages/typespec-test/test/openai_modular/generated/typespec-ts/src/api/openAIContext.ts @@ -25,7 +25,7 @@ export function createOpenAI( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/api/openAIContext.ts b/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/api/openAIContext.ts index 43e640317d..5efe8db9b5 100644 --- a/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/api/openAIContext.ts +++ b/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/api/openAIContext.ts @@ -21,7 +21,10 @@ export function createOpenAI( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { ...options, userAgentOptions: { userAgentPrefix } }; + const { apiVersion: _, ...updatedOptions } = { + ...options, + userAgentOptions: { userAgentPrefix }, + }; const clientContext = getClient(endpointUrl, undefined, updatedOptions); if (isKeyCredential(credential)) { diff --git a/packages/typespec-test/test/overloads_modular/generated/typespec-ts/src/api/widgetManagerContext.ts b/packages/typespec-test/test/overloads_modular/generated/typespec-ts/src/api/widgetManagerContext.ts index ec476a592c..8cd1fafebc 100644 --- a/packages/typespec-test/test/overloads_modular/generated/typespec-ts/src/api/widgetManagerContext.ts +++ b/packages/typespec-test/test/overloads_modular/generated/typespec-ts/src/api/widgetManagerContext.ts @@ -25,7 +25,7 @@ export function createWidgetManager( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/parametrizedHost/generated/typespec-ts/src/api/parametrizedHostContext.ts b/packages/typespec-test/test/parametrizedHost/generated/typespec-ts/src/api/parametrizedHostContext.ts index c2a784227f..8fad8404a6 100644 --- a/packages/typespec-test/test/parametrizedHost/generated/typespec-ts/src/api/parametrizedHostContext.ts +++ b/packages/typespec-test/test/parametrizedHost/generated/typespec-ts/src/api/parametrizedHostContext.ts @@ -22,7 +22,7 @@ export function createParametrizedHost( const host = options.host ?? "one"; const subdomain = options.subdomain ?? "two"; const sufix = options.sufix ?? "three"; - const apiVersion = options.apiVersion; + const apiVersion = options.apiVersion ?? "v1"; const endpointUrl = options.endpoint ?? options.baseUrl ?? @@ -32,7 +32,7 @@ export function createParametrizedHost( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/schemaRegistry/generated/typespec-ts/src/api/schemaRegistryContext.ts b/packages/typespec-test/test/schemaRegistry/generated/typespec-ts/src/api/schemaRegistryContext.ts index 973f687775..cc4789395e 100644 --- a/packages/typespec-test/test/schemaRegistry/generated/typespec-ts/src/api/schemaRegistryContext.ts +++ b/packages/typespec-test/test/schemaRegistry/generated/typespec-ts/src/api/schemaRegistryContext.ts @@ -26,7 +26,7 @@ export function createSchemaRegistry( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/spread/generated/typespec-ts/src/api/demoServiceContext.ts b/packages/typespec-test/test/spread/generated/typespec-ts/src/api/demoServiceContext.ts index ac6fdead30..0b0337bf3e 100644 --- a/packages/typespec-test/test/spread/generated/typespec-ts/src/api/demoServiceContext.ts +++ b/packages/typespec-test/test/spread/generated/typespec-ts/src/api/demoServiceContext.ts @@ -17,7 +17,7 @@ export function createDemoService( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-test/test/widget_dpg/generated/typespec-ts/src/api/widgetServiceContext.ts b/packages/typespec-test/test/widget_dpg/generated/typespec-ts/src/api/widgetServiceContext.ts index bb7358d28e..9cdd93dc62 100644 --- a/packages/typespec-test/test/widget_dpg/generated/typespec-ts/src/api/widgetServiceContext.ts +++ b/packages/typespec-test/test/widget_dpg/generated/typespec-ts/src/api/widgetServiceContext.ts @@ -17,7 +17,7 @@ export function createWidgetService( const userAgentPrefix = prefixFromOptions ? `${prefixFromOptions} azsdk-js-api` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, diff --git a/packages/typespec-ts/src/modular/buildCodeModel.ts b/packages/typespec-ts/src/modular/buildCodeModel.ts index e347e62da8..c5e6ddd0db 100644 --- a/packages/typespec-ts/src/modular/buildCodeModel.ts +++ b/packages/typespec-ts/src/modular/buildCodeModel.ts @@ -535,7 +535,10 @@ function emitParameter( if (clientDefaultValue !== undefined) { (paramMap as any).optional = true; } - } else if ( + } + + if ( + clientDefaultValue === undefined && paramMap.location === "endpointPath" && parameter.param.defaultValue?.valueKind === "StringValue" ) { diff --git a/packages/typespec-ts/src/modular/helpers/clientHelpers.ts b/packages/typespec-ts/src/modular/helpers/clientHelpers.ts index 765d3cf6b2..1923762715 100644 --- a/packages/typespec-ts/src/modular/helpers/clientHelpers.ts +++ b/packages/typespec-ts/src/modular/helpers/clientHelpers.ts @@ -122,7 +122,9 @@ export function buildGetClientOptionsParam( const loggingOptions = buildLoggingOptions(codeModel.options.flavor); const credentials = buildCredentials(codeModel, endpointParam); - let expr = `const updatedOptions = { ...options,`; + let expr = "const { apiVersion: _, ...updatedOptions } = {"; + + expr += "...options,"; if (userAgentOptions) { expr += `userAgentOptions: ${userAgentOptions},`; diff --git a/packages/typespec-ts/test/modularUnit/apiOperations.spec.ts b/packages/typespec-ts/test/modularUnit/apiOperations.spec.ts index d851248c46..56da894512 100644 --- a/packages/typespec-ts/test/modularUnit/apiOperations.spec.ts +++ b/packages/typespec-ts/test/modularUnit/apiOperations.spec.ts @@ -548,7 +548,7 @@ describe("api operations in Modular", () => { const userAgentPrefix = prefixFromOptions ? \`\${prefixFromOptions} azsdk-js-api\` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info } @@ -702,7 +702,7 @@ describe("api operations in Modular", () => { const userAgentPrefix = prefixFromOptions ? \`\${prefixFromOptions} azsdk-js-api\` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, @@ -882,7 +882,7 @@ describe("api operations in Modular", () => { export function createTesting(endpoint: string, options: TestingClientOptionalParams = {}): TestingContext { const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix; const userAgentPrefix = prefixFromOptions ? \`\${prefixFromOptions} azsdk-js-api\` : "azsdk-js-api"; - const updatedOptions = { ...options,userAgentOptions: { userAgentPrefix },loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },} + const { apiVersion: _, ...updatedOptions } = { ...options,userAgentOptions: { userAgentPrefix },loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },} const clientContext = getClient(options.endpoint ?? options.baseUrl ?? endpoint, undefined, updatedOptions); clientContext.pipeline.removePolicy({ name: "ApiVersionPolicy" }); if (options.apiVersion) { diff --git a/packages/typespec-ts/test/modularUnit/clientContext.spec.ts b/packages/typespec-ts/test/modularUnit/clientContext.spec.ts index df9e44ae7d..ccb6bdcfa2 100644 --- a/packages/typespec-ts/test/modularUnit/clientContext.spec.ts +++ b/packages/typespec-ts/test/modularUnit/clientContext.spec.ts @@ -80,7 +80,7 @@ describe("modular client context type", () => { const userAgentPrefix = prefixFromOptions ? \`\$\{prefixFromOptions\} azsdk-js-api\` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info } @@ -176,7 +176,7 @@ describe("modular client context type", () => { const userAgentPrefix = prefixFromOptions ? \`\$\{prefixFromOptions\} azsdk-js-api\` : "azsdk-js-api"; - const updatedOptions = { + const { apiVersion: _, ...updatedOptions } = { ...options, userAgentOptions: { userAgentPrefix }, loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },