Skip to content

feat: Add Rust language generation support (experimental)#7571

Draft
darrelmiller wants to merge 6 commits intomainfrom
rust
Draft

feat: Add Rust language generation support (experimental)#7571
darrelmiller wants to merge 6 commits intomainfrom
rust

Conversation

@darrelmiller
Copy link
Copy Markdown
Member

@darrelmiller darrelmiller commented Apr 6, 2026

fixes #4436

Summary

Adds experimental Rust language generation support to Kiota, enabling SDK generation targeting Rust from OpenAPI descriptions.

Changes

New Files (13)

  • PathSegmenter: RustPathSegmenter.cs — snake_case file/namespace naming
  • Refiner: RustRefiner.cs, RustReservedNamesProvider.cs, RustExceptionsReservedNamesProvider.cs — Rust-specific code DOM refinement pipeline
  • Writers: RustWriter.cs, RustConventionService.cs, CodeMethodWriter.cs, CodeClassDeclarationWriter.cs, CodeEnumWriter.cs, CodePropertyWriter.cs, CodeBlockEndWriter.cs
  • Tests: 7 test files covering refiners and writers

Integration Points

  • GenerationLanguage.cs — added Rust enum value
  • ILanguageRefiner.cs — wired RustRefiner
  • LanguageWriter.cs — wired RustWriter
  • PublicAPIExportService.cs — wired RustConventionService
  • appsettings.json — Rust dependency config (kiota-abstractions, kiota-http-reqwest, kiota-serialization-json/text/form)

