fix: properly handle promise generics #258
Open
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.
This pull request improves the TypeScript code generation in the documentation generator by enhancing type handling, especially for generics and union types. The changes ensure that generated TypeScript code is more accurate and syntactically correct, particularly when dealing with complex types like generics, union types involving functions, and Promises.
Type handling improvements:
DocsParser
to correctly extract the base type name before generics (e.g., strips<T>
fromType<T>
) when splitting namespaces, preventing issues with generic type names.GlobalTemplateWriter
to parenthesize function types within union types, preventing TypeScript syntax errors (e.g., outputs(a: string) => void | number
as((a: string) => void) | number
).GlobalTemplateWriter
by adding explicit handling forPromise<T>
types, ensuring standard TypeScript generic syntax is used for Promises.