* [Rust Server] Make parse error displayable
Change error type to be displayable to prevent compile errors
* [Rust Server] Add test for enum in path
* Update samples
The helper methods for sanitize/underscore/camelize were recently
updated to cache values in static maps. This would lead to a memory leak
in hosted environments as the maps had no cleanup/expiry.
This moves those cached entries to Caffeine caches with expiry based on
last access to allow the edge-case performance improvement gains on very
large documents, without the memory leak in hosted or embedded
environments.
* Add failing tests for typescript type declaration
* Refactor array and map child type string fallback
* Add unaliasSchema to typescript getTypeDeclaration
* TypeScriptRxjs: Use Blob as file type declaration
This was inadvertantly changed in
https://github.com/OpenAPITools/openapi-generator/pull/5266
* [C++][Pistache] Use reserved words to replace incorrect names
discard old decision to truncate reservedWords
* [C++][Pistache] Update struct model to use name instead of baseName
* [C++][Pistache] Update Petstore sample
* [C++] Add option to have lowercase variables
* [C++] Update generated docs
Don't change the API version which is exposed in `crate::API_VERSION`.
- If the API version isn't set, we don't expose it.
- If it is set, we leave it well alone.
- Always pass a package version:
- Pass in the passed package version by preference
- Pass in the API version if it's not.
- If the API version isn't set, we use 1.0.0
- If it is set, and isn't a valid semver, we append .0 such that we have
something with three digits (so that an API version of 1 works).
* If not required, need `? = null`
* run ./bin/kotlin-server-petstore.sh
* Added `?` when value is `required` and `isNullable`
* Rerun ./bin/kotlin-server-petstore.sh. But No differences
* [cli] Validate now uses parseOptions w/setResolve
The validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
* [gradle] Validate now uses parseOptions w/setResolve
The Graldle validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
* [go-experimental] Support aliasing of API keys
* Use {{.}} inside condition
* Use name instead of keyParamName for lookup
* x-lookup to x-auth-id-alias
* [Rust Server] Suffix reserved words with _
Suffix reserved words with an underscore instead of prefixing them.
This follows convention in the Rust community, as prefixing with an underscore
indicates an unused variable in Rust.
* Update samples
* [Rust Server] Support RFC 7386
Support application/merge-patch+json as defined by RFC 7386 -
https://tools.ietf.org/html/rfc7386
Handle exactly the same as application/json.
* [Rust Server] Add test for RFC 7386
* Update samples
* Adds oneOf + anyOf schemas, models and tests to python-experimental
* Adds setUpClass and tearDownClass
* Removes newline in method_init_shared.mustache
* Regenerated v3 spec sample for python-experimental
* Fxes test for discard_unknown_keys
* Moves new models into existing spec, regen python-exp and go-exp
* Also fix python-exp windows file
* Use the dataType if the baseType is not set
* add tests for passing enum as parameter
* updated requirements file in samples
* Update spec to explicitly name objects and prevent `inline_object`
* use the correct scripts to generate samples (`bin/openapi3/python-flask*`)
* stripped parameter enabled for all scala based generators
* scala samples updated
* docs generators updated
* fix scalatra. regenerated by openapi3 script.
manually removed enum default value from scalatra example due bug in schema extraction
* fix obsolute configuration in generated .rubocop.yml
* fix style of `expect` with block in generated ruby client's test code
* update sample of ruby client
* scala-sttp-client template
* invoker for sttp fixed and tests added
* clean up pet api test from redunant comments
* docs updated
* fix artefact name, model comments and redunant generic
* code optimization
* cross scala versions 2.11 2.12 2.13
* date serializers extracted and joda enabled as default
* basic and bearer authorization added, apikey in query supported
* [swift] make some small improvements
* [swift][client] revert model to use allVars
* PostProcessModelProperty with allVars
* PostProcessModelProperty with vars
* [swift] improve objc interoperability
* [swift] fix swift4 for CI to pass
* [swift] improve objc interoperability
* [swift] improve objc interoperability
* Swift - try to fix build
* [swift] remove pods from git
When I originally implemented the feature set code, I added the
getter/setter on DefaultCodegen and CodegenConfig as well as on
GeneratorMetadata. GeneratorMetadata also includes the library variation
features. When I went to add library-specific features, I realized the
discrepancy.
This removes the public setter from DefaultCodegen/CodegenConfig, and
adds a protected modifyFeatureSet which accepts a lambda and hides the
builder logic away in the method.
This will be a breaking change for anyone who's created a custom
generator in 4.2.3, so the impact is very limited.
* Added support for msvc builds
Moved GCC-specific compile flags to non msvc builds, and added equivalent flags for msvc.
* CMakeLists condition cleanup
* [typescript] Clean up modelPropertyNaming across generators
Fixes https://github.com/OpenAPITools/openapi-generator/issues/2976
Generators without runtime models conversion use "original" property naming by default. It's still possible to change it via cli options
Generators with runtime conversion keep using "camelCase"
* Refactoring: use enum instead of string for modelPropertyNaming
* Restore the original camelCase for var names, decouple it from property names
* Swap toParamName and toVarName logic (looks like I've mistaken them)
* Regenerate docs
* Remove a no longer used private method