-
-
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
typescript-axios anytype is not defined #6335
typescript-axios anytype is not defined #6335
Conversation
… `oneOf` Exclude if there are other meaningful types
👍 Thanks for opening this issue! The team will review the labels and make any necessary changes. |
@@ -845,6 +845,11 @@ public String toAllOfName(List<String> names, ComposedSchema composedSchema) { | |||
} | |||
return schemaType; | |||
}).distinct().collect(Collectors.toList()); | |||
return String.join(" & ", types); | |||
|
|||
if (types.size() > 1 && types.contains("any")) { |
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.
nit: it might be simpler to add .filter()
call to the stream instead of post-processing the resulting list.
EDIT: Aha, I was wrong here. Apparently, if we're about to return a single any
type, it's ok - we only want to remove any
when it's used in conjuction with some other type (in allOf/oneOf)
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 the PR!
Looks good to me.
I'm a bit vague about impact on allOf / oneOf. Generally, we erase the information that one of the members allOf/oneOf was any
.
I'm not sure using any
with allOf / oneOf makes any practical sense in the first place, though. So perhaps it's ok.
Would love to hear your thoughts on that!
🤔 actually I think the root of the problem is in the methods that get types for Also, I'll check what happens when one of the types is a I'll keep you updated, but maybe is safer to first just add the translation for |
- Included more examples using `oneOf, `allOf`, `anyOf` - Includede examples when types that are translated to `any` are involved (`file`)
@codeserk could you please explain the reasoning behind filtering out AnyType from combined schemas? |
@amakhrov yes, I tried to explain in the previous comment 😅 The method that obtains types from the schemas is unable to determine the right type when this is not present (there is no
These are all valid OpenAPI v3 definitions, and the result was wrong in all 4 because Notice that:
Hope this clarifies it a bit! |
Sounds good, thanks for clarifying! I feel having indeterminate model in api spec, that results in AnyType, as a part of a combined schema is not something common. Or, frankly, something good at all :). |
* @export | ||
* @interface CatAllOf | ||
*/ | ||
export interface CatAllOf { |
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.
where is this interface used?
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.
I think it's not used anywhere,
I've also noticed that, but testing without the changes in this branch generates the same unused interfaces - so I think it's another bug unrelated to this branch
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.
It's probably a manifestation of this old bug: #5171
@amakhrov @macjohnny |
* master: (71 commits) [PS] check if JSON properties is defined (#6419) Add C++ UE4 client generator (#6399) Add a link to the article in dev.to (#6421) typescript-axios anytype is not defined (#6335) [Java][jersey2] Make (de)serialization work for oneOf models, add convenience and comparison methods (#6323) Migrate OCaml petstore to use OAS v3 spec (#6348) [Python-experimental] Fix type error if oneof/anyof child schema is null type (#6387) [Python-server] Fix blueplanet 'file not found' error (#6411) [nodejs] Fix deprecation notice when running sample nodejs script (#6412) [java-jersey2] Conditionally include http signature mustache template (#6413) [bug] Fix path provider bug on CI (#6409) decomission nodejs server generator (#6406) [Java] Generate valid code if no Authentication implementations present (#5788) update java jersey2 samples [Java] Fix mustache tag in pom template for HTTP signature (#6404) [Python-experimental] Rename from_server variable to json_variable_naming (#6390) Add a link to medium blog post (#6403) Clean up debug in test (#6398) readding bin/swift5-petstore-readonlyProperties.json remove ./bin/swift5-petstore-readonlyProperties.json ...
* master: [kotlin][client] add support for coroutines with OkHttp (OpenAPITools#6362) update package-json.lock (OpenAPITools#6430) fix hardcoded match type (OpenAPITools#6431) java jersey2 enhance anyOf (OpenAPITools#6420) [Java][jersey2] minor improvement to jersey2 tests (OpenAPITools#6418) ps minor style change (OpenAPITools#6424) [JS] mark ES5 as deprecated (OpenAPITools#6408) [ci] Execute maven and verify with no-snapshot-updates (OpenAPITools#6415) add new file in ts axios samples Migrate all scala generators to use OAS3 (OpenAPITools#6407) migrate ruby samples to oas3 (OpenAPITools#6414) [PS] check if JSON properties is defined (OpenAPITools#6419) Add C++ UE4 client generator (OpenAPITools#6399) Add a link to the article in dev.to (OpenAPITools#6421) typescript-axios anytype is not defined (OpenAPITools#6335) [Java][jersey2] Make (de)serialization work for oneOf models, add convenience and comparison methods (OpenAPITools#6323) Migrate OCaml petstore to use OAS v3 spec (OpenAPITools#6348) [Python-experimental] Fix type error if oneof/anyof child schema is null type (OpenAPITools#6387) [Python-server] Fix blueplanet 'file not found' error (OpenAPITools#6411) [nodejs] Fix deprecation notice when running sample nodejs script (OpenAPITools#6412)
Proposed solution for this issue:
bug typescript
AnyType
is not defined #6332PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.3.x
,5.0.x
. Default:master
.@TiFu @taxpon @sebastianhaas @kenisteward @Vrolijkx @macjohnny @nicokoenig @topce @akehir @petejohansonxo @amakhrov