* remove deprecated author field from all pubspec templates
* improve dart-dio-next readme/markdown documentation
* add a lot of dart-doc to model and API classes
* [dart] Improve content-type handling
* fixes#9334
* superseeds #9454
* use `prioritizedContentTypes` in the same way `JavaClientCodegen` does
* move `application/json` to the front if it exists
* don't do anything if it is multi-part or url-encoded as for this the first content-type already needs to match
* log warning if an unsupported content-type is first after prioritizing
* remove some unused code blocks from dio generators
* Only use first prioritized content-type in dio generators
* don't default to any content-type in dio-next, dio defaults itself to JSON
* [dart] Improve types & imports
* don't use importMapping as it is intended for something different that is not possible in dart
* introduce imports map for dart specific features
* always import `dart:core`
* get rid of additionalReservedWords
* fix `--type-mappings` not working
* use required type mappings in samples
* no longer define additional reserved words as it is impossible to list all anyways, they can now be configured via type-mapping parameter
* simplify dio imports
* Don't use guava for map instantiation
* Update docs
* [dart-dio] Update dio
* [dart-dio] Update to dio 4.0.0
* [dart-dio] Fix dependency problems with Dart 2.12 SDK during build
* Revert changes to analyzer
This only fails locally, not sure why. CI only shows a warning.
* Fix compile error after http_mock update
* [dart-dio] Remove old Dart 1.x templates
* [dart-dio] Initial version of a next-gen Dart Dio generator
* Fix a couple readme links and examples
* Fix import in testcase
* Add integration tests to master POM
* Run initial dart format and improve some base formatting
* Generate docs
* Use integer matchers in test for content-length
* Separate more built_value specific files
* Fix mustache partial path
* Update pubspec template
* Fix tests after mock lib updates
* Generate with new built_value pre-release
This solves the problem of not being able to serialize null.
* Update built_value dependency
* Regenerate after merge
* Regenerate tests
* Fix missing byte response cast
* Update dio to 4.0.0-prev1
* Run format
* Ignore unused imports in inheritance classes
* Update mock test library
* Update docs
* Make a couple variables final
* Update and freeze dio dependency
* Update generator doc
* Add a new option to post processes all dart output at once
This is much faster than individual files. The committed samples should be formatted since Dart is very opinionated and it makes diffs in PRs much easier to read.
Due to this, we also need to format in CI, otherwise there is a git diff.
* Test some CI stuff
* [dart] Generic docs update and fixes
* none of the dart generators supports XML
* jaguar is no longer maintained
* dart and dart-dio support bearer token
* none of the dart generators supports composition atm.
* [dart-dio] Supports customization of authorizations and userAgent
* Remove deprecation of dart-jaguar for now
The `8.x` versions are no longer compatible with the current generated code. An update is also not possible without breaking change and null-safety support.
* [dart][dart-dio] Improve parameterToString handling
* add tests
* not sure this is complete but it is better than before and can serve as a baseline with the test cases
* Add a map parameter to FormData test
* Rename method to clarify what it actually does
* Couple more tests
* [dart][dart-dio] Refactor API template
* first construct a `RequestOptions` instance with all parameters etc. inline
* then construct and serialize the body data
* then send the request and await the response
* then deserialize the response
* always use the `specifiedType` for built_value (de)serialization instead of a mix of ways (this does the same as finding the serializer directly)
* use indent of 2 spaces (as per Dart convention)
* prefix all local variables to prevent name clashes with parameters
* Add tests that (de)serialize collections and add API key header
* [dart][dart-dio] Remove manual json encode/decode calls in API classes
Dio automatically adds a default transformer which does call `json.encode` and `json.decode` when the content-type is `application/json`. When the content-type is different, then it is up to the consumer to configure the Dio instance correctly to support custom content-types.
Also tests!!!
* [dart] Constraint test library to < 1.16.0 as it requires Dart 2.12.0
* Fix more constraint problems for the new test project
* [dart-dio] Disable nullable fields by default
This is not in line with the OAS and will prevent future Dart nullabilty features (NNBD) from being useful as all types would be optional.
Users can still opt-in for this.
* [dart-dio] Properties are nullable when not required AND not nullable
* [dart][dart-dio] Support nullable/required fields
* properties in built_value need to be nullable when they are nullable in OAS or when they are not required in OAS
* built_value does not support serializing `null` values by default as it is based on a serialization format based on iterables/lists and not maps
* dart-dio uses the built_value json plugin to convert the built_value format to regular json
* by generating a custom serializer for each class we can add support for serializing `null` values if the property is required AND nullable in OAS
* this is a breaking change as not all properties in the models are nullable by default anymore
* Implement required/nullable for dart
* Changes for set types and enum names after rebase
* Add some comments and fix built_value fields with default being nullable
* More rebase changes and regenerate docs
* [dart][dart-dio] Improve prefixing of inner enums with classname
* prevent further name conflicts by correctly naming the enum, until now there could potentially occur conflicts e.g. 2x `MapTestInnerEnum` by renaming the `items` child property
* correctly set `enumName` to match `datatypeWithEnum`
* Unrelated test regeneration
* [dart][dart-dio] Add support for set types
* copy `uniqueItems` usage from 2.0 fake spec to `3.0`
* add support for sets in parameters, responses and properties
* Regenerate all other samples
* Fix broken tests due to invalid cast
* Update documentation
* Regenerate samples
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>