diff --git a/generators/typescript/sdk/client-class-generator/src/websocket/GeneratedDefaultWebsocketImplementation.ts b/generators/typescript/sdk/client-class-generator/src/websocket/GeneratedDefaultWebsocketImplementation.ts index 6bd5dec101ba..cd4ce880251b 100644 --- a/generators/typescript/sdk/client-class-generator/src/websocket/GeneratedDefaultWebsocketImplementation.ts +++ b/generators/typescript/sdk/client-class-generator/src/websocket/GeneratedDefaultWebsocketImplementation.ts @@ -173,16 +173,18 @@ export class GeneratedDefaultWebsocketImplementation implements GeneratedWebsock }), ...(this.channel.queryParameters ?? []).map((queryParameter) => { const type = context.type.getReferenceToType(queryParameter.valueType); + const isOptional = context.type.isOptional(queryParameter.valueType); const typeNode = queryParameter.allowMultiple ? ts.factory.createUnionTypeNode([ type.typeNodeWithoutUndefined, - ts.factory.createArrayTypeNode(type.typeNodeWithoutUndefined) + ts.factory.createArrayTypeNode(type.typeNodeWithoutUndefined), + ...(isOptional ? [ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword)] : []) ]) : type.typeNodeWithoutUndefined; return { name: getPropertyKey(this.getPropertyNameOfQueryParameter(queryParameter).propertyName), type: getTextOfTsNode(typeNode), - hasQuestionToken: context.type.isOptional(queryParameter.valueType) + hasQuestionToken: isOptional }; }), ...(this.channel.headers ?? []).map((header) => { diff --git a/generators/typescript/sdk/versions.yml b/generators/typescript/sdk/versions.yml index 74863357dbf4..b1880aa3bb9c 100644 --- a/generators/typescript/sdk/versions.yml +++ b/generators/typescript/sdk/versions.yml @@ -1,4 +1,12 @@ # yaml-language-server: $schema=../../../fern-versions-yml.schema.json +- version: 3.38.4 + changelogEntry: + - summary: | + Update WebSocket `ConnectArgs` interface to type `allow-multiple: true` query parameters as `T | T[] | undefined` instead of `T | T[]` for consistency. + type: fix + createdAt: "2025-12-09" + irVersion: 62 + - version: 3.38.3 changelogEntry: - summary: |