Repository navigation
Honor AsyncAPI custom type mappings across all four languages - #284
Merged
Merged
Conversation
Share language mapping extraction with OpenAPI, resolve external component schemas, and preserve direct alias mappings without inheriting composed parent mappings. Support channel message defaults for AsyncAPI 3 operations. Add schema-kind, Kotlin broker and mode-precedence, and cross-language compiler/runtime regressions for AsyncAPI 2 and 3, and document mapping parity.
[Medium impact] The PR appears safe to merge; no new actionable issues were found. SummaryAdds AsyncAPI custom type mappings for Kotlin, Swift, TypeScript, and Python.
Reviews (3) 路 Last reviewed commit: "Preserve constant discriminator metadata..." 路 Reviewed by Greptile |
Keep string discriminators and reference refinements while bundling AsyncAPI schemas, and leave composition validation to its converter. Forward configured document loader options and cover internal documents with external schemas for AsyncAPI 2 and 3.
Retain matching discriminator values declared on union members so shared OpenAPI and AsyncAPI models compose without identity collisions. Keep external discriminator tags on the containing union and add regression assertions.
kdubb
enabled auto-merge
October 19, 2026 17:47
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



AsyncAPI named schemas now retain custom Kotlin, Swift, TypeScript, and Python types instead of falling back to generated declarations or default scalar types. Mapping extraction is shared with OpenAPI, including Kotlin client/server precedence and TypeScript module imports.
Validation: 131 focused conversion, mapping, broker, reference, composition, and invariant tests passed; generator ktlint passed. Swift, TypeScript, and Python custom-mapping compiler/runtime tests passed for both AsyncAPI versions and retained their OpenAPI coverage.
Closes #283.