From 0c2df84a85a9f881c1a977163ecadfe9b53d82c7 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Mon, 3 Jul 2023 15:05:30 -0400 Subject: [PATCH] - removes response handler generation in typescript --- CHANGELOG.md | 1 + src/Kiota.Builder/Refiners/TypeScriptRefiner.cs | 3 +-- src/Kiota.Builder/Writers/TypeScript/CodeMethodWriter.cs | 2 +- .../Writers/TypeScript/CodeMethodWriterTests.cs | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25f1f7c8db..809b0207f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed an issue with query parameter name normalization in Ruby and Python. [#2825](https://github.com/microsoft/kiota/issues/2825) - Fixed serialization of scalar members in union types for C#, Go, Java. [#2462](https://github.com/microsoft/kiota/issues/2462) - Deprecated Visual Studio OpenAPI reference packages. +- Replaced response handler parameter by request option to reduce generated code size in TypeScript. [#1855](https://github.com/microsoft/kiota/issues/1855) - Fixed a bug where a stackoverflow exception occurs when inlined schemas have self-references [2656](https://github.com/microsoft/kiota/issues/2656) - Fixed nil safety while type casting values in collections in Go - Moved common RequestBuilder ((request_adapter, url_template and path_parameters)) and RequestConfiguration(headers, options) properties to respective base classes in Python.[2440](https://github.com/microsoft/kiota/issues/2440) diff --git a/src/Kiota.Builder/Refiners/TypeScriptRefiner.cs b/src/Kiota.Builder/Refiners/TypeScriptRefiner.cs index ba11dafc07..cc1e70ff94 100644 --- a/src/Kiota.Builder/Refiners/TypeScriptRefiner.cs +++ b/src/Kiota.Builder/Refiners/TypeScriptRefiner.cs @@ -16,6 +16,7 @@ public override Task Refine(CodeNamespace generatedCode, CancellationToken cance return Task.Run(() => { cancellationToken.ThrowIfCancellationRequested(); + RemoveHandlerFromRequestBuilder(generatedCode); ReplaceReservedNames(generatedCode, new TypeScriptReservedNamesProvider(), static x => $"{x}Escaped"); ReplaceReservedExceptionPropertyNames(generatedCode, new TypeScriptExceptionsReservedNamesProvider(), static x => $"{x}Escaped"); MoveRequestBuilderPropertiesToBaseType(generatedCode, @@ -194,8 +195,6 @@ currentInterface.StartBlock is InterfaceDeclaration interfaceDeclaration && AbstractionsPackageName, "RequestOption"), new (x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.RequestGenerator), AbstractionsPackageName, "HttpMethod", "RequestInformation", "RequestOption"), - new (x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.RequestExecutor), - AbstractionsPackageName, "ResponseHandler"), new (x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.Serializer), AbstractionsPackageName, "SerializationWriter"), new (x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.Deserializer, CodeMethodKind.Factory), diff --git a/src/Kiota.Builder/Writers/TypeScript/CodeMethodWriter.cs b/src/Kiota.Builder/Writers/TypeScript/CodeMethodWriter.cs index 8a44fb918f..6ef2a7d419 100644 --- a/src/Kiota.Builder/Writers/TypeScript/CodeMethodWriter.cs +++ b/src/Kiota.Builder/Writers/TypeScript/CodeMethodWriter.cs @@ -306,7 +306,7 @@ private void WriteRequestExecutorBody(CodeMethod codeElement, CodeClass parentCl } writer.CloseBlock("} as Record>;"); } - writer.WriteLine($"return this.requestAdapter?.{genericTypeForSendMethod}(requestInfo,{newFactoryParameter} responseHandler, {errorMappingVarName}) ?? Promise.reject(new Error('request adapter is null'));"); + writer.WriteLine($"return this.requestAdapter.{genericTypeForSendMethod}(requestInfo,{newFactoryParameter} {errorMappingVarName});"); } private string GetTypeFactory(bool isVoid, bool isStream, CodeMethod codeElement, LanguageWriter writer) diff --git a/tests/Kiota.Builder.Tests/Writers/TypeScript/CodeMethodWriterTests.cs b/tests/Kiota.Builder.Tests/Writers/TypeScript/CodeMethodWriterTests.cs index b48dbe3c75..36f1948783 100644 --- a/tests/Kiota.Builder.Tests/Writers/TypeScript/CodeMethodWriterTests.cs +++ b/tests/Kiota.Builder.Tests/Writers/TypeScript/CodeMethodWriterTests.cs @@ -185,7 +185,6 @@ public void WritesRequestExecutorBody() Assert.Contains("\"403\": createError403FromDiscriminatorValue,", result); Assert.Contains("as Record>", result); Assert.Contains("sendAsync", result); - Assert.Contains("Promise.reject", result); AssertExtensions.CurlyBracesAreClosed(result); } [Fact]