Design Decisions

  • No inheritance model: Rust has no class inheritance — request builder properties stay on each struct (no MoveRequestBuilderPropertiesToBaseType)
  • Request builder properties → methods: Converted early in the refiner pipeline (before CorrectCoreType/ReplacePropertyNames) to avoid lookup failures
  • serde integration: Models derive Serialize/Deserialize with #[serde(rename)] for property mapping
  • Date/time types: Mapped to chrono crate types; GUIDs to uuid::Uuid
  • Reserved names: Escaped via Rust raw identifiers (r#name)
  • Inner classes: Moved to namespace level (Rust doesn't support nested type definitions)

Known Limitations

This is an experimental/community-supported first pass. Known areas for future improvement:

  • Enum variant casing uses ToFirstCharacterUpperCase() rather than full PascalCase conversion (e.g. some_valueSome_value instead of SomeValue)
  • Error mapping in request executors is stubbed out
  • Stream response handling is incomplete
  • Inherited serialization/deserialization chaining is not yet wired
  • TrimStart("Option<") in RustConventionService uses char-based trimming rather than prefix stripping
  • Test coverage is smoke-level for several writer branches

Maturity

Marked as Experimental with Community support experience in appsettings.json.

darrelmiller and others added 3 commits March 21, 2026 08:49
Add initial Rust code generation targeting the Kiota pipeline:

Generator components:
- RustWriter with 5 element writers (class, property, method, enum, block end)
- RustConventionService with Rust type mappings and naming conventions
- RustRefiner for snake_case naming, reserved word escaping, type replacements
- RustPathSegmenter for .rs file output with snake_case directories
- RustReservedNamesProvider covering Rust keywords and std types

Pipeline registrations:
- GenerationLanguage.Rust enum member
- LanguageWriter, ILanguageRefiner, PublicAPIExportService factory entries
- appsettings.json with Experimental/Community maturity level

Test coverage:
- 31 new tests across 7 test files covering writers and refiner
- All 1909 existing tests continue to pass

Known limitations:
- Generated code has type casing issues (Chrono vs chrono)
- Request builder struct fields lost due to base-type movement
- No mod.rs generation for module hierarchy
- Import statements need refinement

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix import paths: use clientNamespaceName instead of walking to root
- Move inner classes (query params) to namespace level for Rust compatibility
- Only register JSON serialization modules (form/text don't exist yet)
- Use Box<dyn Error + Send + Sync> consistently for error types
- Replace generic enum methods with serde-based string conversion
- Add serde_json::from_value deserialization in request executor body
- Use serde serialization for request body instead of Parsable trait
- Fix Option<String>.to_string() in raw URL constructor
- Suppress unused mut warnings in constructors without mutations
- Add proper derives for query parameter classes

Generated PetStore client now compiles with zero errors and zero warnings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace RequestBuilder properties with methods in RustRefiner
  (navigation props like .ip(), .uuid(), .pet() now generated correctly)
- Handle complex/object types via serde_json raw values instead of
  generic get_object_value/write_object_value (dyn-compatible)
- Handle primitive collections with concrete method names
- Handle enum/object collections via serde raw value serialization
- Support Getter/Setter method kinds for navigation and fields
- Both httpbin.org and petstore demos run successfully against live APIs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@darrelmiller darrelmiller requested a review from a team as a code owner April 6, 2026 12:36
@msgraph-bot msgraph-bot bot added this to Kiota Apr 6, 2026
@baywet baywet marked this pull request as draft April 6, 2026 12:47
darrelmiller and others added 3 commits April 7, 2026 08:50
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

Summary

Summary
Generated on: 04/07/2026 - 19:16:01
Coverage date: 04/07/2026 - 19:15:49 - 04/07/2026 - 19:15:55
Parser: MultiReport (3x Cobertura)
Assemblies: 2
Classes: 450
Files: 492
Line coverage: 69.8% (29868 of 42763)
Covered lines: 29868
Uncovered lines: 12895
Coverable lines: 42763
Total lines: 58590
Branch coverage: 67.7% (14112 of 20831)
Covered branches: 14112
Total branches: 20831
Method coverage: Feature is only available for sponsors

Coverage

kiota - 12.3%
Name Line Branch
kiota 12.3% 3.9%
kiota.Authentication.GitHub.DeviceCode.AccessCodeResponseJsonContext 0% 0%
kiota.Authentication.GitHub.DeviceCode.AccessTokenProvider 0% 0%
kiota.Authentication.GitHub.DeviceCode.DeviceCodeAuthenticationProvider 0%
kiota.Authentication.GitHub.DeviceCode.GitHubDeviceCodeResponse 0%
kiota.Authentication.GitHub.DeviceCode.GitHubDeviceCodeResponseJsonContext 0% 0%
kiota.Extension.CollectionExtensions 0% 0%
kiota.Extension.EnumerableExtensions 0% 0%
kiota.Extension.KiotaHostExtensions 27.2% 42%
kiota.Extension.StringExtensions 0% 0%
Kiota.Generated.KiotaAppSettings 0%
kiota.Handlers.BaseKiotaCommandHandler 4.1% 0%
kiota.Handlers.Client.AddHandler 0% 0%
kiota.Handlers.Client.EditHandler 0% 0%
kiota.Handlers.Client.GenerateHandler 0% 0%
kiota.Handlers.Client.RemoveHandler 0% 0%
kiota.Handlers.KiotaDownloadCommandHandler 8% 0%
kiota.Handlers.KiotaGenerateCommandHandler 15.7% 0%
kiota.Handlers.KiotaGitHubDeviceLoginCommandHandler 6% 0%
kiota.Handlers.KiotaGitHubLogoutCommandHandler 10.2% 0%
kiota.Handlers.KiotaGitHubPatLoginCommandHandler 10.5% 0%
kiota.Handlers.KiotaInfoCommandHandler 9.2% 0%
kiota.Handlers.KiotaRpcCommandHandler 8.3% 0%
kiota.Handlers.KiotaSearchBasedCommandHandler 0% 0%
kiota.Handlers.KiotaSearchCommandHandler 8.9% 0%
kiota.Handlers.KiotaShowCommandHandler 10.6% 0%
kiota.Handlers.KiotaUpdateCommandHandler 8.2% 0%
kiota.Handlers.Plugin.AddHandler 0% 0%
kiota.Handlers.Plugin.EditHandler 0% 0%
kiota.Handlers.Plugin.GenerateHandler 0% 0%
kiota.Handlers.Plugin.RemoveHandler 0% 0%
kiota.Handlers.Workspace.InitHandler 0% 0%
kiota.Handlers.Workspace.MigrateHandler 0% 0%
kiota.ILoggerExtensions 0% 0%
kiota.KiotaClientCommands 0%
kiota.KiotaConfigurationExtensions 0% 0%
kiota.KiotaConfigurationJsonContext 0% 0%
kiota.KiotaHost 90.6% 55.5%
kiota.KiotaPluginCommands 0% 0%
kiota.KiotaWorkspaceCommands 0%
kiota.Program 0% 0%
kiota.Rpc.AdaptiveCardInfo 0%
kiota.Rpc.AdaptiveCardMapper 0% 0%
kiota.Rpc.ForwardedLogger`1 0%
kiota.Rpc.LogEntry 0%
kiota.Rpc.ManifestResult 0%
kiota.Rpc.NoopLogger`1 0%
kiota.Rpc.OAuthFlow 0%
kiota.Rpc.OAuthFlows 0%
kiota.Rpc.OpenApiSpecVersionMapper 0% 0%
kiota.Rpc.PathItem 0%
kiota.Rpc.PluginAuth 0%
kiota.Rpc.PluginFunction 0%
kiota.Rpc.PluginResultMapper 0% 0%
kiota.Rpc.PluginRuntime 0%
kiota.Rpc.SearchOperationResult 0%
kiota.Rpc.SecurityRequirement 0%
kiota.Rpc.SecurityRequirementMapper 0% 0%
kiota.Rpc.SecuritySchemeInfo 0%
kiota.Rpc.SecuritySchemeMapper 0% 0%
kiota.Rpc.Server 0% 0%
kiota.Rpc.ServersMapper 0% 0%
kiota.Rpc.ShowPluginResult 0%
kiota.Rpc.ShowResult 0%
kiota.Telemetry.Config.AppInsightsConfig 0%
kiota.Telemetry.Config.OpenTelemetryConfig 0%
kiota.Telemetry.Config.TelemetryConfig 0%
kiota.Telemetry.Instrumentation 0%
kiota.Telemetry.Telemetry 0% 0%
Microsoft.Extensions.Configuration.Binder.SourceGeneration 0% 0%
System.Runtime.CompilerServices 0%
System.Text.RegularExpressions.Generated 52.6% 37.5%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F575C2A87E552CB2
99BDAB3FB0738A2D49AFE89CAF0EC7B9225D9B641CE772D5E__classNameRegex_0
90% 72.2%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F575C2A87E552CB2
99BDAB3FB0738A2D49AFE89CAF0EC7B9225D9B641CE772D5E__indexingNormalizationReg
ex_2
0% 0%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F575C2A87E552CB2
99BDAB3FB0738A2D49AFE89CAF0EC7B9225D9B641CE772D5E__namespaceNameRegex_1
78.1% 59%
Kiota.Builder - 82.1%
Name Line Branch
Kiota.Builder 82.1% 75.9%
Kiota.Builder.BaseStringComparisonComparer`1 83.3% 60%
Kiota.Builder.Caching.DocumentCachingProvider 63% 56.6%
Kiota.Builder.CodeDOM.BlockDeclaration 90.9% 83.3%
Kiota.Builder.CodeDOM.ClassDeclaration 55.5% 54.1%
Kiota.Builder.CodeDOM.CodeBlock`2 83.8% 78.4%
Kiota.Builder.CodeDOM.CodeClass 97.7% 93.1%
Kiota.Builder.CodeDOM.CodeComposedTypeBase 94.1% 75%
Kiota.Builder.CodeDOM.CodeConstant 100% 83.3%
Kiota.Builder.CodeDOM.CodeDocumentation 100% 87.5%
Kiota.Builder.CodeDOM.CodeElement 100% 96.1%
Kiota.Builder.CodeDOM.CodeEnum 100% 100%
Kiota.Builder.CodeDOM.CodeEnumOption 100% 100%
Kiota.Builder.CodeDOM.CodeFile 76.4% 62.5%
Kiota.Builder.CodeDOM.CodeFunction 100% 100%
Kiota.Builder.CodeDOM.CodeIndexer 100% 50%
Kiota.Builder.CodeDOM.CodeInterface 97.3% 77.7%
Kiota.Builder.CodeDOM.CodeIntersectionType 100%
Kiota.Builder.CodeDOM.CodeMethod 93% 89.4%
Kiota.Builder.CodeDOM.CodeNamespace 97.4% 88.7%
Kiota.Builder.CodeDOM.CodeParameter 100% 50%
Kiota.Builder.CodeDOM.CodeProperty 94.7% 65%
Kiota.Builder.CodeDOM.CodeTerminalWithKind`1 100% 100%
Kiota.Builder.CodeDOM.CodeType 96.5% 100%
Kiota.Builder.CodeDOM.CodeTypeBase 96.1% 75%
Kiota.Builder.CodeDOM.CodeUnionType 100%
Kiota.Builder.CodeDOM.CodeUsing 100% 100%
Kiota.Builder.CodeDOM.DeprecationInformation 83.3% 50%
Kiota.Builder.CodeDOM.DiscriminatorInformation 100% 84.2%
Kiota.Builder.CodeDOM.NamespaceDifferentialTracker 100% 87.5%
Kiota.Builder.CodeDOM.PagingInformation 42.8%
Kiota.Builder.CodeDOM.ProprietableBlock`2 90.6% 85.2%
Kiota.Builder.CodeDOM.ProprietableBlockDeclaration 93.1% 75%
Kiota.Builder.CodeRenderers.CodeRenderer 100% 90.1%
Kiota.Builder.CodeRenderers.TypeScriptCodeRenderer 14.2% 0%
Kiota.Builder.Configuration.DownloadConfiguration 25%
Kiota.Builder.Configuration.GenerationConfiguration 100% 66.1%
Kiota.Builder.Configuration.GitHubConfiguration 30.7%
Kiota.Builder.Configuration.KiotaConfiguration 0%
Kiota.Builder.Configuration.LanguagesInformation 66.6% 66.6%
Kiota.Builder.Configuration.PluginAuthConfiguration 96.4% 92.3%
Kiota.Builder.Configuration.SearchConfiguration 20%
Kiota.Builder.Configuration.SearchConfigurationBase 100%
Kiota.Builder.Configuration.StructuredMimeTypesCollection 84.3% 77.2%
Kiota.Builder.Configuration.UpdateConfiguration 27.2%
Kiota.Builder.EqualityComparers.GlobComparer 55.5% 33.3%
Kiota.Builder.EqualityComparers.OpenApiSchemaReferenceComparer 33.3% 50%
Kiota.Builder.EqualityComparers.OpenApiServerComparer 100% 72.7%
Kiota.Builder.Exceptions.InvalidSchemaException 33.3%
Kiota.Builder.Export.PublicApiExportService 89.5% 77.6%
Kiota.Builder.Extensions.AuthExtensions 100% 100%
Kiota.Builder.Extensions.CodeParametersEnumerableExtensions 100% 50%
Kiota.Builder.Extensions.CodePropertiesEnumerableExtensions 50% 25%
Kiota.Builder.Extensions.IEnumerableExtensions 0% 0%
Kiota.Builder.Extensions.IListExtensions 100% 100%
Kiota.Builder.Extensions.OpenApiDeprecationExtensionExtensions 100% 93.9%
Kiota.Builder.Extensions.OpenApiDocumentExtensions 100% 85.7%
Kiota.Builder.Extensions.OpenApiOperationExtensions 96.3% 75%
Kiota.Builder.Extensions.OpenApiSchemaExtensions 96.3% 87.5%
Kiota.Builder.Extensions.OpenApiSettingsExtensions 100% 50%
Kiota.Builder.Extensions.OpenApiUrlTreeNodeExtensions 84.8% 74.1%
Kiota.Builder.Extensions.StringExtensions 97.9% 86.2%
Kiota.Builder.Extensions.UriExtensions 100% 75%
Kiota.Builder.KiotaBuilder 86.5% 79.4%
Kiota.Builder.KiotaSearcher 75% 62.5%
Kiota.Builder.LanguageDependency 91.8% 76.9%
Kiota.Builder.LanguageInformation 95% 85.4%
Kiota.Builder.Lock.KiotaLock 100% 100%
Kiota.Builder.Lock.KiotaLockComparer 53% 95.2%
Kiota.Builder.Lock.KiotaLockGenerationContext 80.5% 39.6%
Kiota.Builder.Lock.LockManagementService 54.5% 35.7%
Kiota.Builder.Lock.StringIEnumerableDeepComparer 100% 62.5%
Kiota.Builder.Logging.AggregateLogger`1 0% 0%
Kiota.Builder.Logging.AggregateScope 0% 0%
Kiota.Builder.Logging.FileLogLogger 86.2% 75%
Kiota.Builder.Logging.FileLogLogger`1 0% 0%
Kiota.Builder.Logging.FileLogLoggerProvider 0% 0%
Kiota.Builder.Manifest.ApiDependencyComparer 74.2% 67.8%
Kiota.Builder.Manifest.ManifestManagementService 100%
Kiota.Builder.Manifest.RequestInfoComparer 100% 90%
Kiota.Builder.ModelClassBuildLifecycle 95% 90%
Kiota.Builder.OpenApiDocumentDownloadService 73.1% 63.1%
Kiota.Builder.OpenApiExtensions.ExtensionConfirmation 100%
Kiota.Builder.OpenApiExtensions.ExtensionResponseSemantics 100%
Kiota.Builder.OpenApiExtensions.ExtensionResponseSemanticsProperties 100%
Kiota.Builder.OpenApiExtensions.ExtensionSecurityInfo 100%
Kiota.Builder.OpenApiExtensions.OpenApiAiAdaptiveCardExtension 98.7% 98.7%
Kiota.Builder.OpenApiExtensions.OpenApiAiAuthReferenceIdExtension 100%
Kiota.Builder.OpenApiExtensions.OpenApiAiCapabilitiesExtension 100% 77.7%
Kiota.Builder.OpenApiExtensions.OpenApiAiReasoningInstructionsExtension 100% 75%
Kiota.Builder.OpenApiExtensions.OpenApiAiRespondingInstructionsExtension 100% 75%
Kiota.Builder.OpenApiExtensions.OpenApiDescriptionForModelExtension 100%
Kiota.Builder.OpenApiExtensions.OpenApiKiotaExtension 100% 70%
Kiota.Builder.OpenApiExtensions.OpenApiKiotaMergedExtension 77.7%
Kiota.Builder.OpenApiExtensions.OpenApiLegalInfoUrlExtension 11.1%
Kiota.Builder.OpenApiExtensions.OpenApiLogoExtension 4.7% 0%
Kiota.Builder.OpenApiExtensions.OpenApiPrivacyPolicyUrlExtension 11.1%
Kiota.Builder.OpenApiExtensions.OpenApiSimpleStringExtension 100% 66.6%
Kiota.Builder.OrderComparers.BaseCodeParameterOrderComparer 93.7% 92.3%
Kiota.Builder.OrderComparers.CodeElementOrderComparer 100% 97.6%
Kiota.Builder.OrderComparers.CodeElementOrderComparerPython 92.3% 83.3%
Kiota.Builder.OrderComparers.CodeElementOrderComparerWithExternalMethods 100% 90%
Kiota.Builder.PathSegmenters.CommonPathSegmenter 100% 83.3%
Kiota.Builder.PathSegmenters.CSharpPathSegmenter 100% 83.3%
Kiota.Builder.PathSegmenters.DartPathSegmenter 100%
Kiota.Builder.PathSegmenters.GoPathSegmenter 97.6% 50%
Kiota.Builder.PathSegmenters.HttpPathSegmenter 83.3%
Kiota.Builder.PathSegmenters.JavaPathSegmenter 100% 50%
Kiota.Builder.PathSegmenters.PhpPathSegmenter 100% 50%
Kiota.Builder.PathSegmenters.PythonPathSegmenter 90.9% 50%
Kiota.Builder.PathSegmenters.RubyPathSegmenter 90.4% 71.4%
Kiota.Builder.PathSegmenters.RustPathSegmenter 25%
Kiota.Builder.PathSegmenters.TypeScriptPathSegmenter 100% 95%
Kiota.Builder.Plugins.AdaptiveCardTemplate 61.5% 50%
Kiota.Builder.Plugins.AuthComparer 66.6% 34.2%
Kiota.Builder.Plugins.OpenApiPluginWalker 100% 100%
Kiota.Builder.Plugins.OpenAPIRuntimeComparer 100% 80%
Kiota.Builder.Plugins.OpenApiRuntimeSpecComparer 100% 60%
Kiota.Builder.Plugins.PluginsGenerationService 84.6% 73.7%
Kiota.Builder.Plugins.UnsupportedSecuritySchemeException 100%
Kiota.Builder.Refiners.AdditionalUsingEvaluator 100%
Kiota.Builder.Refiners.CodeUsingComparer 100% 70%
Kiota.Builder.Refiners.CodeUsingDeclarationNameComparer 100% 93.7%
Kiota.Builder.Refiners.CommonLanguageRefiner 98% 92.8%
Kiota.Builder.Refiners.CSharpExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.CSharpRefiner 98.3% 93.7%
Kiota.Builder.Refiners.CSharpReservedClassNamesProvider 100%
Kiota.Builder.Refiners.CSharpReservedNamesProvider 100%
Kiota.Builder.Refiners.CSharpReservedTypesProvider 100%
Kiota.Builder.Refiners.DartExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.DartRefiner 93.1% 89%
Kiota.Builder.Refiners.DartReservedNamesProvider 100%
Kiota.Builder.Refiners.GoExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.GoNamespaceReservedNamesProvider 100%
Kiota.Builder.Refiners.GoRefiner 93.1% 89.5%
Kiota.Builder.Refiners.GoReservedNamesProvider 100%
Kiota.Builder.Refiners.HttpRefiner 61.2% 47.7%
Kiota.Builder.Refiners.HttpReservedNamesProvider 100%
Kiota.Builder.Refiners.ILanguageRefiner 100% 100%
Kiota.Builder.Refiners.JavaExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.JavaRefiner 98.2% 95.1%
Kiota.Builder.Refiners.JavaReservedNamesProvider 100%
Kiota.Builder.Refiners.PhpExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.PhpRefiner 100% 95.7%
Kiota.Builder.Refiners.PhpReservedNamesProvider 100%
Kiota.Builder.Refiners.PythonExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.PythonRefiner 98.2% 94.5%
Kiota.Builder.Refiners.PythonReservedNamesProvider 100%
Kiota.Builder.Refiners.RubyRefiner 83.1% 66.3%
Kiota.Builder.Refiners.RubyReservedNamesProvider 100%
Kiota.Builder.Refiners.RustExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.RustRefiner 73.3% 63.5%
Kiota.Builder.Refiners.RustReservedNamesProvider 100%
Kiota.Builder.Refiners.TypeScriptExceptionsReservedNamesProvider 100%
Kiota.Builder.Refiners.TypeScriptRefiner 97.6% 88.9%
Kiota.Builder.Refiners.TypeScriptReservedNamesProvider 100%
Kiota.Builder.SearchProviders.APIsGuru.ApiContact 100%
Kiota.Builder.SearchProviders.APIsGuru.ApiEntriesJsonContext 77.7% 45.7%
Kiota.Builder.SearchProviders.APIsGuru.ApiEntry 100%
Kiota.Builder.SearchProviders.APIsGuru.ApiInformation 100%
Kiota.Builder.SearchProviders.APIsGuru.ApiOrigin 0%
Kiota.Builder.SearchProviders.APIsGuru.APIsGuruSearchProvider 95.1% 50%
Kiota.Builder.SearchProviders.APIsGuru.ApiVersion 100%
Kiota.Builder.SearchProviders.GitHub.Authentication.AccessCodeResponse 0%
Kiota.Builder.SearchProviders.GitHub.Authentication.AnonymousAuthentication
Provider
100%
Kiota.Builder.SearchProviders.GitHub.Authentication.BaseAuthenticationProvi
der`1
40% 6.2%
Kiota.Builder.SearchProviders.GitHub.Authentication.PatAccessTokenProvider 100% 83.3%
Kiota.Builder.SearchProviders.GitHub.Authentication.PatAuthenticationProvid
er
87.5%
Kiota.Builder.SearchProviders.GitHub.Authentication.TempFolderCachingAccess
TokenProvider
95.8% 50%
Kiota.Builder.SearchProviders.GitHub.Authentication.TempFolderTokenStorageS
ervice
70.5% 83.3%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.GitHubClient 94.1% 100%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.AppPermissions 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.BasicError 64.5% 16.6%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentFile 56.6% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentFile__links 74% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentSubmodule 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentSubmodule__
links
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentSymlink 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ContentSymlink__li
nks
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Enterprise 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Installation 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.NullableLicenseSim
ple
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.NullableSimpleUser 61.7% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ReactionRollup 70.8% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Release 59.7% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ReleaseAsset 66.6% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.RepoSearchResultIt
em
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.RepoSearchResultIt
em_permissions
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Repositories 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Repositories_match
es
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.Repositories503Err
or
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.SimpleUser 61.7% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ValidationError 0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.ValidationError_er
rors
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Models.WithPathGetRespons
eMember1
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.Item.Item.Contents.
ContentsRequestBuilder
72.7%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.Item.Item.Contents.
Item.WithPathItemRequestBuilder
41.4% 16.6%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.Item.Item.Releases.
ReleasesRequestBuilder
69.2% 50%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.Item.Item.WithRepoI
temRequestBuilder
62.5%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.Item.WithOwnerItemR
equestBuilder
72.7%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Repos.ReposRequestBuilder 72.7%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Search.Repositories.Repos
itoriesGetResponse
74% 25%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Search.Repositories.Repos
itoriesRequestBuilder
79.3%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.Search.SearchRequestBuild
er
57.1%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.User.Installations.Instal
lationsGetResponse
0% 0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.User.Installations.Instal
lationsRequestBuilder
0%
Kiota.Builder.SearchProviders.GitHub.GitHubClient.User.UserRequestBuilder 0%
Kiota.Builder.SearchProviders.GitHub.GitHubSearchProvider 74.5% 53.4%
Kiota.Builder.SearchProviders.GitHub.Index.BlockList 100%
Kiota.Builder.SearchProviders.GitHub.Index.IndexApiEntry 100%
Kiota.Builder.SearchProviders.GitHub.Index.IndexApiProperty 100%
Kiota.Builder.SearchProviders.GitHub.Index.IndexRoot 100%
Kiota.Builder.SearchProviders.GitHub.Index.IndexRootJsonContext 3.4% 0%
Kiota.Builder.SearchProviders.GitHub.Index.YamlNamingConvention 50%
Kiota.Builder.SearchProviders.MSGraph.OpenApiSpecSearchProvider 83.3% 50%
Kiota.Builder.SearchProviders.SearchResult 100%
Kiota.Builder.Settings.AuthenticationSettings 0%
Kiota.Builder.Settings.EnvironmentVariables 0%
Kiota.Builder.Settings.SettingsFile 0%
Kiota.Builder.Settings.SettingsFileGenerationContext 0% 0%
Kiota.Builder.Settings.SettingsFileManagementService 38.7% 20%
Kiota.Builder.Settings.VsCodeSettingsManager 0% 0%
Kiota.Builder.StructuralPropertiesReservedNameProvider 100%
Kiota.Builder.UpdateService 97.1% 76.4%
Kiota.Builder.Validation.DivergentResponseSchema 100% 100%
Kiota.Builder.Validation.GetWithBody 100% 100%
Kiota.Builder.Validation.InconsistentTypeFormatPair 100% 92.8%
Kiota.Builder.Validation.JsonNodeComparer 0% 0%
Kiota.Builder.Validation.KeyValueComparer`2 0% 0%
Kiota.Builder.Validation.KnownAndNotSupportedFormats 100% 100%
Kiota.Builder.Validation.MissingDiscriminator 100% 78.5%
Kiota.Builder.Validation.MultipleServerEntries 100% 75%
Kiota.Builder.Validation.NoContentWithBody 100% 100%
Kiota.Builder.Validation.NoServerEntry 100% 87.5%
Kiota.Builder.Validation.OpenApiDiscriminatorComparer 0% 0%
Kiota.Builder.Validation.OpenApiSchemaComparer 88.6% 87.5%
Kiota.Builder.Validation.UrlFormEncodedComplex 100% 100%
Kiota.Builder.Validation.ValidationRuleSetExtensions 100% 100%
Kiota.Builder.VersionComparer 66.6% 33.3%
Kiota.Builder.WorkspaceManagement.ApiClientConfiguration 98.1% 75%
Kiota.Builder.WorkspaceManagement.ApiClientConfigurationComparer 100% 70.8%
Kiota.Builder.WorkspaceManagement.ApiPluginConfiguration 84.2% 50%
Kiota.Builder.WorkspaceManagement.ApiPluginConfigurationComparer 100% 91.6%
Kiota.Builder.WorkspaceManagement.BaseApiConsumerConfiguration 100% 87.5%
Kiota.Builder.WorkspaceManagement.BaseApiConsumerConfigurationComparer`1 100% 64.2%
Kiota.Builder.WorkspaceManagement.DescriptionStorageService 98% 75%
Kiota.Builder.WorkspaceManagement.WorkspaceConfiguration 73.3% 50%
Kiota.Builder.WorkspaceManagement.WorkspaceConfigurationGenerationContext 79.2% 45.7%
Kiota.Builder.WorkspaceManagement.WorkspaceConfigurationStorageService 98.1% 91.1%
Kiota.Builder.WorkspaceManagement.WorkspaceManagementService 76% 62.2%
Kiota.Builder.Writers.BaseElementWriter`2 100% 50%
Kiota.Builder.Writers.CodeClassExtensions 85.7% 60%
Kiota.Builder.Writers.CodeParameterExtensions 100% 100%
Kiota.Builder.Writers.CodePropertyTypeComparer 76.9% 40%
Kiota.Builder.Writers.CodeTypeComparer 84.3% 76.3%
Kiota.Builder.Writers.CodeTypeWriter 100%
Kiota.Builder.Writers.CommonLanguageConventionService 100% 100%
Kiota.Builder.Writers.CSharp.CodeBlockEndWriter 100% 83.3%
Kiota.Builder.Writers.CSharp.CodeClassDeclarationWriter 100% 90.9%
Kiota.Builder.Writers.CSharp.CodeEnumWriter 100% 90.6%
Kiota.Builder.Writers.CSharp.CodeIndexerWriter 100% 75%
Kiota.Builder.Writers.CSharp.CodeMethodWriter 95.5% 89.6%
Kiota.Builder.Writers.CSharp.CodePropertyWriter 96.6% 90%
Kiota.Builder.Writers.CSharp.CSharpConventionService 86.3% 80.8%
Kiota.Builder.Writers.CSharp.CSharpWriter 100%
Kiota.Builder.Writers.CSharp.TypeDefinitionExtensions 100% 100%
Kiota.Builder.Writers.Dart.CodeBlockEndWriter 100%
Kiota.Builder.Writers.Dart.CodeClassDeclarationWriter 97.5% 76.4%
Kiota.Builder.Writers.Dart.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.Dart.CodeMethodWriter 83.1% 74%
Kiota.Builder.Writers.Dart.CodePropertyWriter 90% 86.8%
Kiota.Builder.Writers.Dart.DartConventionService 78.3% 73.3%
Kiota.Builder.Writers.Dart.DartWriter 100%
Kiota.Builder.Writers.GenericCodeElementWriter 100%
Kiota.Builder.Writers.GenericCodeMethodWriter 100%
Kiota.Builder.Writers.GenericCodePropertyWriter 100%
Kiota.Builder.Writers.GenericWriter`1 100%
Kiota.Builder.Writers.Go.CodeBlockEndWriter 100% 75%
Kiota.Builder.Writers.Go.CodeClassDeclarationWriter 100% 70%
Kiota.Builder.Writers.Go.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.Go.CodeFileBlockEndWriter 100%
Kiota.Builder.Writers.Go.CodeFileDeclarationWriter 97% 72.7%
Kiota.Builder.Writers.Go.CodeInterfaceDeclarationWriter 100% 70%
Kiota.Builder.Writers.Go.CodeMethodWriter 95.5% 84.8%
Kiota.Builder.Writers.Go.CodePropertyWriter 95% 85.7%
Kiota.Builder.Writers.Go.CodeProprietableBlockDeclarationWriter`1 100% 92.1%
Kiota.Builder.Writers.Go.GoCodeParameterOrderComparer 94.7% 66.6%
Kiota.Builder.Writers.Go.GoConventionService 88.6% 72.8%
Kiota.Builder.Writers.Go.GoNamespaceExtensions 100% 87.5%
Kiota.Builder.Writers.Go.GoWriter 100%
Kiota.Builder.Writers.Go.StringExtensions 100% 100%
Kiota.Builder.Writers.Http.CodeClassDeclarationWriter 66.6% 50%
Kiota.Builder.Writers.Http.CodeProprietableBlockDeclarationWriter`1 100%
Kiota.Builder.Writers.Http.HttpConventionService 23% 10.8%
Kiota.Builder.Writers.Http.HttpWriter 100%
Kiota.Builder.Writers.Java.CodeBlockEndWriter 100% 75%
Kiota.Builder.Writers.Java.CodeClassDeclarationWriter 100% 90.9%
Kiota.Builder.Writers.Java.CodeEnumWriter 100% 80%
Kiota.Builder.Writers.Java.CodeMethodWriter 94.8% 85.7%
Kiota.Builder.Writers.Java.CodePropertyWriter 87.8% 81.4%
Kiota.Builder.Writers.Java.JavaConventionService 92% 74.2%
Kiota.Builder.Writers.Java.JavaWriter 100%
Kiota.Builder.Writers.LanguageWriter 93.9% 88%
Kiota.Builder.Writers.NamespaceClassNamesProvider 100% 100%
Kiota.Builder.Writers.Php.CodeBlockEndWriter 100%
Kiota.Builder.Writers.Php.CodeClassDeclarationWriter 100% 100%
Kiota.Builder.Writers.Php.CodeEnumWriter 100% 75%
Kiota.Builder.Writers.Php.CodeMethodWriter 96.4% 85.7%
Kiota.Builder.Writers.Php.CodePropertyWriter 94% 90.6%
Kiota.Builder.Writers.Php.PhpConventionService 95.4% 86.4%
Kiota.Builder.Writers.Php.PhpWriter 100%
Kiota.Builder.Writers.ProprietableBlockExtensions 95.4% 83.3%
Kiota.Builder.Writers.Python.CodeBlockEndWriter 100%
Kiota.Builder.Writers.Python.CodeClassDeclarationWriter 100% 93.7%
Kiota.Builder.Writers.Python.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.Python.CodeMethodWriter 97% 89.9%
Kiota.Builder.Writers.Python.CodeNameSpaceWriter 100%
Kiota.Builder.Writers.Python.CodePropertyWriter 98% 87.5%
Kiota.Builder.Writers.Python.CodeUsingWriter 97.9% 84.6%
Kiota.Builder.Writers.Python.PythonCodeParameterOrderComparer 66.6% 38.8%
Kiota.Builder.Writers.Python.PythonConventionService 88.1% 81.5%
Kiota.Builder.Writers.Python.PythonRelativeImportManager 84.6% 60%
Kiota.Builder.Writers.Python.PythonWriter 100%
Kiota.Builder.Writers.RelativeImportManager 87.2% 51.7%
Kiota.Builder.Writers.RequestParams 100% 50%
Kiota.Builder.Writers.Ruby.CodeBlockEndWriter 100% 75%
Kiota.Builder.Writers.Ruby.CodeClassDeclarationWriter 100% 73.5%
Kiota.Builder.Writers.Ruby.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.Ruby.CodeMethodWriter 96.4% 73.5%
Kiota.Builder.Writers.Ruby.CodeNamespaceWriter 100% 100%
Kiota.Builder.Writers.Ruby.CodePropertyWriter 100% 87.5%
Kiota.Builder.Writers.Ruby.RubyConventionService 86% 79.1%
Kiota.Builder.Writers.Ruby.RubyWriter 100%
Kiota.Builder.Writers.Rust.CodeBlockEndWriter 0%
Kiota.Builder.Writers.Rust.CodeClassDeclarationWriter 47.1% 18.3%
Kiota.Builder.Writers.Rust.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.Rust.CodeMethodWriter 43.3% 24.2%
Kiota.Builder.Writers.Rust.CodePropertyWriter 69.4% 75%
Kiota.Builder.Writers.Rust.RustConventionService 52.6% 46.4%
Kiota.Builder.Writers.Rust.RustWriter 100%
Kiota.Builder.Writers.StringExtensions 100% 100%
Kiota.Builder.Writers.TypeScript.CodeBlockEndWriter 100% 90%
Kiota.Builder.Writers.TypeScript.CodeClassDeclarationWriter 100% 87.5%
Kiota.Builder.Writers.TypeScript.CodeComposedTypeBaseWriter`1 100% 100%
Kiota.Builder.Writers.TypeScript.CodeConstantWriter 89.1% 79.8%
Kiota.Builder.Writers.TypeScript.CodeEnumWriter 100% 100%
Kiota.Builder.Writers.TypeScript.CodeFileBlockEndWriter 100%
Kiota.Builder.Writers.TypeScript.CodeFileDeclarationWriter 96.8% 81.8%
Kiota.Builder.Writers.TypeScript.CodeFunctionWriter 94% 81.3%
Kiota.Builder.Writers.TypeScript.CodeInterfaceDeclarationWriter 100% 87.5%
Kiota.Builder.Writers.TypeScript.CodeIntersectionTypeWriter 100%
Kiota.Builder.Writers.TypeScript.CodeMethodWriter 97.2% 84.4%
Kiota.Builder.Writers.TypeScript.CodePropertyWriter 96.2% 95.8%
Kiota.Builder.Writers.TypeScript.CodeUnionTypeWriter 100%
Kiota.Builder.Writers.TypeScript.CodeUsingWriter 100% 90.9%
Kiota.Builder.Writers.TypeScript.TypeScriptConventionService 87.4% 82.4%
Kiota.Builder.Writers.TypeScript.TypescriptRelativeImportManager 83.3% 57.1%
Kiota.Builder.Writers.TypeScript.TypeScriptWriter 100%
Kiota.Generated.KiotaVersion 100%
System.Text.RegularExpressions.Generated 72.4% 58.9%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704___enumValueNameRegex_16
77.1% 56.2%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__AtSignPathParameterRegex
_2
77.1% 65%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__CapitalizedFirstLetterAf
terDot_13
30.4% 15.3%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__descriptionCleanupRegex_
4
100% 100%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__factoryMethodIndexParser
_14
70.2% 57.1%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__idClassNameCleanup_3
91.7% 82.3%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__MultiIndexSameLevelClean
upRegex_11
79.6% 66%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__nonAsciiReplaceRegex_15
48% 42.8%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__NumbersSpellingRegex_10
76.9% 66.6%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__PathParametersRegex_1
96.4% 90.3%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__pathParamMatcher_7
77.9% 63.6%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__PluginOperationIdCleanup
Regex_12
88.4% 78.5%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__propertyCleanupRegex_9
82.7% 73%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__removePctEncodedCharacte
rs_8
83.3% 61.5%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__stripExtensionForIndexer
sRegex_5
48.4% 40.3%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__stripExtensionForIndexer
sTestRegex_6
45.6% 32.7%
System.Text.RegularExpressions.Generated.<RegexGenerator_g>FDAA00F7CC1CF62D
E700244B5486217D72A1B2A43346B42C9A444A670292E2704__vendorStripRegex_0
85.9% 72.7%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Rust generator support?

2 participants