-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: in typescript fixes additionalProperties handling when extending models #18164
Fix: in typescript fixes additionalProperties handling when extending models #18164
Conversation
… itself for parent
cc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution
… itself for parent (OpenAPITools#18164)
For an object like this: Foo:
type: object
required:
- id
properties:
id:
type: string
additionalProperties: {} The current solution with typescript-node generates the following class: export class Foo extends any { This results in a compilation error because you cannot extend from |
@andreseloysv Will you look at that? Basicaly it should not happen that there will be additionalProperties empty, but of course it should be handled as it is edge case. |
Just to provide more information, in the previous version (7.4.0), for such an object type: object
properties:
notificationSettings:
push:
type: boolean
email:
type: boolean
additionalProperties: true In 7.4.0 it would generate (also not sure if it's correct) and in 7.5.0 it generates (with compilation error) |
|
I will create new PR for that! |
Guys, followup created #18491, CC @andreseloysv @s-xu-wafios |
CC @macjohnny @wing328 followup PR created |
Previously the extending of models when instantionTypte('map') was not set for language looked like this:
class ProductData extends null<String, ProductDataBase>
, this is not correct, it should look like this?class ProductData extends ProductDataBase
. This PR fixes that.PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master
(upcoming 7.1.0 minor release - breaking changes with fallbacks),8.0.x
(breaking changes without fallbacks)@sebastianhaas @mkusaka